Upload the sample

This commit is contained in:
Michy 2022-07-01 15:58:23 +08:00
parent 91be212d6a
commit 758b2a3b63
1885 changed files with 959649 additions and 0 deletions

BIN
doc/HYN_new_driver.zip Normal file

Binary file not shown.

View File

@ -0,0 +1,12 @@
#
# Touchscreen driver configuration
#
config CONFIG_TOUCHSCREEN_HYNITRON_TS
bool "hynitorn Ts for TOUCHSCREEN"
depends on I2C
default n
help
Say Y here if you have hynitorn touch panel.
If unsure, say N.

View File

@ -0,0 +1,16 @@
# Linux driver folder
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/hynitron
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/sensors-1.0/hwmon/include/
obj-y += hynitron_core.o
obj-y += hynitron_i2c.o
obj-y += hynitron_esd_check.o
obj-y += hynitron_tool_debug.o
obj-y += hynitron_update_firmware.o
obj-y += hynitron_gesture.o
obj-y += hynitron_proximity.o

View File

@ -0,0 +1,40 @@
Hynitron touch controller
The Hynitron controller is connected to host processor via i2c. The controller generates interrupts when the user touches the panel. The host controller is expected to read the touch coordinates over i2c and pass the coordinates to the rest of the system.
Required properties:
- compatible : should be "hynitron,hyn_ts"
- reg : i2c slave address of the device, should be <0x1a(mutcap) or 0x15(slefcap)>
- hynitron,irq-gpio : irq gpio, same as "interrupts" node.
- hynitron,reset-gpio : reset gpio,keep high voltage in normal mode.
- hynitron,max-touch-number: maximum number of touches support
- hynitron,display-coords : display resolution in pixels. A two tuple consisting of x_resolution, y_resolution.
Optional properties:
- hynitron,have-key : specify if virtual keys are supported
- hynitron,key-number : number of keys
- hynitron,key-code : virtual key codes mapping to the coords
- hynitron,key-y-coord : constant y coordinate of keys, depends on the y resolution
- hynitron,key-x-coord : constant x coordinates of keys, depends on the x resolution
&twi2 {
status = "okay";
ctp0 {
compatible = "hynitron,hyn_ts";
status = "okay";
reg = <0x1a>;
hynitron,reset-gpio = <&pio PH 8 1 0 1 0>;
hynitron,irq-gpio = <&pio PH 7 0 0 1 0>;
hynitron,max-touch-number = <5>;
hynitron,display-coords = <720 1280>;
hynitron,have-key;
hynitron,key-number = <3>;
hynitron,key-code = <139 172 158>;
hynitron,key-y-coord = <2000 2000 2000>;
hynitron,key-x-coord = <200 600 800>;
};
};

View File

@ -0,0 +1,856 @@
/*
*Name : capacitive_hynitron_cst0xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
static unsigned char cst0xx_fw[] = {
0x00, 0x14, 0x80, 0x34, 0xc5, 0xfd,
0x75, 0x8c, 0x46, 0x75, 0x8d, 0x4a, 0x75, 0xa4, 0x82, 0x75, 0xa5, 0x82, 0xe4, 0xf5, 0x94, 0xf5,
0x95, 0x22, 0x02, 0x41, 0x77, 0x90, 0x04, 0xa9, 0xef, 0xf0, 0x22, 0x02, 0x41, 0xb2, 0x12, 0x45,
0x7c, 0xe0, 0xff, 0x22, 0x02, 0x2f, 0x7d, 0x75, 0x81, 0x95, 0x02, 0x44, 0x89, 0x02, 0x40, 0xf6,
0x02, 0x14, 0x27, 0xe7, 0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x46, 0xe7, 0x09, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x3e, 0x88, 0x82, 0x8c, 0x83, 0xe7, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x32, 0xe3,
0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x78, 0xe3, 0x09, 0xf2, 0x08, 0xdf, 0xfa, 0x80, 0x70, 0x88,
0x82, 0x8c, 0x83, 0xe3, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x64, 0x89, 0x82, 0x8a, 0x83, 0xe0,
0xa3, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x58, 0x89, 0x82, 0x8a, 0x83, 0xe0, 0xa3, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x4c, 0x80, 0xd2, 0x80, 0xfa, 0x80, 0xc6, 0x80, 0xd4, 0x80, 0x69, 0x80, 0xf2, 0x80,
0x33, 0x80, 0x10, 0x80, 0xa6, 0x80, 0xea, 0x80, 0x9a, 0x80, 0xa8, 0x80, 0xda, 0x80, 0xe2, 0x80,
0xca, 0x80, 0x33, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe4, 0x93, 0xa3, 0xc8, 0xc5, 0x82, 0xc8,
0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xdf, 0xe9,
0xde, 0xe7, 0x80, 0x0d, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf6, 0x08, 0xdf, 0xf9, 0xec,
0xfa, 0xa9, 0xf0, 0xed, 0xfb, 0x22, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe0, 0xa3, 0xc8, 0xc5,
0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc,
0xdf, 0xea, 0xde, 0xe8, 0x80, 0xdb, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf2, 0x08, 0xdf,
0xf9, 0x80, 0xcc, 0x88, 0xf0, 0xef, 0x60, 0x01, 0x0e, 0x4e, 0x60, 0xc3, 0x88, 0xf0, 0xed, 0x24,
0x02, 0xb4, 0x04, 0x00, 0x50, 0xb9, 0xf5, 0x82, 0xeb, 0x24, 0x02, 0xb4, 0x04, 0x00, 0x50, 0xaf,
0x23, 0x23, 0x45, 0x82, 0x23, 0x90, 0x14, 0x83, 0x73, 0xbb, 0x01, 0x0c, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe6, 0x22,
0xbb, 0xfe, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0x22, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83,
0x3a, 0xf5, 0x83, 0xe4, 0x93, 0x22, 0xbb, 0x01, 0x06, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0x22, 0x50,
0x02, 0xf7, 0x22, 0xbb, 0xfe, 0x01, 0xf3, 0x22, 0xf8, 0xbb, 0x01, 0x0d, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xc8, 0xf6,
0x22, 0xbb, 0xfe, 0x05, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0x22, 0xef, 0x8d, 0xf0, 0xa4, 0xa8, 0xf0,
0xcf, 0x8c, 0xf0, 0xa4, 0x28, 0xce, 0x8d, 0xf0, 0xa4, 0x2e, 0xfe, 0x22, 0xbc, 0x00, 0x0b, 0xbe,
0x00, 0x29, 0xef, 0x8d, 0xf0, 0x84, 0xff, 0xad, 0xf0, 0x22, 0xe4, 0xcc, 0xf8, 0x75, 0xf0, 0x08,
0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xec, 0x33, 0xfc, 0xee, 0x9d, 0xec, 0x98, 0x40, 0x05, 0xfc,
0xee, 0x9d, 0xfe, 0x0f, 0xd5, 0xf0, 0xe9, 0xe4, 0xce, 0xfd, 0x22, 0xed, 0xf8, 0xf5, 0xf0, 0xee,
0x84, 0x20, 0xd2, 0x1c, 0xfe, 0xad, 0xf0, 0x75, 0xf0, 0x08, 0xef, 0x2f, 0xff, 0xed, 0x33, 0xfd,
0x40, 0x07, 0x98, 0x50, 0x06, 0xd5, 0xf0, 0xf2, 0x22, 0xc3, 0x98, 0xfd, 0x0f, 0xd5, 0xf0, 0xea,
0x22, 0xc2, 0xd5, 0xec, 0x30, 0xe7, 0x09, 0xb2, 0xd5, 0xe4, 0xc3, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc,
0xee, 0x30, 0xe7, 0x15, 0xb2, 0xd5, 0xe4, 0xc3, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x12, 0x15, 0x9c,
0xc3, 0xe4, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc, 0x80, 0x03, 0x12, 0x15, 0x9c, 0x30, 0xd5, 0x07, 0xc3,
0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0xc5, 0xf0, 0xf8, 0xa3, 0xe0, 0x28, 0xf0, 0xc5, 0xf0,
0xf8, 0xe5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xe0, 0x38, 0xf0, 0x22, 0xbb, 0x01, 0x0a,
0x89, 0x82, 0x8a, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x06, 0x87, 0xf0, 0x09, 0xe7,
0x19, 0x22, 0xbb, 0xfe, 0x07, 0xe3, 0xf5, 0xf0, 0x09, 0xe3, 0x19, 0x22, 0x89, 0x82, 0x8a, 0x83,
0xe4, 0x93, 0xf5, 0xf0, 0x74, 0x01, 0x93, 0x22, 0xbb, 0x01, 0x10, 0xe5, 0x82, 0x29, 0xf5, 0x82,
0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82,
0xf8, 0x86, 0xf0, 0x08, 0xe6, 0x22, 0xbb, 0xfe, 0x0a, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0xf5, 0xf0,
0x08, 0xe2, 0x22, 0xe5, 0x83, 0x2a, 0xf5, 0x83, 0xe9, 0x93, 0xf5, 0xf0, 0xa3, 0xe9, 0x93, 0x22,
0xf8, 0xbb, 0x01, 0x11, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0,
0xe5, 0xf0, 0xa3, 0xf0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf6, 0x08, 0xa6, 0xf0, 0x22,
0xbb, 0xfe, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0xe5, 0xf0, 0x08, 0xf2, 0x22, 0xef, 0x2b, 0xff,
0xee, 0x3a, 0xfe, 0xed, 0x39, 0xfd, 0xec, 0x38, 0xfc, 0x22, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a,
0xfe, 0xed, 0x99, 0xfd, 0xec, 0x98, 0xfc, 0x22, 0xe8, 0x8f, 0xf0, 0xa4, 0xcc, 0x8b, 0xf0, 0xa4,
0x2c, 0xfc, 0xe9, 0x8e, 0xf0, 0xa4, 0x2c, 0xfc, 0x8a, 0xf0, 0xed, 0xa4, 0x2c, 0xfc, 0xea, 0x8e,
0xf0, 0xa4, 0xcd, 0xa8, 0xf0, 0x8b, 0xf0, 0xa4, 0x2d, 0xcc, 0x38, 0x25, 0xf0, 0xfd, 0xe9, 0x8f,
0xf0, 0xa4, 0x2c, 0xcd, 0x35, 0xf0, 0xfc, 0xeb, 0x8e, 0xf0, 0xa4, 0xfe, 0xa9, 0xf0, 0xeb, 0x8f,
0xf0, 0xa4, 0xcf, 0xc5, 0xf0, 0x2e, 0xcd, 0x39, 0xfe, 0xe4, 0x3c, 0xfc, 0xea, 0xa4, 0x2d, 0xce,
0x35, 0xf0, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0x75, 0xf0, 0x08, 0x75, 0x82, 0x00, 0xef, 0x2f, 0xff,
0xee, 0x33, 0xfe, 0xcd, 0x33, 0xcd, 0xcc, 0x33, 0xcc, 0xc5, 0x82, 0x33, 0xc5, 0x82, 0x9b, 0xed,
0x9a, 0xec, 0x99, 0xe5, 0x82, 0x98, 0x40, 0x0c, 0xf5, 0x82, 0xee, 0x9b, 0xfe, 0xed, 0x9a, 0xfd,
0xec, 0x99, 0xfc, 0x0f, 0xd5, 0xf0, 0xd6, 0xe4, 0xce, 0xfb, 0xe4, 0xcd, 0xfa, 0xe4, 0xcc, 0xf9,
0xa8, 0x82, 0x22, 0xb8, 0x00, 0xc1, 0xb9, 0x00, 0x59, 0xba, 0x00, 0x2d, 0xec, 0x8b, 0xf0, 0x84,
0xcf, 0xce, 0xcd, 0xfc, 0xe5, 0xf0, 0xcb, 0xf9, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe,
0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xeb, 0x33, 0xfb, 0x10, 0xd7, 0x03, 0x99, 0x40, 0x04, 0xeb,
0x99, 0xfb, 0x0f, 0xd8, 0xe5, 0xe4, 0xf9, 0xfa, 0x22, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33,
0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xc9, 0x33, 0xc9, 0x10, 0xd7, 0x05, 0x9b, 0xe9, 0x9a,
0x40, 0x07, 0xec, 0x9b, 0xfc, 0xe9, 0x9a, 0xf9, 0x0f, 0xd8, 0xe0, 0xe4, 0xc9, 0xfa, 0xe4, 0xcc,
0xfb, 0x22, 0x75, 0xf0, 0x10, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xcc, 0x33,
0xcc, 0xc8, 0x33, 0xc8, 0x10, 0xd7, 0x07, 0x9b, 0xec, 0x9a, 0xe8, 0x99, 0x40, 0x0a, 0xed, 0x9b,
0xfd, 0xec, 0x9a, 0xfc, 0xe8, 0x99, 0xf8, 0x0f, 0xd5, 0xf0, 0xda, 0xe4, 0xcd, 0xfb, 0xe4, 0xcc,
0xfa, 0xe4, 0xc8, 0xf9, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea, 0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42,
0xf0, 0xec, 0x64, 0x80, 0xc8, 0x64, 0x80, 0x98, 0x45, 0xf0, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea,
0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42, 0xf0, 0xe8, 0x9c, 0x45, 0xf0, 0x22, 0xe8, 0x60, 0x0f, 0xef,
0xc3, 0x33, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xd8, 0xf1, 0x22, 0xe6,
0xfc, 0x08, 0xe6, 0xfd, 0x08, 0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x22, 0xe4, 0x93, 0xfc, 0x74, 0x01,
0x93, 0xfd, 0x74, 0x02, 0x93, 0xfe, 0x74, 0x03, 0x93, 0xff, 0x22, 0xe6, 0xfb, 0x08, 0xe6, 0xf9,
0x08, 0xe6, 0xfa, 0x08, 0xe6, 0xcb, 0xf8, 0x22, 0xec, 0xf6, 0x08, 0xed, 0xf6, 0x08, 0xee, 0xf6,
0x08, 0xef, 0xf6, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xe4, 0x93, 0xf6, 0x08, 0x74, 0x01, 0x93, 0xf6,
0x08, 0x74, 0x02, 0x93, 0xf6, 0x08, 0x74, 0x03, 0x93, 0xf6, 0x74, 0x04, 0x73, 0xa4, 0x25, 0x82,
0xf5, 0x82, 0xe5, 0xf0, 0x35, 0x83, 0xf5, 0x83, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93,
0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0d, 0xa3, 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82,
0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xef, 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xec,
0x8e, 0xf0, 0xa4, 0xcc, 0xc5, 0xf0, 0xcc, 0xcd, 0xf8, 0xef, 0xa4, 0xce, 0xc5, 0xf0, 0x2d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe8, 0xa4, 0x2e, 0xc8, 0xc5, 0xf0, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xef, 0xa4,
0xff, 0xe5, 0xf0, 0x28, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0xef, 0x4e, 0x60, 0x12,
0xef, 0x60, 0x01, 0x0e, 0xed, 0xbb, 0x01, 0x0b, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0xa3, 0xdf, 0xfc,
0xde, 0xfa, 0x22, 0x89, 0xf0, 0x50, 0x07, 0xf7, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0xbb, 0xfe,
0xfc, 0xf3, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0x12, 0x26, 0x15, 0xe5, 0x08, 0x24, 0x04, 0x12,
0x24, 0xd1, 0x12, 0x39, 0xbd, 0x12, 0x24, 0xbb, 0x12, 0x26, 0x1f, 0x12, 0x24, 0xcd, 0x12, 0x39,
0xbd, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0x12, 0x24, 0xc6,
0x54, 0xfb, 0xf2, 0xe5, 0x09, 0x30, 0xe0, 0x17, 0x12, 0x26, 0x29, 0x60, 0x12, 0x12, 0x26, 0x30,
0x70, 0x0d, 0x75, 0x2b, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe4, 0xf2, 0x02, 0x1b, 0x26, 0xe4,
0xf5, 0x2b, 0x12, 0x25, 0xe3, 0x02, 0x1b, 0x26, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0x75, 0x2e,
0x00, 0xf5, 0x2f, 0x12, 0x26, 0x30, 0xff, 0x70, 0x16, 0x12, 0x26, 0x29, 0xd3, 0x94, 0x01, 0x40,
0x0e, 0x12, 0x25, 0xd3, 0xc3, 0x94, 0x20, 0x50, 0x31, 0xe2, 0x24, 0x04, 0xf2, 0x80, 0x2b, 0x12,
0x26, 0x29, 0xfe, 0x70, 0x30, 0xef, 0xd3, 0x94, 0x01, 0x40, 0x2a, 0x12, 0x24, 0xc6, 0xff, 0x13,
0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x1e, 0xef, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x16, 0x12,
0x25, 0xd3, 0xc3, 0x94, 0x08, 0x50, 0x03, 0xe2, 0x04, 0xf2, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2,
0x54, 0xfd, 0xf2, 0x80, 0x2e, 0xee, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x02, 0xf2, 0x12, 0x26,
0x30, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x01, 0xf2, 0x12, 0x24, 0xc6, 0x30, 0xe0, 0x14, 0xc3,
0x13, 0x30, 0xe0, 0x0f, 0x12, 0x25, 0xe3, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2, 0x54, 0xfd, 0xf2,
0x44, 0x04, 0xf2, 0x12, 0x25, 0xd3, 0x70, 0x02, 0x04, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24,
0x98, 0xe5, 0x08, 0x24, 0x05, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5, 0x31, 0x18, 0xe2, 0x9e, 0xf5, 0x30,
0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5,
0x33, 0x18, 0xe2, 0x9e, 0xf5, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x1a,
0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe5, 0x30, 0xf2, 0x08, 0xe5, 0x31, 0xf2, 0xe5, 0x08, 0x24, 0x11,
0xf8, 0xe5, 0x32, 0xf2, 0x08, 0xe5, 0x33, 0xf2, 0x80, 0x51, 0xaf, 0x31, 0xae, 0x30, 0x12, 0x1b,
0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x50, 0x1f,
0xaf, 0x33, 0xae, 0x32, 0x12, 0x1b, 0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3,
0xed, 0x9f, 0xec, 0x9e, 0x50, 0x09, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0xf5, 0x32, 0xf5, 0x33, 0xe5,
0x08, 0x24, 0x10, 0xf8, 0xe2, 0x25, 0x31, 0xf2, 0x18, 0xe2, 0x35, 0x30, 0xf2, 0xe5, 0x08, 0x24,
0x12, 0xf8, 0xe2, 0x25, 0x33, 0xf2, 0x18, 0xe2, 0x35, 0x32, 0xf2, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x25, 0xd3, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0x8e, 0x2e, 0x8f, 0x2f, 0xe5, 0x08, 0x24, 0x11,
0x12, 0x24, 0x98, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x0f, 0x12, 0x24,
0x98, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x24,
0xb4, 0x74, 0x15, 0x93, 0xf5, 0x2b, 0xac, 0x2e, 0xad, 0x2f, 0xae, 0x2c, 0xaf, 0x2d, 0x12, 0x15,
0x9c, 0xee, 0x70, 0x42, 0xef, 0x14, 0x60, 0x0c, 0x14, 0x60, 0x23, 0x24, 0x02, 0x70, 0x37, 0x75,
0x2b, 0xff, 0x80, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5,
0x2b, 0x75, 0xf0, 0x08, 0xa4, 0xff, 0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0x80, 0x18, 0x12, 0x24,
0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0xff,
0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0xe5, 0x2b, 0xf4, 0x60, 0x36, 0xe5, 0x2b, 0x60, 0x0d, 0x78,
0x92, 0xe6, 0xff, 0x60, 0x07, 0xe5, 0x2b, 0x8f, 0xf0, 0xa4, 0xf5, 0x2b, 0x12, 0x24, 0xe4, 0x24,
0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a,
0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a, 0x80,
0x11, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0x12, 0x24, 0xbb, 0xe5, 0x08, 0x24, 0x37, 0x12,
0x24, 0x98, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x22, 0x12, 0x46, 0x5f, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0x8d, 0x29,
0xe4, 0xf5, 0x2a, 0xd2, 0xb8, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x90, 0x04, 0xa5, 0xe0, 0x6f, 0x60,
0x28, 0x78, 0x95, 0xe6, 0xb4, 0x01, 0x22, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4,
0x78, 0x95, 0xf6, 0xf5, 0xeb, 0x12, 0x45, 0x2d, 0x7b, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12, 0x43,
0x72, 0x90, 0x04, 0xff, 0xe0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x4b, 0xe0, 0xb4, 0x03, 0x0d,
0x12, 0x45, 0x2d, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x7f, 0x02, 0x12, 0x14, 0x15, 0x90, 0x04, 0x66,
0xe0, 0xff, 0x60, 0x09, 0x12, 0x46, 0x89, 0xe4, 0x90, 0x04, 0x66, 0xf0, 0x22, 0x90, 0x04, 0xff,
0xe0, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0xe5, 0x44, 0x20, 0xe0, 0x03, 0x02, 0x1c, 0x99, 0xe5, 0x29,
0x70, 0x07, 0xe5, 0x45, 0x70, 0x03, 0x02, 0x1c, 0x99, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d,
0xe6, 0xe5, 0x29, 0x60, 0x0e, 0xe5, 0x45, 0x60, 0x05, 0x75, 0x2b, 0x03, 0x80, 0x0c, 0x75, 0x2b,
0x01, 0x80, 0x07, 0xe5, 0x45, 0x60, 0x03, 0x75, 0x2b, 0x02, 0xe5, 0x29, 0x7f, 0x00, 0x60, 0x02,
0x7f, 0x01, 0x90, 0x03, 0xa8, 0xef, 0xf0, 0xe5, 0x2b, 0x7f, 0x80, 0xb4, 0x01, 0x02, 0x7f, 0x00,
0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x2b, 0xb4, 0x02, 0x04, 0x7f, 0x40, 0x80, 0x05, 0x90, 0x03,
0xa9, 0xe0, 0xff, 0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x29, 0x45, 0x45, 0xf5, 0x2c, 0x30, 0xe0,
0x06, 0xa3, 0x74, 0x64, 0xf0, 0x80, 0x18, 0xe5, 0x2c, 0x30, 0xe1, 0x08, 0x90, 0x03, 0xaa, 0x74,
0x3c, 0xf0, 0x80, 0x0b, 0xe5, 0x2c, 0x30, 0xe2, 0x06, 0x90, 0x03, 0xaa, 0x74, 0x14, 0xf0, 0xe4,
0x90, 0x03, 0xab, 0xf0, 0xa3, 0x74, 0x8c, 0xf0, 0x12, 0x44, 0xf3, 0x85, 0x29, 0x45, 0xe5, 0x45,
0x7f, 0xff, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x44, 0x22, 0xe5, 0x44, 0x20, 0xe1, 0x03, 0x02, 0x1d,
0xdb, 0x90, 0x00, 0x05, 0x12, 0x42, 0xf1, 0x70, 0x11, 0x90, 0x00, 0x0b, 0x12, 0x15, 0x29, 0x70,
0x09, 0xe5, 0x44, 0x64, 0x02, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0x75, 0x2c, 0x03, 0x12, 0x40, 0x18,
0xef, 0x64, 0x01, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4, 0x90, 0x03, 0xa8, 0xf0, 0x90, 0x00, 0x04,
0x12, 0x42, 0xf1, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0x90, 0x00, 0x0a, 0x12, 0x15,
0x29, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0xe4, 0xf5, 0x2b, 0x8b, 0x2d, 0x8a, 0x2e,
0x89, 0x2f, 0xe5, 0x2b, 0xc3, 0x94, 0x02, 0x40, 0x03, 0x02, 0x1d, 0xba, 0xab, 0x2d, 0xaa, 0x2e,
0xa9, 0x2f, 0x90, 0x00, 0x05, 0x12, 0x15, 0x29, 0xff, 0x70, 0x03, 0x02, 0x1d, 0xaa, 0x90, 0x00,
0x04, 0x12, 0x15, 0x29, 0x70, 0x10, 0x12, 0x42, 0xd5, 0xe0, 0x54, 0x3f, 0x44, 0x40, 0xfe, 0x12,
0x42, 0xd5, 0xee, 0xf0, 0x80, 0x11, 0xef, 0xb4, 0x01, 0x07, 0x12, 0x42, 0xd5, 0xe4, 0xf0, 0x80,
0x06, 0x12, 0x42, 0xd5, 0x74, 0x80, 0xf0, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x60, 0x65, 0x12,
0x43, 0x04, 0x12, 0x42, 0xd9, 0xc0, 0x83, 0xc0, 0x82, 0xe0, 0xfd, 0xab, 0x2d, 0xaa, 0x2e, 0xa9,
0x2f, 0x12, 0x16, 0x3d, 0xfb, 0xaa, 0xf0, 0xea, 0xff, 0xed, 0x4f, 0xd0, 0x82, 0xd0, 0x83, 0xf0,
0xaf, 0x03, 0x12, 0x42, 0xfb, 0x12, 0x42, 0xd9, 0xef, 0xf0, 0xab, 0x2d, 0xaa, 0x2e, 0x90, 0x00,
0x02, 0x12, 0x16, 0x68, 0xe5, 0xf0, 0xff, 0xe5, 0x2b, 0xc4, 0x54, 0xf0, 0x4f, 0x12, 0x42, 0xfa,
0x12, 0x42, 0xd9, 0xef, 0xf0, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x12, 0x42, 0xfa, 0x12, 0x42,
0xd9, 0xef, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9, 0x74, 0x10, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9,
0xe4, 0xf0, 0x80, 0x06, 0x74, 0x06, 0x25, 0x2c, 0xf5, 0x2c, 0x05, 0x2b, 0x74, 0x06, 0x25, 0x2f,
0xf5, 0x2f, 0xe4, 0x35, 0x2e, 0xf5, 0x2e, 0x02, 0x1c, 0xf2, 0xe5, 0x2c, 0xc3, 0x94, 0x20, 0x50,
0x0a, 0x12, 0x42, 0xd5, 0x74, 0xff, 0xf0, 0x05, 0x2c, 0x80, 0xef, 0x12, 0x44, 0xf3, 0x90, 0x03,
0xa8, 0xe0, 0x7f, 0xff, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x44, 0x22, 0xab, 0x26, 0xaa, 0x27, 0xa9,
0x28, 0xad, 0x29, 0x12, 0x3e, 0x41, 0x22, 0x12, 0x40, 0x18, 0xef, 0x64, 0x01, 0x22, 0x15, 0x4d,
0x15, 0x4d, 0xc2, 0x99, 0x78, 0x58, 0xe6, 0x12, 0x18, 0x99, 0x1f, 0xcb, 0x01, 0x1e, 0x13, 0x02,
0x1e, 0x33, 0x03, 0x1f, 0xe9, 0x04, 0x1f, 0xdb, 0x0b, 0x1e, 0x24, 0x0c, 0x1f, 0x35, 0x0d, 0x00,
0x00, 0x1f, 0xe2, 0x12, 0x1f, 0xee, 0x75, 0x99, 0x1f, 0xe4, 0xf5, 0xa1, 0x12, 0x2f, 0x42, 0x76,
0x0c, 0x02, 0x1f, 0xe9, 0x78, 0x66, 0xe6, 0x78, 0x58, 0x60, 0x04, 0x76, 0x03, 0x80, 0xc5, 0x76,
0x04, 0x80, 0xc1, 0xe4, 0xf5, 0x87, 0xe5, 0x1e, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x1e, 0x12, 0x2e,
0xa0, 0xef, 0x56, 0x60, 0x11, 0xe5, 0x1f, 0x54, 0x07, 0x93, 0xff, 0xe5, 0x1f, 0x12, 0x2e, 0xa0,
0xef, 0x56, 0x60, 0x02, 0x80, 0x20, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80, 0x03,
0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x70, 0xc6, 0xf5, 0xe2, 0x78,
0x58, 0x76, 0x04, 0x02, 0x1f, 0xe9, 0xe5, 0x1e, 0x12, 0x2e, 0xaa, 0xe0, 0xff, 0x13, 0x13, 0x54,
0x3f, 0xfe, 0x78, 0x5c, 0xe6, 0xfd, 0x54, 0x10, 0x44, 0xa0, 0xfc, 0x4e, 0xf5, 0xf4, 0x75, 0xf0,
0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xad, 0xe0, 0xfe, 0x13, 0x13, 0x54, 0x3f, 0x4c, 0xf5, 0xf6, 0xee,
0x54, 0x03, 0x25, 0xe0, 0x25, 0xe0, 0xfe, 0xef, 0x54, 0x03, 0x4e, 0xf5, 0xe3, 0xed, 0x30, 0xe0,
0x45, 0x78, 0x66, 0xe6, 0x64, 0x01, 0x70, 0x3e, 0xa8, 0x4d, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d,
0xe6, 0xfe, 0xc3, 0x9f, 0x50, 0x14, 0xe4, 0xf5, 0x87, 0x7d, 0x06, 0x12, 0x2e, 0xc2, 0x2e, 0x12,
0x2e, 0x77, 0x12, 0x39, 0x0c, 0xa8, 0x4d, 0x06, 0x80, 0xe1, 0x53, 0xf4, 0xef, 0x53, 0xf6, 0xef,
0x78, 0x5f, 0xe6, 0xf5, 0x99, 0xe5, 0x1e, 0x12, 0x2e, 0x8c, 0x78, 0x61, 0x12, 0x2e, 0x82, 0xe0,
0x2e, 0xf5, 0xf7, 0x18, 0x80, 0x2c, 0x7d, 0x06, 0x12, 0x2e, 0x68, 0x12, 0x39, 0x0c, 0x7d, 0x06,
0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0x78, 0x5a, 0xe6, 0xf5, 0x99,
0x75, 0xf0, 0x11, 0xe5, 0x1e, 0x12, 0x2e, 0x8f, 0x08, 0x12, 0x2e, 0x82, 0xe0, 0x2e, 0xf5, 0xf7,
0x78, 0x59, 0xe6, 0x44, 0x50, 0xf5, 0xa1, 0xe4, 0xf5, 0xa2, 0x75, 0xa3, 0x80, 0x12, 0x2f, 0x42,
0x76, 0x0d, 0x02, 0x1f, 0xe9, 0x78, 0x5e, 0xe6, 0x7f, 0x02, 0x60, 0x02, 0x7f, 0x05, 0xa8, 0x4d,
0xa6, 0x07, 0xe4, 0xf5, 0xf4, 0xf5, 0xf6, 0x78, 0x5c, 0xe6, 0x30, 0xe0, 0x2a, 0x78, 0x66, 0xe6,
0x64, 0x01, 0x70, 0x23, 0xa8, 0x4d, 0x08, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d, 0x08, 0xe6, 0xfe,
0xc3, 0x9f, 0x50, 0x28, 0xe4, 0xf5, 0x87, 0x12, 0x2e, 0xbe, 0x2e, 0x12, 0x2e, 0x77, 0x12, 0x39,
0x0c, 0xa8, 0x4d, 0x08, 0x06, 0x80, 0xe1, 0xa8, 0x4d, 0xe6, 0xfd, 0x12, 0x2e, 0x68, 0x12, 0x39,
0x0c, 0x12, 0x2e, 0xbe, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0xe5, 0x1e, 0x12, 0x2e,
0xe2, 0xe5, 0x93, 0xf0, 0xa3, 0xe5, 0x92, 0xf0, 0x75, 0xf0, 0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xe5,
0xe5, 0x9b, 0xf0, 0xa3, 0xe5, 0x9a, 0xf0, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80,
0x03, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x60, 0x08, 0x18, 0xe6,
0x78, 0x58, 0xf6, 0x02, 0x1d, 0xf4, 0xe4, 0xf5, 0xe2, 0x80, 0x17, 0x12, 0x1f, 0xee, 0x75, 0x99,
0x03, 0x75, 0xa1, 0x02, 0x12, 0x2f, 0x42, 0x76, 0x0b, 0x80, 0x0e, 0x78, 0x58, 0x76, 0x02, 0x02,
0x1d, 0xf4, 0x78, 0x58, 0x76, 0x04, 0x02, 0x1d, 0xf4, 0x05, 0x4d, 0x05, 0x4d, 0x22, 0x78, 0x5d,
0xe6, 0xf5, 0xf5, 0xf5, 0xf7, 0x18, 0xe6, 0x54, 0x10, 0x44, 0x80, 0xf5, 0xf4, 0xf5, 0xf6, 0x7d,
0x06, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e,
0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x7d, 0x06, 0xe5,
0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1f, 0xf5, 0x82,
0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xf5,
0x36, 0x12, 0x24, 0xb4, 0x74, 0x0d, 0x93, 0xfe, 0x74, 0x0e, 0x93, 0xff, 0x74, 0x03, 0x93, 0xfa,
0x74, 0x04, 0x93, 0xfb, 0x2f, 0xff, 0xea, 0x3e, 0xfe, 0xe4, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15,
0x9c, 0x8e, 0x37, 0x8f, 0x38, 0xe5, 0x36, 0x70, 0x3e, 0x75, 0x2b, 0x01, 0x12, 0x25, 0x1d, 0xe4,
0xf5, 0x30, 0xf5, 0x31, 0x78, 0x88, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x87, 0x12, 0x25, 0x93,
0x78, 0x8c, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8b, 0x12, 0x25, 0x88, 0x74, 0x09, 0x93, 0xfc,
0x74, 0x0a, 0x12, 0x25, 0x29, 0x78, 0x90, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8f, 0x12, 0x24,
0xfe, 0x12, 0x26, 0x41, 0x02, 0x21, 0xaa, 0x78, 0x91, 0xe6, 0x14, 0x65, 0x36, 0x70, 0x3b, 0xf5,
0x2b, 0x12, 0x25, 0x1d, 0x8a, 0x30, 0x8b, 0x31, 0x12, 0x25, 0x06, 0x24, 0x80, 0x12, 0x24, 0x98,
0x12, 0x25, 0x06, 0x24, 0x7f, 0x12, 0x24, 0xfd, 0x12, 0x26, 0x41, 0x12, 0x25, 0x06, 0x24, 0x84,
0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x87, 0x12, 0x24, 0xb4, 0x74, 0x0b,
0x93, 0xfc, 0x74, 0x0c, 0x12, 0x25, 0x29, 0x02, 0x21, 0x9a, 0x12, 0x25, 0x5d, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x37, 0xc3, 0x13, 0xfe, 0xe5, 0x38, 0x13, 0x2d, 0xf5, 0x31, 0xec, 0x3e, 0xf5, 0x30,
0x12, 0x25, 0x06, 0x24, 0x84, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x92,
0x12, 0x25, 0x06, 0x24, 0x8c, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x8b, 0x12, 0x25, 0x87,
0xd3, 0xe5, 0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x40, 0x38, 0xe5, 0x36, 0xb4, 0x01, 0x25,
0xe5, 0x38, 0xae, 0x37, 0x78, 0x02, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0x7c, 0x00,
0x7d, 0x05, 0x12, 0x15, 0x9c, 0xaa, 0x06, 0xab, 0x07, 0x12, 0x25, 0x5d, 0xef, 0x2b, 0xf5, 0x31,
0xee, 0x3a, 0x12, 0x25, 0x1b, 0xe4, 0xf5, 0x2b, 0x12, 0x26, 0x02, 0x85, 0x2c, 0x2e, 0x85, 0x2d,
0x2f, 0x80, 0x37, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xb5, 0x36, 0x1b, 0x12, 0x25, 0x5d, 0xaa, 0x06,
0xab, 0x07, 0xae, 0x37, 0xaf, 0x38, 0x7c, 0x00, 0x7d, 0x05, 0x12, 0x15, 0x9c, 0xeb, 0x2f, 0xf5,
0x31, 0xea, 0x3e, 0x12, 0x25, 0x1b, 0x75, 0x2b, 0x01, 0xe4, 0x85, 0x2d, 0x35, 0x85, 0x2c, 0x34,
0xf5, 0x33, 0xf5, 0x32, 0x85, 0x2e, 0x2e, 0x85, 0x2f, 0x2f, 0x12, 0x25, 0x06, 0x24, 0x88, 0x12,
0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x87, 0x12, 0x25, 0x92, 0xae, 0x2c, 0xaf, 0x2d, 0xe4, 0xfc,
0xfd, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x29, 0xae,
0x2e, 0xaf, 0x2f, 0xe4, 0xfc, 0xfd, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x1a, 0xae, 0x34,
0xaf, 0x35, 0xc3, 0xe5, 0x2d, 0x9f, 0xf5, 0x2d, 0xe5, 0x2c, 0x9e, 0xf5, 0x2c, 0xc3, 0xe5, 0x2f,
0x9f, 0xf5, 0x2f, 0xe5, 0x2e, 0x9e, 0xf5, 0x2e, 0xe4, 0x12, 0x26, 0x02, 0x7f, 0x80, 0xfe, 0xfd,
0xfc, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0x12, 0x24, 0xd8, 0xae, 0x37, 0xaf, 0x38,
0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xe8, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5,
0x2c, 0x35, 0x2e, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73,
0xef, 0x24, 0x40, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xe4, 0x7b, 0x80,
0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33, 0x8c, 0x32, 0xe5, 0x2b,
0x60, 0x16, 0xe4, 0xfc, 0xfd, 0xe5, 0x35, 0x25, 0x31, 0xff, 0xe5, 0x34, 0x35, 0x30, 0xfe, 0xed,
0x35, 0x33, 0xfd, 0xec, 0x35, 0x32, 0x80, 0x12, 0xc3, 0xe5, 0x31, 0x95, 0x35, 0xff, 0xe5, 0x30,
0x95, 0x34, 0xfe, 0xe4, 0x95, 0x33, 0xfd, 0xe4, 0x95, 0x32, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33,
0xf5, 0x32, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xe4, 0xfb, 0x78, 0x68, 0xe6, 0xff, 0xeb, 0xc3, 0x9f,
0x40, 0x03, 0x02, 0x24, 0x89, 0xeb, 0x12, 0x2e, 0xec, 0xff, 0xeb, 0x12, 0x2e, 0xa0, 0xef, 0x56,
0x70, 0x03, 0x02, 0x24, 0x85, 0xe4, 0xf5, 0x87, 0x78, 0x64, 0xe6, 0xfa, 0x20, 0xe2, 0x03, 0x02,
0x23, 0x90, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0xe4, 0xfe, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x4c, 0xe0, 0xfc, 0xa3, 0xe0, 0x24, 0x00, 0xf5, 0x2e, 0xee, 0x3c, 0xf5, 0x2d, 0x12, 0x2e,
0xdb, 0x74, 0x06, 0x93, 0xff, 0x60, 0x5d, 0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0x2f, 0xff,
0xee, 0x3c, 0xfe, 0xd3, 0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b, 0xf8,
0xe2, 0x44, 0x04, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x06, 0x2b, 0xf8, 0xe2, 0x54, 0xfb,
0xf2, 0x12, 0x2e, 0xdb, 0x74, 0x06, 0x93, 0x7e, 0x00, 0x25, 0x2e, 0xff, 0xee, 0x35, 0x2d, 0xfe,
0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b,
0xf8, 0xe2, 0x44, 0x08, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x10, 0x2b, 0xf8, 0xe2, 0x54,
0xf7, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x04, 0xf2, 0x78, 0x5c, 0xe6, 0x30,
0xe0, 0x16, 0x12, 0x2f, 0x76, 0xeb, 0xc3, 0x9f, 0x40, 0x06, 0x78, 0x60, 0xe6, 0xff, 0x80, 0x04,
0x78, 0x59, 0xe6, 0xff, 0x8f, 0x2c, 0x80, 0x05, 0x78, 0x59, 0xe6, 0xf5, 0x2c, 0xe5, 0x2c, 0x25,
0xe0, 0x24, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x48, 0xf5, 0x83, 0xe4, 0x93, 0xfe, 0x74, 0x01, 0x93,
0xff, 0x7c, 0x00, 0x7d, 0x0a, 0x12, 0x15, 0x9c, 0x7c, 0x00, 0x7d, 0x09, 0x12, 0x15, 0x8a, 0xd3,
0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x40, 0x0e, 0xea, 0x44, 0x20, 0x78, 0x64, 0xf6, 0x74, 0xd6,
0x2b, 0xf8, 0xe2, 0x44, 0x10, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0x12, 0x2f, 0x3a,
0x12, 0x2e, 0xdb, 0x74, 0x08, 0x93, 0x25, 0xe0, 0xf5, 0x2e, 0x74, 0x07, 0x93, 0x33, 0xf5, 0x2d,
0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0xfd, 0x30, 0xe0, 0x19, 0xe5, 0x2e, 0xae, 0x2d, 0x78, 0x02, 0xce,
0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3, 0xe5, 0x2e, 0x9f, 0xf5, 0x2e, 0xe5, 0x2d, 0x9e,
0xf5, 0x2d, 0xe5, 0x2d, 0xc3, 0x13, 0xfe, 0xe5, 0x2e, 0x13, 0xff, 0xeb, 0x12, 0x2e, 0x54, 0xe0,
0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0x2f, 0xff, 0xe5, 0x83, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0xd3, 0x9f, 0xe5, 0x83,
0x9e, 0x40, 0x48, 0x74, 0xd6, 0x2b, 0xf8, 0xed, 0x44, 0x02, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0x25, 0x2e, 0xff, 0xe5, 0x2d, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x13, 0x78, 0x64,
0xe6, 0x44, 0x02, 0xf6, 0x44, 0x08, 0xf6, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x01, 0xf2, 0x80,
0x12, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x54, 0xfe, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2,
0x54, 0xfd, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x57, 0x12, 0x2e, 0xf3, 0xeb, 0x12, 0x2e,
0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x1f, 0x75, 0xf0, 0x11, 0xeb,
0x12, 0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0xc3, 0xed, 0x9f, 0xff, 0xec, 0x9e, 0xf8, 0xeb,
0x25, 0xe0, 0x24, 0x86, 0xc8, 0xf2, 0x08, 0xef, 0xf2, 0x80, 0x0a, 0xeb, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0x0b, 0x02, 0x22, 0x79, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8, 0xee,
0xf2, 0x08, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x06, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x78,
0x37, 0xe2, 0xfe, 0x08, 0xe2, 0x78, 0x07, 0xff, 0xc3, 0xe2, 0x9f, 0xff, 0x18, 0xe2, 0x9e, 0xfe,
0x22, 0x12, 0x18, 0x68, 0x85, 0x0f, 0x82, 0x85, 0x0e, 0x83, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8,
0xee, 0xf2, 0x08, 0xef, 0xf2, 0x22, 0xe5, 0x08, 0x24, 0x0a, 0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24,
0x06, 0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xfd, 0x22, 0x12, 0x16, 0xe8, 0xa8, 0x04, 0xa9, 0x05, 0xaa,
0x06, 0xab, 0x07, 0x22, 0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x24,
0x11, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x22, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2f,
0xff, 0x18, 0xe2, 0x3e, 0xfe, 0x22, 0xe5, 0x36, 0x25, 0xe0, 0x25, 0xe0, 0x22, 0x74, 0x01, 0x93,
0xfe, 0x74, 0x02, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x02, 0x18, 0x5b, 0xf5, 0x30, 0xe5, 0x38, 0x25,
0x38, 0xf5, 0x38, 0xe5, 0x37, 0x33, 0xf5, 0x37, 0x22, 0x93, 0xfd, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x15, 0x8a, 0x7c, 0x00, 0x7d, 0x14, 0x12, 0x15, 0x9c, 0xef, 0x25, 0x2f, 0xf5, 0x2f, 0xee, 0x35,
0x2e, 0xf5, 0x2e, 0x22, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x18, 0x5b, 0x12, 0x16, 0xe8, 0xe4,
0x7b, 0x02, 0xfa, 0xf9, 0xf8, 0x22, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15, 0x03, 0xaf, 0x36, 0x7e,
0x00, 0xac, 0x37, 0xad, 0x38, 0x02, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe2, 0x22, 0x7e,
0x00, 0x7f, 0x06, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x78, 0x79, 0x12, 0x18, 0x3f, 0x78,
0x75, 0x12, 0x18, 0x5b, 0x02, 0x16, 0xcd, 0xf8, 0xe2, 0x2f, 0xf5, 0x2f, 0x18, 0xe2, 0x3e, 0xf5,
0x2e, 0x22, 0xf8, 0xe2, 0x2f, 0xf5, 0x2d, 0x18, 0xe2, 0x3e, 0xf5, 0x2c, 0x22, 0xe5, 0x2a, 0x75,
0xf0, 0x42, 0xa4, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xd3, 0xe5,
0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x22, 0x78, 0x37, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xc3,
0x78, 0x49, 0x22, 0x7b, 0xfe, 0x7e, 0x00, 0x7f, 0x0a, 0x02, 0x15, 0x03, 0xe5, 0x08, 0x24, 0x3a,
0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0xe2, 0x22, 0xfe, 0x78, 0x75, 0xe4, 0xfc, 0xfd,
0x02, 0x18, 0x68, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0x74, 0x01, 0xf2, 0x22, 0xf8, 0xe2, 0x2d, 0xfd,
0x18, 0xe2, 0x3c, 0xcd, 0xc3, 0x9f, 0x22, 0x74, 0x2d, 0x25, 0x2c, 0xf8, 0xa6, 0x06, 0x78, 0x7b,
0xe6, 0x22, 0x85, 0x2f, 0x35, 0x85, 0x2e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xd3, 0xeb, 0x95,
0x2e, 0xea, 0x95, 0x2d, 0x22, 0xe5, 0x08, 0x24, 0x15, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5,
0x08, 0x24, 0x22, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5, 0x08, 0x24, 0x02, 0xf8, 0xe2, 0x22,
0xe5, 0x08, 0x24, 0x03, 0xf8, 0xe2, 0x22, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x00, 0xf8, 0xe2,
0x22, 0xe4, 0x8f, 0x35, 0x8e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xc3, 0x74, 0x04, 0x93, 0x9f,
0xff, 0x74, 0x03, 0x93, 0x22, 0xe4, 0x78, 0x64, 0xf6, 0x18, 0xe6, 0x70, 0x03, 0x02, 0x27, 0x19,
0x14, 0x70, 0x03, 0x02, 0x27, 0xf6, 0x14, 0x60, 0x53, 0x14, 0x60, 0x03, 0x02, 0x28, 0x12, 0x12,
0x28, 0x17, 0x12, 0x3a, 0x6a, 0x12, 0x22, 0x77, 0x78, 0x64, 0xe6, 0x30, 0xe1, 0x04, 0x78, 0x67,
0x76, 0x28, 0x12, 0x30, 0xbe, 0x78, 0x5c, 0xe6, 0x20, 0xe0, 0x03, 0x02, 0x28, 0x16, 0x78, 0x68,
0xe6, 0xff, 0x24, 0xd4, 0xf8, 0xe2, 0x20, 0xe0, 0x1f, 0x74, 0xd5, 0x2f, 0xf8, 0xe2, 0x20, 0xe0,
0x17, 0x78, 0x64, 0xe6, 0x30, 0xe3, 0x11, 0x05, 0x1d, 0xe5, 0x1d, 0xd3, 0x94, 0x14, 0x40, 0x03,
0x18, 0x76, 0x02, 0xe4, 0x78, 0x64, 0xf6, 0x22, 0xe4, 0xf5, 0x1d, 0x22, 0x12, 0x28, 0x17, 0x12,
0x43, 0x0c, 0xe4, 0xf5, 0x2b, 0xe5, 0x2b, 0xc3, 0x78, 0x68, 0x96, 0x50, 0x47, 0xe5, 0x2b, 0x12,
0x2e, 0xec, 0xff, 0xe5, 0x2b, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x34, 0x12, 0x2e, 0x47, 0xe0,
0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x00, 0x12, 0x2e, 0x39, 0xe0, 0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x02,
0x12, 0x2e, 0x39, 0x12, 0x2e, 0xf3, 0xe5, 0x2b, 0x90, 0x01, 0x04, 0x12, 0x2e, 0x3f, 0xe0, 0xfe,
0xa3, 0xe0, 0xff, 0xe5, 0x2b, 0x90, 0x01, 0x0d, 0x12, 0x2e, 0xd5, 0xee, 0xf0, 0xa3, 0xef, 0xf0,
0x05, 0x2b, 0x80, 0xb1, 0x78, 0x63, 0x76, 0x03, 0x22, 0xe4, 0xf5, 0x2b, 0x78, 0x67, 0xf6, 0x78,
0x64, 0xf6, 0x7e, 0x02, 0x7f, 0xa8, 0xfd, 0x7b, 0x01, 0x7a, 0x00, 0x79, 0xfe, 0x12, 0x18, 0xec,
0x7f, 0x50, 0x7a, 0x00, 0x79, 0x86, 0x12, 0x2f, 0x55, 0x7f, 0x28, 0x7a, 0x00, 0x79, 0xd6, 0x12,
0x2f, 0x55, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x78, 0x68, 0xf6, 0x90, 0x48, 0x36, 0xe4, 0x93,
0xfe, 0x74, 0x01, 0x93, 0xff, 0x12, 0x2e, 0xdb, 0x74, 0x05, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x18,
0xbf, 0xe4, 0x7b, 0xc8, 0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x78, 0x4e, 0xa6, 0x06, 0x08, 0xa6,
0x07, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x2c, 0xe4, 0xf5, 0x1e, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xf5,
0x1f, 0x12, 0x2f, 0x4a, 0x50, 0x46, 0x12, 0x2e, 0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e,
0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01, 0x12, 0x44, 0x05, 0x05, 0x1e, 0x05, 0x1f, 0x05,
0x2b, 0x80, 0xde, 0xe4, 0xf5, 0x1e, 0x75, 0x1f, 0x01, 0x12, 0x2f, 0x4a, 0x50, 0x1e, 0x12, 0x2e,
0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01,
0x12, 0x44, 0x05, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x05, 0x2b, 0x80, 0xdd, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe0, 0x0b, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x24, 0x02, 0x78, 0x68, 0xf6, 0xef, 0x54,
0x02, 0x44, 0x91, 0x78, 0x62, 0xf6, 0x78, 0x58, 0x76, 0x04, 0x78, 0x65, 0x76, 0x02, 0x12, 0x40,
0xac, 0x78, 0x63, 0x76, 0x01, 0x22, 0x78, 0x65, 0x76, 0x01, 0x12, 0x3c, 0xd3, 0x78, 0x65, 0x76,
0x02, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x78, 0x63, 0x76,
0x02, 0x22, 0xe4, 0x78, 0x63, 0xf6, 0x22, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x22, 0x8b, 0x26,
0x8a, 0x27, 0x89, 0x28, 0x7e, 0x00, 0x7f, 0x0c, 0x7d, 0x00, 0x12, 0x18, 0xec, 0x7a, 0x00, 0x79,
0x04, 0x12, 0x25, 0x6f, 0x7a, 0x00, 0x79, 0x46, 0x12, 0x25, 0x6f, 0xe5, 0x0c, 0x14, 0x60, 0x54,
0x04, 0x60, 0x03, 0x02, 0x29, 0xc1, 0xe4, 0xf5, 0x0d, 0xff, 0x12, 0x46, 0xdd, 0x12, 0x46, 0xe2,
0xef, 0x64, 0x03, 0x60, 0x08, 0xe4, 0xf5, 0x87, 0x12, 0x26, 0x55, 0x80, 0xf0, 0x7b, 0xfe, 0x7a,
0x00, 0x79, 0x15, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x46, 0x9b, 0x7b,
0xfe, 0x7a, 0x00, 0x79, 0x57, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x64, 0x12, 0x46,
0x9b, 0x7e, 0x00, 0x7f, 0x84, 0x7d, 0x00, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x00, 0x12, 0x18, 0xec,
0x75, 0x0c, 0x01, 0x22, 0x12, 0x26, 0x55, 0x78, 0x64, 0xe6, 0xf5, 0x29, 0xaf, 0x09, 0xef, 0x13,
0x13, 0x54, 0x3f, 0x30, 0xe0, 0x08, 0xe5, 0x29, 0x30, 0xe4, 0x03, 0x02, 0x29, 0xc1, 0xe5, 0x29,
0x20, 0xe3, 0x03, 0x02, 0x29, 0x49, 0x12, 0x34, 0x48, 0xaf, 0x0a, 0x12, 0x3d, 0xce, 0x8f, 0x0a,
0xaf, 0x0b, 0x12, 0x3d, 0xce, 0x8f, 0x0b, 0x75, 0x2e, 0xfe, 0x75, 0x2f, 0x00, 0x75, 0x30, 0x86,
0x7b, 0x00, 0x7a, 0x00, 0x79, 0x0a, 0x12, 0x46, 0xb4, 0xaf, 0x09, 0xef, 0xc3, 0x13, 0x30, 0xe0,
0x05, 0x12, 0x31, 0xf8, 0x80, 0x08, 0xe4, 0x78, 0x92, 0xf6, 0x08, 0xf6, 0x08, 0xf6, 0xe4, 0xf5,
0x2a, 0x74, 0x0a, 0x25, 0x2a, 0xf8, 0xe6, 0xff, 0x12, 0x25, 0x9d, 0x24, 0x00, 0xf8, 0xef, 0xf2,
0xf4, 0x60, 0x30, 0xaf, 0x2a, 0x12, 0x29, 0xc5, 0x12, 0x25, 0x9d, 0x24, 0x04, 0x12, 0x24, 0xbf,
0xaf, 0x2a, 0x12, 0x20, 0x3c, 0x12, 0x25, 0x9d, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0x9d,
0x24, 0x09, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25, 0x9d, 0x24, 0x04, 0xf9, 0xe4, 0xfa, 0x7b, 0xfe,
0x12, 0x46, 0xad, 0x05, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x40, 0xb5, 0x12, 0x2c, 0xce, 0xe5,
0x29, 0x30, 0xe5, 0x0b, 0x75, 0x0d, 0x01, 0x80, 0x06, 0xe5, 0x0d, 0x60, 0x02, 0x80, 0x72, 0x75,
0x08, 0x00, 0xe4, 0xf5, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x50, 0x3c, 0xe4, 0xf5, 0x87, 0x12,
0x3c, 0x49, 0x12, 0x38, 0x1e, 0x12, 0x25, 0x68, 0x60, 0x05, 0x12, 0x19, 0x18, 0x80, 0x0d, 0x12,
0x24, 0xe4, 0x12, 0x25, 0xe5, 0x74, 0x84, 0x25, 0x2a, 0xf8, 0xe4, 0xf2, 0x12, 0x35, 0x4c, 0x12,
0x25, 0xa4, 0xe5, 0x08, 0x24, 0x35, 0xf8, 0x7c, 0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0x05, 0x2a,
0x74, 0x42, 0x25, 0x08, 0xf5, 0x08, 0x80, 0xbd, 0xa8, 0x28, 0xac, 0x27, 0xad, 0x26, 0x7b, 0xfe,
0x7a, 0x00, 0x79, 0x04, 0x12, 0x25, 0x56, 0xe5, 0x28, 0x24, 0x06, 0xf9, 0xe4, 0x35, 0x27, 0xa8,
0x01, 0xfc, 0xad, 0x26, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x46, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15,
0x03, 0xe4, 0xf5, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xfe, 0x70, 0x04, 0xf5, 0x2b, 0x80, 0x1f, 0x78,
0x91, 0xe6, 0xfd, 0x14, 0xb5, 0x06, 0x09, 0xed, 0x25, 0xe0, 0x24, 0xfa, 0xf5, 0x2b, 0x80, 0x0e,
0x74, 0x84, 0x2f, 0xf8, 0x74, 0x03, 0xf2, 0xee, 0x25, 0xe0, 0x24, 0xfe, 0xf5, 0x2b, 0xef, 0x75,
0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8, 0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8,
0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03, 0xf8, 0xe4, 0xf2, 0xfe, 0xe5, 0x2b, 0x2e,
0xfd, 0x24, 0xd6, 0xf8, 0xe2, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8,
0xe2, 0x04, 0xf2, 0x74, 0xd6, 0x2d, 0xf8, 0xe2, 0x13, 0x13, 0x54, 0x3f, 0x30, 0xe0, 0x0b, 0xef,
0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8, 0xe2, 0x04, 0xf2, 0xe5, 0x2b, 0x2e, 0x24, 0xd6, 0xf8,
0xe2, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03,
0xf8, 0xe2, 0x04, 0xf2, 0x0e, 0xbe, 0x06, 0xb5, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8a, 0x12, 0x24,
0x98, 0xe5, 0x2b, 0x12, 0x24, 0xf9, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x24, 0xfd, 0x78,
0x93, 0xe6, 0xfa, 0x08, 0xe6, 0xfb, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a, 0x12, 0x25, 0xda, 0xe5,
0x2b, 0x25, 0xe0, 0x24, 0x8c, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x89, 0x12, 0x24,
0xfd, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x91, 0xf8, 0xe2, 0x2f, 0xff, 0x18, 0xe2, 0x3e, 0xcf, 0xc3,
0x9b, 0xcf, 0x9a, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x79, 0x12, 0x24, 0xb1, 0x74, 0x07, 0x93, 0xfe,
0x74, 0x08, 0x78, 0x79, 0x12, 0x25, 0x44, 0x12, 0x16, 0xe8, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06,
0xc0, 0x07, 0x12, 0x24, 0xb4, 0x78, 0x79, 0x12, 0x25, 0x0d, 0x12, 0x16, 0xe8, 0xd0, 0x03, 0xd0,
0x02, 0xd0, 0x01, 0xd0, 0x00, 0x12, 0x16, 0xcd, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07,
0x12, 0x24, 0xb4, 0x74, 0x05, 0x93, 0xfe, 0x74, 0x06, 0x78, 0x75, 0x12, 0x25, 0x44, 0x12, 0x24,
0xd8, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x16, 0xda, 0x78, 0x7d, 0x12, 0x18,
0x68, 0x78, 0x7d, 0x12, 0x18, 0x3f, 0xec, 0x33, 0x50, 0x0b, 0x78, 0x75, 0x12, 0x18, 0x74, 0x00,
0x00, 0x00, 0x01, 0x80, 0x48, 0x12, 0x25, 0x7a, 0x12, 0x25, 0x4f, 0x12, 0x17, 0x73, 0x78, 0x7d,
0x12, 0x25, 0x81, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x25, 0x7a, 0x12, 0x24,
0xdb, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x24,
0xb1, 0x78, 0x75, 0x12, 0x25, 0x0d, 0xd3, 0x12, 0x18, 0x1b, 0x40, 0x11, 0x12, 0x24, 0xb4, 0x74,
0x02, 0x93, 0x24, 0xff, 0xff, 0x74, 0x01, 0x93, 0x34, 0xff, 0x12, 0x25, 0xda, 0x78, 0x75, 0x12,
0x18, 0x3f, 0x22, 0xe4, 0xf5, 0x10, 0x90, 0x04, 0xa9, 0xe0, 0x70, 0x03, 0x02, 0x2c, 0x35, 0x14,
0x70, 0x03, 0x02, 0x2c, 0x55, 0x14, 0x70, 0x03, 0x02, 0x2c, 0x8a, 0x24, 0xfe, 0x60, 0x2c, 0x04,
0x60, 0x03, 0x02, 0x2c, 0x92, 0x90, 0xff, 0x11, 0xe4, 0xf0, 0x90, 0xff, 0x14, 0xf0, 0xa3, 0xf0,
0xa3, 0xf0, 0xa3, 0xf0, 0xa3, 0xf0, 0x75, 0x14, 0x47, 0x75, 0x15, 0x5c, 0x12, 0x2c, 0xb5, 0x12,
0x2c, 0xc4, 0x90, 0x04, 0xa9, 0x74, 0x04, 0xf0, 0xe4, 0xf5, 0x10, 0x12, 0x2c, 0xc4, 0xe4, 0xf5,
0x10, 0xfb, 0x7a, 0x00, 0x79, 0x69, 0xfd, 0x12, 0x1b, 0x88, 0xe5, 0x11, 0x60, 0x72, 0xe4, 0xf5,
0x25, 0xf5, 0x24, 0xf5, 0x23, 0xf5, 0x22, 0xf5, 0x21, 0x85, 0x15, 0x82, 0x85, 0x14, 0x83, 0x74,
0x02, 0x93, 0xff, 0xe5, 0x21, 0xc3, 0x9f, 0x50, 0x30, 0xaf, 0x21, 0x12, 0x14, 0x1e, 0xef, 0xd3,
0x94, 0x32, 0x40, 0x21, 0xe4, 0x7f, 0x01, 0xfe, 0xfd, 0xfc, 0xa9, 0x21, 0xa8, 0x01, 0x12, 0x18,
0x2c, 0xe5, 0x25, 0x4f, 0xf5, 0x25, 0xe5, 0x24, 0x4e, 0xf5, 0x24, 0xe5, 0x23, 0x4d, 0xf5, 0x23,
0xe5, 0x22, 0x4c, 0xf5, 0x22, 0x05, 0x21, 0x80, 0xc0, 0x75, 0x13, 0x02, 0xe5, 0x13, 0x70, 0x02,
0x80, 0x16, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0xff, 0x12, 0x46, 0x12, 0x8e, 0x14, 0x8f, 0x15,
0xe5, 0x15, 0x45, 0x14, 0x60, 0x02, 0x80, 0x6a, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x80, 0x67,
0x75, 0x11, 0x10, 0x80, 0x62, 0xe4, 0xf5, 0x87, 0x12, 0x2c, 0xb5, 0xaf, 0x15, 0xae, 0x14, 0x12,
0x45, 0x64, 0xe4, 0xfd, 0xff, 0x12, 0x45, 0xa9, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x90, 0x04, 0xa9,
0x74, 0x01, 0xf0, 0x80, 0x42, 0xe4, 0xf5, 0x21, 0xf5, 0x22, 0xf5, 0x87, 0xf5, 0x10, 0xfb, 0x7a,
0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x78, 0x6d, 0xe6, 0x60, 0x07, 0x78, 0x73, 0xe6, 0x60, 0x02,
0x80, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x33, 0x31, 0x8f, 0x21, 0x7b, 0x00, 0x7a,
0x00, 0x79, 0x69, 0xad, 0x22, 0x12, 0x1b, 0x88, 0x80, 0x0d, 0xe4, 0xf5, 0xe2, 0x75, 0x10, 0x05,
0x80, 0x05, 0xe4, 0x90, 0x04, 0xa9, 0xf0, 0xe5, 0x10, 0x60, 0x19, 0xe4, 0xf5, 0x87, 0x90, 0x04,
0xa9, 0xe0, 0xb4, 0x02, 0x04, 0xd2, 0xf9, 0x80, 0x02, 0xd2, 0xf8, 0xe4, 0xf5, 0x87, 0xf5, 0x87,
0xf5, 0x87, 0x80, 0xe3, 0x22, 0xaf, 0x15, 0xae, 0x14, 0x12, 0x3b, 0x10, 0xaf, 0x15, 0xae, 0x14,
0x12, 0x44, 0xaf, 0x22, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x22, 0x78, 0x09,
0xe2, 0x60, 0x0d, 0x78, 0x4b, 0xe2, 0x7f, 0x01, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x30, 0x80, 0x0b,
0x78, 0x4b, 0xe2, 0x7f, 0x00, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x30, 0x78, 0x3a, 0xe2, 0xff, 0x60,
0x0d, 0x78, 0x7c, 0xe2, 0x7e, 0x01, 0x60, 0x02, 0x7e, 0x02, 0x8e, 0x31, 0x80, 0x0b, 0x78, 0x7c,
0xe2, 0x7e, 0x00, 0x60, 0x02, 0x7e, 0x01, 0x8e, 0x31, 0xe4, 0xf5, 0x2b, 0xe5, 0x30, 0x64, 0x01,
0x70, 0x43, 0xe5, 0x31, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0xb4, 0x01, 0x11, 0xef, 0x60,
0x03, 0x02, 0x2d, 0xf4, 0x78, 0x7c, 0xe2, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5,
0x31, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x78, 0x79,
0x12, 0x24, 0xa1, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x25, 0xae, 0x50, 0x03, 0x02,
0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5, 0x30, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31,
0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0x64, 0x01, 0x70, 0x3d, 0x78, 0x3a, 0xe2, 0x60, 0x0b,
0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x12, 0x25, 0xb8, 0x80, 0x1c, 0x78, 0x79, 0xe2, 0xfe, 0x08,
0xe2, 0x78, 0x49, 0x12, 0x24, 0xa7, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x78, 0x79, 0xe2,
0xfe, 0x08, 0xe2, 0xff, 0xc3, 0x78, 0x07, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f,
0x2f, 0x12, 0x25, 0xae, 0x40, 0x4e, 0x80, 0x49, 0xe5, 0x31, 0x64, 0x02, 0x70, 0x46, 0x78, 0x79,
0x12, 0x25, 0xba, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x24, 0x9f,
0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x25, 0xb8,
0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x78, 0x79, 0x12, 0x24, 0xa1, 0x12,
0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2f, 0xd0, 0xe0, 0x3e, 0xf5, 0x2e, 0x12, 0x25, 0xae, 0x40,
0x03, 0x75, 0x2b, 0x01, 0xe5, 0x2b, 0x60, 0x38, 0x78, 0x75, 0x7c, 0x00, 0x7d, 0x00, 0x7a, 0x00,
0x79, 0x00, 0x12, 0x25, 0xc3, 0x78, 0x00, 0x7c, 0x00, 0x7d, 0xfe, 0x7a, 0x00, 0x79, 0x42, 0x12,
0x25, 0xc3, 0x78, 0x42, 0x7c, 0x00, 0x7d, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x12, 0x25,
0xc5, 0x78, 0x84, 0xe2, 0xff, 0x78, 0x75, 0xf6, 0x78, 0x85, 0xe2, 0x18, 0xf2, 0x08, 0xef, 0xf2,
0x22, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x22, 0xff, 0x75, 0xf0, 0x11, 0xe5, 0x2b, 0x12,
0x18, 0x8d, 0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2b, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x0b, 0x02,
0x18, 0x8d, 0xe5, 0x2c, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x02, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x75,
0xf0, 0x11, 0x90, 0x01, 0x00, 0x02, 0x18, 0x8d, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35,
0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e, 0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93,
0xff, 0x22, 0xe0, 0xff, 0xe6, 0xfe, 0xef, 0x2e, 0xf5, 0xf5, 0xe5, 0x1f, 0x75, 0xf0, 0x11, 0x90,
0x00, 0xff, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x54, 0x07, 0x90, 0x48, 0x24, 0x93, 0xfe, 0xe5, 0x2c,
0x13, 0x13, 0x13, 0x54, 0x1f, 0x24, 0x50, 0xf8, 0x22, 0xef, 0x75, 0xf0, 0x11, 0x90, 0x00, 0xfe,
0x02, 0x18, 0x8d, 0x90, 0x01, 0x06, 0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x02, 0x18, 0x8d, 0xa8, 0x4d,
0xe6, 0xfd, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x22,
0xf2, 0xeb, 0x90, 0x01, 0x04, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0x85, 0x1c, 0x82, 0x85, 0x1b,
0x83, 0x22, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x09, 0x02, 0x18, 0x8d, 0xef, 0x54, 0x07, 0x90, 0x48,
0x24, 0x93, 0x22, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x75, 0xf0, 0x11, 0x22, 0x78, 0x68, 0xe6, 0xfe,
0xef, 0xc3, 0x9e, 0x22, 0xc3, 0x74, 0x08, 0x93, 0x9f, 0x74, 0x07, 0x93, 0x9e, 0x22, 0xe5, 0x2c,
0x90, 0x01, 0x08, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0xed, 0x33, 0x95, 0xe0, 0xfc, 0xed, 0x2f,
0xec, 0x3e, 0xc3, 0x64, 0x80, 0x94, 0x80, 0x22, 0xe5, 0x2e, 0x94, 0x00, 0xe5, 0x2d, 0x64, 0x80,
0x94, 0x80, 0x22, 0x85, 0x27, 0x82, 0x85, 0x26, 0x83, 0x22, 0xe5, 0x2d, 0xf0, 0xa3, 0xe5, 0x2e,
0xf0, 0x22, 0x78, 0x62, 0xe6, 0xf5, 0x91, 0x78, 0x58, 0x22, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xff,
0xe5, 0x2b, 0xc3, 0x9f, 0x22, 0x7e, 0x00, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x05, 0x1e,
0x05, 0x1e, 0x05, 0x1f, 0x22, 0xe0, 0xfe, 0xad, 0x2c, 0x74, 0x01, 0xa8, 0x05, 0x08, 0x22, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x9f, 0x22, 0x78, 0x68, 0xe6, 0x24, 0xfe, 0xff, 0x22, 0xc0, 0xe0, 0xc0,
0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02,
0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0xe8, 0x54, 0x3d, 0x70, 0x03,
0x02, 0x30, 0xa1, 0x85, 0xe8, 0x3d, 0x75, 0xe8, 0x00, 0xe5, 0x3d, 0x54, 0x38, 0x60, 0x07, 0x78,
0x8c, 0x76, 0x00, 0x75, 0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe2, 0x07, 0x78, 0x8c, 0x76, 0x00, 0x75,
0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe0, 0xd3, 0xe5, 0x4a, 0x70, 0x03, 0x02, 0x30, 0x5e, 0x14, 0x60,
0x6c, 0x14, 0x60, 0x4b, 0x14, 0x70, 0xc3, 0x85, 0xec, 0x3d, 0x75, 0xef, 0x01, 0x78, 0x8c, 0xe6,
0x70, 0x09, 0xaf, 0x3d, 0x08, 0xf6, 0x08, 0xa6, 0x07, 0x80, 0x13, 0x78, 0x8e, 0xe6, 0x7f, 0x00,
0x18, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xad, 0x3d, 0xee, 0x18, 0xf6, 0xed, 0x08, 0xf6, 0x78, 0x8c,
0x06, 0xe6, 0xc3, 0x18, 0x96, 0x40, 0x93, 0x75, 0x4a, 0x02, 0x78, 0x8d, 0xe6, 0xfe, 0x08, 0xe6,
0xff, 0x08, 0xee, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xff, 0x12, 0x46, 0xeb, 0x02, 0x2f, 0x9a, 0x85,
0xec, 0x3d, 0x12, 0x46, 0xa4, 0x70, 0x01, 0x06, 0x14, 0xff, 0xad, 0x3d, 0x12, 0x40, 0x62, 0xef,
0x70, 0x06, 0x75, 0xef, 0x01, 0x02, 0x2f, 0x9a, 0x75, 0x4a, 0x00, 0x80, 0x5e, 0xe5, 0x3d, 0x30,
0xe1, 0x09, 0x75, 0xef, 0x00, 0x75, 0x4a, 0x00, 0x02, 0x2f, 0x9a, 0x12, 0x46, 0xa4, 0x70, 0x01,
0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x02, 0x02, 0x2f, 0x9a, 0x85, 0xec,
0x3d, 0xe5, 0x3d, 0xc3, 0x13, 0x65, 0x4b, 0x70, 0x32, 0xe5, 0x3d, 0x30, 0xe0, 0x24, 0x78, 0x8d,
0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x08, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x18, 0x12, 0x46, 0xa6, 0x70,
0x01, 0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x03, 0x75, 0x4a, 0x01, 0x02,
0x2f, 0x9a, 0x75, 0xef, 0x01, 0x75, 0x4a, 0x03, 0x02, 0x2f, 0x9a, 0x75, 0xef, 0x00, 0x02, 0x2f,
0x9a, 0xc2, 0x9c, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0,
0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0x78, 0x67,
0xe6, 0x60, 0x01, 0x16, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3, 0x78, 0x68, 0x96, 0x40, 0x03, 0x02,
0x31, 0xf7, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x70,
0x03, 0x02, 0x31, 0xf2, 0x12, 0x2e, 0x52, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x5d, 0x12,
0x2f, 0x6f, 0xf5, 0x2e, 0xec, 0x9e, 0xf5, 0x2d, 0x90, 0x01, 0x07, 0x12, 0x2e, 0xb6, 0xe0, 0xf5,
0x2f, 0xe4, 0xf5, 0x87, 0x78, 0x67, 0xe6, 0x60, 0x09, 0xd3, 0x12, 0x2f, 0x28, 0x40, 0x03, 0x02,
0x31, 0xf2, 0xaf, 0x2e, 0xae, 0x2d, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50,
0x0d, 0x12, 0x2f, 0x28, 0x40, 0x04, 0x05, 0x2f, 0x80, 0x5a, 0x15, 0x2f, 0x80, 0x56, 0x12, 0x2e,
0xb3, 0xe0, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0xef, 0x25, 0x2e, 0xf5, 0x2e, 0xee, 0x35, 0x2d, 0xf5,
0x2d, 0xd3, 0xe5, 0x2e, 0x94, 0x78, 0x12, 0x2f, 0x2c, 0x40, 0x09, 0x12, 0x2e, 0x52, 0xe4, 0x75,
0xf0, 0x01, 0x80, 0x1a, 0xe5, 0x2e, 0x24, 0x78, 0xe4, 0x35, 0x2d, 0xc3, 0x64, 0x80, 0x94, 0x80,
0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x50, 0x11, 0x12, 0x2e, 0x57, 0x74, 0xff, 0xf5, 0xf0, 0x12, 0x16,
0x27, 0x12, 0x2e, 0xb3, 0xe4, 0xf0, 0x80, 0x09, 0x90, 0x01, 0x06, 0x12, 0x18, 0x8d, 0xe5, 0x2e,
0xf0, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0xdb, 0x74, 0x04, 0x93, 0xff, 0xd3, 0x64, 0x80, 0xf8, 0xe5,
0x2f, 0x64, 0x80, 0x98, 0x50, 0x0c, 0xef, 0x33, 0x95, 0xe0, 0xfe, 0xad, 0x2f, 0x12, 0x2f, 0x19,
0x50, 0x13, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0x5d, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x52,
0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2c, 0x90, 0x01, 0x07, 0x12, 0x2f, 0x13, 0xe5, 0x2f, 0xf0,
0x78, 0x67, 0xe6, 0x70, 0x2d, 0x12, 0x2e, 0x52, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x90, 0x01, 0x0d,
0x12, 0x18, 0x8d, 0x12, 0x2f, 0x6f, 0xff, 0xec, 0x9e, 0xfe, 0x12, 0x46, 0x5f, 0x7c, 0x00, 0x7d,
0x02, 0x12, 0x15, 0xf1, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50, 0x06, 0x78, 0x64, 0xe6, 0x44,
0x10, 0xf6, 0x05, 0x2c, 0x02, 0x30, 0xc7, 0x22, 0xe4, 0xf5, 0x2c, 0xf5, 0x2d, 0xf5, 0x2e, 0xf5,
0x2f, 0x78, 0x92, 0xf6, 0xe5, 0x0a, 0xb4, 0xff, 0x09, 0xe5, 0x0b, 0xf4, 0x60, 0x04, 0xe5, 0x0b,
0x80, 0x12, 0xe5, 0x0a, 0xf4, 0x70, 0x03, 0x02, 0x33, 0x30, 0xe5, 0x0b, 0xf4, 0x60, 0x03, 0x02,
0x33, 0x30, 0xe5, 0x0a, 0x25, 0xe0, 0xf5, 0x2b, 0xe5, 0x2b, 0xd3, 0x94, 0x02, 0x40, 0x64, 0x74,
0xd2, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xd3, 0x25, 0x2b, 0xf8, 0xe2, 0x30, 0xe0,
0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f,
0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0xd1,
0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f, 0x12, 0x25, 0xec, 0xf5, 0x2d, 0xed, 0x9e, 0xf5, 0x2c, 0xe5,
0x2d, 0xae, 0x2c, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee, 0xc4, 0xf8,
0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2c, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2d, 0x78, 0x92, 0x74,
0x08, 0x26, 0xf6, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xff, 0xe4, 0x34, 0xff, 0xfe, 0xef, 0x25, 0xe0,
0xff, 0xee, 0x33, 0xfe, 0xc3, 0xe5, 0x2b, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x50,
0x64, 0x74, 0xda, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xdb, 0x25, 0x2b, 0xf8, 0xe2,
0x30, 0xe0, 0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0,
0x24, 0x8f, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12,
0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x25, 0xec, 0xf5, 0x2f, 0xed, 0x9e, 0xf5,
0x2e, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee,
0xc4, 0xf8, 0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2e, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2f, 0x78,
0x92, 0x74, 0x08, 0x26, 0xf6, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5, 0x2c, 0x35, 0x2e, 0xfe, 0x7c,
0x00, 0x7d, 0x03, 0x12, 0x15, 0x8a, 0xee, 0xc3, 0x13, 0x79, 0x93, 0xf7, 0xef, 0x13, 0x09, 0xf7,
0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0xe4, 0xf5, 0x29, 0xf5, 0x2a, 0xf5, 0x2b, 0x85, 0x49,
0x82, 0x85, 0x48, 0x83, 0xe4, 0x93, 0xff, 0xe5, 0x29, 0xc3, 0x9f, 0x40, 0x03, 0x02, 0x34, 0x12,
0x12, 0x46, 0x26, 0x74, 0x01, 0x93, 0xf5, 0x2c, 0x12, 0x46, 0x20, 0x74, 0x02, 0x93, 0xf5, 0x2d,
0x12, 0x46, 0x20, 0x74, 0x04, 0x93, 0xfc, 0x74, 0x05, 0x93, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x86, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xd3, 0x9d, 0xee, 0x9c, 0x40, 0x6f, 0x7c, 0x00, 0x7d,
0x05, 0x12, 0x15, 0x8a, 0xe5, 0x2d, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x24, 0x01, 0xfd, 0x18,
0xe2, 0x34, 0x00, 0xfc, 0x12, 0x15, 0x9c, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x46, 0x20, 0x74, 0x03,
0x93, 0x30, 0xe7, 0x2b, 0x54, 0x7f, 0xc3, 0x95, 0x2f, 0xff, 0xe4, 0x95, 0x2e, 0xfe, 0x12, 0x46,
0x5f, 0xc3, 0x74, 0x03, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x40, 0x2e, 0xaf, 0x29,
0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x80, 0x1d, 0x12,
0x46, 0x20, 0x74, 0x03, 0x93, 0xc3, 0x95, 0x2f, 0xe4, 0x95, 0x2e, 0x50, 0x0f, 0xaf, 0x29, 0x74,
0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x12, 0x46, 0x20, 0x74,
0x01, 0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x20, 0xe0, 0x0f, 0x12, 0x46, 0x20, 0x74, 0x02,
0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x30, 0xe0, 0x03, 0x75, 0x2b, 0x01, 0x05, 0x29, 0x02,
0x33, 0x3e, 0x90, 0x04, 0xa7, 0xe0, 0x65, 0x2a, 0x60, 0x0a, 0xe5, 0x2a, 0xf0, 0xe4, 0x90, 0x04,
0xa6, 0xf0, 0x80, 0x14, 0x90, 0x04, 0xa6, 0xe0, 0x04, 0xf0, 0xc3, 0x94, 0x03, 0x40, 0x09, 0xe0,
0x14, 0xf0, 0x90, 0x04, 0xa8, 0xe5, 0x2a, 0xf0, 0x90, 0x04, 0xa8, 0xe0, 0xab, 0x26, 0xaa, 0x27,
0xa9, 0x28, 0x12, 0x15, 0x56, 0xaf, 0x2b, 0x22, 0xe4, 0xf5, 0x2b, 0xff, 0xf5, 0x2c, 0x78, 0x7b,
0xf6, 0x08, 0xf6, 0x7e, 0xff, 0xe5, 0x2b, 0xc3, 0x78, 0x91, 0x96, 0x40, 0x03, 0x02, 0x34, 0xea,
0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x25,
0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2d, 0xf5, 0x31, 0x18, 0xe2, 0x3c, 0xf5, 0x30, 0x85, 0x1c, 0x82,
0x85, 0x1b, 0x83, 0x78, 0x7b, 0xe6, 0xfc, 0x08, 0xe6, 0xfd, 0x74, 0x08, 0x93, 0x2d, 0xfb, 0x74,
0x07, 0x93, 0x3c, 0xfa, 0xd3, 0xe5, 0x31, 0x9b, 0xe5, 0x30, 0x9a, 0x40, 0x05, 0x7f, 0x01, 0x18,
0x80, 0x3c, 0x85, 0x1c, 0x82, 0x85, 0x1b, 0x83, 0x74, 0x08, 0x93, 0x25, 0x31, 0xfb, 0x74, 0x07,
0x93, 0x35, 0x30, 0xfa, 0xd3, 0xed, 0x9b, 0xec, 0x9a, 0x40, 0x2a, 0xef, 0x60, 0x1e, 0xe4, 0xff,
0x12, 0x25, 0xf7, 0xfc, 0x08, 0xe6, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24, 0x75, 0xf8, 0xa6, 0x04,
0x08, 0xa6, 0x05, 0x05, 0x2c, 0xe5, 0x2c, 0xc3, 0x94, 0x03, 0x50, 0x0e, 0x78, 0x7b, 0xa6, 0x30,
0x08, 0xa6, 0x31, 0xae, 0x2b, 0x05, 0x2b, 0x02, 0x34, 0x55, 0xef, 0x60, 0x1c, 0xe5, 0x2c, 0xc3,
0x94, 0x02, 0x50, 0x15, 0x12, 0x25, 0xf7, 0xfe, 0x08, 0xe6, 0xff, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x75, 0xf8, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x05, 0x2c, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x75,
0x36, 0xff, 0x12, 0x35, 0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b,
0xf8, 0xe6, 0xff, 0x8f, 0x0a, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x85, 0x2b, 0x36, 0x12, 0x35,
0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b, 0xf8, 0xe6, 0xff, 0x8f,
0x0b, 0x22, 0xad, 0x2c, 0x12, 0x42, 0x28, 0x8f, 0x2b, 0xe5, 0x2b, 0x22, 0xe5, 0x08, 0x24, 0x04,
0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x36, 0xf9, 0xe3, 0xb5, 0x07, 0x19, 0x19, 0xe3, 0xb5, 0x06,
0x14, 0x12, 0x24, 0x94, 0xe5, 0x08, 0x24, 0x38, 0xf9, 0xe3, 0x6f, 0x70, 0x03, 0x19, 0xe3, 0x6e,
0x70, 0x03, 0x02, 0x36, 0x1d, 0x12, 0x25, 0xcc, 0x70, 0x78, 0xe5, 0x08, 0x24, 0x0d, 0x12, 0x24,
0xf1, 0x24, 0x09, 0xf8, 0x74, 0x01, 0x12, 0x24, 0x93, 0xe5, 0x08, 0x24, 0x3e, 0xf8, 0x12, 0x24,
0xa8, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5,
0x08, 0x24, 0x3c, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0,
0x3e, 0xfe, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xc3, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80,
0x98, 0x40, 0x65, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24,
0xd1, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x3d, 0x12,
0x24, 0xd1, 0x12, 0x24, 0xb4, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0xe5, 0x08, 0x24, 0x06,
0x80, 0x26, 0x12, 0x25, 0x68, 0x60, 0x05, 0x74, 0x04, 0xf2, 0x80, 0x2c, 0x74, 0x02, 0xf2, 0xe5,
0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24, 0xbf, 0xe5, 0x08, 0x24,
0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3d, 0x12, 0x24, 0xbf, 0x80, 0x0b, 0x12, 0x25, 0x68,
0x7f, 0x00, 0x60, 0x02, 0x7f, 0x03, 0xef, 0xf2, 0x12, 0x25, 0x68, 0x60, 0x03, 0xb4, 0x02, 0x04,
0x7f, 0x00, 0x80, 0x02, 0x7f, 0x01, 0xe5, 0x08, 0x24, 0x08, 0xf8, 0xef, 0xf2, 0x22, 0xae, 0x07,
0x12, 0x46, 0xc9, 0x12, 0x14, 0x00, 0x12, 0x46, 0x92, 0x12, 0x44, 0x61, 0x75, 0xa9, 0x40, 0x75,
0x89, 0xc0, 0x75, 0x8b, 0x20, 0xe4, 0xf5, 0x88, 0xc2, 0xaf, 0x75, 0xfe, 0x3d, 0x85, 0xff, 0x27,
0x7f, 0x01, 0x12, 0x46, 0x75, 0x85, 0x95, 0x23, 0x85, 0x94, 0x24, 0xac, 0x23, 0xad, 0x24, 0xaf,
0x06, 0x7e, 0x00, 0x12, 0x18, 0xbf, 0xef, 0x24, 0x80, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe4, 0xfb, 0x7a, 0x01, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8e, 0x23, 0x8f, 0x24,
0x85, 0x24, 0x94, 0xe5, 0x23, 0xf5, 0x95, 0xe4, 0xf5, 0x22, 0x75, 0x21, 0x80, 0xe5, 0x21, 0x42,
0x22, 0xe5, 0x22, 0xd3, 0x95, 0x27, 0x50, 0x35, 0xaf, 0x22, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95,
0x24, 0xf5, 0x26, 0xee, 0x95, 0x23, 0xf5, 0x25, 0xaf, 0x26, 0xfe, 0x12, 0x46, 0x5f, 0xc3, 0xef,
0x94, 0x05, 0xee, 0x64, 0x80, 0x94, 0x80, 0x50, 0x05, 0x75, 0x28, 0x01, 0x80, 0x1f, 0xd3, 0xe5,
0x26, 0x94, 0x00, 0xe5, 0x25, 0x64, 0x80, 0x94, 0x80, 0x40, 0x07, 0x80, 0x00, 0xe5, 0x21, 0xf4,
0x52, 0x22, 0xe5, 0x21, 0xc3, 0x13, 0xf5, 0x21, 0xd3, 0x94, 0x02, 0x50, 0xb0, 0xc2, 0xb8, 0xe5,
0x28, 0x70, 0x3a, 0xe5, 0x22, 0x24, 0x04, 0xff, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95, 0x24, 0xff,
0xee, 0x95, 0x23, 0xfe, 0x12, 0x46, 0x5f, 0x8e, 0x29, 0x8f, 0x2a, 0xaf, 0x26, 0xae, 0x25, 0x12,
0x46, 0x5f, 0x8e, 0x25, 0x8f, 0x26, 0xc3, 0xe5, 0x26, 0x95, 0x2a, 0xe5, 0x29, 0x64, 0x80, 0xf8,
0xe5, 0x25, 0x64, 0x80, 0x98, 0x50, 0x06, 0x75, 0xfe, 0xbd, 0x85, 0x22, 0xff, 0x02, 0x44, 0x33,
0x8f, 0x3e, 0xe5, 0x3e, 0x70, 0x10, 0x90, 0x04, 0xff, 0xe0, 0xfe, 0xb4, 0xfe, 0x05, 0x78, 0x81,
0xe6, 0xff, 0x22, 0xaf, 0x06, 0x22, 0x15, 0x3e, 0x90, 0x04, 0xff, 0xe0, 0xb4, 0x04, 0x05, 0xaf,
0x3e, 0x02, 0x14, 0x1e, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x06, 0x70, 0x12, 0xe5, 0x3e, 0x30, 0xe0,
0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e, 0xc3, 0x13, 0xff, 0x12, 0x46, 0x47, 0x80, 0x18, 0x90, 0x04,
0xff, 0xe0, 0x64, 0x07, 0x70, 0x18, 0xe5, 0x3e, 0x30, 0xe0, 0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e,
0xc3, 0x13, 0xff, 0x12, 0x46, 0x3b, 0x8e, 0x46, 0x8f, 0x47, 0xe5, 0x46, 0xff, 0x22, 0x90, 0x04,
0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x04, 0xef, 0xb4, 0xfe, 0x08, 0x74, 0x81, 0x25, 0x3e, 0xf8,
0xe6, 0xff, 0x22, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x02, 0x70, 0x70, 0x05, 0x3e, 0xe5, 0x3e, 0xb4,
0x01, 0x03, 0x7f, 0x01, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x10, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x20,
0x50, 0x08, 0xe5, 0x3e, 0x90, 0x13, 0xe0, 0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x20, 0x40,
0x1d, 0xe5, 0x3e, 0x94, 0x30, 0x50, 0x17, 0xe5, 0x3e, 0x24, 0xe0, 0xff, 0xe4, 0x34, 0xff, 0xfe,
0x74, 0x63, 0x2f, 0xf5, 0x82, 0x74, 0x42, 0x3e, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x22, 0xe5, 0x3e,
0xc3, 0x94, 0x30, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x50, 0x50, 0x08, 0xe5, 0x3e, 0x90, 0x42, 0x3c,
0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x50, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x90, 0x50, 0x08,
0xe5, 0x3e, 0x90, 0x42, 0x28, 0x93, 0xff, 0x22, 0x7f, 0x00, 0x22, 0x7f, 0x00, 0x22, 0x12, 0x25,
0x68, 0x60, 0x6e, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe2, 0xf9, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xfe,
0x12, 0x24, 0xb4, 0x74, 0x1f, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x06,
0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xfb, 0xc3, 0x9f, 0xea, 0x9e, 0x40, 0x1a, 0xe9, 0x24, 0x01, 0xff,
0xe4, 0x33, 0xfe, 0x74, 0x1e, 0x93, 0xfd, 0x12, 0x15, 0x8a, 0x12, 0x26, 0x4b, 0x9e, 0xfe, 0xd3,
0xeb, 0x9f, 0xea, 0x9e, 0x40, 0x32, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25,
0xcc, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98,
0x12, 0x24, 0xbb, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0x80,
0x1b, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe4, 0xf2, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0x7d,
0x01, 0x12, 0x3b, 0xb3, 0x12, 0x24, 0x8a, 0xe4, 0xfd, 0x12, 0x3b, 0xb3, 0xe5, 0x08, 0x24, 0x06,
0x12, 0x24, 0xbf, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xff, 0x7e, 0x00, 0xe5, 0x08, 0x24, 0x04,
0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xc3, 0x9f, 0xec, 0x9e, 0x40, 0x33, 0x12, 0x24, 0xcd, 0xc3, 0x9f,
0xec, 0x9e, 0x40, 0x2a, 0x74, 0x02, 0x93, 0x9f, 0xff, 0x74, 0x01, 0x93, 0x9e, 0xfe, 0xe5, 0x08,
0x24, 0x04, 0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xd3, 0x9f, 0xea, 0x9e, 0x50, 0x11, 0x74, 0x19, 0x93,
0xff, 0x12, 0x26, 0x4b, 0x94, 0x00, 0xfe, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x40, 0x07, 0x12, 0x24,
0xc6, 0x54, 0xf7, 0xf2, 0x22, 0x12, 0x24, 0xc6, 0x44, 0x08, 0xf2, 0x22, 0x15, 0x4d, 0xa8, 0x4d,
0xa6, 0x05, 0x15, 0x4d, 0xa8, 0x4d, 0xa6, 0x07, 0xe5, 0x4d, 0x24, 0xfb, 0xf5, 0x4d, 0x24, 0x05,
0xf8, 0xe6, 0xff, 0x54, 0x07, 0x90, 0x48, 0x1c, 0x93, 0xa8, 0x4d, 0xf6, 0xf4, 0xa8, 0x4d, 0x08,
0xf6, 0xef, 0xc4, 0x54, 0x0f, 0xa8, 0x4d, 0x08, 0x08, 0xf6, 0x12, 0x43, 0x61, 0xb4, 0x02, 0x11,
0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xd3, 0x94, 0x03, 0x40, 0x07, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe4,
0xf6, 0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xff, 0x90, 0x48, 0x10, 0x93, 0x24, 0x00, 0xfd, 0xe4, 0x34,
0xff, 0xfc, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xa6, 0x04, 0x08, 0xa6, 0x05, 0xef, 0xd3, 0x94, 0x03,
0x50, 0x13, 0x12, 0x43, 0x61, 0x30, 0xe2, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06, 0x12,
0x43, 0x3f, 0x08, 0x56, 0xf0, 0x12, 0x43, 0x68, 0x70, 0x01, 0x16, 0x12, 0x43, 0x61, 0xff, 0x30,
0xe1, 0x07, 0x12, 0x43, 0x50, 0x46, 0xf0, 0x80, 0x06, 0x12, 0x43, 0x50, 0x08, 0x56, 0xf0, 0x12,
0x43, 0x68, 0x70, 0x01, 0x16, 0xef, 0x30, 0xe0, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06,
0x12, 0x43, 0x3f, 0x08, 0x56, 0xf0, 0xe5, 0x4d, 0x24, 0x07, 0xf5, 0x4d, 0x22, 0x8c, 0x37, 0x8d,
0x38, 0x8b, 0x34, 0x8a, 0x35, 0x89, 0x36, 0x90, 0x00, 0x0c, 0x12, 0x15, 0x29, 0x70, 0x24, 0xf5,
0x39, 0x12, 0x45, 0xbd, 0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39,
0xb4, 0x06, 0xee, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x90, 0x00, 0x0c, 0x74, 0x06, 0x12, 0x15,
0x68, 0x80, 0x35, 0xe4, 0xf5, 0x39, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5,
0x39, 0x90, 0x00, 0x02, 0x12, 0x18, 0x8d, 0x12, 0x16, 0x68, 0xff, 0xae, 0xf0, 0x12, 0x45, 0xc3,
0xee, 0x8f, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x05, 0xd9, 0x12, 0x45, 0xbd,
0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0xe4, 0xf5, 0x39, 0xf5, 0x3b, 0xf5, 0x3c, 0xf5,
0x3a, 0x12, 0x45, 0xbd, 0x12, 0x16, 0x68, 0xfd, 0xac, 0xf0, 0xe5, 0x39, 0x90, 0x48, 0x3c, 0x93,
0xfb, 0xff, 0x7e, 0x00, 0x12, 0x15, 0x8a, 0xef, 0x25, 0x3c, 0xf5, 0x3c, 0xee, 0x35, 0x3b, 0xf5,
0x3b, 0xeb, 0x25, 0x3a, 0xf5, 0x3a, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x06, 0xd4, 0xe5, 0x3a, 0xfd,
0x7c, 0x00, 0xae, 0x3b, 0xaf, 0x3c, 0x12, 0x15, 0x9c, 0x22, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3,
0x78, 0x68, 0x96, 0x40, 0x03, 0x02, 0x3b, 0x06, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c,
0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x7a, 0x12, 0x2f, 0x0e, 0xe0, 0xf5, 0x2d, 0xe5, 0x2c, 0x12,
0x2e, 0x5f, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x12, 0x2e, 0x4c, 0x12, 0x2f, 0x6f, 0xf5, 0x2f, 0xec,
0x9e, 0xf5, 0x2e, 0xe4, 0xf5, 0x87, 0xaf, 0x2f, 0xae, 0x2e, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb,
0x12, 0x2f, 0x04, 0x50, 0x3d, 0xe5, 0x2f, 0x94, 0x00, 0xe5, 0x2e, 0x64, 0x80, 0x94, 0x80, 0x40,
0x12, 0x74, 0x03, 0x93, 0x05, 0x2d, 0xd3, 0x64, 0x80, 0xf8, 0xe5, 0x2d, 0x64, 0x80, 0x98, 0x40,
0x2a, 0x80, 0x14, 0x12, 0x2e, 0xdb, 0x74, 0x03, 0x93, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0x15, 0x2d,
0xad, 0x2d, 0x12, 0x2f, 0x19, 0x50, 0x14, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x01, 0xf6,
0x80, 0x09, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x04, 0xf6, 0x12, 0x2f, 0x0e, 0xe5, 0x2d,
0xf0, 0x05, 0x2c, 0x02, 0x3a, 0x6d, 0x78, 0x64, 0xe6, 0x30, 0xe0, 0x03, 0x44, 0x04, 0xf6, 0x22,
0x8e, 0x26, 0x8f, 0x27, 0xe4, 0x78, 0x63, 0xf6, 0x85, 0x26, 0x1b, 0x85, 0x27, 0x1c, 0xe5, 0x27,
0x24, 0x31, 0xff, 0xe4, 0x35, 0x26, 0xfa, 0xa9, 0x07, 0x7b, 0xff, 0x78, 0x59, 0x7c, 0x00, 0x7d,
0x00, 0x7e, 0x00, 0x7f, 0x09, 0x12, 0x15, 0x03, 0x7e, 0x00, 0x7f, 0x08, 0x7d, 0xff, 0x7b, 0x00,
0x7a, 0x00, 0x79, 0x50, 0x12, 0x18, 0xec, 0x12, 0x2f, 0x33, 0x74, 0x31, 0x93, 0x24, 0xf7, 0x78,
0x59, 0xf6, 0x12, 0x2f, 0x33, 0x74, 0x38, 0x93, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0xe4, 0x78, 0x66,
0xf6, 0x43, 0xfa, 0x90, 0x75, 0xe5, 0x99, 0x53, 0xaa, 0xfd, 0xe5, 0x91, 0x20, 0xe0, 0xfb, 0xc2,
0x99, 0x12, 0x2f, 0x33, 0xe4, 0x93, 0xf5, 0x28, 0xf4, 0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12,
0x3f, 0xc9, 0xe4, 0xfd, 0x12, 0x3b, 0x9f, 0x12, 0x2f, 0x33, 0x74, 0x01, 0x93, 0xf5, 0x28, 0xf4,
0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12, 0x3f, 0xc9, 0x7d, 0x01, 0x12, 0x3b, 0x9f, 0x22, 0xaf,
0x28, 0x12, 0x44, 0x05, 0x7d, 0x02, 0xaf, 0x28, 0x12, 0x39, 0x0c, 0x7d, 0x07, 0xaf, 0x28, 0x12,
0x39, 0x0c, 0x22, 0xab, 0x07, 0xaa, 0x06, 0xeb, 0x4a, 0x70, 0x03, 0xfe, 0xff, 0x22, 0xed, 0x60,
0x19, 0x12, 0x24, 0xb4, 0x74, 0x01, 0x93, 0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x02, 0x93, 0x13, 0xf5,
0x2e, 0x74, 0x1d, 0x93, 0xf5, 0x2b, 0x74, 0x1c, 0x80, 0x17, 0x12, 0x24, 0xb4, 0x74, 0x03, 0x93,
0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x04, 0x93, 0x13, 0xf5, 0x2e, 0x74, 0x1f, 0x93, 0xf5, 0x2b, 0x74,
0x1e, 0x93, 0xf5, 0x2c, 0xc3, 0x12, 0x26, 0x0e, 0x50, 0x2c, 0xc3, 0xe5, 0x2e, 0x9b, 0xff, 0xe5,
0x2d, 0x9a, 0xfe, 0xab, 0x2b, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xaa, 0x06, 0xab, 0x07,
0x12, 0x26, 0x0d, 0x40, 0x06, 0x7a, 0x00, 0x7b, 0x01, 0x80, 0x29, 0xc3, 0xe5, 0x2e, 0x9b, 0xfb,
0xe5, 0x2d, 0x9a, 0xfa, 0x80, 0x1e, 0x12, 0x26, 0x0d, 0x40, 0x19, 0xeb, 0x95, 0x2e, 0xff, 0xea,
0x95, 0x2d, 0xfe, 0xab, 0x2c, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xe5, 0x2e, 0x2f, 0xfb,
0xe5, 0x2d, 0x3e, 0xfa, 0xae, 0x02, 0xaf, 0x03, 0x22, 0x12, 0x25, 0x68, 0x60, 0x22, 0xe5, 0x08,
0x24, 0x34, 0xf8, 0xe2, 0x70, 0x1a, 0x12, 0x26, 0x15, 0x12, 0x46, 0xd0, 0x12, 0x26, 0x1f, 0x12,
0x46, 0xd0, 0x12, 0x24, 0xb4, 0x74, 0x20, 0x93, 0xff, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xef, 0xf2,
0xe5, 0x08, 0x24, 0x31, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0x12, 0x24, 0xa8, 0x12,
0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x2f, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24,
0x05, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0, 0x3e, 0xfe,
0xe5, 0x08, 0x24, 0x13, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xa4, 0xe5, 0x08, 0x24, 0x2f, 0xf8, 0x7c,
0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2, 0x60, 0x14, 0x7e, 0x00,
0x7f, 0x06, 0x7d, 0x00, 0x12, 0x25, 0xa4, 0x12, 0x18, 0xec, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2,
0x14, 0xf2, 0x22, 0x75, 0x2c, 0x05, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x0f,
0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x05, 0x12, 0x2e, 0xa9, 0xe4, 0xf0, 0x0f, 0x80, 0xec, 0x78,
0x59, 0xe6, 0xf5, 0x2d, 0x76, 0x05, 0xe4, 0xf5, 0x87, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x18, 0x12,
0x2e, 0x95, 0xee, 0x56, 0x60, 0x0e, 0x12, 0x2e, 0xa9, 0x12, 0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0x4e, 0xf0, 0x0f, 0x80, 0xe3, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12,
0x2e, 0xfc, 0x50, 0x2a, 0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x20, 0xef, 0x12, 0x2e, 0x49, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x78, 0x4f, 0x96, 0xec, 0x18, 0x96, 0x50, 0x0f, 0x12, 0x2e, 0xa9, 0x12,
0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xf4, 0x5e, 0xf0, 0x0f, 0x80, 0xd1, 0xae, 0x2c,
0x15, 0x2c, 0xee, 0x70, 0xa1, 0x78, 0x59, 0xa6, 0x2d, 0x22, 0x8e, 0x34, 0x8f, 0x35, 0x8c, 0x36,
0x8d, 0x37, 0x8b, 0x38, 0xae, 0x36, 0xaf, 0x37, 0xad, 0x38, 0x7c, 0x00, 0x12, 0x18, 0xbf, 0x12,
0x24, 0xdb, 0xae, 0x34, 0xaf, 0x35, 0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xcd, 0x12, 0x24, 0xdb, 0xe5,
0x38, 0xc3, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0xfe, 0x12, 0x16, 0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xe5,
0x38, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06,
0x12, 0x17, 0x73, 0xe5, 0x35, 0x45, 0x34, 0x60, 0x24, 0xef, 0x4e, 0x70, 0x20, 0xd3, 0xe5, 0x37,
0x94, 0x02, 0xe5, 0x36, 0x94, 0x00, 0x40, 0x11, 0xe5, 0x35, 0x25, 0x37, 0xff, 0xe5, 0x34, 0x35,
0x36, 0xc3, 0x13, 0xfe, 0xef, 0x13, 0xff, 0x80, 0x04, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xab, 0x07,
0xbb, 0xff, 0x03, 0x7f, 0xff, 0x22, 0xeb, 0x70, 0x0c, 0x12, 0x24, 0xb4, 0x74, 0x11, 0x93, 0xf5,
0x2b, 0x74, 0x12, 0x80, 0x1d, 0x78, 0x91, 0xe6, 0x14, 0xb5, 0x03, 0x0c, 0x12, 0x24, 0xb4, 0x74,
0x13, 0x93, 0xf5, 0x2b, 0x74, 0x14, 0x80, 0x0a, 0x12, 0x24, 0xb4, 0x74, 0x0f, 0x93, 0xf5, 0x2b,
0x74, 0x10, 0x93, 0xf5, 0x2c, 0x78, 0x3a, 0xe2, 0x70, 0x05, 0x78, 0x7c, 0xe2, 0x60, 0x14, 0xe5,
0x2c, 0x25, 0xe0, 0xff, 0xe5, 0x2b, 0x33, 0xfe, 0x7c, 0x00, 0x7d, 0x03, 0x12, 0x15, 0x9c, 0x8e,
0x2b, 0x8f, 0x2c, 0xeb, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0x98, 0xeb, 0x25, 0xe0,
0x12, 0x24, 0xf9, 0xc3, 0xef, 0x95, 0x2c, 0xee, 0x95, 0x2b, 0xaf, 0x03, 0x50, 0x02, 0x7f, 0xff,
0x22, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x05, 0xef, 0x64, 0xfe, 0x70, 0x61, 0xd2,
0xb8, 0xc2, 0xaf, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x70, 0x03, 0xed, 0x60, 0x04, 0x7f, 0x01,
0x80, 0x02, 0x7f, 0x00, 0x78, 0x82, 0xa6, 0x07, 0x90, 0x00, 0x0a, 0x12, 0x15, 0x29, 0x60, 0x04,
0x7f, 0x02, 0x80, 0x04, 0x78, 0x82, 0xe6, 0xff, 0x78, 0x82, 0xa6, 0x07, 0x12, 0x16, 0x3d, 0x08,
0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x78, 0x85, 0xa6, 0xf0, 0x08, 0xf6,
0x90, 0x00, 0x06, 0x12, 0x16, 0x68, 0x78, 0x87, 0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x08, 0x12,
0x16, 0x68, 0x78, 0x89, 0xa6, 0xf0, 0x08, 0xf6, 0x78, 0x81, 0xa6, 0x05, 0xd2, 0xaf, 0xc2, 0xb8,
0x22, 0xef, 0x12, 0x18, 0x99, 0x3e, 0xd4, 0x00, 0x3e, 0xda, 0x01, 0x3e, 0xe0, 0x02, 0x3e, 0xe6,
0x03, 0x3e, 0xee, 0x04, 0x3e, 0xf4, 0x05, 0x3e, 0xfa, 0x06, 0x3f, 0x00, 0x07, 0x3f, 0x08, 0x08,
0x00, 0x00, 0x3f, 0x0e, 0x78, 0x5d, 0xa6, 0x05, 0x80, 0x37, 0x78, 0x5a, 0xa6, 0x05, 0x80, 0x31,
0x78, 0x5c, 0xa6, 0x05, 0x80, 0x2b, 0xed, 0x24, 0xf7, 0x78, 0x59, 0xf6, 0x80, 0x23, 0x78, 0x5b,
0xa6, 0x05, 0x80, 0x1d, 0x78, 0x5e, 0xa6, 0x05, 0x80, 0x17, 0x78, 0x5f, 0xa6, 0x05, 0x80, 0x11,
0xed, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0x80, 0x09, 0x78, 0x61, 0xa6, 0x05, 0x80, 0x03, 0x7f, 0x01,
0x22, 0x7f, 0x00, 0x22, 0x8c, 0x2f, 0x8d, 0x30, 0x78, 0x75, 0x12, 0x25, 0xdd, 0x7e, 0x00, 0xe5,
0x30, 0x2b, 0xff, 0xee, 0x35, 0x2f, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x75, 0x12, 0x18, 0x5b, 0x12,
0x24, 0xd8, 0xe5, 0x2f, 0xc3, 0x13, 0xfe, 0xe5, 0x30, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x16,
0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xae, 0x2f, 0xaf, 0x30, 0xab, 0x07, 0xaa, 0x06, 0xe4, 0xf9, 0xf8,
0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x18, 0x68, 0x78, 0x75, 0x12, 0x18,
0x3f, 0xd3, 0xef, 0x95, 0x30, 0xee, 0x95, 0x2f, 0x40, 0x0a, 0xe5, 0x30, 0x24, 0xff, 0xff, 0xe5,
0x2f, 0x34, 0xff, 0xfe, 0x22, 0xef, 0x12, 0x18, 0x99, 0x3f, 0x98, 0x00, 0x3f, 0x9d, 0x01, 0x3f,
0xa2, 0x02, 0x3f, 0xa7, 0x03, 0x3f, 0xab, 0x04, 0x3f, 0xb0, 0x05, 0x3f, 0xb5, 0x06, 0x3f, 0xba,
0x07, 0x3f, 0xc1, 0x08, 0x00, 0x00, 0x3f, 0xc6, 0x78, 0x5d, 0xe6, 0xff, 0x22, 0x78, 0x5a, 0xe6,
0xff, 0x22, 0x78, 0x5c, 0xe6, 0xff, 0x22, 0x78, 0x59, 0x80, 0x11, 0x78, 0x5b, 0xe6, 0xff, 0x22,
0x78, 0x5e, 0xe6, 0xff, 0x22, 0x78, 0x5f, 0xe6, 0xff, 0x22, 0x78, 0x60, 0xe6, 0x24, 0x09, 0xff,
0x22, 0x78, 0x61, 0xe6, 0xff, 0x22, 0x7f, 0x00, 0x22, 0xef, 0x54, 0x07, 0xfe, 0x74, 0x01, 0xa8,
0x06, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xfe, 0xef, 0xc4, 0x54, 0x0f, 0xff, 0xbf, 0x01,
0x0c, 0xed, 0x60, 0x04, 0xee, 0x42, 0xb8, 0x22, 0xee, 0xf4, 0x52, 0xb8, 0x22, 0xef, 0x90, 0x48,
0x04, 0x93, 0x24, 0x00, 0xfb, 0xe4, 0x34, 0xff, 0xf5, 0x29, 0x8b, 0x2a, 0xed, 0x60, 0x0a, 0x85,
0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0, 0x4e, 0xf0, 0x22, 0x85, 0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0,
0xff, 0xee, 0xf4, 0xfe, 0xef, 0x5e, 0xf0, 0x22, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0x78, 0x95, 0xe6,
0x70, 0x24, 0x12, 0x46, 0xe7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05, 0x31, 0xe5, 0x31, 0x70,
0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xe7, 0xef, 0x60,
0x1e, 0xd2, 0xaf, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xd7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05,
0x31, 0xe5, 0x31, 0x70, 0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x7f,
0x00, 0x22, 0x8e, 0x3e, 0x8f, 0x3f, 0x8d, 0x40, 0x85, 0x3f, 0x41, 0xe5, 0x41, 0x70, 0x10, 0x90,
0x04, 0xff, 0xe5, 0x40, 0xf0, 0xb4, 0xee, 0x07, 0xe4, 0xfd, 0x7f, 0x01, 0x12, 0x45, 0xa9, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x1d, 0xe5, 0x41, 0xb4, 0xa5, 0x0a, 0xe5, 0x40, 0xb4, 0x03, 0x05, 0x7f,
0x02, 0x12, 0x14, 0x15, 0xe5, 0x41, 0xb4, 0xc0, 0x06, 0x90, 0x04, 0x66, 0xe5, 0x40, 0xf0, 0x7f,
0x00, 0x22, 0xad, 0x40, 0xaf, 0x3f, 0xae, 0x3e, 0x12, 0x43, 0xa5, 0x22, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe7, 0x05, 0x53, 0xaa, 0xfd, 0x80, 0x03, 0x43, 0xaa, 0x02, 0xe4, 0xf5, 0x1e, 0x78, 0x68,
0xe6, 0xfe, 0xc3, 0x13, 0x78, 0x66, 0xf6, 0xef, 0x30, 0xe6, 0x05, 0xe6, 0xf5, 0x1f, 0x80, 0x03,
0x75, 0x1f, 0x01, 0x78, 0x5e, 0xe6, 0xf5, 0xe2, 0x78, 0x65, 0xe6, 0x78, 0x58, 0xf6, 0x12, 0x1d,
0xee, 0x78, 0x5c, 0xe6, 0x30, 0xe7, 0x0e, 0xe4, 0xf5, 0x87, 0x30, 0x99, 0xfd, 0x12, 0x1d, 0xee,
0x78, 0x66, 0xe6, 0x70, 0xf2, 0x22, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0,
0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0,
0x06, 0xc0, 0x07, 0xc2, 0x9f, 0xe5, 0x10, 0x60, 0x02, 0x15, 0x10, 0x12, 0x46, 0xea, 0xd0, 0x07,
0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0,
0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xe4, 0xf5, 0x45, 0x75, 0x44, 0xff, 0x90,
0x04, 0xff, 0xf0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x66, 0xf0, 0xd2, 0xb8, 0x43, 0xbf, 0x01,
0x7d, 0x03, 0x7f, 0x10, 0x12, 0x39, 0x0c, 0x78, 0x95, 0x76, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12,
0x44, 0xd4, 0x7c, 0x04, 0x7d, 0xff, 0xe4, 0xff, 0x12, 0x45, 0x49, 0x7c, 0x03, 0x7d, 0xa6, 0x7f,
0x01, 0x12, 0x45, 0x49, 0x02, 0x44, 0xf3, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0,
0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05,
0xc0, 0x06, 0xc0, 0x07, 0x12, 0x46, 0x53, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0,
0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0,
0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0,
0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12,
0x1d, 0xee, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01,
0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xad, 0x07, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x2d, 0xed, 0xc3, 0x94, 0x00, 0x40, 0x0e, 0xed, 0x94, 0xff, 0x50, 0x09,
0x74, 0xa6, 0x2d, 0x12, 0x42, 0xd9, 0xe0, 0xff, 0x22, 0xed, 0xc3, 0x94, 0xff, 0x40, 0x08, 0xed,
0x94, 0x20, 0x50, 0x03, 0x7f, 0xff, 0x22, 0xed, 0x64, 0xa3, 0x60, 0x03, 0xbd, 0x80, 0x06, 0x7f,
0x00, 0x22, 0x02, 0x37, 0x30, 0x7f, 0x00, 0x22, 0x8d, 0x35, 0xe4, 0xff, 0xf5, 0x37, 0xf5, 0x38,
0x7e, 0xff, 0xef, 0xc3, 0x95, 0x35, 0x50, 0x28, 0xef, 0x65, 0x36, 0x60, 0x19, 0x12, 0x16, 0x3d,
0xfd, 0xac, 0xf0, 0xd3, 0x95, 0x38, 0xec, 0x95, 0x37, 0x40, 0x0b, 0xed, 0x24, 0x20, 0xf5, 0x38,
0xe4, 0x3c, 0xf5, 0x37, 0xae, 0x07, 0x0f, 0x74, 0x02, 0x29, 0xf9, 0xe4, 0x3a, 0xfa, 0x80, 0xd2,
0xaf, 0x06, 0x22, 0x76, 0x31, 0x30, 0x2e, 0x31, 0x38, 0x2e, 0x34, 0x00, 0x4a, 0x61, 0x6e, 0x20,
0x31, 0x38, 0x20, 0x32, 0x30, 0x31, 0x38, 0x00, 0x41, 0x50, 0x5f, 0x31, 0x37, 0x30, 0x35, 0x30,
0x37, 0x31, 0x5f, 0x43, 0x53, 0x54, 0x30, 0x31, 0x36, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x5f,
0x43, 0x4f, 0x42, 0x5f, 0x42, 0x41, 0x54, 0x5f, 0x44, 0x5a, 0x30, 0x39, 0x00, 0x8f, 0x19, 0x8e,
0x18, 0x8d, 0x17, 0x8c, 0x16, 0xe4, 0xf5, 0x1a, 0xe5, 0x1a, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0xcc,
0xf5, 0x82, 0xe4, 0x34, 0x47, 0xf5, 0x83, 0x12, 0x18, 0x4b, 0xab, 0x19, 0xaa, 0x18, 0xa9, 0x17,
0xa8, 0x16, 0xc3, 0x12, 0x18, 0x1b, 0x70, 0x03, 0x7f, 0x02, 0x22, 0x05, 0x1a, 0xe5, 0x1a, 0xb4,
0x0e, 0xd6, 0x7f, 0x02, 0x22, 0x74, 0xa6, 0x25, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x03, 0xf5, 0x83,
0x22, 0xff, 0xae, 0x30, 0xe4, 0xfc, 0xfd, 0x7b, 0x60, 0x7a, 0xea, 0xf9, 0xf8, 0xc3, 0x02, 0x18,
0x05, 0xab, 0x26, 0xaa, 0x27, 0xa9, 0x28, 0x02, 0x15, 0x29, 0xff, 0xae, 0x2c, 0x05, 0x2c, 0x74,
0xa6, 0x2e, 0x22, 0xf0, 0xaf, 0x2c, 0x05, 0x2c, 0x74, 0xa6, 0x2f, 0x22, 0xe4, 0xf5, 0x87, 0x78,
0x66, 0xe6, 0x70, 0xf8, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x24, 0x12, 0x2e, 0xeb, 0xfe, 0xef, 0x12,
0x2e, 0xa0, 0xee, 0x56, 0x60, 0x15, 0xef, 0x12, 0x2e, 0xe2, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0x75,
0xf0, 0x11, 0xef, 0x12, 0x2e, 0x4c, 0xec, 0xf0, 0xa3, 0xed, 0xf0, 0x0f, 0x80, 0xd7, 0x22, 0xe5,
0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfe, 0x08, 0xe6, 0xf5, 0x82, 0x8e, 0x83, 0xe0, 0xa8, 0x4d, 0x22,
0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfc, 0x08, 0xe6, 0xf5, 0x82, 0x8c, 0x83, 0xe0, 0xa8, 0x4d,
0x22, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe6, 0x22, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0x08, 0xe6, 0x16,
0x18, 0x22, 0x8d, 0x4b, 0x78, 0x8b, 0xa6, 0x03, 0x53, 0xbc, 0x3f, 0x53, 0xbe, 0x3f, 0x43, 0xbd,
0xc0, 0x43, 0xbf, 0xc0, 0xe4, 0xf5, 0x4a, 0x43, 0xfa, 0x02, 0x78, 0x8d, 0xf6, 0x08, 0xf6, 0x78,
0x8c, 0xf6, 0xf5, 0xe8, 0xf5, 0xeb, 0x8f, 0xed, 0xe5, 0x4b, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xe9,
0x61, 0x43, 0xaa, 0x10, 0x22, 0x8d, 0x42, 0x8f, 0x43, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x01, 0x70,
0x22, 0xe5, 0x43, 0xc3, 0x94, 0xc0, 0x40, 0x0a, 0x74, 0x40, 0x25, 0x43, 0xf5, 0x43, 0xff, 0x02,
0x45, 0xa9, 0xe5, 0x43, 0xc3, 0x94, 0x80, 0x40, 0x0a, 0xe5, 0x43, 0x24, 0x80, 0xff, 0xad, 0x42,
0x02, 0x3e, 0xb1, 0x7f, 0x00, 0x22, 0xe4, 0xf5, 0xfb, 0x75, 0xf2, 0xff, 0x75, 0xfc, 0x30, 0xef,
0x42, 0xfc, 0xc2, 0xaf, 0xe4, 0xf5, 0xa9, 0xf5, 0xaa, 0x75, 0xfe, 0x3d, 0xaf, 0xff, 0x75, 0xfe,
0xbd, 0xef, 0x04, 0x54, 0xfc, 0xf5, 0xff, 0x75, 0xfe, 0x39, 0xaf, 0xff, 0x75, 0xfe, 0xb9, 0xef,
0x44, 0x03, 0xf5, 0xff, 0x22, 0xef, 0xc4, 0x54, 0x0f, 0x24, 0x10, 0xfb, 0xe4, 0x34, 0xff, 0x8b,
0x82, 0xf5, 0x83, 0xef, 0x54, 0x07, 0xff, 0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0xff, 0xed, 0x60, 0x04, 0xe0, 0x4f, 0xf0, 0x22, 0xe0, 0xfe, 0xef, 0xf4, 0xff, 0xee,
0x5f, 0xf0, 0x22, 0xe4, 0xf5, 0xf3, 0xf5, 0xfc, 0xf5, 0x8c, 0xf5, 0x8d, 0xf5, 0x8e, 0xf5, 0x8f,
0xf5, 0xa4, 0xf5, 0xa5, 0xf5, 0xa6, 0xf5, 0xa7, 0xf5, 0x9f, 0xf5, 0xad, 0xf5, 0xab, 0x53, 0xbc,
0xfb, 0x53, 0xbd, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbf, 0xfb, 0x53, 0xbb, 0xfb, 0x53, 0xba, 0xfb,
0x22, 0x75, 0x8f, 0x20, 0x75, 0x97, 0xff, 0x75, 0x9f, 0x01, 0xe4, 0xf5, 0xa7, 0x53, 0xad, 0xf0,
0x43, 0xad, 0x07, 0x53, 0xab, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbd, 0xfb, 0x43, 0xbc, 0x04, 0x43,
0xbf, 0x04, 0x43, 0xbb, 0x04, 0x43, 0xba, 0x04, 0x22, 0x7f, 0x02, 0x12, 0x43, 0xd6, 0x7f, 0xa5,
0x12, 0x36, 0x3e, 0x7f, 0x03, 0x12, 0x43, 0xd6, 0x7f, 0x01, 0x12, 0x46, 0x2e, 0x43, 0xaa, 0x80,
0xd2, 0xab, 0x12, 0x45, 0x93, 0xd2, 0xaf, 0xe4, 0xf5, 0x87, 0x12, 0x2b, 0x63, 0x80, 0xf8, 0xe4,
0xf5, 0x0c, 0x8f, 0x82, 0x8e, 0x83, 0x74, 0x4f, 0x93, 0x78, 0x91, 0xf6, 0xef, 0x24, 0x4f, 0xf5,
0x0f, 0xe4, 0x3e, 0xf5, 0x0e, 0xe5, 0x09, 0x44, 0x01, 0xf5, 0x09, 0x54, 0xfd, 0xf5, 0x09, 0x44,
0x04, 0xf5, 0x09, 0x22, 0x43, 0xbd, 0xc0, 0x43, 0xbf, 0xc0, 0x43, 0xfa, 0x02, 0xe4, 0xf5, 0xe9,
0x53, 0xaa, 0xef, 0xf5, 0xe8, 0x8f, 0xed, 0xed, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xeb, 0x80, 0x75,
0xe9, 0x69, 0x22, 0x78, 0x95, 0xe6, 0x70, 0x02, 0xd2, 0xaf, 0xc2, 0xb8, 0xe4, 0xfe, 0xff, 0xe4,
0xf5, 0x87, 0x0f, 0xbf, 0x00, 0x01, 0x0e, 0xbe, 0x04, 0xf5, 0xbf, 0xb0, 0xf2, 0xd2, 0xb8, 0x22,
0x12, 0x46, 0x7f, 0x75, 0x94, 0xff, 0x75, 0x95, 0xff, 0x75, 0x97, 0xff, 0x75, 0x4c, 0x01, 0x43,
0x8c, 0x01, 0x43, 0x8e, 0x01, 0x43, 0x8f, 0x01, 0xe5, 0x4c, 0x70, 0xfc, 0x22, 0x53, 0xbc, 0x3f,
0x53, 0xbe, 0x3f, 0x53, 0xbd, 0x3f, 0x53, 0xbf, 0x3f, 0xe4, 0xf5, 0xeb, 0xf5, 0xe8, 0xf5, 0xe9,
0xf5, 0xed, 0x53, 0xaa, 0xef, 0x53, 0xfa, 0xfd, 0x22, 0xe4, 0xf5, 0xe9, 0xef, 0xaf, 0x05, 0xae,
0x04, 0x70, 0x05, 0x90, 0xff, 0x00, 0x80, 0x03, 0x90, 0xff, 0x02, 0xef, 0xf0, 0xee, 0xa3, 0xf0,
0x75, 0xe9, 0x69, 0x22, 0xef, 0x24, 0x3a, 0xf5, 0x49, 0xe4, 0x3e, 0xf5, 0x48, 0x7e, 0x00, 0x7f,
0x03, 0x7d, 0x00, 0x7b, 0x01, 0x7a, 0x04, 0x79, 0xa6, 0x02, 0x18, 0xec, 0x90, 0x00, 0xfe, 0x75,
0xf0, 0x11, 0xef, 0x02, 0x18, 0x8d, 0x75, 0xf0, 0x11, 0xef, 0x12, 0x18, 0x8d, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0x75, 0x13, 0x02, 0x75, 0x11, 0x10, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0x12,
0x41, 0x39, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x22, 0xef, 0x14, 0x60, 0x08, 0x04, 0x70, 0x0a,
0x8d, 0x09, 0x7f, 0x00, 0x22, 0x8d, 0x0c, 0x7f, 0x00, 0x22, 0x7f, 0x01, 0x22, 0xab, 0x34, 0xaa,
0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5, 0x39, 0xa4, 0xf5, 0x82, 0x85, 0xf0, 0x83, 0x22, 0xef,
0xc3, 0x94, 0x40, 0x50, 0x0a, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0xf4, 0x56, 0xf6, 0x22,
0xef, 0xc3, 0x94, 0x28, 0x50, 0x08, 0x12, 0x45, 0x7c, 0xed, 0xf0, 0x7f, 0x00, 0x22, 0x7f, 0x01,
0x22, 0xc2, 0xaf, 0x75, 0xfe, 0xbd, 0x8f, 0xff, 0x7f, 0x01, 0x12, 0x46, 0x75, 0xaf, 0x94, 0xae,
0x95, 0x22, 0xef, 0xc3, 0x94, 0x40, 0x50, 0x09, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0x46,
0xf6, 0x22, 0xef, 0x24, 0xfe, 0x70, 0x05, 0x7e, 0x46, 0x7f, 0xec, 0x22, 0xe4, 0xfe, 0xff, 0x22,
0x85, 0x49, 0x82, 0x85, 0x48, 0x83, 0x75, 0xf0, 0x05, 0xe5, 0x29, 0x02, 0x18, 0x8d, 0x75, 0x87,
0xc5, 0x53, 0xf1, 0xf8, 0xef, 0x42, 0xf1, 0x43, 0xf8, 0x08, 0x22, 0xef, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x90, 0x01, 0x00, 0x12, 0x45, 0x7f, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0xe4, 0xf5, 0x88, 0xf5, 0x4c, 0x12, 0x46, 0x7f, 0x43, 0x8c, 0x80, 0x22, 0xee,
0x30, 0xe7, 0x07, 0xc3, 0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0x75, 0xf0, 0x11, 0xef, 0x12,
0x2e, 0x8f, 0xed, 0xf0, 0x22, 0xd2, 0xaf, 0x12, 0x45, 0x10, 0xdf, 0xfb, 0xc2, 0xaf, 0x22, 0x53,
0x8c, 0xfe, 0x53, 0x8e, 0xfe, 0x53, 0x8f, 0xfe, 0x22, 0xef, 0xc4, 0x54, 0xf0, 0xf5, 0x11, 0x7f,
0x00, 0x22, 0xe4, 0xf5, 0x8e, 0xf5, 0x96, 0x75, 0xa6, 0xf2, 0x22, 0x7e, 0x00, 0x7f, 0x0d, 0x7d,
0x00, 0x02, 0x18, 0xec, 0x78, 0x8f, 0x08, 0x06, 0xe6, 0x18, 0x86, 0x06, 0x22, 0x8b, 0x2b, 0x8a,
0x2c, 0x89, 0x2d, 0x22, 0x8b, 0x2b, 0x8a, 0x2c, 0x89, 0x2d, 0x22, 0x90, 0x01, 0x0b, 0x12, 0x45,
0x86, 0x22, 0x90, 0x01, 0x02, 0x12, 0x45, 0x86, 0x22, 0xe4, 0xf5, 0xf3, 0x43, 0xfc, 0x30, 0x22,
0x90, 0x00, 0x0c, 0xe4, 0x02, 0x15, 0x68, 0xe5, 0xe8, 0x54, 0x40, 0xff, 0x22, 0x78, 0x63, 0xa6,
0x07, 0x22, 0x78, 0x63, 0xe6, 0xff, 0x22, 0xaf, 0x4a, 0x22, 0x22, 0x22, 0x47, 0x70, 0x08, 0x02,
0x0f, 0x78, 0x14, 0x00, 0x32, 0x83, 0x77, 0x71, 0x76, 0x72, 0x75, 0x73, 0x74, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3f, 0x0f,
0x02, 0x64, 0x00, 0x5f, 0x0e, 0x0f, 0x00, 0x0a, 0x0b, 0x1e, 0x00, 0xa0, 0x0b, 0x0a, 0x1e, 0x00,
0xa0, 0x0c, 0x0b, 0x1e, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xef, 0x00, 0xef,
0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x8c, 0x00, 0xa0, 0x00, 0xa0,
0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x47, 0x70, 0x1c, 0x00,
0x0f, 0x64, 0x00, 0x00, 0x32, 0x65, 0x64, 0x66, 0x63, 0x67, 0x62, 0x52, 0x61, 0x53, 0x60, 0x54,
0x77, 0x56, 0x76, 0x57, 0x75, 0x41, 0x74, 0x42, 0x73, 0x43, 0x72, 0x44, 0x71, 0x45, 0x70, 0x46,
0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x28,
0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x90, 0x01, 0x90,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0xb0, 0xb8, 0xc0, 0xc8, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x50, 0x58,
0xb6, 0xbe, 0xc6, 0xce, 0x23, 0x2b, 0x33, 0x3b, 0x43, 0x4b, 0x53, 0x5b, 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x01, 0xff, 0x03, 0xff,
0x07, 0xff, 0x0f, 0xff, 0x1f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#endif /*CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__*/

View File

@ -0,0 +1,401 @@
/*
*Name : capacitive_hynitron_cst2xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
static unsigned char cst2xx_fw[] = {
0xA8,0xC5,0x77,0xA2,0x25,0x01,0x00,0xA3,0x46,0x9A,0x18,0x23,0xBE,0xFF,0xFF,0xE7,
0x40,0x01,0x88,0x06,0x38,0xF7,0x47,0x8A,0x18,0x23,0x80,0x07,0xC8,0xE7,0x63,0x7A,
0x42,0x7A,0xA0,0x01,0x01,0x03,0x37,0x2A,0xE8,0x01,0x39,0x09,0xE8,0x43,0x45,0x01,
0x80,0x66,0x40,0x31,0x89,0xD6,0x47,0x8B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0xC2,
0x04,0x82,0x1C,0x0A,0x07,0x8B,0xB9,0xFF,0xFF,0x3F,0x3E,0x7F,0x85,0x07,0xC8,0x8F,
0x38,0x67,0x07,0x00,0xF8,0x00,0x06,0x42,0x78,0x00,0x06,0x01,0x78,0x00,0x03,0x01,
0x68,0xFB,0x01,0x00,0xAF,0xC5,0x47,0xFA,0xE8,0x03,0x44,0x01,0x87,0x1E,0xB8,0xFF,
0xF8,0xFF,0x44,0x01,0x89,0xB6,0x19,0x89,0x47,0xDA,0x57,0xD2,0x0E,0xD8,0xC4,0x20,
0xD2,0x01,0x1F,0xE9,0xCA,0x8B,0x0E,0xD8,0x68,0xC2,0x37,0x09,0xC0,0x00,0x4E,0x01,
0x8B,0x56,0x58,0x3B,0x31,0x8A,0x88,0x01,0xBC,0x01,0xF9,0x5B,0xD5,0xFB,0x11,0xDA,
0x98,0x3E,0xF0,0x4B,0x30,0x48,0xA8,0x26,0x4D,0x72,0xCF,0x01,0xD0,0x4B,0x48,0x01,
0x87,0xFE,0x48,0x62,0xFB,0x1B,0xC8,0x01,0x58,0xA9,0x82,0x2E,0xFA,0x1B,0x5C,0xA9,
0x8A,0x8E,0xC0,0x9B,0x58,0x21,0x88,0x76,0x14,0x01,0xB8,0x13,0xB8,0x13,0xA0,0x53,
0x04,0x59,0xAD,0x43,0xA9,0x53,0x42,0x4B,0x59,0x03,0x83,0x01,0xCC,0x03,0x04,0x32,
0x19,0x8A,0x05,0x4B,0xEA,0xC5,0xC7,0x83,0x47,0x41,0x88,0xDE,0x00,0x59,0xA5,0x43,
0xEA,0xC5,0x0F,0xA9,0xB9,0x0B,0x44,0x4B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0x82,
0x00,0x82,0x1C,0x0A,0x00,0x4B,0x01,0x01,0x4E,0xB2,0x56,0xCA,0xC8,0x01,0xC1,0x5B,
0x58,0x59,0x8D,0x0E,0xC0,0x43,0x00,0x1F,0xE4,0x00,0x92,0x05,0x17,0x82,0x9C,0xB6,
0xBA,0xFF,0xFF,0x57,0x43,0x4B,0x59,0x03,0x84,0x01,0xC9,0x03,0x05,0x32,0x1C,0x8A,
0x07,0x4B,0xE9,0xC5,0xAE,0x85,0x41,0x5A,0xE8,0x0B,0x4C,0x01,0x8E,0x4E,0xF8,0x08,
0xCE,0xC9,0xFF,0x4B,0x48,0x29,0xC8,0x26,0x01,0x07,0xF8,0x85,0xC0,0x0B,0x4A,0x01,
0x80,0xDE,0xEF,0x0B,0x18,0x09,0x38,0x48,0x48,0x01,0xD0,0xA6,0x65,0x2A,0x1E,0x1B,
0x50,0x2A,0x46,0x8B,0x29,0x41,0x18,0x4A,0x00,0x8B,0xE8,0x0B,0x10,0x79,0x07,0x8A,
0xA8,0x0B,0x00,0x07,0xF8,0x85,0xE9,0x0B,0x37,0x48,0xAE,0xDE,0x0D,0x01,0x18,0x0B,
0xE8,0x0B,0x18,0xCA,0xAA,0x0B,0xE8,0x0B,0x38,0x48,0xAC,0x4E,0x61,0xBA,0x45,0x0B,
0x51,0xA2,0x95,0x01,0x59,0x93,0x92,0x01,0xCC,0x93,0x04,0x9A,0x19,0xCA,0x00,0x0B,
0xEF,0x0B,0x12,0xE9,0x02,0x8A,0xA8,0x0B,0xEB,0x85,0xA9,0x85,0x6D,0x6A,0xED,0x01,
0xD0,0x43,0x41,0x01,0x81,0x3E,0x31,0x62,0xA0,0x01,0x36,0x49,0x5D,0x03,0x0B,0xB0,
0xCC,0x00,0x54,0x03,0x40,0x01,0x80,0xF6,0xBD,0xFF,0xF7,0xD7,0x0F,0x01,0x40,0xF9,
0x8B,0xD6,0x58,0x03,0x84,0x01,0xEB,0x13,0xFF,0x00,0xC7,0xC9,0x80,0x13,0x14,0x11,
0xAA,0x13,0x82,0x0B,0x00,0x01,0x10,0x79,0x2C,0x39,0x59,0xFA,0x08,0x68,0x05,0x37,
0x0A,0x21,0x19,0x0A,0xC2,0x48,0xCE,0x48,0xA2,0x53,0xE4,0x00,0x93,0x05,0x5E,0x0B,
0xD4,0x4B,0x16,0x0A,0xC3,0xA6,0xEF,0x85,0x47,0xF1,0x87,0xE6,0x47,0x01,0x80,0xD6,
0x5C,0x13,0xCB,0x90,0x52,0x9B,0xF4,0x00,0x14,0x09,0x00,0x12,0x17,0x9A,0x80,0x96,
0x93,0x4B,0xE9,0x85,0xAC,0x85,0x41,0x8A,0x44,0x23,0x48,0x72,0x11,0x09,0x88,0x01,
0x58,0x4B,0x32,0x9A,0x8C,0x01,0xC9,0x6B,0x00,0x5A,0x1D,0xE2,0x00,0x23,0x48,0x1B,
0xC8,0x6B,0x34,0xA2,0x05,0x62,0x1D,0x1A,0x0A,0x1B,0x48,0x1B,0xC8,0x6B,0x34,0xA2,
0x05,0x62,0x1D,0x1A,0x0E,0x1B,0x42,0x1B,0xCC,0x4B,0x04,0x52,0x1E,0x9A,0x00,0x1B,
0xEF,0x85,0xA9,0xC5,0x53,0x2A,0x5C,0xFA,0xDE,0x01,0xF1,0xC3,0x42,0x01,0x80,0x86,
0x08,0x01,0x20,0x01,0x28,0x91,0x31,0xC2,0x80,0x01,0x82,0x04,0x5F,0x33,0xCA,0x83,
0x40,0x01,0x80,0x06,0x28,0x41,0x01,0x01,0x00,0x47,0x38,0x01,0xF8,0xBA,0x7E,0x51,
0xDA,0x0E,0xE0,0x48,0x94,0x4D,0xE4,0x90,0xE4,0x00,0x92,0x05,0x17,0x42,0x9D,0xA6,
0x44,0x82,0xC3,0x01,0x48,0x51,0x90,0x4E,0x48,0x31,0x98,0x16,0xF2,0xCB,0x36,0x48,
0x8B,0x26,0x48,0x62,0xCE,0x01,0xC7,0x4B,0x48,0x09,0xC8,0x46,0xF4,0xCB,0x4E,0x01,
0x88,0x06,0x20,0x09,0x0E,0x09,0xB4,0xCB,0x0E,0xA1,0xB8,0x0B,0x06,0x5F,0xF8,0x0B,
0x48,0x01,0x80,0x16,0xF6,0x48,0xBA,0x0B,0x06,0x2F,0xF0,0xC3,0x40,0x09,0x8C,0x06,
0x24,0x09,0x00,0x01,0xB0,0xC3,0x66,0x01,0x83,0x9E,0x60,0x02,0x41,0x03,0xB1,0x01,
0xC8,0x93,0x2D,0x09,0x34,0x4A,0x01,0x8A,0x19,0x42,0x00,0x03,0x07,0x41,0xB9,0xF7,
0xD9,0x4F,0x40,0x03,0xCA,0x04,0x58,0x4B,0x8C,0x01,0xC9,0x4B,0x05,0x6A,0x1C,0x42,
0x07,0x03,0xE9,0xC5,0x3B,0x82,0xAB,0x85,0x02,0x01,0x28,0xE9,0x08,0x68,0x0B,0x01,
0x51,0x8A,0x1A,0x79,0x08,0xD8,0xC4,0xA0,0xC9,0x20,0xB3,0x0B,0x40,0x21,0x90,0x1E,
0x05,0x20,0xC2,0x20,0xC1,0x20,0x07,0x0C,0x40,0x11,0x90,0x1E,0x05,0x20,0xC4,0x20,
0xC5,0x20,0x07,0x0B,0xE6,0x00,0x92,0x05,0x47,0x41,0x98,0x66,0x41,0x2A,0xC2,0x01,
0xF8,0x13,0x30,0x1A,0xDA,0x01,0xB3,0xD3,0x55,0x4A,0x9A,0x01,0x18,0xD3,0x32,0x12,
0x64,0x42,0xD2,0x01,0x12,0xA3,0x62,0x42,0x12,0xA3,0x64,0x42,0x12,0xA3,0x66,0x42,
0x1A,0xA3,0x60,0x42,0x18,0xA3,0x12,0x09,0xBC,0x13,0xBA,0x0B,0xBF,0x13,0x16,0x11,
0xBE,0x13,0xB0,0x0B,0x44,0x22,0x02,0xC3,0x86,0x07,0xD8,0xDF,0x87,0x07,0xD8,0x3F,
0xBE,0xFF,0xEF,0x57,0xBE,0xFF,0xEF,0x67,0x07,0xE1,0xB9,0xFF,0xF7,0xCF,0xB8,0xFF,
0xE8,0x5F,0x06,0x19,0x84,0x07,0xD8,0xE7,0xB9,0xFF,0xFF,0xE7,0x85,0x07,0xD8,0xAF,
0xEB,0x85,0xAB,0x85,0x69,0x5A,0xE9,0x43,0x31,0x09,0x18,0x82,0xA9,0x43,0x31,0x62,
0xA3,0x01,0x01,0x7F,0xBC,0xFF,0xEF,0x27,0xBC,0xFF,0xEF,0x37,0xEE,0x43,0x39,0x00,
0x81,0x36,0x00,0xE1,0xBF,0xFF,0xEF,0xE7,0x4A,0x12,0x01,0xA9,0xC8,0x01,0xBC,0x43,
0xBB,0xFF,0xEF,0xF7,0x59,0x03,0x83,0x01,0xC0,0x03,0x42,0x01,0x87,0x0E,0xB8,0xFF,
0xEB,0xDF,0x5B,0x03,0x08,0x09,0xE1,0x4A,0x48,0x48,0x80,0x36,0x4B,0xCA,0x80,0x01,
0xCC,0x01,0xC7,0x4B,0xEC,0x03,0x16,0x0A,0x88,0x5E,0x81,0x07,0xD0,0xD7,0x81,0x07,
0xF8,0x17,0x80,0x07,0xF8,0x47,0x49,0x9A,0x06,0x01,0xC8,0x01,0x80,0x43,0x52,0x9A,
0x43,0x8B,0x58,0x03,0x84,0x01,0xC9,0x1B,0x34,0x82,0x01,0xC2,0x18,0x0A,0x00,0x8B,
0xB8,0xFF,0xFF,0xBF,0x41,0x5A,0xC0,0x01,0xF0,0x03,0x36,0x00,0xA7,0x0E,0xB8,0xFF,
0xEF,0xDF,0xBA,0xFF,0xF8,0x3F,0x83,0x07,0xDF,0x8F,0xBE,0xFF,0xEF,0xCF,0xBA,0xFF,
0xE8,0xDF,0x82,0x07,0xEF,0x67,0xBF,0xFF,0xEF,0xFF,0xBA,0xFF,0xEF,0x0F,0xBB,0xFF,
0xF0,0x27,0x05,0xDF,0x78,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0xF8,0x00,0x06,0x42,
0xC8,0x65,0x04,0x00,0x18,0x00,0x02,0x42,0x00,0x00,0x00,0x42,0x38,0xE0,0x06,0x01,
0xA0,0x03,0x04,0x00,0xB8,0x13,0x01,0x00,0xB8,0xA3,0x01,0x00,0xB8,0xA3,0x06,0x00,
0xB0,0x83,0x07,0x00,0xB8,0x83,0x00,0x00,0x20,0x4B,0x07,0x00,0xBF,0xFF,0xEF,0x17,
0xBA,0xFF,0xF7,0x47,0xE8,0x43,0x45,0x31,0x8B,0x66,0xEC,0x85,0x3F,0x18,0x14,0xF9,
0x74,0xD8,0x06,0xD2,0x38,0x48,0x74,0x48,0x00,0xCA,0x44,0x01,0xD0,0x5E,0x38,0x00,
0x78,0x00,0xC0,0x41,0x47,0x18,0x44,0xE2,0x00,0xD8,0xC4,0xC0,0x4C,0x1B,0x1E,0x9A,
0x1E,0x5A,0x08,0x1B,0x3C,0x82,0x43,0x18,0x44,0xC2,0x07,0xD8,0xC0,0xC0,0x40,0x1B,
0x18,0x9A,0x1C,0x5A,0x03,0x1B,0x38,0x82,0xAC,0x85,0x87,0xBD,0x63,0xA2,0x5F,0x03,
0xC0,0x0B,0x88,0x9C,0xE4,0x13,0xE2,0x0B,0x88,0x0C,0xC8,0x2B,0x44,0x8A,0x37,0x22,
0x40,0x8A,0x87,0xB4,0xF8,0x03,0x1E,0x01,0x40,0x09,0x88,0x66,0x0F,0x01,0x70,0x6A,
0xF0,0x71,0x00,0x27,0xC5,0xB8,0x9B,0xDB,0xA2,0x9A,0xE3,0x48,0x93,0x4D,0x5A,0x03,
0xCC,0x03,0x10,0x42,0xE7,0xB6,0x0F,0x1B,0x13,0x1B,0x11,0x1B,0x06,0x01,0x18,0x02,
0x0B,0x03,0x5D,0x03,0xCF,0x0B,0x40,0x12,0x80,0x01,0x81,0xAC,0xA0,0x0B,0x08,0x01,
0x40,0x02,0xC7,0x71,0x01,0x70,0x3C,0x89,0x19,0x01,0xC0,0xB0,0x0F,0xF8,0xCD,0xB0,
0x13,0x9B,0x3D,0x19,0xC3,0x30,0x0A,0xF8,0xCB,0xB0,0xA7,0x9B,0xE2,0x48,0x92,0x4D,
0x4F,0x11,0xD8,0x7E,0xCE,0xB4,0xF8,0x4B,0x4B,0x29,0xC8,0xCE,0x45,0xAA,0x06,0x48,
0xC0,0x71,0xC0,0x40,0x02,0x48,0xC3,0x18,0x4A,0xA2,0xC6,0xD8,0x9A,0x24,0xC0,0x00,
0x83,0x1C,0x30,0x02,0x58,0x7A,0x9E,0x71,0x08,0x01,0x88,0x44,0x48,0x82,0x8E,0x84,
0x88,0x7C,0x30,0xCA,0xC8,0xE1,0x88,0x14,0x0C,0x01,0x30,0x62,0x00,0x37,0xF2,0x24,
0x0B,0x01,0xF0,0x8A,0xF8,0x1C,0x88,0xA4,0x35,0x01,0xF8,0xF2,0xD8,0x48,0x94,0x4D,
0x48,0xF9,0xEF,0x06,0x08,0xF9,0xFF,0xA4,0xCB,0xF0,0x85,0xB0,0x70,0xF9,0xEF,0x06,
0x30,0xF9,0xFF,0x14,0x80,0xF3,0xF1,0x14,0xE0,0xB0,0xB3,0x14,0xC4,0x3B,0x10,0xBA,
0x9C,0x46,0x10,0x8A,0xD8,0x36,0x40,0xF4,0xDB,0x48,0xC6,0x88,0x90,0x4D,0x00,0xCC,
0x80,0x48,0x04,0x37,0x10,0x8A,0xDC,0x16,0x00,0x70,0x04,0xF4,0x00,0x0F,0x30,0x01,
0x04,0xF4,0x10,0x8A,0xD8,0x0E,0x30,0x09,0xB3,0x44,0x40,0x70,0x28,0x32,0xEB,0x26,
0xF4,0x84,0x10,0x72,0xE8,0x2E,0x88,0x84,0x00,0x1F,0xF0,0x7C,0x10,0x72,0xEC,0x06,
0x88,0x7C,0x80,0x0B,0xE4,0x00,0xE2,0xD8,0xCC,0x24,0xE0,0x48,0x88,0x24,0xC8,0x1C,
0xE0,0x48,0x8C,0x1C,0x32,0x0A,0xE3,0x48,0x94,0x4D,0x32,0x62,0x2D,0x62,0xDD,0xB6,
0xC8,0x44,0x48,0x01,0x80,0xA6,0x08,0x01,0x18,0x01,0x98,0x74,0xDC,0x0C,0xC0,0xD8,
0x40,0xD8,0x9A,0x94,0xDA,0x0C,0x30,0xD8,0x70,0xD8,0x98,0x8C,0x1C,0x01,0x30,0xE2,
0x98,0x3C,0x98,0x34,0x9A,0x2C,0xF0,0x00,0xF2,0x58,0x93,0xDD,0x9A,0x4C,0x00,0x0F,
0x03,0xAF,0x35,0x1A,0x04,0xD8,0x32,0xE2,0xDA,0x3C,0x00,0xD8,0x98,0x3C,0xD8,0x34,
0x00,0xD8,0x9A,0x34,0xDA,0x2C,0x00,0xD8,0x98,0x2C,0xF0,0x4C,0x45,0x58,0x13,0x9A,
0xE8,0x26,0xC0,0x1B,0xF4,0x84,0xD8,0xD8,0x80,0x1B,0x00,0x1F,0xC0,0x1B,0xF0,0x7C,
0xD8,0xD8,0x84,0x1B,0xF8,0x4C,0xC0,0x1B,0x77,0x55,0xA8,0x9A,0xC4,0x1B,0x10,0x9A,
0xDA,0xDE,0xE0,0x48,0x90,0x4D,0xF2,0x74,0xC1,0xB0,0x97,0xB5,0xB3,0x74,0x30,0x32,
0x39,0x09,0x18,0xF2,0x30,0xA2,0xF5,0x94,0x10,0x9A,0xDD,0x76,0xF1,0x3C,0x18,0xF2,
0xB0,0x3C,0xF0,0x0C,0x10,0x9A,0xDD,0x46,0xF1,0x34,0x18,0xF2,0xB0,0x34,0xF0,0x8C,
0x10,0x9A,0xDD,0x16,0xD9,0x2C,0x18,0xDA,0x9A,0x2C,0xF0,0x00,0xDA,0x4C,0xF0,0xD8,
0x90,0xDD,0x9A,0x4C,0xD8,0x4C,0x58,0x01,0xD0,0xDE,0xC5,0xAC,0xA0,0x0B,0xD2,0xAC,
0xD0,0x40,0xA3,0x83,0x36,0x02,0x1B,0x02,0x0B,0x03,0x35,0x02,0x10,0x03,0xC5,0x3C,
0x08,0x03,0xC7,0x34,0x10,0x03,0xC1,0x2C,0x10,0x03,0x33,0x01,0x00,0x07,0xC2,0x74,
0xBE,0xFF,0xDF,0xD7,0x90,0x05,0x80,0x74,0x4D,0x52,0x03,0x80,0xCA,0x71,0xC0,0x00,
0x0C,0x89,0x09,0x48,0xC4,0x00,0x52,0x13,0x40,0x55,0x08,0x01,0x18,0x01,0x98,0x04,
0x30,0xE2,0x04,0xD7,0x38,0x98,0x86,0x86,0xC0,0x1B,0xF8,0x74,0xD8,0xD8,0x96,0xDD,
0x58,0x01,0xE8,0x3E,0x80,0x1B,0xF8,0x04,0xC6,0xD8,0x97,0xDD,0x9A,0x04,0xE0,0x48,
0x90,0x4D,0x02,0x27,0x18,0x01,0x80,0x1B,0x00,0x0F,0x18,0x01,0x82,0x1B,0x40,0x90,
0xE3,0x00,0x32,0x1A,0xE2,0xD8,0x92,0xDD,0x35,0xE2,0x2C,0x62,0xDB,0x16,0xE7,0xB0,
0x90,0xB5,0xC3,0x04,0x82,0x74,0x40,0x9A,0x00,0x98,0xC5,0x71,0x38,0x89,0xC1,0xD8,
0x0E,0xF8,0xCD,0xD8,0x13,0xD3,0x14,0x19,0xCA,0x00,0x0C,0x90,0xC2,0x00,0xA4,0x0B,
0x48,0x21,0xD8,0x0E,0x75,0x09,0xD8,0xD6,0x02,0x01,0x48,0x52,0x38,0x89,0xC9,0x71,
0x0C,0xF8,0x05,0x10,0xC6,0x90,0xCA,0x98,0xE4,0x10,0x02,0xB0,0xC7,0xB0,0xCB,0xB0,
0x55,0xEB,0x54,0xB3,0x1C,0xAA,0x15,0xEB,0x18,0x19,0xC3,0x40,0x0E,0xD8,0xC2,0x00,
0xE4,0x1B,0xE2,0x2B,0xDA,0xD8,0xA2,0x1B,0x90,0x85,0x42,0x09,0xD9,0x4E,0x4F,0xF2,
0x02,0x09,0x88,0x01,0x83,0x43,0x50,0x03,0x10,0x21,0x40,0x01,0x80,0x16,0x00,0x29,
0x80,0x53,0x00,0xFF,0x50,0x03,0x41,0x01,0x80,0x16,0x00,0x21,0x80,0x53,0x00,0xCF,
0x48,0x03,0x47,0x01,0x80,0x1E,0x00,0x19,0x10,0x19,0x80,0x53,0x05,0x97,0x50,0x03,
0x40,0x01,0x88,0x2E,0x5A,0x03,0xEB,0x53,0x80,0x01,0xD9,0x03,0x10,0x12,0x9C,0x0E,
0x00,0x11,0x00,0x3F,0x41,0x62,0x81,0x01,0xE8,0x03,0x40,0x01,0x80,0x0E,0x00,0x11,
0x00,0x07,0x00,0x09,0xC4,0x53,0xE0,0x98,0x83,0x5B,0x5A,0x1B,0xE3,0xEB,0x3E,0x68,
0xA2,0x0E,0xF0,0x90,0x81,0x53,0xE8,0x13,0x2C,0x29,0x10,0x12,0x94,0x0E,0x80,0x6B,
0x04,0xE7,0x10,0x12,0xC8,0x46,0x40,0x09,0x8F,0x16,0x10,0x81,0x80,0x53,0x04,0xAF,
0xD4,0x90,0x00,0xAA,0x80,0x6B,0x04,0x8F,0x40,0x19,0xC8,0x0E,0x10,0x19,0x00,0x07,
0x94,0x15,0xC2,0x6B,0x68,0x01,0x80,0x16,0xF4,0x68,0x83,0x6B,0x02,0x37,0xC0,0xCB,
0xF2,0x90,0x1A,0x8A,0xD4,0x9C,0xC0,0x48,0xD4,0xB4,0xB8,0x8B,0xA8,0x03,0x81,0xBD,
0xEF,0x85,0xAF,0x85,0x80,0x5D,0x44,0x72,0x82,0x54,0x58,0x03,0xC8,0x23,0xE0,0x0B,
0x8E,0x44,0xE0,0x0B,0x30,0x48,0xA8,0x1E,0x84,0x01,0xC5,0x03,0x41,0x01,0x80,0x1E,
0x4D,0x42,0x00,0x00,0xCA,0x71,0xC0,0x00,0x00,0x08,0x53,0x42,0xC4,0x08,0xC2,0x48,
0xC0,0x10,0x04,0x01,0x18,0x01,0x00,0x9F,0x68,0x07,0x00,0x07,0x20,0x07,0x00,0x07,
0x78,0x00,0x05,0x01,0x18,0x70,0x03,0x01,0x70,0x00,0x04,0x01,0x20,0xE0,0x03,0x00,
0x78,0xF8,0x07,0x00,0x00,0x5C,0x00,0x9C,0xE4,0x48,0xE4,0x90,0xE2,0x00,0x92,0x05,
0x17,0x02,0xDD,0xBE,0x87,0x5D,0xE8,0x85,0x40,0xFA,0xC7,0x03,0x6F,0xFA,0x0F,0x43,
0x08,0x01,0x00,0x11,0xBB,0xFF,0xDF,0xA7,0x42,0xE2,0x87,0x01,0x43,0x0B,0x30,0x5A,
0x11,0xCC,0x58,0x4B,0x13,0xCC,0x5A,0x4B,0x15,0xCC,0x5C,0x4B,0x17,0xCC,0x46,0x4B,
0x1F,0xCC,0x48,0xBA,0x42,0x53,0x18,0xD4,0x4C,0x53,0x1F,0xD4,0x17,0x89,0x00,0x53,
0x13,0x19,0x18,0x53,0x40,0x53,0x18,0x11,0x18,0xD2,0x04,0x53,0x40,0x0B,0x18,0xCA,
0x07,0x0B,0x40,0x82,0x0E,0x69,0xF9,0x13,0x44,0x7A,0x0F,0x48,0xC0,0x08,0x8A,0x4C,
0x0A,0x09,0x0B,0x48,0xC0,0x28,0x52,0x09,0x88,0xBE,0xC2,0x54,0x5D,0x03,0x82,0x01,
0x50,0x04,0x86,0x1C,0x44,0x2A,0x5F,0x0B,0x90,0x75,0xB6,0x14,0x08,0x01,0x88,0x0C,
0x42,0x12,0x1F,0x33,0xEA,0x4B,0x43,0x48,0x03,0x48,0xAA,0x4B,0x0C,0x41,0x00,0x0B,
0x47,0x0B,0x10,0xF9,0x90,0x21,0x18,0x8A,0x00,0x0B,0x00,0x07,0xFB,0x85,0xE9,0x43,
0x3F,0x00,0x86,0xDE,0x4F,0xE2,0x06,0x00,0xC6,0x00,0x4A,0xE2,0xC0,0x38,0xC2,0x54,
0x5E,0x03,0xDA,0x0B,0x37,0xC2,0xB9,0xFF,0xDE,0x3F,0x49,0xCA,0x10,0x01,0x00,0x01,
0x02,0x67,0x00,0x18,0x37,0xE2,0xF4,0xDA,0x10,0x5A,0xD4,0x0E,0x33,0x0A,0xD3,0xCA,
0x10,0x9A,0xEC,0x0E,0x35,0x12,0xD3,0xD2,0xE2,0x00,0x92,0x05,0x17,0x02,0xDD,0x86,
0xC4,0x1C,0xE0,0x00,0x10,0x0A,0x9C,0x36,0xC0,0x0C,0x40,0x01,0x8B,0x9E,0x40,0x80,
0x40,0x08,0xC2,0x70,0x00,0x3F,0xC0,0x1C,0xF4,0x00,0x14,0x12,0xE0,0x5E,0x00,0x09,
0x83,0x0C,0xE0,0xB0,0x90,0xB5,0x77,0x01,0x80,0x16,0xC0,0x14,0x15,0x32,0x9C,0xBE,
0x70,0x01,0x88,0x06,0x30,0x09,0xC0,0x4C,0x90,0x33,0xC0,0x4C,0xD5,0x0B,0x40,0xDA,
0x18,0x0B,0x32,0x01,0x00,0xAF,0xC2,0x44,0x10,0x32,0xD4,0x5E,0xEA,0x43,0x43,0x00,
0x03,0x00,0xAA,0x43,0x40,0xAA,0x0D,0x41,0x00,0x0B,0x44,0x0B,0x10,0xF9,0x97,0x21,
0x18,0x8A,0x00,0x0B,0x4D,0xA2,0x05,0x00,0xC3,0x08,0x02,0x00,0x50,0x9A,0xC5,0x40,
0xC4,0x00,0xC4,0x48,0x70,0x01,0x88,0x66,0x15,0x01,0x78,0x8A,0x00,0x37,0x18,0x01,
0x00,0x1C,0x00,0x7C,0xE4,0x00,0xE4,0x48,0xE2,0x90,0x92,0x95,0x17,0x12,0xDD,0xB6,
0x05,0x07,0x59,0x4A,0x06,0x10,0xC7,0x90,0x5E,0x42,0xC5,0x90,0x30,0xA2,0x1C,0x01,
0x03,0x9F,0x30,0x3A,0x15,0x01,0xF0,0xD2,0x3E,0x01,0xF8,0x3A,0x10,0xBA,0xD4,0x06,
0x00,0x14,0x38,0x01,0xFC,0x7A,0x16,0xBA,0xE8,0x06,0x00,0x54,0xE4,0x00,0xE4,0x48,
0x34,0x12,0xE3,0x90,0x32,0xA2,0xE4,0xD8,0x95,0xDD,0x12,0x1A,0xD8,0x4E,0xC7,0x44,
0x10,0x32,0x84,0x8E,0xEE,0x43,0x3B,0x00,0x84,0xE6,0x4F,0xBA,0x02,0x00,0xC7,0x00,
0x4A,0xB2,0xC4,0x00,0xCA,0x54,0x58,0x4B,0xDF,0x4B,0xBE,0xFF,0xD3,0xEF,0xE4,0xB0,
0x90,0xB5,0xC3,0x44,0x15,0x32,0xEC,0x36,0x43,0x62,0x34,0x5A,0x52,0xCC,0x80,0x01,
0x04,0x0B,0x40,0x52,0x50,0xCC,0x1A,0x0B,0x52,0xCC,0x1C,0x0B,0x54,0xCC,0x1E,0x0B,
0x5E,0xCC,0x00,0x0B,0x4A,0x32,0x5C,0xD4,0x04,0x53,0x58,0xCC,0x08,0x0B,0x3E,0x0F,
0x4C,0x12,0x8C,0x01,0x48,0x53,0x18,0x21,0x18,0xD2,0x08,0x53,0x4A,0x53,0x18,0x01,
0x18,0xD2,0x08,0x53,0x4C,0x5B,0x10,0x01,0x18,0x9A,0x08,0x5B,0x48,0x0A,0x1C,0x01,
0x02,0x5B,0x40,0x5B,0x1A,0x9A,0x00,0x5B,0x48,0xFA,0x43,0x53,0x18,0x01,0x19,0xD2,
0x03,0x53,0x48,0xB2,0x8E,0x01,0x02,0x43,0x38,0x82,0xAB,0x85,0x08,0x09,0x00,0x31,
0xBE,0xFF,0xE7,0x27,0x08,0x11,0x00,0x21,0xBE,0xFF,0xE7,0x07,0x00,0x09,0x80,0x07,
0xE0,0x57,0x04,0x31,0x84,0x07,0xE0,0x3F,0x00,0x21,0x80,0x07,0xE3,0x27,0xB4,0x15,
0xEB,0x85,0x48,0x82,0x06,0x89,0xC8,0x01,0x08,0x43,0x02,0x01,0xE6,0x00,0x92,0x05,
0x47,0x51,0x98,0xDE,0x02,0x81,0x08,0x43,0x02,0x61,0x0B,0x43,0x3F,0x82,0xAB,0xC5,
0x42,0x12,0x43,0x0B,0x14,0x01,0x1E,0x8A,0x02,0x0B,0x42,0x0B,0x10,0x01,0x1A,0x8A,
0x03,0x0B,0x42,0x22,0x44,0x0B,0x2A,0x01,0x1A,0x4A,0x01,0x0B,0x4B,0x02,0x43,0x12,
0xE2,0x48,0x0E,0x0B,0x24,0x01,0x00,0x23,0x40,0x0B,0x42,0x0B,0x18,0x4A,0x01,0x0B,
0x00,0x09,0x80,0x07,0xE3,0xC7,0xB2,0x15,0x01,0x01,0x09,0x01,0x72,0x9A,0x52,0xDA,
0x7A,0xDA,0xB2,0x01,0x1A,0x42,0x58,0x92,0xDE,0x01,0x1A,0xC3,0xFA,0x85,0x01,0xA3,
0x19,0x21,0x00,0x9B,0x10,0xD8,0x02,0x9B,0xF8,0x85,0x01,0xA3,0x02,0xA3,0x41,0x9B,
0x95,0xDD,0x14,0xDA,0x94,0x06,0x18,0x42,0x40,0x48,0x4A,0x01,0x8A,0x56,0x47,0x72,
0x45,0x0B,0x18,0x4A,0x02,0x0B,0x08,0x23,0x40,0x72,0x0A,0x11,0x03,0x0B,0xB0,0x95,
0x4A,0x12,0x42,0x43,0x14,0x01,0x1E,0x82,0x07,0x43,0xEA,0xC5,0xAC,0x85,0x87,0x3D,
0x72,0x4A,0x42,0x52,0x58,0x03,0xCA,0x0B,0x8E,0x1C,0xC0,0x03,0x80,0x14,0x28,0x01,
0x40,0xE2,0x81,0x34,0x03,0xCF,0x01,0x40,0xF4,0xA2,0xC9,0x00,0x38,0xA1,0x80,0x2C,
0xF8,0x3A,0xC6,0x34,0xFD,0x03,0x14,0x02,0xD3,0x86,0x00,0xC0,0x10,0x02,0xD5,0x6E,
0x88,0x00,0x09,0x81,0xD1,0x48,0x30,0x02,0xBA,0xFF,0xC7,0x87,0xC8,0x00,0x96,0x05,
0x10,0x02,0xDD,0x0E,0xF1,0x20,0x93,0x05,0xCC,0x2C,0x10,0x44,0xC7,0x2C,0x80,0xF9,
0x80,0x09,0x20,0xC1,0x80,0x24,0xF8,0x22,0x3E,0x21,0xF8,0x3A,0xC4,0x34,0xF8,0x03,
0x10,0x02,0xD5,0x86,0x05,0xC0,0x13,0x02,0xD1,0x6E,0x88,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xFF,0xC6,0x9F,0xC9,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,
0x90,0x05,0xC9,0x24,0x03,0x44,0xE4,0x68,0x90,0x6D,0xC7,0x1C,0x16,0x2A,0x9C,0x16,
0x3A,0x01,0x00,0xBF,0x30,0xC2,0x09,0xA1,0x19,0x42,0xF2,0xA2,0xC8,0x28,0x04,0x11,
0xF0,0x42,0x81,0x0C,0xC4,0x34,0xF8,0x03,0x10,0x02,0xD5,0x8E,0xC2,0x0C,0x00,0x00,
0x10,0x02,0xD5,0x6E,0x88,0x08,0x01,0x81,0xD1,0x08,0x32,0x02,0xB8,0xFF,0xC7,0x77,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x93,0x05,0x01,0x44,
0x21,0x91,0xF8,0x62,0x01,0x81,0xF0,0x42,0x80,0x0C,0xC0,0x34,0xFD,0x03,0x14,0x02,
0xD0,0x76,0xC1,0x0C,0x05,0x00,0x12,0x02,0xD1,0x56,0x89,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xF7,0xF8,0x9F,0x07,0xDF,0x60,0x00,0x01,0x01,0x00,0x01,0x00,0x42,
0x18,0x00,0x04,0x42,0x70,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,
0xF8,0xFB,0x07,0x00,0x00,0x00,0x06,0x42,0x10,0x00,0x00,0x42,0x08,0x01,0x00,0x42,
0x58,0x98,0x02,0x00,0x08,0x07,0x04,0x07,0x38,0xE0,0x06,0x01,0x78,0x00,0x05,0x01,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x91,0x05,0x11,0x44,
0xE7,0xF8,0x93,0xFD,0xC4,0x14,0x10,0x3A,0x98,0x26,0x85,0x3D,0xEF,0x85,0xAF,0xBD,
0x80,0xF5,0x04,0x01,0x80,0x84,0x80,0x7C,0x7B,0xFA,0x5F,0xC3,0xC8,0x23,0x00,0x01,
0x80,0x74,0x80,0x6C,0x81,0x64,0x08,0x89,0x50,0xEA,0x0F,0x48,0x42,0xDA,0xC7,0x88,
0xFF,0x03,0x96,0xF9,0x90,0x29,0x8D,0xE4,0x40,0x09,0x88,0x96,0xC3,0xFC,0x18,0x02,
0xC0,0x18,0xCC,0xE4,0xC0,0x28,0xC2,0xF4,0x08,0x01,0x00,0x47,0x40,0x34,0x80,0xF3,
0x41,0x34,0x80,0x73,0xE3,0xD8,0xE2,0x68,0xE2,0x00,0xE4,0x48,0x95,0x4D,0x12,0x0A,
0xD8,0xA6,0x2F,0x01,0x30,0x72,0xA9,0x9C,0xC0,0xF4,0x80,0x14,0x44,0x2D,0x30,0x32,
0xC3,0xFC,0x18,0x02,0x84,0xDC,0xC0,0x00,0x80,0xD4,0x80,0x24,0x4D,0xCB,0x55,0xC3,
0x30,0x22,0x04,0x01,0x00,0x2F,0xD1,0x14,0xD8,0x24,0x40,0x94,0xC6,0xDB,0xD0,0x90,
0x93,0x95,0x30,0x9A,0x06,0xD4,0x38,0x58,0x80,0x26,0xD8,0x9C,0xC0,0x90,0x96,0x95,
0x90,0x9C,0x00,0x3F,0x36,0x1A,0x3B,0xD8,0x82,0x16,0xC8,0x90,0x90,0xAD,0x00,0x0F,
0xC8,0x90,0x94,0xB5,0x34,0x92,0xE3,0x90,0x30,0xB2,0xD4,0x14,0xE0,0x90,0x94,0x14,
0xD2,0x24,0xE0,0x90,0x92,0x24,0x40,0x48,0x32,0x12,0x43,0x90,0x32,0xA2,0xE4,0x00,
0x95,0x05,0x12,0x02,0xDE,0xBE,0x46,0x82,0x80,0x01,0x81,0xCC,0xE0,0x0B,0x48,0x01,
0xE8,0x26,0xC0,0x9C,0xBA,0xF7,0xFF,0xD7,0x90,0x05,0x80,0x9C,0xC2,0xCC,0xE0,0x0B,
0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,0x80,0x68,0x03,0x1F,0x37,0x42,0xB9,0xF7,
0xF8,0x6F,0x92,0x2D,0xC4,0xCC,0xE0,0x0B,0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,
0x80,0xB0,0x03,0x1F,0x37,0x82,0xB9,0xF7,0xF8,0x0F,0x92,0x35,0xC0,0xF4,0x48,0x2D,
0x30,0x72,0xCC,0xD4,0x8D,0x24,0x48,0xCB,0x8D,0x94,0x50,0xCB,0x8B,0x8C,0x58,0xD3,
0xE6,0x8B,0x3E,0x48,0x87,0x66,0x48,0xCB,0x31,0x62,0x54,0xCB,0x8B,0x84,0x50,0xCB,
0x88,0x7C,0xE8,0x8B,0x8A,0x74,0xE8,0x8B,0x8C,0x6C,0xE8,0x8B,0x88,0x64,0x00,0x0F,
0x0C,0x01,0x30,0x62,0xC2,0x8B,0x42,0x48,0x8D,0xB4,0x50,0x8A,0xC9,0xDC,0x90,0xC1,
0xC0,0x48,0x8C,0x1C,0x08,0x01,0x88,0xBC,0x00,0x17,0xCC,0x94,0x38,0x48,0x86,0x0E,
0xC8,0x9C,0x00,0x2F,0xCE,0x8C,0x38,0x48,0x81,0x0E,0x30,0x4A,0x01,0x07,0x30,0x8A,
0x48,0x01,0xE8,0x66,0x30,0x9A,0x13,0x01,0xF0,0xD2,0x54,0x01,0xEC,0x3E,0x10,0x52,
0xD0,0x06,0x30,0x8A,0x42,0x14,0xD0,0x88,0x90,0x5D,0x00,0x1C,0x03,0xB7,0x31,0x9A,
0x14,0x01,0xF0,0xD2,0x51,0x01,0xD0,0x7E,0x48,0x01,0xD0,0x2E,0x10,0x52,0xEC,0x06,
0x30,0x8A,0x40,0x14,0xD0,0x88,0x02,0x0C,0x1E,0x01,0xF0,0x1A,0x36,0x0A,0x3B,0x48,
0x80,0x26,0xC9,0x24,0xC0,0x4B,0x88,0xC4,0xD0,0x48,0x96,0x4D,0xD6,0x7C,0x38,0x90,
0x80,0x3E,0xD0,0x64,0x10,0x8A,0xEC,0xCE,0xD0,0x64,0xC8,0xC4,0xD0,0x48,0x04,0x0C,
0x00,0xA7,0xD0,0x84,0x38,0x90,0x86,0x3E,0xD4,0x6C,0x10,0x8A,0xE8,0x76,0xD0,0x6C,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x4F,0xD4,0x74,0x10,0x8A,0xE8,0x36,0xD0,0x74,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x0F,0x1E,0x01,0xF0,0x1A,0xC8,0x1C,0xD0,0xB4,
0xC6,0x4B,0xC0,0x90,0x10,0x8A,0xEC,0x66,0xC8,0xFC,0x10,0x09,0x06,0x52,0xBC,0x98,
0xC8,0x04,0x99,0x0C,0x90,0x04,0x40,0x7B,0x41,0x4B,0x1A,0xD2,0x19,0x5A,0xC8,0x04,
0x08,0x66,0xC8,0x1C,0xE0,0x48,0x8A,0x1C,0xE0,0x00,0xCC,0x24,0xE0,0x48,0x8A,0x24,
0x34,0x8A,0xE3,0x48,0x30,0x72,0xCC,0x94,0x40,0x48,0x8A,0x94,0xCA,0x8C,0x40,0x48,
0x8B,0x8C,0x30,0x0A,0x48,0x01,0x80,0x3E,0x44,0x48,0x32,0x62,0xCA,0x84,0x40,0x48,
0x88,0x84,0xC8,0x7C,0x40,0x48,0x8A,0x7C,0xCA,0xBC,0xE0,0x48,0x90,0x4D,0x8A,0xBC,
0xCD,0xBC,0x10,0x0A,0xD3,0x06,0x38,0xC7,0xE8,0xD4,0xC8,0xE4,0xC2,0xDC,0xC0,0x30,
0xF8,0xF4,0x00,0x01,0x80,0xBC,0x00,0xEF,0x0B,0x01,0xF0,0xCA,0x89,0xAC,0xC0,0x43,
0xC0,0x8B,0x89,0xA4,0xC8,0xAC,0xC0,0x40,0xCA,0xA4,0xC0,0x00,0x0F,0x19,0xB8,0xF7,
0xF0,0xEF,0x93,0x05,0x80,0x83,0xC9,0xAC,0x80,0x4B,0xC9,0xA4,0x04,0x50,0xC2,0x48,
0xC4,0x40,0x80,0x00,0x03,0xC4,0xE1,0x68,0xE5,0xB0,0xE3,0xF8,0xC2,0xBC,0xE0,0x00,
0x90,0x05,0x82,0xBC,0xC5,0xBC,0x10,0x02,0xD9,0xF6,0x86,0x0D,0xE9,0x85,0xAF,0x85,
0x42,0x8A,0x5A,0x03,0xC0,0x23,0xCE,0x1B,0x40,0x92,0x12,0x01,0x00,0x67,0x08,0x01,
0x00,0x37,0xC0,0x2B,0x35,0x68,0x75,0x68,0x82,0x2B,0xE0,0x00,0xE6,0x48,0x92,0x4D,
0x17,0xCA,0x9C,0xB6,0xE6,0x90,0x92,0x95,0x17,0x12,0x9D,0x86,0xEB,0x85,0xA9,0x85,
0x48,0x32,0x1A,0x01,0x8E,0x01,0x81,0x5B,0x88,0x5B,0x30,0x42,0x80,0x01,0xEF,0x13,
0xEA,0x23,0x38,0x90,0x7A,0x90,0x06,0x90,0x29,0xE9,0x07,0x62,0x18,0xA2,0xA8,0x23,
0xEF,0x13,0x20,0xD9,0x00,0x12,0xA9,0x13,0x63,0xDA,0x59,0x03,0x84,0x01,0xC1,0x03,
0x40,0x01,0x80,0x06,0x88,0x5B,0x04,0x01,0xBF,0xDF,0xEF,0x07,0x42,0xBA,0x81,0x01,
0xE8,0x03,0x42,0x51,0x98,0x16,0x00,0x09,0xBE,0xDF,0xEF,0xC7,0x59,0x03,0x83,0x01,
0xC0,0x03,0x44,0x01,0x87,0x0E,0xB8,0xD7,0xFF,0xB7,0xBF,0xD7,0xFF,0x0F,0xBC,0xFF,
0xFB,0xB7,0xED,0x85,0xAC,0x85,0x87,0x8D,0x40,0x5A,0x81,0x7C,0x5C,0x0B,0xCA,0x73,
0xC8,0x43,0x80,0x54,0x00,0x01,0x80,0x2C,0x40,0x42,0x11,0x01,0xC6,0x01,0x19,0x92,
0x84,0x74,0x28,0x13,0x29,0x13,0x8E,0x01,0xD8,0x43,0x80,0x64,0x29,0x01,0x40,0x12,
0xC0,0x01,0x82,0x6C,0x00,0xF7,0xC4,0x64,0x45,0x00,0x12,0x42,0xC0,0x1E,0xC0,0x7C,
0x48,0x03,0x46,0x01,0x80,0xF6,0xC3,0x6C,0x0C,0x01,0x10,0x0B,0x10,0x0B,0x8E,0x34,
0x88,0x3C,0xC0,0x74,0x6C,0x0B,0x6E,0x03,0x88,0x4C,0x80,0x44,0x20,0x01,0x00,0x4F,
0xC0,0x4C,0xC8,0x44,0x3A,0x10,0x46,0x48,0x1A,0x8A,0x40,0x00,0x88,0x44,0x80,0x4C,
0xE7,0x20,0x93,0x25,0xC6,0x44,0x38,0x00,0x8D,0x0E,0x10,0xA2,0x9D,0x86,0x17,0xA2,
0x80,0xE6,0x43,0x72,0x80,0x01,0x81,0x23,0x41,0x6A,0x08,0x19,0xCC,0x00,0x08,0x48,
0xC0,0x00,0x7A,0x6A,0xC7,0x03,0x08,0xC3,0x30,0x12,0x09,0x01,0x07,0x09,0xB8,0xE7,
0xC9,0xAF,0x32,0x0A,0x07,0x11,0xB8,0xE7,0xC0,0x5F,0x43,0x42,0x42,0x0B,0x3A,0x48,
0xA8,0xE6,0x47,0x0B,0x10,0x11,0x00,0x5F,0x78,0x00,0x05,0x01,0x70,0x00,0x04,0x01,
0x18,0x00,0x03,0x01,0x50,0xA0,0x05,0x01,0x00,0x01,0x00,0x42,0x18,0x00,0x04,0x42,
0x18,0x8A,0x00,0x0B,0x05,0x41,0x00,0xC3,0x47,0xC3,0x09,0xF9,0x88,0x19,0x18,0x42,
0x00,0xC3,0x69,0x01,0x88,0x56,0xC0,0x7C,0x40,0x03,0x46,0x01,0x80,0x0E,0x80,0x2C,
0x05,0x0F,0x40,0xB2,0x80,0x2C,0xC0,0x7C,0x44,0x03,0x3C,0x02,0xC5,0x54,0x48,0xA2,
0x1A,0x02,0x03,0x00,0xC5,0x00,0x4A,0x9A,0xC1,0x38,0x02,0x57,0xC6,0x44,0x38,0x00,
0x80,0xD6,0x00,0x09,0x00,0x02,0x85,0x5C,0x01,0x07,0xF8,0x85,0x08,0x01,0x88,0x1C,
0xC0,0x5C,0xD0,0x6C,0x84,0x14,0x50,0x9B,0x50,0x93,0x06,0xC2,0x30,0x52,0x88,0x0C,
0x82,0x04,0x00,0x4A,0x00,0x82,0x1A,0x42,0x80,0x7E,0x57,0x35,0x31,0x0A,0x31,0xC2,
0xD8,0x2C,0x00,0x07,0x04,0xD7,0x38,0xC2,0xC2,0x54,0x00,0x00,0xC8,0x38,0xC6,0x4C,
0xCE,0x44,0x38,0x10,0x40,0x48,0x1A,0x8A,0x40,0x00,0x8A,0x44,0x83,0x4C,0xE0,0x20,
0x95,0x25,0x17,0xA2,0x98,0x96,0xC6,0x74,0xD0,0x3C,0xC8,0x34,0x2C,0x13,0x2E,0x0B,
0xE7,0x68,0x93,0x6D,0xC4,0x64,0x10,0x2A,0x92,0x06,0x38,0xE7,0x07,0x01,0xB8,0xE7,
0xC0,0x2F,0x82,0x8D,0xEF,0x85,0xAF,0xC5,0x68,0x9A,0x34,0x01,0x8F,0x73,0xEB,0x60,
0x07,0x11,0xA0,0xC9,0xAF,0x03,0xBD,0xFF,0xFD,0xAF,0xA9,0x33,0x5E,0x03,0xCB,0x0B,
0x48,0x01,0x80,0x66,0x84,0x01,0x7E,0x6A,0x47,0x04,0x06,0xC3,0x03,0x09,0x88,0x43,
0xBB,0xE7,0xCF,0xAF,0x8B,0x73,0x5B,0x03,0x84,0x01,0x46,0x04,0x00,0xC3,0x0F,0x01,
0x37,0x42,0xB8,0xDF,0xFC,0xEF,0x4E,0x22,0xCE,0x01,0xF9,0x43,0x40,0x41,0x96,0x0E,
0xE6,0x00,0xBA,0x43,0xEF,0xC5,0xAF,0x85,0x84,0x6D,0x44,0x0A,0x82,0x64,0x58,0x03,
0xC8,0x0B,0x88,0x2C,0xC0,0x0B,0x8E,0x24,0x49,0xCA,0x8B,0xC1,0x8B,0x5C,0x50,0xEA,
0x91,0x54,0x18,0x79,0xE0,0xDA,0x98,0x44,0x18,0x29,0xB3,0xEA,0x60,0xB2,0x3B,0x01,
0x18,0x3B,0xB9,0x3C,0x10,0x3B,0xBF,0x34,0x1C,0x01,0x30,0xF2,0x58,0xB2,0x33,0x01,
0xAA,0x3B,0xC1,0x3B,0x40,0xF8,0xBB,0x1C,0x3E,0x11,0xFE,0x3A,0x80,0xC0,0x83,0x14,
0x31,0x3A,0xF9,0x01,0xF8,0xC3,0x47,0x29,0xC0,0xB6,0x00,0x01,0x1D,0xC4,0x1B,0xC4,
0x30,0x22,0x04,0x77,0x00,0x01,0x00,0x2F,0x40,0xBC,0x80,0x7B,0xE4,0x48,0xE2,0x90,
0xE3,0x38,0x92,0xC5,0xFD,0x2C,0x10,0xC2,0xDB,0xB6,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xFC,0x24,0x2F,0xE2,0xDD,0x6E,0xC4,0x5C,0x30,0x22,0xD0,0x54,0x00,0x01,
0x82,0x4C,0x00,0x67,0x0A,0x01,0x00,0x1F,0x30,0x02,0xC3,0x03,0x46,0xBC,0xD8,0x00,
0x90,0x05,0x00,0x84,0xFB,0x64,0x58,0xFB,0xBD,0x01,0xC1,0xFB,0x78,0x11,0x98,0x8E,
0x10,0x42,0xD5,0x7E,0xEB,0x3B,0xE1,0xF8,0xAB,0x3B,0x31,0xBA,0xC5,0xF8,0x31,0xF2,
0x34,0x3A,0x10,0x1A,0xD8,0x06,0x30,0xFA,0x30,0xDA,0x31,0x3A,0x10,0x32,0xE4,0x06,
0x31,0xBA,0x31,0xF2,0xFD,0x1C,0x10,0xC2,0xEB,0x6E,0xE8,0x3B,0x78,0x09,0x88,0x0E,
0x3B,0x09,0xAC,0x3B,0xFD,0x44,0x10,0xC2,0xE8,0xA6,0x00,0x09,0xFC,0x3C,0x00,0x42,
0x18,0xC2,0x81,0x3C,0x00,0x77,0xF8,0x14,0x10,0xC2,0xD5,0x5E,0xE8,0x3B,0x7B,0x09,
0x8C,0x0E,0x38,0x09,0xAD,0x3B,0x13,0x42,0xD0,0x26,0x00,0x09,0xFC,0x34,0x00,0x42,
0x18,0xC2,0x81,0x34,0xE3,0x90,0x34,0x02,0xE4,0x00,0x32,0x22,0xE2,0x48,0x92,0x4D,
0xC4,0x2C,0x10,0x0A,0xD8,0xC6,0xC5,0x4C,0xE2,0x00,0x92,0x05,0x80,0x4C,0xC8,0x24,
0xC4,0x4C,0x10,0x42,0xD8,0x76,0xC5,0x64,0x59,0x03,0x82,0x01,0xC0,0x03,0x44,0x11,
0x99,0x46,0xEA,0x03,0x42,0x11,0xC8,0x2E,0xF6,0x00,0x94,0x05,0x84,0x04,0xC8,0xC8,
0x32,0x82,0xD3,0x00,0xCF,0x04,0xB8,0xF7,0xE0,0x4F,0x94,0x05,0x80,0x0C,0x00,0x01,
0x13,0x04,0x0B,0xE9,0x08,0x48,0x10,0x01,0xF4,0x54,0x30,0x22,0x00,0x0F,0x19,0x01,
0x00,0xC7,0x00,0x01,0xF5,0x82,0x11,0x42,0xD0,0x8E,0xF8,0x0C,0xD8,0x00,0xAE,0x06,
0x10,0x02,0x92,0x05,0x34,0x3A,0x10,0x0A,0xE0,0x06,0x30,0x7A,0x30,0xCA,0x31,0x3A,
0x10,0x12,0xDC,0x06,0x31,0xBA,0x30,0xD2,0x51,0x3C,0xC3,0xC0,0x15,0x04,0xE3,0xB0,
0xE2,0xD8,0x92,0xDD,0xC4,0x2C,0x10,0x1A,0xDB,0x1E,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xDC,0x24,0x2E,0xE2,0xDC,0xD6,0x54,0x04,0xC3,0x48,0xD4,0x00,0x92,0x05,
0xCF,0x04,0xB8,0xF7,0xE3,0x4F,0x12,0x04,0xC0,0x0C,0x40,0x01,0xD2,0x06,0x10,0x02,
0x10,0x04,0x01,0x17,0x01,0x01,0x10,0x04,0x10,0x04,0xC3,0x3C,0x18,0x03,0xC1,0x34,
0x10,0x03,0x87,0x6D,0xEE,0x85,0x37,0x10,0x70,0x90,0x0E,0x09,0x02,0x8A,0x4C,0x00,
0x54,0x52,0x00,0x00,0xC0,0x00,0x04,0x0B,0x38,0x82,0x03,0x00,0xB0,0x69,0x01,0x00,
0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,0x70,0x00,0x05,0x01,0x00,0x01,0x00,0x42,
0x78,0x00,0x05,0x01,0x38,0xE0,0x06,0x01,0xE7,0xC7,0xF8,0xFF,0x08,0x07,0x00,0x07,
0x61,0x28,0x79,0x68,0x50,0x50,0x00,0x78,0x21,0x10,0x50,0x00,0x00,0x00,0x08,0x08,
0x40,0x40,0x28,0x84,0x58,0xB0,0x18,0x28,0xF3,0x50,0xC0,0x23,0xC0,0x83,0x17,0x40,
0x08,0x80,0x00,0x00,0x60,0xC0,0x00,0x28,0x20,0x30,0xA0,0xA0,0x18,0x60,0xF0,0xF0,
0x20,0xE3,0x41,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x20,0x40,0x08,0x10,0x20,0x40,
0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x17,0x17,0xA7,0xB0,0x47,0x61,0x0F,0x60,0x08,0x08,0x10,0x10,
0x20,0x20,0x60,0x60,0x00,0x80,0x90,0x98,0x10,0x08,0x60,0x08,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xF0,0x60,0xE0,0xF1,0xA0,0x00,
0xF0,0x40,0x1E,0x00,0x20,0x10,0x84,0x80,0x00,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x40,0x00,0x00,0xA0,0x05,0x40,0x00,0x40,0x0E,0x10,0x12,0xC0,0x02,0x80,
0x07,0x00,0xF8,0xA7,0x0C,0x18,0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x60,0x66,0x06,0x00,0x40,0x44,0x04,0x00,0x80,0x20,0x01,0x42,0x80,0x20,0x01,0x42,
0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,
0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,
0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,0x80,0xA0,0x03,0x42,0x80,0xA0,0x03,0x42,
0x80,0xA0,0x03,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,
0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,
0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x08,0x01,0x01,0x42,0x08,0x41,0x01,0x42,0x08,0x81,0x01,0x42,0x08,0xC1,0x01,0x42,
0x08,0x01,0x02,0x42,0x08,0x41,0x02,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x41,0x00,0x42,
0x08,0x81,0x00,0x42,0x08,0xC1,0x00,0x42,0x08,0xC1,0x01,0x42,0x08,0x81,0x01,0x42,
0x08,0x41,0x01,0x42,0x08,0x01,0x01,0x42,0x08,0xC1,0x00,0x42,0x08,0x81,0x00,0x42,
0x08,0x41,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0xF8,0xFF,0x07,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x08,0xF8,0x0F,0xF8,0x07,0xFF,0xFF,0x07,0xF8,0x08,0xF8,0x0F,0x00,
0x08,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xB0,0x3B,0xC0,
0x0A,0x18,0x19,0x28,0x02,0x28,0x53,0xB0,0x09,0xC0,0x03,0x08,0x00,0x00,0x00,0x00,
0x52,0x08,0x51,0x18,0x54,0xB0,0x3A,0x08,0x03,0x08,0x51,0x38,0x54,0x18,0x51,0x38,
0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x04,0x00,0x50,0x38,
0x54,0x18,0x51,0x38,0x50,0x90,0x01,0x00,0x51,0x38,0x54,0x18,0x00,0x00,0x00,0x00,
0x03,0x00,0x50,0x28,0x52,0x38,0x34,0x88,0x00,0x38,0x00,0x28,0x0B,0x40,0x51,0xB0,
0x50,0x90,0x00,0x00,0x01,0x00,0x50,0xA0,0x53,0xB0,0x0A,0xC0,0x00,0x08,0x01,0x00,
0x51,0x38,0x53,0x18,0x54,0x08,0x55,0x38,0x53,0x90,0x51,0x38,0x54,0x18,0x51,0x38,
0x55,0x90,0x51,0x08,0x00,0x08,0xF8,0x07,0x00,0xF8,0x0F,0x00,0x10,0x10,0x08,0x10,
0x10,0x10,0x08,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x10,0x08,0x08,0x10,0x10,
0x08,0x08,0x08,0x08,0x7F,0x00,0x7F,0x00,0x06,0x80,0x51,0x56,0xFD,0x18,0x00,0x0B,
0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,0xE0,0x0F,0xE0,0x0F,0x30,0x00,0xCA,0xCA,
0x03,0x1F,0xA1,0x60,0x06,0x49,0xDD,0xCC
};
#endif /*CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__*/

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
static unsigned char cst2xxse_fw[] = {
0x6c,0x03,0x00,0x20,0x61,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xf9,0x00,0x00,0x00,0xfb,0x00,0x00,0x00,0x1b,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4b,0x01,0x00,0x00,0x00,0xf0,0x02,0xf8,0x00,0xf0,0x40,0xf8,0x0c,0xa0,0x30,0xc8,
0x08,0x38,0x24,0x18,0x2d,0x18,0xa2,0x46,0x67,0x1e,0xab,0x46,0x54,0x46,0x5d,0x46,
0xac,0x42,0x01,0xd1,0x00,0xf0,0x32,0xf8,0x7e,0x46,0x0f,0x3e,0x0f,0xcc,0xb6,0x46,
0x01,0x26,0x33,0x42,0x00,0xd0,0xfb,0x1a,0xa2,0x46,0xab,0x46,0x33,0x43,0x18,0x47,
0x80,0x12,0x00,0x00,0xa0,0x12,0x00,0x00,0x10,0x3a,0x02,0xd3,0x78,0xc8,0x78,0xc1,
0xfa,0xd8,0x52,0x07,0x01,0xd3,0x30,0xc8,0x30,0xc1,0x01,0xd5,0x04,0x68,0x0c,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3a,0x01,0xd3,
0x78,0xc1,0xfb,0xd8,0x52,0x07,0x00,0xd3,0x30,0xc1,0x00,0xd5,0x0b,0x60,0x70,0x47,
0x1f,0xb5,0xc0,0x46,0xc0,0x46,0x1f,0xbd,0x10,0xb5,0x10,0xbd,0x00,0xf0,0x3c,0xff,
0x11,0x46,0xff,0xf7,0xf5,0xff,0x00,0xf0,0x03,0xf9,0x00,0xf0,0x54,0xff,0xff,0xf7,
0xf3,0xff,0x00,0xf0,0x5b,0xff,0x00,0x00,0xfe,0xe7,0x1d,0x49,0x48,0x88,0x48,0x80,
0x1c,0x48,0x02,0x7c,0xff,0x2a,0x02,0xd2,0x02,0x7c,0x52,0x1c,0x02,0x74,0x00,0x7c,
0x18,0x28,0x01,0xd2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8a,0x79,0x15,0x48,
0x20,0x30,0x80,0x6b,0x43,0x7a,0x9a,0x43,0x8a,0x71,0x40,0x7a,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xb5,0x0f,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0d,0xf0,0xec,0xfe,0x10,0xbd,0x10,0xb5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xd5,0x02,0x78,0x80,0x21,0x0a,0x43,0x02,0x70,0x07,0x4a,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xbd,0x00,0xf0,0xf9,0xfb,0x10,0xbd,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0a,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xb5,0x63,0x48,0x63,0x4c,0x80,0x6b,0x01,0x46,0x80,0x30,0x03,0x7f,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2b,0x06,0xd0,0x1b,0x02,0x13,0x43,0x63,0x81,0xff,0x22,
0x23,0x32,0x62,0x80,0x03,0xe0,0x62,0x81,0xff,0x22,0x03,0x32,0x62,0x80,0xa0,0x31,
0x89,0x8a,0xe1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7a,
0xc0,0x79,0x09,0x02,0x01,0x43,0x53,0x48,0x20,0x38,0xc1,0x81,0x10,0xbd,0x10,0xb5,
0x4f,0x48,0x51,0x49,0x81,0x63,0x01,0x46,0x50,0x4a,0x40,0x39,0xca,0x61,0x50,0x4a,
0x0a,0x62,0x50,0x4a,0x4a,0x62,0x50,0x4a,0x8a,0x62,0x50,0x4a,0xca,0x62,0x50,0x49,
0xc1,0x63,0x50,0x49,0x41,0x60,0x50,0x49,0x81,0x60,0x50,0x49,0xc1,0x60,0x50,0x49,
0x01,0x61,0x50,0x49,0x41,0x61,0x43,0x49,0xf0,0x20,0x60,0x39,0x88,0x75,0x48,0x48,
0xa8,0x21,0x40,0x30,0x01,0x73,0x00,0x24,0xc4,0x72,0x0d,0xf0,0xe5,0xfe,0x0d,0xf0,
0xdf,0xfe,0x3c,0x20,0x0d,0xf0,0xd8,0xfe,0x0d,0xf0,0xd2,0xfe,0x0d,0xf0,0xcc,0xfe,
0x00,0xf0,0xeb,0xf9,0x0d,0xf0,0xc4,0xfe,0x00,0xf0,0x51,0xfa,0x42,0x48,0x04,0x70,
0x44,0x80,0x84,0x80,0xc4,0x80,0x10,0xbd,0x70,0xb5,0x31,0x4c,0x20,0x78,0x01,0x21,
0x08,0x43,0x20,0x70,0x3d,0x4d,0x47,0xe0,0x0d,0xf0,0xae,0xfe,0x28,0x7a,0x00,0x28,
0x03,0xd0,0x2b,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x0d,0xf0,0xa1,0xfe,0x20,0x78,
0xc0,0x07,0x01,0xd0,0x55,0x20,0x68,0x70,0x0d,0xf0,0x96,0xfe,0xa0,0x6b,0x20,0x30,
0x40,0x78,0x00,0x28,0x01,0xd0,0x0d,0xf0,0x8b,0xfe,0xa0,0x6b,0x21,0x21,0x09,0x5c,
0x09,0x09,0x06,0xd0,0x1e,0x49,0x60,0x30,0xa0,0x39,0x89,0x7b,0xc0,0x7a,0x81,0x42,
0x1e,0xd1,0x0d,0xf0,0x79,0xfe,0x0d,0xf0,0x73,0xfe,0x0d,0xf0,0x6d,0xfe,0x00,0xf0,
0x68,0xf9,0xa0,0x78,0x00,0x28,0x02,0xd0,0xa0,0x78,0x02,0x28,0x01,0xd1,0x00,0xf0,
0x18,0xfa,0x0d,0xf0,0x5d,0xfe,0x0d,0xf0,0x53,0xfe,0x0d,0xf0,0x4d,0xfe,0x20,0x48,
0x0d,0xf0,0x46,0xfe,0x0d,0xf0,0x40,0xfe,0x0d,0xf0,0x3a,0xfe,0x00,0xf0,0xc1,0xf9,
0x00,0xf0,0xdd,0xf8,0x00,0xf0,0xa6,0xf8,0xa0,0x78,0x06,0x28,0xb4,0xd1,0x70,0xbd,
0x10,0xb5,0xff,0xf7,0x6c,0xff,0x06,0x4c,0xa0,0x78,0x00,0x28,0x04,0xd0,0x06,0x28,
0xfa,0xd1,0x0d,0xf0,0x11,0xfe,0xf7,0xe7,0xff,0xf7,0x9e,0xff,0xf4,0xe7,0x00,0x00,
0xb0,0x0a,0x00,0x20,0x80,0x10,0x00,0x40,0xc4,0x0f,0x00,0x00,0xf6,0x11,0x00,0x00,
0x08,0x12,0x00,0x00,0xe4,0x12,0x00,0x00,0xc4,0x11,0x00,0x00,0xe4,0x11,0x00,0x00,
0x08,0x00,0x00,0x20,0x89,0x03,0x00,0x00,0x91,0x03,0x00,0x00,0xcd,0x07,0x00,0x00,
0x4d,0x0a,0x00,0x00,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x5c,0x00,0x00,0x20,
0x83,0x05,0x00,0x00,0x0b,0x49,0x0a,0x48,0xc8,0x60,0xbf,0xf3,0x40,0x8f,0xfe,0xe7,
0x10,0xb5,0xff,0xf7,0xc5,0xff,0x10,0xbd,0x0f,0xb5,0x00,0x90,0x01,0x91,0x01,0x98,
0x02,0x90,0x00,0x98,0x03,0x90,0x68,0x46,0x0f,0xc8,0x04,0xb0,0x00,0xbd,0x00,0x00,
0x04,0x00,0xfa,0x05,0x00,0xed,0x00,0xe0,0x10,0xb5,0x00,0xf0,0x42,0xfd,0x10,0xbd,
0x10,0xb5,0x00,0xf0,0x3e,0xfd,0x08,0x46,0x10,0xbd,0x00,0x00,0xf0,0xb5,0x00,0x21,
0x0a,0x24,0xff,0x48,0xc0,0x7c,0x01,0x28,0x3c,0xd1,0xfe,0x4d,0xfe,0x4b,0x3e,0xe0,
0x24,0x20,0xfe,0x4a,0x48,0x43,0x86,0x18,0x17,0x20,0x80,0x01,0x30,0x18,0x02,0x7c,
0x01,0x2a,0x32,0xd1,0xc2,0x7b,0x03,0x2a,0x2f,0xd1,0x42,0x7c,0x05,0x2a,0x2c,0xd9,
0x1a,0x88,0x52,0x1c,0x92,0xb2,0x1a,0x80,0x01,0x2a,0x04,0xd1,0x82,0x8b,0x2a,0x80,
0xf3,0x4f,0xc2,0x8b,0x3a,0x80,0x82,0x8b,0x2f,0x88,0xd2,0x1b,0x12,0xb2,0xf0,0x4f,
0xc0,0x8b,0x3f,0x88,0xc0,0x1b,0x07,0xb2,0x2f,0x20,0x40,0x01,0x30,0x18,0x02,0x26,
0x86,0x5f,0x0f,0x36,0x1e,0x2e,0x0e,0xd8,0x04,0x26,0x86,0x5f,0xf6,0x1d,0x0e,0x2e,
0x09,0xd8,0x0f,0x32,0x1e,0x2a,0x06,0xd8,0xff,0x1d,0x0e,0x2f,0x03,0xd8,0xe5,0x49,
0x01,0x20,0x08,0x70,0xf0,0xbd,0x00,0x20,0x18,0x80,0x49,0x1c,0xc9,0xb2,0xa1,0x42,
0xbe,0xd3,0xf0,0xbd,0x30,0xb5,0xda,0x48,0x80,0x30,0x00,0xe0,0x30,0xbf,0x01,0x7c,
0x00,0x29,0xfb,0xd0,0xd6,0x48,0xa0,0x30,0x01,0x78,0x09,0x07,0x15,0xd5,0xda,0x4b,
0x01,0x22,0x1a,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,0x01,0x78,
0xef,0x24,0x21,0x40,0x01,0x70,0x00,0xe0,0x30,0xbf,0x01,0x78,0xc9,0x06,0xfb,0xd5,
0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xd0,0x4a,0x50,0x68,0x40,0x1c,
0x50,0x60,0xcf,0x49,0x03,0x0e,0x8b,0x72,0x03,0x0c,0x4b,0x72,0x03,0x0a,0x0b,0x72,
0xc8,0x71,0x10,0x7a,0x00,0x28,0x01,0xd0,0x30,0xbf,0xfd,0xe7,0x30,0xbd,0xf8,0xb5,
0xbf,0x4c,0xa0,0x34,0xa0,0x78,0x00,0x28,0x03,0xd0,0x0d,0xf0,0x45,0xfd,0x00,0x28,
0x3b,0xd1,0xbb,0x4a,0xc2,0x49,0xd0,0x7c,0x00,0x25,0xc0,0x4b,0x40,0x39,0x00,0x28,
0x0a,0xd1,0xa7,0x6b,0x10,0x46,0x40,0x30,0x20,0x37,0x86,0x7d,0x3f,0x7a,0xbe,0x42,
0x07,0xd3,0x00,0x7c,0x00,0x06,0x04,0xd5,0xb1,0x48,0x60,0x30,0x40,0x78,0x00,0x28,
0x24,0xd0,0x58,0x78,0x55,0x28,0x05,0xd0,0x18,0x78,0x55,0x28,0x1d,0xd1,0x50,0x7b,
0x06,0x28,0x1a,0xd1,0x1d,0x70,0x5d,0x70,0x0d,0x70,0xab,0x20,0x88,0x71,0x4d,0x71,
0xad,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,0x20,0x31,0x8a,0x79,0x31,0x46,
0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,0xfd,0xff,0x28,0x78,0xa1,0x6b,
0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,0xf8,0xbd,0x55,0x20,0x18,0x70,
0x00,0x20,0xa4,0x4a,0x0b,0x78,0xab,0x2b,0x03,0xd0,0x40,0x1c,0x80,0xb2,0x90,0x42,
0xf8,0xd3,0xe1,0x63,0x0d,0xf0,0xfc,0xfc,0x9a,0x4e,0x35,0x70,0xff,0xf7,0x26,0xff,
0x30,0x78,0x00,0x28,0xe9,0xd1,0x98,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,
0x20,0x31,0x8a,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,
0xd2,0xff,0x28,0x78,0xa1,0x6b,0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,
0xf8,0xbd,0xf8,0xb5,0x86,0x48,0xa0,0x30,0x80,0x6b,0x05,0x79,0xc0,0x78,0x00,0x90,
0x00,0x26,0x36,0xe0,0x00,0x20,0x00,0x21,0x32,0x46,0x6a,0x43,0x53,0x00,0x83,0x4a,
0x9b,0x18,0x5f,0x22,0xd2,0x00,0x9a,0x18,0x14,0x46,0x00,0x23,0x07,0xe0,0x17,0x88,
0x38,0x18,0x00,0xb2,0x49,0x1c,0x09,0xb2,0x92,0x1c,0x5b,0x1c,0xdb,0xb2,0xab,0x42,
0xf5,0xd3,0x00,0xf0,0x26,0xfc,0x00,0xb2,0x00,0x21,0x16,0xe0,0x00,0x28,0x0b,0xdd,
0x00,0x22,0xa2,0x5e,0x82,0x42,0x02,0xdb,0x12,0x1a,0x22,0x80,0x0a,0xe0,0x00,0x2a,
0x08,0xdd,0x01,0x22,0x22,0x80,0x05,0xe0,0x00,0x22,0xa2,0x5e,0x82,0x42,0x01,0xdc,
0x12,0x1a,0x22,0x80,0xa4,0x1c,0x49,0x1c,0xc9,0xb2,0xa9,0x42,0xe6,0xd3,0x76,0x1c,
0xf6,0xb2,0x00,0x98,0x86,0x42,0xc5,0xd3,0xf8,0xbd,0x30,0xb5,0x6a,0x48,0x20,0x38,
0x84,0x78,0x63,0x49,0x01,0x22,0xa0,0x31,0x89,0x6b,0x13,0x46,0x20,0x31,0x8d,0x79,
0xab,0x40,0x9c,0x43,0x84,0x70,0x44,0x78,0x8d,0x79,0x13,0x46,0xab,0x40,0x9c,0x43,
0x44,0x70,0x03,0x78,0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x70,0x03,0x79,
0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8d,0x79,0x14,0x46,
0xac,0x40,0xa3,0x43,0x43,0x71,0xc3,0x78,0x89,0x79,0x8a,0x40,0x13,0x43,0xc3,0x70,
0x30,0xbd,0x70,0xb5,0x4e,0x4d,0x60,0x35,0x68,0x78,0x00,0x28,0x27,0xd0,0x2c,0x46,
0x40,0x34,0xa0,0x6b,0xff,0x30,0xc1,0x30,0x80,0x6b,0x00,0x28,0x1f,0xd0,0x0d,0xf0,
0x63,0xfc,0x00,0x21,0xff,0x28,0x1b,0xd1,0xa0,0x6b,0x60,0x30,0x82,0x7a,0x44,0x48,
0x82,0x73,0x02,0x22,0x03,0x46,0x20,0x33,0x5a,0x70,0x41,0x73,0x00,0x20,0x0f,0x22,
0x17,0x25,0x42,0x4b,0xad,0x01,0x06,0xe0,0x24,0x21,0x41,0x43,0xc9,0x18,0x49,0x19,
0x8a,0x73,0x40,0x1c,0xc0,0xb2,0xa1,0x6b,0xc9,0x7a,0x81,0x42,0xf4,0xd8,0x70,0xbd,
0xfe,0x28,0xfc,0xd0,0x00,0x28,0xfa,0xd0,0xa2,0x6b,0xff,0x32,0xc1,0x32,0x93,0x6b,
0x40,0x1e,0x01,0x22,0x82,0x40,0x13,0x42,0xf1,0xd0,0x69,0x70,0x70,0xbd,0x37,0x49,
0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x35,0x4a,0xd0,0x72,0x08,0x72,
0x70,0x47,0xf8,0xb5,0x34,0x4a,0x32,0x4b,0xd8,0x7a,0x00,0x28,0x4f,0xd0,0x00,0x21,
0x00,0x25,0x32,0x24,0x26,0x48,0xa0,0x30,0x00,0x90,0x86,0x6b,0xf0,0x79,0x00,0x28,
0x00,0xd0,0x28,0x24,0x00,0x20,0x08,0xe0,0x00,0x27,0xd7,0x5f,0x0a,0x2f,0x01,0xdb,
0x49,0x1c,0x89,0xb2,0x92,0x1c,0x40,0x1c,0x80,0xb2,0xa0,0x42,0xf4,0xd3,0x23,0x4a,
0x0a,0x29,0x08,0xd2,0x06,0x29,0x02,0xd3,0xd8,0x7a,0x40,0x06,0x03,0xd1,0x18,0x48,
0xc0,0x7b,0x01,0x28,0x08,0xd9,0xd8,0x7a,0x80,0x28,0x00,0xd1,0x01,0x25,0x81,0x20,
0xd8,0x72,0x14,0x20,0x90,0x70,0x0b,0xe0,0x90,0x78,0x00,0x28,0x02,0xd0,0x40,0x1e,
0x90,0x70,0x05,0xe0,0xd8,0x7a,0x81,0x28,0x00,0xd1,0x01,0x25,0x80,0x20,0xd8,0x72,
0x00,0x2d,0x14,0xd0,0x10,0x4c,0x20,0x3c,0x20,0x78,0x20,0x36,0xb2,0x79,0x01,0x25,
0x29,0x46,0x91,0x40,0x08,0x43,0x20,0x70,0x28,0x20,0x0c,0xf0,0xc4,0xfe,0x20,0x78,
0x00,0x99,0x89,0x6b,0x20,0x31,0x89,0x79,0x8d,0x40,0xa8,0x43,0x20,0x70,0xf8,0xbd,
0x10,0x0a,0x00,0x20,0x02,0x00,0x00,0x20,0x06,0x00,0x00,0x20,0x70,0x03,0x00,0x20,
0x04,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x10,0x00,0x40,0x5c,0x00,0x00,0x20,
0x48,0x00,0x00,0x20,0x7c,0x92,0x00,0x00,0x68,0x06,0x00,0x20,0xf8,0xb5,0x0d,0x46,
0x07,0x9f,0x06,0x9e,0x11,0x46,0xfe,0x4a,0x90,0x6b,0x40,0x30,0x00,0x2d,0x07,0xd0,
0x00,0x2e,0x02,0xd0,0x1e,0x24,0x04,0x57,0x09,0xe0,0x1d,0x24,0x04,0x57,0x06,0xe0,
0x00,0x2f,0x02,0xd0,0x1c,0x24,0x04,0x57,0x01,0xe0,0x1b,0x24,0x04,0x57,0x00,0x20,
0x18,0x5e,0x00,0x28,0x00,0xda,0x40,0x42,0xc0,0x01,0x0b,0x46,0x00,0x21,0x52,0x68,
0x59,0x5e,0x90,0x47,0x7f,0x28,0x00,0xdd,0x7f,0x20,0xff,0x21,0x01,0x31,0x00,0x2e,
0x01,0xd0,0x00,0x2d,0x03,0xd1,0x00,0x2f,0x02,0xd0,0x00,0x2d,0x00,0xd1,0x08,0x1a,
0x00,0x19,0x88,0x42,0x01,0xdd,0x08,0x46,0xb1,0xe7,0x00,0x28,0xaf,0xda,0x00,0x20,
0xad,0xe7,0xf0,0xb5,0x87,0xb0,0xe3,0x4e,0xe1,0x48,0x80,0x6b,0x01,0x79,0x03,0x91,
0xc0,0x78,0x02,0x90,0x00,0x25,0xde,0x48,0xa0,0x38,0x06,0x90,0x39,0xe0,0x68,0x00,
0x34,0x5e,0x80,0x19,0x14,0x27,0x05,0x90,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,
0x10,0xda,0x78,0x00,0xa0,0x42,0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,
0x00,0xf0,0xc7,0xfa,0xc0,0x19,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,
0x05,0x99,0x88,0x82,0x05,0x98,0xff,0x30,0x01,0x30,0x18,0x24,0x04,0x90,0x04,0x5f,
0x04,0x27,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,0x10,0xda,0x78,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0xaa,0xfa,0xc0,0x19,
0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x04,0x99,0x88,0x80,0x6d,0x1c,
0xed,0xb2,0x03,0x98,0x85,0x42,0xc2,0xd3,0x00,0x27,0x3a,0xe0,0x38,0x46,0x14,0x21,
0x48,0x43,0x34,0x5e,0x85,0x19,0x02,0x20,0x28,0x5e,0x01,0x90,0x06,0x98,0x80,0x7a,
0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,0x0d,0xda,0x21,0x11,0x10,0x20,
0x41,0x1a,0x20,0x46,0x00,0xf0,0x85,0xfa,0x01,0x99,0x40,0x18,0x00,0xb2,0xa0,0x42,
0x01,0xdb,0x64,0x1e,0x20,0xb2,0x68,0x80,0x12,0x24,0x2c,0x5f,0x10,0x20,0x28,0x5e,
0x01,0x90,0x06,0x98,0x80,0x7a,0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0x6a,0xfa,0x01,0x99,
0x40,0x18,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x28,0x82,0x7f,0x1c,
0xff,0xb2,0x02,0x98,0x87,0x42,0xc1,0xd3,0x07,0xb0,0xf0,0xbd,0x70,0x47,0xf8,0xb5,
0x9d,0x4c,0xa3,0x88,0xcf,0x20,0x03,0x40,0x1d,0x21,0x9c,0x48,0x89,0x01,0x42,0x18,
0x35,0x21,0x49,0x01,0x45,0x18,0x0d,0x21,0xc9,0x01,0x40,0x18,0x98,0x4f,0xd6,0x6b,
0x81,0x6b,0x01,0x2b,0x1a,0xd0,0x05,0x2b,0x09,0xd0,0x00,0x22,0x09,0x2b,0x5b,0xd1,
0x6a,0x75,0xe2,0x88,0xd2,0x07,0x02,0xd1,0x10,0x20,0xa0,0x80,0xff,0xe6,0xb9,0x42,
0x02,0xd1,0xa5,0x20,0xe0,0x80,0x06,0xe0,0x72,0x5c,0xe2,0x80,0x49,0x1c,0x81,0x63,
0x51,0x29,0x00,0xd3,0x87,0x63,0x14,0x20,0xa0,0x80,0xf0,0xe6,0x6b,0x7d,0x02,0x2b,
0x32,0xd2,0x00,0x2b,0x04,0xd1,0x87,0x49,0xd1,0x63,0xe1,0x88,0x81,0x63,0x35,0xe0,
0xe3,0x88,0x09,0x02,0xc9,0x18,0x8e,0xb2,0xd1,0x21,0x09,0x02,0x71,0x1a,0x20,0x29,
0x10,0xd8,0xf0,0xb2,0x08,0xf0,0x20,0xf8,0x7f,0x48,0x86,0x42,0x26,0xd1,0x01,0x20,
0x0d,0xf0,0xf2,0xfa,0x76,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x7b,0x49,0x01,0x20,
0x08,0x72,0x1b,0xe0,0x7a,0x49,0x71,0x18,0x23,0x29,0x04,0xd8,0x81,0x63,0xef,0x20,
0x40,0x01,0xd0,0x63,0x12,0xe0,0x0d,0x21,0x09,0x03,0x71,0x1a,0x50,0x29,0x01,0xd8,
0x81,0x63,0x0b,0xe0,0x87,0x63,0x09,0xe0,0xb9,0x42,0x07,0xd0,0xe2,0x88,0x72,0x54,
0x81,0x6b,0x49,0x1c,0x81,0x63,0x51,0x29,0x00,0xd3,0x87,0x63,0x68,0x7d,0x40,0x1c,
0x68,0x75,0x10,0x20,0xa0,0x80,0xaa,0xe6,0xa2,0x80,0xa8,0xe6,0xf7,0xb5,0xa0,0xb0,
0x0d,0x46,0x00,0x20,0x0f,0x90,0x0e,0x90,0x5d,0x48,0x1f,0x90,0x80,0x6b,0x04,0x79,
0x81,0x79,0x49,0x1e,0xc9,0xb2,0x0d,0x91,0x00,0x21,0x0c,0x91,0x0b,0x91,0x0a,0x91,
0x41,0x78,0x49,0x00,0x18,0x91,0xb2,0x21,0x41,0x5e,0x17,0x91,0x54,0x48,0x91,0x22,
0xa0,0x38,0xc1,0x7a,0x55,0x48,0x92,0x00,0x82,0x18,0x1e,0x92,0x02,0x46,0x28,0x32,
0xdc,0x30,0x1d,0x92,0x1c,0x90,0x01,0x29,0x18,0xd1,0x28,0x46,0x1c,0x99,0x60,0x43,
0x46,0x18,0x1e,0x99,0x42,0x18,0x1d,0x99,0x47,0x18,0x20,0x98,0x00,0x21,0x0b,0xe0,
0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,0x3b,0x70,0x76,0x1c,0x80,0x1c,
0x52,0x1c,0x7f,0x1c,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xf1,0xdb,0x00,0x20,0x12,0x90,
0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xa8,0x84,0x46,0x28,0x46,0x60,0x43,
0x1c,0x99,0x1b,0x90,0x47,0x18,0x1a,0x97,0x1f,0x98,0xc2,0x69,0x1f,0x98,0xc3,0x6a,
0x00,0x21,0x23,0xe0,0x02,0x98,0x3e,0x78,0x00,0x88,0x80,0x1b,0x00,0xb2,0x66,0x46,
0x30,0x80,0xd6,0x07,0x04,0xd0,0x14,0x9e,0x80,0x19,0x00,0xb2,0x14,0x90,0x0a,0xe0,
0xde,0x07,0x04,0xd0,0x13,0x9e,0x80,0x19,0x00,0xb2,0x13,0x90,0x03,0xe0,0x12,0x9e,
0x80,0x19,0x00,0xb2,0x12,0x90,0x60,0x46,0x80,0x1c,0x84,0x46,0x02,0x98,0x80,0x1c,
0x02,0x90,0x7f,0x1c,0x52,0x08,0x5b,0x08,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xd9,0xdb,
0x23,0x4e,0x20,0x36,0x31,0x7d,0x00,0x29,0x05,0xdd,0x1f,0x98,0x42,0x68,0x14,0x98,
0x90,0x47,0x00,0xb2,0x14,0x90,0x71,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,
0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x13,0x98,0x90,0x47,
0x00,0xb2,0x13,0x90,0xb1,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,0x12,0x98,
0x40,0x10,0x12,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x12,0x98,0x90,0x47,0x00,0xb2,
0x12,0x90,0x20,0x98,0x05,0xa9,0x8c,0x46,0x1a,0x99,0x04,0x91,0x1f,0x99,0xc9,0x69,
0x11,0x91,0x1f,0x99,0xc9,0x6a,0x10,0x91,0x1f,0x99,0x8a,0x6b,0xd1,0x7c,0xc9,0x07,
0x20,0xd0,0x1f,0x99,0x09,0x6a,0x1f,0x9b,0x5b,0x6a,0x0f,0x93,0x1f,0x9b,0x9b,0x6a,
0x0e,0x93,0x13,0x7d,0x0c,0x93,0x53,0x7d,0x0b,0x93,0x92,0x7d,0x0a,0x92,0x12,0xe0,
0xb0,0x0a,0x00,0x20,0x68,0x06,0x00,0x20,0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,
0xff,0xff,0x00,0x00,0x08,0x00,0x00,0x20,0x0e,0xd1,0x00,0x00,0x5c,0x00,0x00,0x20,
0x10,0x2e,0xff,0xff,0x00,0x21,0x1d,0x9b,0x1b,0x9a,0xd2,0x18,0x03,0x92,0x00,0x22,
0x19,0x92,0x9a,0xe0,0x11,0x9a,0xd2,0x07,0x01,0xd0,0x14,0x9a,0x05,0xe0,0x10,0x9a,
0xd2,0x07,0x01,0xd0,0x13,0x9a,0x00,0xe0,0x12,0x9a,0x00,0x2a,0x0c,0xdd,0x66,0x46,
0x00,0x23,0xf3,0x5e,0x00,0x2b,0x07,0xdd,0x93,0x42,0x00,0xda,0x1a,0x46,0x03,0x88,
0x9a,0x1a,0x13,0xb2,0x03,0x80,0x32,0xe0,0x66,0x46,0x00,0x23,0xf3,0x5e,0x00,0x2b,
0x2b,0xda,0x00,0x2a,0x05,0xda,0x93,0x42,0x00,0xdd,0x1a,0x46,0x03,0x88,0x9a,0x1a,
0x02,0x80,0x00,0x23,0xc3,0x5e,0xca,0x07,0x21,0xd0,0x04,0x9a,0x12,0x78,0x17,0x46,
0xd2,0x1a,0x12,0xb2,0x0e,0x9e,0xf6,0x07,0x06,0xd0,0x0a,0x9e,0xb2,0x42,0x16,0xdd,
0x0a,0x9e,0xba,0x1b,0x02,0x80,0x12,0xe0,0x0f,0x9e,0xf6,0x07,0x06,0xd0,0x0b,0x9e,
0xb2,0x42,0x0c,0xdd,0x0b,0x9e,0xba,0x1b,0x02,0x80,0x08,0xe0,0x0c,0x9e,0xb2,0x42,
0x05,0xdd,0x0c,0x9e,0xba,0x1b,0x02,0x80,0x01,0xe0,0x00,0x23,0xc3,0x5e,0x03,0x9a,
0x12,0x78,0xd2,0x1a,0x12,0xb2,0x18,0x9b,0x9a,0x42,0x02,0xda,0x17,0x9b,0x9a,0x42,
0x26,0xdc,0x01,0x22,0xaa,0x40,0xd3,0x17,0x22,0x9e,0x01,0x93,0x00,0x92,0x37,0x68,
0x76,0x68,0x3a,0x43,0x33,0x43,0x22,0x9e,0x0c,0xc6,0x00,0x2d,0x09,0xd0,0x6f,0x1e,
0x01,0x26,0xbe,0x40,0xf7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9a,0x1f,0x43,
0xc0,0xc2,0x0d,0x9a,0x95,0x42,0x0b,0xd2,0x6b,0x1c,0x01,0x22,0x9a,0x40,0xd3,0x17,
0x22,0x9f,0x01,0x93,0x00,0x92,0xc0,0xcf,0x32,0x43,0x22,0x9e,0x3b,0x43,0x0c,0xc6,
0x03,0x9a,0x52,0x1c,0x03,0x92,0x80,0x1c,0x04,0x9a,0x52,0x1c,0x04,0x92,0x62,0x46,
0x92,0x1c,0x94,0x46,0x11,0x9a,0x52,0x08,0x11,0x92,0x10,0x9a,0x52,0x08,0x10,0x92,
0x00,0x29,0x06,0xd0,0x49,0x08,0x0f,0x9a,0x52,0x08,0x0f,0x92,0x0e,0x9a,0x52,0x08,
0x0e,0x92,0x19,0x9a,0x52,0x1c,0x52,0xb2,0x19,0x92,0x19,0x9a,0xa2,0x42,0x00,0xda,
0x60,0xe7,0x1a,0x9d,0x1e,0x99,0x1b,0x98,0x47,0x18,0x20,0x9e,0x1f,0x98,0x80,0x6b,
0x80,0x30,0x00,0x7e,0x01,0x28,0x1c,0xd1,0x00,0x23,0x16,0xe0,0x00,0x22,0xb2,0x5e,
0x28,0x78,0x39,0x78,0x38,0x70,0x2a,0x70,0x88,0x42,0x02,0xdd,0x84,0x46,0x08,0x46,
0x61,0x46,0x82,0x42,0x01,0xdc,0x30,0x80,0x02,0xe0,0x8a,0x42,0x00,0xdb,0x31,0x80,
0x6d,0x1c,0x7f,0x1c,0xb6,0x1c,0x5b,0x1c,0x5b,0xb2,0xa3,0x42,0xe6,0xdb,0x23,0xb0,
0xf0,0xbd,0x02,0x28,0x25,0xd1,0x00,0x20,0x19,0x90,0x1e,0xe0,0x00,0x21,0x71,0x5e,
0x16,0x91,0x28,0x78,0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,
0x1f,0x99,0x4a,0x68,0x03,0x21,0x90,0x47,0x00,0xb2,0x38,0x70,0x16,0x99,0x29,0x70,
0x15,0x99,0x4a,0x00,0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6d,0x1c,0x7f,0x1c,
0xb6,0x1c,0x19,0x98,0x40,0x1c,0x40,0xb2,0x19,0x90,0x19,0x98,0xa0,0x42,0xdd,0xdb,
0xd5,0xe7,0x00,0x20,0x08,0xe0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6d,0x1c,
0x7f,0x1c,0xb6,0x1c,0x40,0x1c,0x40,0xb2,0xa0,0x42,0xf4,0xdb,0xc7,0xe7,0x00,0x22,
0x03,0x09,0x8b,0x42,0x2c,0xd3,0x03,0x0a,0x8b,0x42,0x11,0xd3,0x00,0x23,0x9c,0x46,
0x4e,0xe0,0x03,0x46,0x0b,0x43,0x3c,0xd4,0x00,0x22,0x43,0x08,0x8b,0x42,0x31,0xd3,
0x03,0x09,0x8b,0x42,0x1c,0xd3,0x03,0x0a,0x8b,0x42,0x01,0xd3,0x94,0x46,0x3f,0xe0,
0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,0x52,0x41,0x83,0x09,0x8b,0x42,
0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,0x8b,0x42,0x01,0xd3,0x4b,0x01,
0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,0x0b,0x01,0xc0,0x1a,0x52,0x41,
0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,0x52,0x41,0x83,0x08,0x8b,0x42,
0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,
0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,
0x5d,0xe0,0xca,0x0f,0x00,0xd0,0x49,0x42,0x03,0x10,0x00,0xd3,0x40,0x42,0x53,0x40,
0x00,0x22,0x9c,0x46,0x03,0x09,0x8b,0x42,0x2d,0xd3,0x03,0x0a,0x8b,0x42,0x12,0xd3,
0xfc,0x22,0x89,0x01,0x12,0xba,0x03,0x0a,0x8b,0x42,0x0c,0xd3,0x89,0x01,0x92,0x11,
0x8b,0x42,0x08,0xd3,0x89,0x01,0x92,0x11,0x8b,0x42,0x04,0xd3,0x89,0x01,0x3a,0xd0,
0x92,0x11,0x00,0xe0,0x89,0x09,0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,
0x52,0x41,0x83,0x09,0x8b,0x42,0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,
0x8b,0x42,0x01,0xd3,0x4b,0x01,0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,
0x0b,0x01,0xc0,0x1a,0x52,0x41,0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,
0x52,0x41,0x83,0x08,0x8b,0x42,0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0xd9,0xd2,
0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,
0x01,0x46,0x63,0x46,0x52,0x41,0x5b,0x10,0x10,0x46,0x01,0xd3,0x40,0x42,0x00,0x2b,
0x00,0xd5,0x49,0x42,0x70,0x47,0x63,0x46,0x5b,0x10,0x00,0xd3,0x40,0x42,0x01,0xb5,
0x00,0x20,0xc0,0x46,0xc0,0x46,0x02,0xbd,0x75,0x46,0x00,0xf0,0x23,0xf8,0xae,0x46,
0x05,0x00,0x69,0x46,0x53,0x46,0xc0,0x08,0xc0,0x00,0x85,0x46,0x18,0xb0,0x20,0xb5,
0xff,0xf7,0xfa,0xf9,0x60,0xbc,0x00,0x27,0x49,0x08,0xb6,0x46,0x00,0x26,0xc0,0xc5,
0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0x40,0x3d,
0x49,0x00,0x8d,0x46,0x70,0x47,0x04,0x46,0xc0,0x46,0xc0,0x46,0x20,0x46,0xff,0xf7,
0xa6,0xf8,0x00,0x00,0x00,0x48,0x70,0x47,0x68,0x00,0x00,0x20,0x02,0x48,0x03,0x49,
0xab,0xbe,0x70,0x47,0x0d,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,
0x70,0x47,0x00,0x00,0x25,0x0c,0x28,0x0f,0x0a,0x0a,0x0f,0x00,0x02,0x02,0x60,0x06,
0x00,0x00,0x01,0x01,0x08,0x08,0x10,0x85,0x1d,0x0e,0x07,0x03,0x0a,0x1e,0x64,0x50,
0xa0,0x50,0x08,0x02,0x16,0x01,0x00,0x00,0x10,0x0a,0x02,0x00,0x06,0x04,0x14,0x14,
0x0a,0x06,0x28,0x1e,0x3c,0x64,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x08,0x04,
0x02,0x01,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x04,
0x08,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x01,0x01,0x01,0xd8,0xe2,0xf6,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x02,0x02,0x02,0x06,0x0d,0x10,0x00,0x14,0x0a,
0x01,0x02,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x1e,0x1e,0x3c,0x00,0x14,
0xc8,0x14,0x00,0x03,0x84,0x04,0x02,0x02,0x5a,0x00,0x5a,0x01,0x02,0x08,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0xb4,0x00,0x09,0x00,0x90,0x01,0x02,0x01,
0x68,0x01,0x20,0x00,0x00,0x00,0xf4,0xff,0x33,0x01,0x03,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x44,0x44,0x00,0x00,0x25,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,
0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x21,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xff,0xff,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0xff,0x00,0xff,0xff,0xff,0xff,0x00,
0xff,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0x63,0x65,0x07,0x56,0xaa,0x78,0xa1,0x21,0x00,
0x00,0x00,0x00,0x00,0x21,0xaa,0x43,0xaa,0x56,0xaa,0x81,0xa7,0x21,0x00,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xa1,
0x71,0x06,0x87,0xaa,0x23,0xaa,0x87,0xaa,0x32,0xaa,0x00,0x00,0x87,0xaa,0x23,0xaa,
0x00,0x00,0x00,0x00,0x00,0x00,0x65,0xaa,0x87,0xaa,0x51,0xa6,0x47,0x06,0x45,0x00,
0x28,0xa1,0x76,0xaa,0x12,0xa8,0x00,0x00,0x00,0x00,0x34,0xaa,0x56,0xaa,0x78,0xa1,
0x21,0x00,0x00,0x00,0x67,0xaa,0x23,0xaa,0xa1,0xaa,0x87,0xaa,0x32,0xaa,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0xa1,0xaa,0x21,0xaa,0x56,0xaa,0x81,0xa7,0x21,0xaa,
0x00,0x00,0x34,0xaa,0x65,0xaa,0x87,0xaa,0x51,0x46,0x47,0x03,0xa8,0xaa,0x21,0xaa,
0x43,0xaa,0x56,0xaa,0x81,0xa7,0x34,0xaa,0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0xa3,
0x23,0xa4,0x21,0xa8,0x87,0xa6,0x32,0xa4,0x78,0x21,0x76,0xa5,0x23,0xa1,0x45,0x63,
0x65,0x07,0x00,0x00,0x01,0x00,0x00,0xff,0xff,0x00,0x00,0x01,0x02,0x02,0x02,0x01,
0x02,0x02,0x01,0x01,0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,
0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0xfc,0x1d,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x00,0x00,0x98,0x00,0x00,0x00,
0x04,0x1e,0x00,0x00,0x08,0x00,0x00,0x20,0xe8,0x0a,0x00,0x00,0xb4,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0f,0x00,0x0a,0x00,0x00,0x04,0x00,0x00,0xdc,0x5f,0xca,0xca,
0x99,0x1b,0x1a,0x00,0xb8,0x42,0xa8,0x00,0x02,0x00,0x01,0x02,0xda,0xe6,0xb3,0x1f
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
static unsigned char cst3xxse_fw[] = {
0x6C,0x03,0x00,0x20,0x7D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF9,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x1B,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4B,0x01,0x00,0x00,0x00,0xF0,0x02,0xF8,0x00,0xF0,0x40,0xF8,0x0C,0xA0,0x30,0xC8,
0x08,0x38,0x24,0x18,0x2D,0x18,0xA2,0x46,0x67,0x1E,0xAB,0x46,0x54,0x46,0x5D,0x46,
0xAC,0x42,0x01,0xD1,0x00,0xF0,0x32,0xF8,0x7E,0x46,0x0F,0x3E,0x0F,0xCC,0xB6,0x46,
0x01,0x26,0x33,0x42,0x00,0xD0,0xFB,0x1A,0xA2,0x46,0xAB,0x46,0x33,0x43,0x18,0x47,
0xDC,0x15,0x00,0x00,0xFC,0x15,0x00,0x00,0x10,0x3A,0x02,0xD3,0x78,0xC8,0x78,0xC1,
0xFA,0xD8,0x52,0x07,0x01,0xD3,0x30,0xC8,0x30,0xC1,0x01,0xD5,0x04,0x68,0x0C,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3A,0x01,0xD3,
0x78,0xC1,0xFB,0xD8,0x52,0x07,0x00,0xD3,0x30,0xC1,0x00,0xD5,0x0B,0x60,0x70,0x47,
0x1F,0xB5,0xC0,0x46,0xC0,0x46,0x1F,0xBD,0x10,0xB5,0x10,0xBD,0x01,0xF0,0xEB,0xF8,
0x11,0x46,0xFF,0xF7,0xF5,0xFF,0x00,0xF0,0x12,0xF9,0x01,0xF0,0x03,0xF9,0xFF,0xF7,
0xF3,0xFF,0x01,0xF0,0x09,0xF9,0x00,0x00,0xFE,0xE7,0x1D,0x49,0x48,0x88,0x48,0x80,
0x1C,0x48,0x02,0x7C,0xFF,0x2A,0x02,0xD2,0x02,0x7C,0x52,0x1C,0x02,0x74,0x00,0x7C,
0x18,0x28,0x01,0xD2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8A,0x79,0x15,0x48,
0x20,0x30,0x80,0x6B,0x43,0x7A,0x9A,0x43,0x8A,0x71,0x40,0x7A,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xB5,0x0F,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0D,0xF0,0xEC,0xFE,0x10,0xBD,0x10,0xB5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xD5,0x02,0x78,0x80,0x21,0x0A,0x43,0x02,0x70,0x07,0x4A,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xBD,0x00,0xF0,0x8A,0xFB,0x10,0xBD,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0A,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xB5,0x6A,0x48,0x6A,0x4C,0x80,0x6B,0x01,0x46,0x80,0x30,0x03,0x7F,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2B,0x06,0xD0,0x1B,0x02,0x13,0x43,0x63,0x81,0xFF,0x22,
0x23,0x32,0x62,0x80,0x03,0xE0,0x62,0x81,0xFF,0x22,0x03,0x32,0x62,0x80,0xA0,0x31,
0x89,0x8A,0xE1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7A,
0xC0,0x79,0x09,0x02,0x01,0x43,0x5A,0x48,0x20,0x38,0xC1,0x81,0x10,0xBD,0x10,0xB5,
0x56,0x48,0x58,0x49,0x81,0x63,0x01,0x46,0x57,0x4A,0x40,0x39,0xCA,0x61,0x57,0x4A,
0x0A,0x62,0x57,0x4A,0x4A,0x62,0x57,0x4A,0x8A,0x62,0x57,0x4A,0xCA,0x62,0x57,0x49,
0xC1,0x63,0x57,0x49,0x41,0x60,0x57,0x49,0x81,0x60,0x57,0x49,0xC1,0x60,0x57,0x49,
0x01,0x61,0x57,0x49,0x41,0x61,0x57,0x49,0x00,0x20,0x08,0x80,0x48,0x49,0x01,0x20,
0x60,0x39,0x88,0x75,0x50,0x21,0x4D,0x48,0x00,0xF0,0x9C,0xFF,0x0D,0xF0,0xE4,0xFE,
0x0D,0xF0,0xDE,0xFE,0x3C,0x20,0x0D,0xF0,0xD7,0xFE,0x0D,0xF0,0xD1,0xFE,0x0D,0xF0,
0xCB,0xFE,0x00,0xF0,0x60,0xF9,0x0D,0xF0,0xC3,0xFE,0x00,0xF0,0xEA,0xF9,0x10,0xBD,
0x70,0xB5,0x3A,0x4C,0x20,0x78,0x01,0x25,0x28,0x43,0x20,0x70,0x46,0x4E,0x5A,0xE0,
0x0D,0xF0,0xB2,0xFE,0x30,0x7A,0x00,0x28,0x03,0xD0,0x34,0x49,0x18,0x20,0x20,0x39,
0x08,0x74,0x0D,0xF0,0xA5,0xFE,0x20,0x78,0xC0,0x07,0x01,0xD0,0x55,0x20,0x70,0x70,
0x0D,0xF0,0x9A,0xFE,0xA0,0x6B,0x20,0x30,0x40,0x78,0x00,0x28,0x01,0xD0,0x0D,0xF0,
0x8F,0xFE,0xA0,0x6B,0x21,0x21,0x09,0x5C,0x09,0x09,0x06,0xD0,0x27,0x49,0x60,0x30,
0xA0,0x39,0x89,0x7B,0xC0,0x7A,0x81,0x42,0x31,0xD1,0x0D,0xF0,0x7D,0xFE,0x0D,0xF0,
0x77,0xFE,0x22,0x49,0x02,0x20,0x80,0x39,0x48,0x76,0x0D,0xF0,0x6D,0xFE,0x00,0xF0,
0xFA,0xF8,0x00,0xF0,0x45,0xFA,0xA0,0x78,0x00,0x28,0x02,0xD0,0xA0,0x78,0x02,0x28,
0x0E,0xD1,0x1A,0x48,0x40,0x38,0x40,0x78,0x00,0x28,0x09,0xD1,0x18,0x4A,0x80,0x3A,
0x10,0x78,0xA1,0x6B,0x20,0x31,0x8B,0x79,0x29,0x46,0x99,0x40,0x88,0x43,0x10,0x70,
0x0D,0xF0,0x4E,0xFE,0x0D,0xF0,0x44,0xFE,0x0D,0xF0,0x3E,0xFE,0x1F,0x48,0x0D,0xF0,
0x37,0xFE,0x0D,0xF0,0x31,0xFE,0x00,0xF0,0x62,0xFE,0x00,0xF0,0x28,0xF9,0x00,0xF0,
0x8F,0xF8,0x00,0xF0,0x59,0xF8,0xA0,0x78,0x06,0x28,0xA1,0xD1,0x70,0xBD,0x10,0xB5,
0xFF,0xF7,0x5D,0xFF,0x05,0x4C,0xA0,0x78,0x00,0x28,0x04,0xD0,0x06,0x28,0xFA,0xD1,
0x0D,0xF0,0x02,0xFE,0xF7,0xE7,0xFF,0xF7,0x8B,0xFF,0xF4,0xE7,0xB0,0x0A,0x00,0x20,
0x80,0x10,0x00,0x40,0x20,0x13,0x00,0x00,0x52,0x15,0x00,0x00,0x64,0x15,0x00,0x00,
0x40,0x16,0x00,0x00,0x20,0x15,0x00,0x00,0x40,0x15,0x00,0x00,0x04,0x00,0x00,0x20,
0xA5,0x03,0x00,0x00,0xAD,0x03,0x00,0x00,0xD7,0x06,0x00,0x00,0xE1,0x09,0x00,0x00,
0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x58,0x00,0x00,0x20,0xA7,0x04,0x00,0x00,
0x0B,0x49,0x0A,0x48,0xC8,0x60,0xBF,0xF3,0x40,0x8F,0xFE,0xE7,0x10,0xB5,0xFF,0xF7,
0xC6,0xFF,0x10,0xBD,0x0F,0xB5,0x00,0x90,0x01,0x91,0x01,0x98,0x02,0x90,0x00,0x98,
0x03,0x90,0x68,0x46,0x0F,0xC8,0x04,0xB0,0x00,0xBD,0x00,0x00,0x04,0x00,0xFA,0x05,
0x00,0xED,0x00,0xE0,0x10,0xB5,0x00,0xF0,0xE3,0xFE,0x10,0xBD,0x10,0xB5,0x00,0xF0,
0xDF,0xFE,0x08,0x46,0x10,0xBD,0x00,0x00,0x30,0xB5,0xFF,0x48,0x00,0xE0,0x30,0xBF,
0x01,0x7C,0x00,0x29,0xFB,0xD0,0xFC,0x48,0x20,0x30,0x01,0x78,0x09,0x07,0x15,0xD5,
0xFA,0x4B,0x01,0x22,0x1A,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,
0x01,0x78,0xEF,0x24,0x21,0x40,0x01,0x70,0x00,0xE0,0x30,0xBF,0x01,0x78,0xC9,0x06,
0xFB,0xD5,0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xF0,0x4A,0x50,0x68,
0x40,0x1C,0x50,0x60,0xEF,0x49,0x03,0x0E,0x8B,0x72,0x03,0x0C,0x4B,0x72,0x03,0x0A,
0x0B,0x72,0xC8,0x71,0x10,0x7A,0x00,0x28,0x01,0xD0,0x30,0xBF,0xFD,0xE7,0x30,0xBD,
0x70,0xB5,0xE5,0x4C,0x20,0x34,0xA0,0x78,0x00,0x28,0x03,0xD0,0x0D,0xF0,0x84,0xFD,
0x00,0x28,0x37,0xD1,0xE0,0x48,0x80,0x38,0xC0,0x7C,0x00,0x28,0x0A,0xD1,0xDE,0x48,
0xA1,0x6B,0x40,0x38,0x20,0x31,0x82,0x7D,0x09,0x7A,0x8A,0x42,0x2A,0xD3,0x00,0x7C,
0x00,0x06,0x27,0xD5,0xD8,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x22,0xD1,0xD8,0x49,
0x55,0x20,0x08,0x70,0xD5,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x00,0x20,0xD1,0x4A,0xD2,0x49,
0x40,0x3A,0x13,0x78,0xAB,0x2B,0x03,0xD0,0x40,0x1C,0x80,0xB2,0x88,0x42,0xF8,0xD3,
0xE2,0x63,0x0D,0xF0,0x55,0xFD,0x28,0x78,0xA1,0x6B,0x20,0x31,0x89,0x79,0x8E,0x40,
0x30,0x43,0x28,0x70,0x70,0xBD,0x70,0xB5,0x00,0x22,0x00,0x20,0x17,0x25,0xC7,0x4C,
0x6D,0x01,0x1D,0x23,0xDB,0x43,0x41,0x00,0x09,0x19,0x4E,0x19,0x18,0x21,0x71,0x5E,
0x99,0x42,0x01,0xDB,0xFF,0x29,0x01,0xD1,0x52,0x1C,0x92,0xB2,0x40,0x1C,0x80,0xB2,
0xB4,0x28,0xF0,0xD3,0x04,0x2A,0x0D,0xD3,0xB7,0x48,0x14,0x21,0x80,0x38,0x40,0x7B,
0x00,0xF0,0x3C,0xFE,0x01,0x29,0x05,0xD1,0xB3,0x48,0x20,0x30,0x01,0x78,0x01,0x22,
0x11,0x43,0x01,0x70,0x70,0xBD,0x30,0xB5,0xB0,0x48,0x20,0x38,0x84,0x78,0xAE,0x49,
0x01,0x22,0x20,0x31,0x89,0x6B,0x13,0x46,0x20,0x31,0x8D,0x79,0xAB,0x40,0x9C,0x43,
0x84,0x70,0x44,0x78,0x8D,0x79,0x13,0x46,0xAB,0x40,0x9C,0x43,0x44,0x70,0x03,0x78,
0x8D,0x79,0x14,0x46,0xAC,0x40,0x23,0x43,0x03,0x70,0x03,0x79,0x8D,0x79,0x14,0x46,
0xAC,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8D,0x79,0x14,0x46,0xAC,0x40,0xA3,0x43,
0x43,0x71,0xC3,0x78,0x89,0x79,0x8A,0x40,0x13,0x43,0xC3,0x70,0x30,0xBD,0xF8,0xB5,
0x99,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x28,0xD0,0x97,0x4C,0x20,0x34,0xA0,0x6B,
0xFF,0x30,0xC1,0x30,0x80,0x6B,0x00,0x28,0x20,0xD0,0x0D,0xF0,0xED,0xFC,0xFF,0x28,
0x1D,0xD1,0xA0,0x6B,0x60,0x30,0x81,0x7A,0x20,0x46,0xA0,0x38,0x81,0x73,0x02,0x21,
0x02,0x46,0x20,0x32,0x51,0x70,0x00,0x21,0x41,0x73,0x00,0x20,0x0F,0x22,0x17,0x25,
0x8E,0x4B,0xAD,0x01,0x06,0xE0,0x24,0x21,0x41,0x43,0xC9,0x18,0x49,0x19,0x8A,0x73,
0x40,0x1C,0xC0,0xB2,0xA1,0x6B,0xC9,0x7A,0x81,0x42,0xF4,0xD8,0xF8,0xBD,0xFE,0x28,
0xFC,0xD0,0x00,0x28,0xFA,0xD0,0x41,0x1E,0x20,0x29,0xF7,0xD2,0x80,0x21,0x08,0x43,
0x80,0x49,0x08,0x73,0x7D,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x7D,0x27,0xFF,0x00,0x38,0x46,
0x0C,0xF0,0x99,0xFF,0x38,0x46,0x0C,0xF0,0x96,0xFF,0x38,0x46,0x0C,0xF0,0x93,0xFF,
0x38,0x46,0x0C,0xF0,0x90,0xFF,0x38,0x46,0x0C,0xF0,0x8D,0xFF,0x28,0x78,0xA1,0x6B,
0x20,0x31,0x89,0x79,0x8E,0x40,0x30,0x43,0x28,0x70,0x38,0x46,0x0C,0xF0,0x83,0xFF,
0xF8,0xBD,0x6B,0x49,0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x08,0x72,
0x6B,0x49,0x08,0x80,0x70,0x47,0xF8,0xB5,0x6A,0x4A,0x66,0x4B,0xD8,0x7A,0x00,0x28,
0x50,0xD0,0x00,0x21,0x00,0x25,0x3C,0x24,0x5F,0x48,0x20,0x30,0x00,0x90,0x86,0x6B,
0xF0,0x79,0x00,0x28,0x00,0xD0,0x32,0x24,0x00,0x20,0x08,0xE0,0x00,0x27,0xD7,0x5F,
0x0A,0x2F,0x01,0xDB,0x49,0x1C,0x89,0xB2,0x92,0x1C,0x40,0x1C,0x80,0xB2,0xA0,0x42,
0xF4,0xD3,0x57,0x4A,0x0A,0x29,0x09,0xD2,0x06,0x29,0x02,0xD3,0xD8,0x7A,0x40,0x06,
0x04,0xD1,0x51,0x48,0x80,0x38,0xC0,0x7B,0x01,0x28,0x08,0xD9,0xD8,0x7A,0x80,0x28,
0x00,0xD1,0x01,0x25,0x81,0x20,0xD8,0x72,0x14,0x20,0x90,0x70,0x0B,0xE0,0x90,0x78,
0x00,0x28,0x02,0xD0,0x40,0x1E,0x90,0x70,0x05,0xE0,0xD8,0x7A,0x81,0x28,0x00,0xD1,
0x01,0x25,0x80,0x20,0xD8,0x72,0x00,0x2D,0x14,0xD0,0x44,0x4C,0x20,0x3C,0x20,0x78,
0x20,0x36,0xB2,0x79,0x01,0x25,0x29,0x46,0x91,0x40,0x88,0x43,0x20,0x70,0x28,0x20,
0x0C,0xF0,0x29,0xFF,0x20,0x78,0x00,0x99,0x89,0x6B,0x20,0x31,0x89,0x79,0x8D,0x40,
0x28,0x43,0x20,0x70,0xF8,0xBD,0xF8,0xB5,0x0D,0x46,0x07,0x9F,0x06,0x9E,0x11,0x46,
0x35,0x4A,0x20,0x32,0x90,0x6B,0x40,0x30,0x00,0x2D,0x07,0xD0,0x00,0x2E,0x02,0xD0,
0x1E,0x24,0x04,0x57,0x09,0xE0,0x1D,0x24,0x04,0x57,0x06,0xE0,0x00,0x2F,0x02,0xD0,
0x1C,0x24,0x04,0x57,0x01,0xE0,0x1B,0x24,0x04,0x57,0x00,0x20,0x18,0x5E,0x00,0x28,
0x00,0xDA,0x40,0x42,0xC0,0x01,0x0B,0x46,0x00,0x21,0x52,0x68,0x59,0x5E,0x90,0x47,
0x7F,0x28,0x00,0xDD,0x7F,0x20,0x00,0x2E,0x01,0xD0,0x00,0x2D,0x03,0xD1,0x00,0x2F,
0x04,0xD0,0x00,0x2D,0x02,0xD1,0xFF,0x21,0x01,0x31,0x08,0x1A,0x00,0x19,0xF8,0xBD,
0xF0,0xB5,0x87,0xB0,0x23,0x4E,0x1C,0x48,0x20,0x30,0x80,0x6B,0x01,0x79,0x03,0x91,
0xC0,0x78,0x02,0x90,0x00,0x25,0x18,0x48,0x80,0x38,0x06,0x90,0x4A,0xE0,0x68,0x00,
0x34,0x5E,0x80,0x19,0x14,0x27,0x05,0x90,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,
0x10,0xDA,0x78,0x00,0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,
0x00,0xF0,0xF6,0xFC,0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,
0x05,0x99,0x88,0x82,0x05,0x98,0xFF,0x30,0x41,0x30,0x14,0x24,0x04,0x90,0x04,0x5F,
0x00,0x27,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,0x21,0xDA,0x78,0x00,0xA0,0x42,
0x1E,0xDA,0x20,0x11,0x10,0x21,0x0F,0xE0,0x90,0x0A,0x00,0x20,0x20,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x44,0x00,0x00,0x20,0x7C,0x92,0x00,0x00,0x70,0x03,0x00,0x20,
0x02,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x09,0x1A,0x20,0x46,0x00,0xF0,0xC8,0xFC,
0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x04,0x99,0x08,0x80,
0x6D,0x1C,0xED,0xB2,0x03,0x98,0x85,0x42,0xB1,0xD3,0x00,0x27,0x3A,0xE0,0x38,0x46,
0x14,0x21,0x48,0x43,0x34,0x5E,0x85,0x19,0x02,0x20,0x28,0x5E,0x01,0x90,0x06,0x98,
0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,0xA0,0x42,0x0D,0xDA,0x21,0x11,
0x10,0x20,0x41,0x1A,0x20,0x46,0x00,0xF0,0xA3,0xFC,0x01,0x99,0x40,0x18,0x00,0xB2,
0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x68,0x80,0x12,0x24,0x2C,0x5F,0x10,0x20,
0x28,0x5E,0x01,0x90,0x06,0x98,0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,
0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,0x00,0xF0,0x88,0xFC,
0x01,0x99,0x40,0x18,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x28,0x82,
0x7F,0x1C,0xFF,0xB2,0x02,0x98,0x87,0x42,0xC1,0xD3,0x07,0xB0,0xF0,0xBD,0x70,0x47,
0xF8,0xB5,0xFF,0x4D,0xAB,0x88,0xCF,0x20,0x03,0x40,0x1D,0x21,0xFD,0x48,0x89,0x01,
0x41,0x18,0xCA,0x6B,0x94,0x46,0x35,0x22,0x52,0x01,0x86,0x18,0x0D,0x22,0xD2,0x01,
0x80,0x18,0x82,0x6B,0x01,0x2B,0x1C,0xD0,0x05,0x2B,0x09,0xD0,0x09,0x2B,0x7E,0xD1,
0x00,0x21,0x71,0x75,0xE9,0x88,0xC9,0x07,0x02,0xD1,0x10,0x20,0xA8,0x80,0xF8,0xBD,
0xF1,0x49,0x8A,0x42,0x02,0xD1,0xA5,0x20,0xE8,0x80,0x07,0xE0,0x63,0x46,0x9B,0x5C,
0xEB,0x80,0x52,0x1C,0x82,0x63,0x51,0x2A,0x00,0xD3,0x81,0x63,0x14,0x20,0xA8,0x80,
0xF8,0xBD,0x74,0x7D,0xE9,0x4B,0x02,0x2C,0x4F,0xD2,0x00,0x2C,0x04,0xD1,0xE8,0x4A,
0xCA,0x63,0xE9,0x88,0x81,0x63,0x6A,0xE0,0xEC,0x88,0x12,0x02,0x12,0x19,0x94,0xB2,
0xE4,0x4A,0x14,0x80,0x5A,0x78,0x01,0x2A,0x0C,0xD1,0xE3,0x4A,0x94,0x42,0x09,0xD1,
0xE2,0x4A,0x12,0x78,0x8B,0x6B,0x01,0x27,0x20,0x33,0x9B,0x79,0x9F,0x40,0xDF,0x4B,
0x3A,0x43,0x1A,0x70,0xD1,0x22,0x12,0x02,0xA2,0x1A,0x20,0x2A,0x11,0xD8,0xE0,0xB2,
0x08,0xF0,0x7A,0xF8,0xD8,0x48,0xC2,0x30,0x84,0x42,0x48,0xD1,0x01,0x20,0x0D,0xF0,
0x4B,0xFB,0xD2,0x49,0x18,0x20,0x20,0x31,0x08,0x74,0xD5,0x49,0x01,0x20,0x08,0x72,
0x3D,0xE0,0xD4,0x4A,0xA2,0x18,0x23,0x2A,0x04,0xD8,0x82,0x63,0xEF,0x20,0x40,0x01,
0xC8,0x63,0x34,0xE0,0xCF,0x4A,0x30,0x3A,0xA2,0x18,0x20,0x2A,0x04,0xD8,0x82,0x63,
0x77,0x20,0x80,0x01,0xC8,0x63,0x2A,0xE0,0x0D,0x21,0x09,0x03,0x61,0x1A,0x50,0x29,
0x01,0xD8,0x81,0x63,0x23,0xE0,0x81,0x63,0x21,0xE0,0xBF,0x4C,0xA2,0x42,0x1E,0xD0,
0xEC,0x88,0x67,0x46,0xBC,0x54,0xBF,0x4A,0xBF,0x4C,0x12,0x88,0xA2,0x42,0x0F,0xD1,
0x82,0x6B,0x4C,0x2A,0x0C,0xD1,0xC9,0x6B,0x8C,0x5C,0x80,0x2C,0x00,0xE0,0x14,0xE0,
0x02,0xD1,0x01,0x21,0x59,0x70,0x03,0xE0,0x89,0x5C,0x00,0x29,0x00,0xD1,0x59,0x70,
0x81,0x6B,0x49,0x1C,0x81,0x63,0x51,0x29,0x01,0xD3,0xAF,0x49,0x81,0x63,0x70,0x7D,
0x40,0x1C,0x70,0x75,0x10,0x20,0xA8,0x80,0xF8,0xBD,0x00,0x20,0xA8,0x80,0xF8,0xBD,
0xF7,0xB5,0xA0,0xB0,0x0D,0x46,0x00,0x20,0x0F,0x90,0x0E,0x90,0xA7,0x48,0x40,0x30,
0x1F,0x90,0x80,0x6B,0x04,0x79,0x81,0x79,0x49,0x1E,0xC9,0xB2,0x0D,0x91,0x00,0x21,
0x0C,0x91,0x0B,0x91,0x0A,0x91,0x41,0x78,0x49,0x00,0x18,0x91,0xB2,0x21,0x41,0x5E,
0x17,0x91,0x9E,0x48,0x91,0x22,0x60,0x38,0xC1,0x7A,0x9A,0x48,0x92,0x00,0x82,0x18,
0x1E,0x92,0x02,0x46,0x28,0x32,0xDC,0x30,0x1D,0x92,0x1C,0x90,0x01,0x29,0x18,0xD1,
0x28,0x46,0x1C,0x99,0x60,0x43,0x46,0x18,0x1E,0x99,0x42,0x18,0x1D,0x99,0x47,0x18,
0x20,0x98,0x00,0x21,0x0B,0xE0,0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,
0x3B,0x70,0x76,0x1C,0x80,0x1C,0x52,0x1C,0x7F,0x1C,0x49,0x1C,0x49,0xB2,0xA1,0x42,
0xF1,0xDB,0x00,0x20,0x12,0x90,0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xA8,
0x84,0x46,0x28,0x46,0x60,0x43,0x1C,0x99,0x1B,0x90,0x47,0x18,0x1A,0x97,0x1F,0x98,
0xC2,0x69,0x1F,0x98,0xC3,0x6A,0x00,0x21,0x23,0xE0,0x02,0x98,0x3E,0x78,0x00,0x88,
0x80,0x1B,0x00,0xB2,0x66,0x46,0x30,0x80,0xD6,0x07,0x04,0xD0,0x14,0x9E,0x80,0x19,
0x00,0xB2,0x14,0x90,0x0A,0xE0,0xDE,0x07,0x04,0xD0,0x13,0x9E,0x80,0x19,0x00,0xB2,
0x13,0x90,0x03,0xE0,0x12,0x9E,0x80,0x19,0x00,0xB2,0x12,0x90,0x60,0x46,0x80,0x1C,
0x84,0x46,0x02,0x98,0x80,0x1C,0x02,0x90,0x7F,0x1C,0x52,0x08,0x5B,0x08,0x49,0x1C,
0x49,0xB2,0xA1,0x42,0xD9,0xDB,0x6D,0x4E,0x60,0x36,0x31,0x7D,0x00,0x29,0x05,0xDD,
0x1F,0x98,0x42,0x68,0x14,0x98,0x90,0x47,0x00,0xB2,0x14,0x90,0x71,0x7D,0x00,0x29,
0x0B,0xDD,0x01,0x29,0x03,0xD1,0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xE0,0x1F,0x98,
0x42,0x68,0x13,0x98,0x90,0x47,0x00,0xB2,0x13,0x90,0xB1,0x7D,0x00,0x29,0x0B,0xDD,
0x01,0x29,0x03,0xD1,0x12,0x98,0x40,0x10,0x12,0x90,0x05,0xE0,0x1F,0x98,0x42,0x68,
0x12,0x98,0x90,0x47,0x00,0xB2,0x12,0x90,0x20,0x98,0x05,0xA9,0x8C,0x46,0x1A,0x99,
0x04,0x91,0x1F,0x99,0xC9,0x69,0x11,0x91,0x1F,0x99,0xC9,0x6A,0x10,0x91,0x1F,0x99,
0x8A,0x6B,0xD1,0x7C,0xC9,0x07,0x0E,0xD0,0x1F,0x99,0x09,0x6A,0x1F,0x9B,0x5B,0x6A,
0x0F,0x93,0x1F,0x9B,0x9B,0x6A,0x0E,0x93,0x13,0x7D,0x0C,0x93,0x53,0x7D,0x0B,0x93,
0x92,0x7D,0x0A,0x92,0x00,0xE0,0x00,0x21,0x1D,0x9B,0x1B,0x9A,0xD2,0x18,0x03,0x92,
0x00,0x22,0x19,0x92,0xAF,0xE0,0x11,0x9A,0xD2,0x07,0x01,0xD0,0x14,0x9A,0x05,0xE0,
0x10,0x9A,0xD2,0x07,0x01,0xD0,0x13,0x9A,0x00,0xE0,0x12,0x9A,0x00,0x2A,0x0C,0xDD,
0x66,0x46,0x00,0x23,0xF3,0x5E,0x00,0x2B,0x07,0xDD,0x93,0x42,0x00,0xDA,0x1A,0x46,
0x03,0x88,0x9A,0x1A,0x13,0xB2,0x03,0x80,0x32,0xE0,0x66,0x46,0x00,0x23,0xF3,0x5E,
0x00,0x2B,0x2B,0xDA,0x00,0x2A,0x05,0xDA,0x93,0x42,0x00,0xDD,0x1A,0x46,0x03,0x88,
0x9A,0x1A,0x02,0x80,0x00,0x23,0xC3,0x5E,0xCA,0x07,0x21,0xD0,0x04,0x9A,0x12,0x78,
0x17,0x46,0xD2,0x1A,0x12,0xB2,0x0E,0x9E,0xF6,0x07,0x06,0xD0,0x0A,0x9E,0xB2,0x42,
0x16,0xDD,0x0A,0x9E,0xBA,0x1B,0x02,0x80,0x12,0xE0,0x0F,0x9E,0xF6,0x07,0x06,0xD0,
0x0B,0x9E,0xB2,0x42,0x0C,0xDD,0x0B,0x9E,0xBA,0x1B,0x02,0x80,0x08,0xE0,0x0C,0x9E,
0xB2,0x42,0x05,0xDD,0x0C,0x9E,0xBA,0x1B,0x02,0x80,0x01,0xE0,0x00,0x23,0xC3,0x5E,
0x03,0x9A,0x12,0x78,0xD2,0x1A,0x12,0xB2,0x18,0x9B,0x9A,0x42,0x02,0xDA,0x17,0x9B,
0x9A,0x42,0x26,0xDC,0x01,0x22,0xAA,0x40,0xD3,0x17,0x22,0x9E,0x01,0x93,0x00,0x92,
0x37,0x68,0x76,0x68,0x3A,0x43,0x33,0x43,0x22,0x9E,0x0C,0xC6,0x00,0x2D,0x09,0xD0,
0x6F,0x1E,0x01,0x26,0xBE,0x40,0xF7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9A,
0x1F,0x43,0xC0,0xC2,0x0D,0x9A,0x95,0x42,0x0B,0xD2,0x6B,0x1C,0x01,0x22,0x9A,0x40,
0xD3,0x17,0x22,0x9F,0x01,0x93,0x00,0x92,0xC0,0xCF,0x32,0x43,0x22,0x9E,0x3B,0x43,
0x0C,0xC6,0x03,0x9A,0x52,0x1C,0x03,0x92,0x80,0x1C,0x04,0x9A,0x52,0x1C,0x13,0xE0,
0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,0xFF,0xFF,0x00,0x00,0x70,0x0A,0x00,0x20,
0x04,0x00,0x00,0x20,0x02,0x00,0x00,0x20,0x4C,0xD0,0x00,0x00,0x00,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x10,0x2E,0xFF,0xFF,0x04,0x92,0x62,0x46,0x92,0x1C,0x94,0x46,
0x11,0x9A,0x52,0x08,0x11,0x92,0x10,0x9A,0x52,0x08,0x10,0x92,0x00,0x29,0x06,0xD0,
0x49,0x08,0x0F,0x9A,0x52,0x08,0x0F,0x92,0x0E,0x9A,0x52,0x08,0x0E,0x92,0x19,0x9A,
0x52,0x1C,0x52,0xB2,0x19,0x92,0x19,0x9A,0xA2,0x42,0x00,0xDA,0x4B,0xE7,0x1A,0x9D,
0x1E,0x99,0x1B,0x98,0x47,0x18,0x20,0x9E,0x1F,0x98,0x80,0x6B,0x80,0x30,0x00,0x7E,
0x01,0x28,0x1C,0xD1,0x00,0x23,0x16,0xE0,0x00,0x22,0xB2,0x5E,0x28,0x78,0x39,0x78,
0x38,0x70,0x2A,0x70,0x88,0x42,0x02,0xDD,0x84,0x46,0x08,0x46,0x61,0x46,0x82,0x42,
0x01,0xDC,0x30,0x80,0x02,0xE0,0x8A,0x42,0x00,0xDB,0x31,0x80,0x6D,0x1C,0x7F,0x1C,
0xB6,0x1C,0x5B,0x1C,0x5B,0xB2,0xA3,0x42,0xE6,0xDB,0x23,0xB0,0xF0,0xBD,0x02,0x28,
0x25,0xD1,0x00,0x20,0x19,0x90,0x1E,0xE0,0x00,0x21,0x71,0x5E,0x16,0x91,0x28,0x78,
0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,0x1F,0x99,0x4A,0x68,
0x03,0x21,0x90,0x47,0x00,0xB2,0x38,0x70,0x16,0x99,0x29,0x70,0x15,0x99,0x4A,0x00,
0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,0x19,0x98,
0x40,0x1C,0x40,0xB2,0x19,0x90,0x19,0x98,0xA0,0x42,0xDD,0xDB,0xD5,0xE7,0x00,0x20,
0x08,0xE0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,
0x40,0x1C,0x40,0xB2,0xA0,0x42,0xF4,0xDB,0xC7,0xE7,0xF0,0xB5,0x85,0xB0,0xD8,0x4E,
0xB0,0x6B,0xC0,0x7A,0x00,0x90,0xD7,0x4C,0x04,0x94,0x1B,0x21,0xD6,0x48,0x89,0x01,
0x47,0x18,0x35,0x21,0x49,0x01,0x45,0x18,0x00,0x99,0x24,0x23,0xD3,0x4A,0x59,0x43,
0x08,0x18,0x80,0x18,0x03,0x90,0x4B,0xE0,0x20,0x78,0x0F,0x28,0x47,0xD0,0xE0,0x79,
0x01,0x06,0x33,0xD4,0x02,0x28,0x23,0xD1,0x0E,0x20,0x20,0x5E,0x02,0x90,0x10,0x20,
0x20,0x5E,0x01,0x90,0x09,0x21,0x20,0x46,0x08,0xF0,0xDC,0xFB,0x0E,0x21,0x61,0x5E,
0x02,0x98,0x08,0x1A,0x00,0xD5,0x40,0x42,0x01,0xB2,0x10,0x20,0x20,0x5E,0x01,0x9A,
0x80,0x1A,0x00,0xD5,0x40,0x42,0x40,0x18,0x00,0xB2,0xB1,0x6B,0xA0,0x31,0xC9,0x89,
0x89,0x08,0x81,0x42,0x09,0xDD,0x02,0x98,0xE0,0x81,0x01,0x98,0x20,0x82,0x04,0xE0,
0xE8,0x7C,0x02,0x28,0x01,0xD2,0x20,0x20,0xA0,0x70,0xFF,0x20,0x20,0x71,0x60,0x71,
0xE0,0x78,0x79,0x7E,0x88,0x42,0x01,0xD8,0x00,0x20,0xE0,0x71,0xE0,0x79,0x40,0x06,
0x40,0x0E,0xE0,0x71,0x00,0x28,0x01,0xD0,0x40,0x1E,0xE0,0x71,0xE0,0x79,0x00,0x28,
0x05,0xD1,0x60,0x78,0x80,0x08,0x80,0x00,0x60,0x70,0x00,0x20,0xA0,0x70,0x24,0x34,
0x03,0x98,0xA0,0x42,0xB0,0xD8,0x00,0x21,0x00,0x23,0xEB,0x74,0x04,0x98,0x10,0xE0,
0x02,0x78,0x00,0x9C,0xA2,0x42,0x0A,0xD2,0xC2,0x78,0x7C,0x7E,0x52,0x06,0x52,0x0E,
0xA2,0x42,0x04,0xD9,0x82,0x78,0x20,0x2A,0x01,0xD0,0x01,0x21,0x04,0xE0,0x83,0x70,
0x24,0x30,0x03,0x9A,0x82,0x42,0xEB,0xD8,0x00,0x29,0x2F,0xD0,0x04,0x98,0x2A,0xE0,
0x83,0x70,0x01,0x78,0x00,0x9A,0x91,0x42,0x24,0xD2,0xC1,0x78,0x7A,0x7E,0x49,0x06,
0x49,0x0E,0x91,0x42,0x1E,0xD9,0x01,0x21,0x81,0x70,0xE9,0x7C,0x49,0x1C,0xE9,0x74,
0x0E,0x22,0x82,0x5E,0x00,0x2A,0x01,0xDA,0xC3,0x81,0x06,0xE0,0xB1,0x6B,0xA0,0x31,
0x0C,0x88,0xA2,0x42,0x01,0xDD,0x09,0x88,0xC1,0x81,0x10,0x21,0x41,0x5E,0x00,0x29,
0x01,0xDA,0x03,0x82,0x06,0xE0,0xB2,0x6B,0xA0,0x32,0x54,0x88,0xA1,0x42,0x01,0xDD,
0x51,0x88,0x01,0x82,0x24,0x30,0x03,0x99,0x81,0x42,0xD1,0xD8,0x05,0xB0,0xF0,0xBD,
0xF0,0xB5,0x7F,0x4A,0x95,0x6B,0x2C,0x7F,0x62,0x00,0xFF,0x28,0x01,0xD1,0x00,0x20,
0xF0,0xBD,0x24,0x23,0x58,0x43,0x7C,0x4B,0x7C,0x4E,0xC0,0x18,0x80,0x19,0x06,0x26,
0x71,0x43,0xC9,0x18,0x79,0x4B,0x24,0x3B,0xC9,0x18,0x14,0x26,0x86,0x5F,0x00,0x2E,
0x00,0xDA,0x76,0x42,0x16,0x23,0xC3,0x5E,0x00,0x2B,0x00,0xDA,0x5B,0x42,0xF3,0x18,
0x73,0x4E,0xB3,0x42,0x00,0xD3,0x00,0x23,0x0E,0x27,0x0E,0x88,0xC7,0x5F,0xF6,0x1B,
0x00,0xD5,0x76,0x42,0x10,0x27,0x49,0x88,0xC7,0x5F,0xC9,0x1B,0x00,0xD5,0x49,0x42,
0x71,0x18,0x8C,0x42,0x29,0xD8,0x84,0x79,0x01,0x2C,0x05,0xD1,0x2D,0x27,0x7F,0x5D,
0xC6,0x79,0x7F,0x1E,0xBE,0x42,0x1E,0xDB,0x61,0x4E,0xB6,0x6B,0x80,0x36,0x01,0x2C,
0x08,0xD1,0xED,0x7E,0x9D,0x42,0x05,0xD3,0xC0,0x78,0x73,0x7B,0x98,0x42,0x01,0xD8,
0x0A,0x28,0x10,0xD2,0x01,0x2C,0x06,0xD1,0x91,0x42,0x04,0xD3,0x5D,0x4B,0x70,0x7B,
0x1B,0x88,0x98,0x42,0x07,0xD2,0x01,0x2C,0x02,0xD1,0x50,0x00,0x88,0x42,0x02,0xD9,
0xD0,0x00,0x88,0x42,0x01,0xD8,0x00,0x20,0xF0,0xBD,0x01,0x20,0xF0,0xBD,0xF0,0xB5,
0x85,0xB0,0x50,0x48,0x4E,0x49,0x04,0x91,0x89,0x78,0x05,0x29,0x7E,0xD0,0x52,0x4D,
0xA9,0x1D,0x01,0x91,0x89,0x1D,0x00,0x91,0x00,0x21,0xFF,0x22,0x0F,0x23,0x07,0xE0,
0x6A,0x54,0xC4,0x79,0x00,0x2C,0x00,0xD1,0x03,0x70,0x49,0x1C,0xC9,0xB2,0x24,0x30,
0x04,0x9C,0xA4,0x6B,0xE4,0x7A,0x8C,0x42,0xF2,0xD8,0x00,0x27,0x40,0x4E,0xA0,0x3E,
0xF0,0x7B,0x00,0x28,0x4A,0xD0,0x2A,0x46,0x03,0xA9,0x00,0x98,0x08,0xF0,0x52,0xFE,
0x07,0x46,0x00,0x2F,0x0C,0xD1,0x00,0x24,0x06,0xE0,0x22,0x46,0xFF,0x21,0x01,0x20,
0x08,0xF0,0x44,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xF5,0xD8,0x35,0xE0,
0x01,0x2F,0x0E,0xD1,0x2C,0x78,0x00,0x21,0x20,0x46,0xFF,0xF7,0x61,0xFF,0x00,0x28,
0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x00,0x22,0x21,0x46,0x08,0xF0,0x2E,0xFC,
0x24,0xE0,0xF4,0x7B,0x6B,0x46,0x1A,0x7B,0x23,0x46,0x01,0x99,0x00,0x98,0x08,0xF0,
0x37,0xFD,0x00,0x24,0x17,0xE0,0x01,0x98,0x00,0x5D,0xFF,0x28,0x02,0xD0,0x28,0x5C,
0x02,0x90,0x01,0xE0,0xFF,0x20,0x02,0x90,0x21,0x46,0x02,0x98,0xFF,0xF7,0x40,0xFF,
0x00,0x28,0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x22,0x46,0x02,0x99,0x08,0xF0,
0x0D,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xE4,0xD8,0x38,0x46,0xFF,0xF7,
0x7C,0xFE,0xF0,0x7B,0x1B,0x4C,0x00,0x28,0x06,0xD1,0x20,0x88,0x7D,0x21,0xC9,0x00,
0x88,0x42,0x01,0xD2,0x40,0x1C,0x20,0x80,0xF0,0x7C,0x00,0x28,0x06,0xD0,0x00,0x22,
0x00,0x20,0x17,0x26,0x10,0x4D,0xB6,0x01,0x04,0x99,0x00,0xE0,0x17,0xE0,0x89,0x6B,
0xCB,0x7A,0x0E,0xE0,0x24,0x21,0x41,0x43,0x49,0x19,0x89,0x19,0x0F,0x7C,0x01,0x2F,
0x05,0xD1,0xC9,0x7B,0x03,0x29,0x02,0xD1,0x52,0x1C,0xD2,0xB2,0x03,0xE0,0x40,0x1C,
0xC0,0xB2,0x83,0x42,0xEE,0xD8,0x00,0x2A,0x01,0xD1,0x00,0x20,0x20,0x80,0xFD,0xE6,
0xB0,0x0A,0x00,0x20,0x3E,0x09,0x00,0x20,0x70,0x03,0x00,0x20,0xCE,0x05,0x00,0x00,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x01,0xE0,0x04,0xC0,
0x09,0x1F,0x04,0x29,0xFB,0xD2,0x8B,0x07,0x01,0xD5,0x02,0x80,0x80,0x1C,0xC9,0x07,
0x00,0xD0,0x02,0x70,0x70,0x47,0x00,0x29,0x0B,0xD0,0xC3,0x07,0x02,0xD0,0x02,0x70,
0x40,0x1C,0x49,0x1E,0x02,0x29,0x04,0xD3,0x83,0x07,0x02,0xD5,0x02,0x80,0x80,0x1C,
0x89,0x1E,0xE3,0xE7,0x00,0x22,0xEE,0xE7,0x00,0x22,0xDF,0xE7,0x00,0x22,0x03,0x09,
0x8B,0x42,0x2C,0xD3,0x03,0x0A,0x8B,0x42,0x11,0xD3,0x00,0x23,0x9C,0x46,0x4E,0xE0,
0x03,0x46,0x0B,0x43,0x3C,0xD4,0x00,0x22,0x43,0x08,0x8B,0x42,0x31,0xD3,0x03,0x09,
0x8B,0x42,0x1C,0xD3,0x03,0x0A,0x8B,0x42,0x01,0xD3,0x94,0x46,0x3F,0xE0,0xC3,0x09,
0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,0x83,0x09,0x8B,0x42,0x01,0xD3,
0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,0x01,0xD3,0x4B,0x01,0xC0,0x1A,
0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,0xC0,0x1A,0x52,0x41,0xC3,0x08,
0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,0x83,0x08,0x8B,0x42,0x01,0xD3,
0x8B,0x00,0xC0,0x1A,0x52,0x41,0x43,0x08,0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,
0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,0x5D,0xE0,
0xCA,0x0F,0x00,0xD0,0x49,0x42,0x03,0x10,0x00,0xD3,0x40,0x42,0x53,0x40,0x00,0x22,
0x9C,0x46,0x03,0x09,0x8B,0x42,0x2D,0xD3,0x03,0x0A,0x8B,0x42,0x12,0xD3,0xFC,0x22,
0x89,0x01,0x12,0xBA,0x03,0x0A,0x8B,0x42,0x0C,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,
0x08,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,0x04,0xD3,0x89,0x01,0x3A,0xD0,0x92,0x11,
0x00,0xE0,0x89,0x09,0xC3,0x09,0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,
0x83,0x09,0x8B,0x42,0x01,0xD3,0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,
0x01,0xD3,0x4B,0x01,0xC0,0x1A,0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,
0xC0,0x1A,0x52,0x41,0xC3,0x08,0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,
0x83,0x08,0x8B,0x42,0x01,0xD3,0x8B,0x00,0xC0,0x1A,0x52,0x41,0xD9,0xD2,0x43,0x08,
0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,
0x63,0x46,0x52,0x41,0x5B,0x10,0x10,0x46,0x01,0xD3,0x40,0x42,0x00,0x2B,0x00,0xD5,
0x49,0x42,0x70,0x47,0x63,0x46,0x5B,0x10,0x00,0xD3,0x40,0x42,0x01,0xB5,0x00,0x20,
0xC0,0x46,0xC0,0x46,0x02,0xBD,0x75,0x46,0x00,0xF0,0x22,0xF8,0xAE,0x46,0x05,0x00,
0x69,0x46,0x53,0x46,0xC0,0x08,0xC0,0x00,0x85,0x46,0x18,0xB0,0x20,0xB5,0xFF,0xF7,
0x59,0xF8,0x60,0xBC,0x00,0x27,0x49,0x08,0xB6,0x46,0x00,0x26,0xC0,0xC5,0xC0,0xC5,
0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0x40,0x3D,0x49,0x00,
0x8D,0x46,0x70,0x47,0x04,0x46,0xC0,0x46,0xC0,0x46,0x20,0x46,0xFE,0xF7,0xF7,0xFE,
0x00,0x48,0x70,0x47,0x64,0x00,0x00,0x20,0x02,0x48,0x03,0x49,0xAB,0xBE,0x70,0x47,
0x0D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,0x70,0x47,0x00,0x00,
0x28,0x0D,0x28,0x12,0x0A,0x0A,0x12,0x00,0x02,0x04,0x40,0x06,0x00,0x00,0x01,0x01,
0x08,0x08,0x10,0x85,0x20,0x10,0x08,0x03,0x0A,0x1E,0x64,0x3C,0xF0,0x1E,0x08,0x02,
0x16,0x01,0x01,0x00,0x10,0x06,0x00,0x01,0x06,0x04,0x14,0x14,0x0A,0x06,0x28,0x1E,
0x3C,0x64,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,
0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x08,0x01,0x02,0x04,0x08,
0x01,0x02,0x04,0x08,0x01,0x01,0x01,0x01,0xD8,0xE2,0xF6,0xEC,0x1E,0xE2,0x0F,0x01,
0x01,0x01,0x02,0x02,0x02,0x02,0x0C,0x0A,0x10,0x00,0x14,0x0A,0x01,0x02,0x02,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x64,0x1E,0x64,0x00,0x14,0xC8,0x14,0x00,0x02,
0x83,0x04,0x02,0x02,0x5A,0x00,0x5A,0x01,0x02,0x06,0x01,0x01,0x00,0x00,0x00,0x00,
0x58,0x02,0x00,0x04,0xB4,0x00,0x0A,0x00,0x90,0x01,0x02,0x01,0x2C,0x01,0x20,0x00,
0x00,0x00,0xF3,0xFF,0x23,0x01,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x00,0xE3,0x38,0x00,0x00,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x60,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x60,0x10,0x00,0x40,
0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xFF,0xFF,0x00,0x80,0x00,0x00,0x00,0x00,
0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0A,0x00,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x00,0x01,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x01,0x00,0x01,
0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xA5,0x18,0xA7,
0x23,0xA1,0x45,0x63,0x65,0x07,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,0x00,0x00,
0x21,0xAA,0x43,0xAA,0x56,0xAA,0x81,0xA7,0x21,0x00,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xA1,0x71,0x06,0x87,0xAA,
0x23,0xAA,0x87,0xAA,0x32,0xAA,0x00,0x00,0x87,0xAA,0x23,0xAA,0x00,0x00,0x00,0x00,
0x00,0x00,0x65,0xAA,0x87,0xAA,0x51,0xA6,0x47,0x06,0x45,0x00,0x28,0xA1,0x76,0xAA,
0x12,0xA8,0x00,0x00,0x00,0x00,0x34,0xAA,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,
0x67,0xAA,0x23,0xAA,0xA1,0xAA,0x87,0xAA,0x32,0xAA,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0xA1,0xAA,0x21,0xAA,0x56,0xAA,0x81,0xA7,0x21,0xAA,0x00,0x00,0x34,0xAA,
0x65,0xAA,0x87,0xAA,0x51,0x46,0x47,0x03,0xA8,0xAA,0x21,0xAA,0x43,0xAA,0x56,0xAA,
0x81,0xA7,0x34,0xAA,0x76,0xA5,0x18,0xA7,0x23,0xA1,0x45,0xA3,0x23,0xA4,0x21,0xA8,
0x87,0xA6,0x32,0xA4,0x78,0x21,0x76,0xA5,0x23,0xA1,0x45,0x63,0x65,0x07,0x00,0x00,
0x01,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x02,0x02,0x01,0x01,
0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFC,0x1D,0x00,0x00,
0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,
0x04,0x00,0x00,0x20,0xEC,0x0A,0x00,0x00,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x5B,0x5A,0x35,0x35,0xA5,0xA5,0xCA,0xCA,0x88,0x77,0x66,0x55,
0x44,0x33,0x22,0x11,0x12,0x00,0x0A,0x00,0x58,0x02,0x00,0x04,0xDC,0x5F,0xCA,0xCA,
0x00,0x00,0x00,0x00,0x11,0x08,0x8E,0x32,0x06,0x00,0x00,0x01,0x4E,0x77,0xB0,0xE6,
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,248 @@
/**
*Name : hynitron_common.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_COMMON_H__
#define HYNITRON_COMMON_H__
#include "hynitron_config.h"
/*****************************************************************************
* Macro definitions using #define
*****************************************************************************/
#define HYN_DRIVER_VERSION "Hynitron TouchScreen Allwinner Driver V2.1 20201222"
/************THE CHIP PRODUCT LINE SUPPORT********************/
#define HYN_CHIP_PRODUCT_LINE_MUT_CAP 1
#define HYN_CHIP_PRODUCT_LINE_SEL_CAP 2
/*************************************************************/
/************THE CHIP SERIES SUPPORT********************/
#define HYN_CHIP_CST0XX 10
#define HYN_CHIP_CST1XX 100
#define HYN_CHIP_CST1XXSE 101
#define HYN_CHIP_CST2XX 200
#define HYN_CHIP_CST2XXSE 201
#define HYN_CHIP_CST3XX 300
#define HYN_CHIP_CST3XXSE 301
#define HYN_CHIP_CST6XX 692
#define HYN_CHIP_CST7XX 700
#define HYN_CHIP_CST8XX 800
#define HYN_CHIP_CST9XX 900
/******************************************************/
/************THE CHIP TYPE OF SERIES SUPPORT********************/
#define CST016 16
#define CST026 26
#define CST036 36
#define CST126 126
#define CST128 128
#define CST128SE 129
#define CST130 130
#define CST140 140
#define CST148 148
#define CST226 226
#define CST226SE 168
#define CST237 237
#define CST240 240
#define CST326 326
#define CST328 328
#define CST328SE 329
#define CST340 340
#define CST348 348
#define CST356 356
#define CST6928S 692
#define CST716 716
#define CST726 726
#define CST736 736
#define CST816 816
#define CST826 826
#define CST836 836
#define CST912 912
#define CST918 918
/******************************************************/
#define FLAGBIT(x) (0x00000001 << (x))
#define FLAGBITS(x, y) ((0xFFFFFFFF >> (32 - (y) - 1)) << (x))
#define I2C_BUFFER_LENGTH_MAXINUM 256
#define FILE_NAME_LENGTH 128
#define ENABLE 1
#define DISABLE 0
#define REG_LEN_1B 1
#define REG_LEN_2B 2
/*register address*/
/********selfcap register address start *****************/
#define HYN_REG_CAP_POWER_MODE 0xA5
#define HYN_REG_CAP_POWER_MODE_SLEEP_VALUE 0x03
#define HYN_REG_CAP_FW_VER 0xA6
#define HYN_REG_CAP_VENDOR_ID 0xA8
#define HYN_REG_CAP_PROJECT_ID 0xA9
#define HYN_REG_CAP_CHIP_ID 0xAA
#define HYN_REG_CAP_CHIP_CHECKSUM 0xAC
#define HYN_REG_CAP_GESTURE_EN 0xD0
#define HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS 0xD3
#define HYN_REG_CAP_PROXIMITY_EN 0xB0
#define HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS 0x01
#define HYN_REG_CAP_ESD_SATURATE 0xE0
/********selfcap register address end *****************/
/********mutcap register address start *****************/
//Myabe change
#define HYN_REG_MUT_ESD_VALUE 0xD040
#define HYN_REG_MUT_ESD_CHECKSUM 0xD046
#define HYN_REG_MUT_PROXIMITY_EN 0xD04B
#define HYN_REG_MUT_PROXIMITY_OUTPUT_ADDRESS 0xD04B
#define HYN_REG_MUT_GESTURE_EN 0xD04C
#define HYN_REG_MUT_GESTURE_OUTPUT_ADDRESS 0xD04C
//workmode
#define HYN_REG_MUT_DEBUG_INFO_MODE 0xD101
#define HYN_REG_MUT_RESET_MODE 0xD102
#define HYN_REG_MUT_DEBUG_RECALIBRATION_MODE 0xD104
#define HYN_REG_MUT_DEEP_SLEEP_MODE 0xD105
#define HYN_REG_MUT_DEBUG_POINT_MODE 0xD108
#define HYN_REG_MUT_NORMAL_MODE 0xD109
#define HYN_REG_MUT_DEBUG_RAWDATA_MODE 0xD10A
#define HYN_REG_MUT_DEBUG_DIFF_MODE 0xD10D
#define HYN_REG_MUT_DEBUG_FACTORY_MODE 0xD119
#define HYN_REG_MUT_DEBUG_FACTORY_MODE_2 0xD120
//debug info
/****************HYN_REG_MUT_DEBUG_INFO_MODE address start***********/
#define HYN_REG_MUT_DEBUG_INFO_IC_CHECKSUM 0xD208
#define HYN_REG_MUT_DEBUG_INFO_FW_VERSION 0xD204
#define HYN_REG_MUT_DEBUG_INFO_IC_TYPE 0xD202
#define HYN_REG_MUT_DEBUG_INFO_PROJECT_ID 0xD200
#define HYN_REG_MUT_DEBUG_INFO_BOOT_TIME 0xD1FC
#define HYN_REG_MUT_DEBUG_INFO_RES_Y 0xD1FA
#define HYN_REG_MUT_DEBUG_INFO_RES_X 0xD1F8
#define HYN_REG_MUT_DEBUG_INFO_KEY_NUM 0xD1F7
#define HYN_REG_MUT_DEBUG_INFO_TP_NRX 0xD1F6
#define HYN_REG_MUT_DEBUG_INFO_TP_NTX 0xD1F4
/****************HYN_REG_MUT_DEBUG_INFO_MODE address end***********/
#define HYN_WORK_MODE_NORMAL 0
#define HYN_WORK_MODE_FACTORY 1
#define HYN_WORK_MODE_RAWDATA 2
#define HYN_WORK_MODE_DIFF 3
#define HYN_WORK_MODE_UPDATE 4
/********mutcap register address end *****************/
/************i2c communication********************/
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len);
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len) ;
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len);
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue);
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue);
int hyn_i2c_read(struct i2c_client *client, char *writebuf,int writelen, char *readbuf, int readlen);
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen);
/***************************************/
/************HYN_PSENSOR_EN********************/
#if HYN_PSENSOR_EN
extern int hyn_proximity_readdata(void);
extern void hyn_proximity_init(void);
extern void hyn_proximity_exit(void);
extern void hyn_proximity_suspend(void);
extern void hyn_proximity_resume(void);
#endif
/***************************************/
/************HYN_GESTURE_EN********************/
#if HYN_GESTURE_EN
extern int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client);
extern int hyn_gesture_exit(void);
extern int hyn_gesture_suspend(void);
extern int hyn_gesture_resume(void);
extern int hyn_gesture_readdata(void);
#endif
/***************************************/
/************HYN_ESDCHECK_EN********************/
#if HYN_ESDCHECK_EN
extern void hyn_create_esd_sysfs(struct i2c_client *client);
extern void hyn_esd_switch(s32 on);
extern void hyn_init_esd_protect(void);
extern void hyn_esd_resume(void);
extern void hyn_esd_suspend(void);
extern void hyn_esd_init(void);
extern void hyn_esd_exit(void);
#endif
/***************************************/
/* ADB functions */
#if HYN_SYSFS_NODE_EN
extern int hyn_create_sysfs(struct i2c_client *client);
extern void hyn_release_sysfs(struct i2c_client *client);
#endif
#if ANDROID_TOOL_SURPORT
extern int hynitron_proc_fs_init(void);
extern void hynitron_proc_fs_exit(void);
#endif
extern int hyn_reset_proc(int hdelayms);
void hyn_irq_disable(void);
void hyn_irq_enable(void);
#if HYN_DEBUG_EN
#define HYN_DEBUG_LEVEL 1
#if (HYN_DEBUG_LEVEL == 2)
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN][%s]"fmt"\n", __func__, ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info][%s]"fmt"\n",__func__, ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error][%s]"fmt"\n",__func__, ##args)
#else
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN]"fmt"\n", ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info]"fmt"\n", ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error]"fmt"\n", ##args)
#endif
#define HYN_FUNC_ENTER() printk(KERN_ERR "[HYN]%s: Enter\n", __func__)
#define HYN_FUNC_EXIT() printk(KERN_ERR "[HYN]%s: Exit(%d)\n", __func__, __LINE__)
#else
#define HYN_DEBUG(fmt, args...)
#define HYN_INFO(fmt, args...)
#define HYN_ERROR(fmt, args...)
#define HYN_FUNC_ENTER()
#define HYN_FUNC_EXIT()
#endif
#endif /*Hynitron_COMMON_H__*/

View File

@ -0,0 +1,95 @@
/**
*Name : hynitron_config.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CONFIG_H__
#define HYNITRON_CONFIG_H__
/*
* show debug log info
* enable it for debug, disable it for release
*/
#define HYN_DEBUG_EN 1
/*
* Linux MultiTouch Protocol
* 1: Protocol B(default), 0: Protocol A
*/
#define HYN_MT_PROTOCOL_B_EN 1
/*
* Report Pressure in multitouch
* 1:enable(default),0:disable
*/
#define HYN_REPORT_PRESSURE_EN 0
/*
* Switch Gesture wakeup in multitouch
* 1:enable,0:disable
*/
#define HYN_GESTURE_EN 0
/*
* Switch proximity detect in multitouch
* 1:enable,0:disable
*/
#define HYN_PSENSOR_EN 0
/*
* Switch esd detect in multitouch
* 1:enable,0:disable
*/
#define HYN_ESDCHECK_EN 0
/*
* Factory test support
* 1:enable,0:disable
* only support cst3xx.
*/
#define HYN_AUTO_FACTORY_TEST_EN 0
/*
* Update firmware support
* choose the right chiptype
* 1:enable,0:disable
*
*/
#define HYN_EN_AUTO_UPDATE 0
#define HYN_EN_AUTO_UPDATE_CST0xxSE 0
#define HYN_EN_AUTO_UPDATE_CST0xx 0
#define HYN_EN_AUTO_UPDATE_CST1xx 0
#define HYN_EN_AUTO_UPDATE_CST1xxSE 0
#define HYN_EN_AUTO_UPDATE_CST2xx 0
#define HYN_EN_AUTO_UPDATE_CST2xxSE 0
#define HYN_EN_AUTO_UPDATE_CST3xx 0
#define HYN_EN_AUTO_UPDATE_CST3xxSE 0
#define HYN_EN_AUTO_UPDATE_CST6xx 0
#define HYN_EN_AUTO_UPDATE_CST78xx 0
#define HYN_EN_AUTO_UPDATE_CST9xx 0
#define HYN_SYS_AUTO_SEARCH_FIRMWARE 0
/*
* Node for debug
* /proc/cst1xx_ts
* /sys/hynitron_debug
* 1:enable,0:disable
*
*/
#define ANDROID_TOOL_SURPORT 1
#define HYN_SYSFS_NODE_EN 1
#endif /*HYNITRON_CONFIG_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,277 @@
/**
*Name : hynitron_core.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CORE_H__
#define HYNITRON_CORE_H__
#include <linux/syscalls.h>
#include <linux/types.h>
#include <linux/version.h>
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/i2c.h>
#include <linux/vmalloc.h>
#include <linux/gpio.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/jiffies.h>
#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/earlysuspend.h>
#endif
#include <linux/version.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/kernel.h>
//#include <linux/rtpm_prio.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <linux/irq.h>
#include <linux/wait.h>
#include <linux/time.h>
#include <linux/ioport.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/of_irq.h>
//#include <linux/wakelock.h>
//#include <linux/init-input.h>
#include "../../init-input.h"
#include <linux/module.h>
#include <linux/init.h>
#include <linux/errno.h>
#include <linux/platform_device.h>
#include <linux/io.h>
#include <linux/cdev.h>
#include <linux/pm_runtime.h>
#include <linux/hrtimer.h>
#include <linux/mount.h>
#include <linux/namei.h>
#include <linux/dcache.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/vmalloc.h>
#include "hynitron_common.h"
//please config the chip series before using.
#define HYN_CHIP_TYPE_CONFIG CST340
#define HYN_IRQ_TRIGGER_RISING_CONFIG 0x01
#define HYN_MAIN_IIC_ADDR_CONFIG 0x1A
#define HYN_X_DISPLAY_DEFAULT 720
#define HYN_Y_DISPLAY_DEFAULT 1280
#define HYN_X_REVERT 0
#define HYN_Y_REVERT 0
#define HYN_XY_EXCHANGE 0
#define HYN_MAX_KEYS 3
#define HYN_MAX_POINTS 5
#define HYN_MAX_SELFCAP_ID 2
/**********************************************************/
#define HYN_RESET_SOFTWARE 0
#define HYN_UPDATE_FIRMWARE_FORCE 0
#define HYN_IIC_TRANSFER_LIMIT 0
/******************************************/
#define HYN_UPDATE_FIRMWARE_PATH_1 "/data"
#define HYN_UPDATE_FIRMWARE_PATH_2 "/sdcard"
#define HYN_UPDATE_FIRMWARE_FILTNAME_1 "hyn.bin"
#define HYN_COORDS_ARR_SIZE 2
#define HYN_TOUCH_STEP 6
#define HYN_TOUCH_X_H_POS 3
#define HYN_TOUCH_X_L_POS 4
#define HYN_TOUCH_Y_H_POS 5
#define HYN_TOUCH_Y_L_POS 6
#define HYN_TOUCH_EVENT_POS 3
#define HYN_TOUCH_ID_POS 5
#define HYN_TOUCH_POINT_NUM 2
#define HYN_TOUCH_XY_POS 7
#define HYN_TOUCH_MISC 8
#define POINT_READ_BUF (3 + HYN_TOUCH_STEP * HYN_MAX_POINTS)
#define HYN_SYSFS_ECHO_ON(buf) ((strnicmp(buf, "1", 1) == 0) || \
(strnicmp(buf, "on", 2) == 0))
#define HYN_SYSFS_ECHO_OFF(buf) ((strnicmp(buf, "0", 1) == 0) || \
(strnicmp(buf, "off", 3) == 0))
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hynitron_chip_type_array {
const u16 chip_type;
const u16 chip_series;
const u8 chip_product_line;
const u8 chip_boot_addr;
};
struct hynitron_fw_array {
char* name;
unsigned char *fw;
u16 project_id;
u16 module_id;
u16 chip_type;
u16 fw_length;
};
struct touch_info
{
int y[HYN_MAX_POINTS];
int x[HYN_MAX_POINTS];
int p[HYN_MAX_POINTS];
int id[HYN_MAX_POINTS];
int count;
};
/*touch event info*/
struct ts_event
{
u16 au16_x[HYN_MAX_POINTS]; /* x coordinate */
u16 au16_y[HYN_MAX_POINTS]; /* y coordinate */
u8 au8_touch_event[HYN_MAX_POINTS]; /* touch event: 0 -- down; 1-- up; 2 -- contact */
u8 au8_finger_id[HYN_MAX_POINTS]; /* touch ID */
u16 pressure[HYN_MAX_POINTS];
u16 area[HYN_MAX_POINTS];
u8 touch_point;
int touchs;
u8 touch_point_num;
};
struct hynitron_ts_platform_data{
int irq_gpio;
u32 irq_gpio_flags;
int reset_gpio;
u32 reset_gpio_flags;
u32 x_resolution;
u32 y_resolution;
u32 max_key_num;
u32 max_touch_num;
u32 key_x_coords[8]; // max support 8 keys
u32 key_y_coords[8];
u32 key_code[8];
//erobbing add for check if overturn axis of x and y
bool xy_exchange;
bool x_overturn;
bool y_overturn;
//end
bool have_key;
bool report_key_position;
bool i2c_pull_up;
bool enable_power_off;
bool enable_slot_report;
bool enable_esd;
};
struct hynitron_ts_data{
struct hynitron_ts_platform_data *pdata;
struct i2c_client *client;
struct device *dev;
struct input_dev *input_dev;
struct task_struct *thread_tpd;
struct hrtimer timer;
struct work_struct work;
struct workqueue_struct *hyn_workqueue;
//spinlock_t irq_lock;
u8 device_id;
u8 irq_is_disable;
s32 use_irq;
u8 int_trigger_type;
u8 sensor_tx;
u8 sensor_rx;
u8 hyn_irq_flag;
u8 report_flag;
u8 key_index;
u8 work_mode;
u8 hyn_esd_mode :1 ;
u8 hyn_esd_running :1 ;
u8 hyn_esd_i2c_lock_flag: 1;
s32 hyn_esd_pre_counter;
s32 hyn_esd_cur_counter;
s32 hyn_esd_work_cycle;
struct mutex hyn_esd_lock;
struct delayed_work hyn_esd_check_work;
struct workqueue_struct *hyn_esd_workqueue;
u16 chip_ic_type;
u16 chip_ic_series;
u8 chip_ic_product_line;
u32 chip_ic_checksum;
u32 chip_ic_checkcode;
u32 chip_ic_fw_version;
u16 chip_ic_project_id;
u16 chip_ic_module_id;
u16 chip_ic_workmode;
u8 chip_ic_bootloader_addr;
u8 chip_ic_main_addr;
u16 config_chip_type;
u16 config_chip_series;
u8 config_chip_product_line;
u8 fw_updating;
u8* fw_name;
u32 fw_length;
u8 *p_hynitron_upgrade_firmware;
u8 apk_upgrade_flag;
u8 apk_rdwr_flag;
bool in_glove_mode;
bool power_on;
// struct mutex report_mutex;
struct kobject *k_obj;
struct regulator *vdd;
struct regulator *vcc_i2c;
#if defined(CONFIG_FB)
struct notifier_block fb_notif;
struct work_struct resume_work;
#elif defined(CONFIG_HAS_EARLYSUSPEND)
struct early_suspend early_suspend;
#endif
struct pinctrl *ts_pinctrl;
struct pinctrl_state *gpio_state_active;
struct pinctrl_state *gpio_state_suspend;
};
extern struct hynitron_ts_data *hyn_ts_data ;
#endif /*HYNITRON_CORE_H__*/

View File

@ -0,0 +1,331 @@
/**
*Name : hynitron_esd_check.c
*Author : steven
*Version : V2.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
#if HYN_ESDCHECK_EN
#define SWITCH_ESD_OFF 0
#define SWITCH_ESD_ON 1
extern int hyn_reset_proc(int hdelayms);
/************************************************************************
* Name: hyn_esd_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = sprintf(buf,"ESD Mode: %d,ESD running = %d\n", hyn_ts_data->hyn_esd_mode,hyn_ts_data->hyn_esd_running);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (buf[0]==1)
{
HYN_INFO("[ESD]enable ESD");
hyn_ts_data->hyn_esd_mode = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[ESD]disable ESD");
hyn_ts_data->hyn_esd_mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = snprintf(buf, PAGE_SIZE, "ESD running: 0x%x\n", hyn_ts_data->hyn_esd_running);
count += snprintf(buf + count, PAGE_SIZE, "ESD pre_counter:0x%x\n", hyn_ts_data->hyn_esd_pre_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD cur_counter:0x%x\n", hyn_ts_data->hyn_esd_cur_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD work_cycle:0x%x\n", hyn_ts_data->hyn_esd_work_cycle);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
static DEVICE_ATTR (hyn_esd_mode, S_IRUGO|S_IWUSR, hyn_esd_show, hyn_esd_store);
/*
* read example: cat hyn_esd_buf ---read esd buf
*/
static DEVICE_ATTR (hyn_esd_buf, S_IRUGO|S_IWUSR, hyn_esd_buf_show, hyn_esd_buf_store);
static struct attribute *hyn_esd_mode_attrs[] =
{
&dev_attr_hyn_esd_mode.attr,
&dev_attr_hyn_esd_buf.attr,
NULL,
};
static struct attribute_group hyn_esd_group =
{
.attrs = hyn_esd_mode_attrs,
};
void hyn_create_esd_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_esd_group);
if ( ret != 0)
{
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_esd_group);
return;
}
HYN_FUNC_EXIT();
return;
}
static void hyn_esd_poweron_ic(unsigned int ms)
{
HYN_FUNC_ENTER();
hyn_reset_proc(10);
HYN_FUNC_EXIT();
}
void hyn_esd_suspend(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_OFF);
HYN_FUNC_EXIT();
}
void hyn_esd_resume(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_ON);
HYN_FUNC_EXIT();
}
void hyn_esd_switch(s32 on)
{
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode)
return;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (SWITCH_ESD_ON == on) { /* switch on esd check */
if (!hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 1;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector started!");
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
}
} else { /* switch off esd check */
if (hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 0;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector stopped!");
cancel_delayed_work(&hyn_ts_data->hyn_esd_check_work);
}
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
static void hyn_esd_check_func(struct work_struct *work)
{
int retry = 0;
int ret;
int check_sum;
unsigned char buf[8];
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode){
HYN_DEBUG("Esd protector hyn_esd_mode is disable !");
return;
}
if(!hyn_ts_data->work_mode!=0){
HYN_DEBUG("Esd protector work_mode is false !");
return;
}
if (!hyn_ts_data->hyn_esd_running) {
HYN_DEBUG("Esd protector hyn_esd_running is not running!");
return;
}
if((hyn_ts_data->hyn_esd_i2c_lock_flag != 0)||(hyn_ts_data->apk_rdwr_flag!=0)||(hyn_ts_data->fw_updating!=0))
goto END;
else hyn_ts_data->hyn_esd_i2c_lock_flag = 1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
while(retry++ < 5) {
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
if (ret > 0){
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR("hyn_esd_check_func iic read check_sum error.\n");
}else{
break;
}
}
mdelay(2);
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
}
if((retry==6)||(retry==0)|| (ret<0)){
HYN_ERROR("hyn_esd_check_func iic read esd data error,please check firmware,driver and hardware.\n");
goto END;
}
hyn_ts_data->hyn_esd_cur_counter = buf[3]+(buf[2]<<8)+(buf[1]<<16)+(buf[0]<<24);
if(((hyn_ts_data->hyn_esd_cur_counter-hyn_ts_data->hyn_esd_pre_counter)<20)
&&(hyn_ts_data->hyn_esd_pre_counter>400))
{
HYN_ERROR("hyn_esd_check_func hyn_esd_cur_counter is :0x%x. hyn_esd_pre_counter is:0x%x.------\n",hyn_ts_data->hyn_esd_cur_counter,hyn_ts_data->hyn_esd_pre_counter);
goto hyn_esd_check_init;
}
goto END;
hyn_esd_check_init:
HYN_ERROR("hyn_esd_check_func reset.\n");
hyn_esd_poweron_ic(10);
END:
hyn_ts_data->hyn_esd_i2c_lock_flag = 0;
hyn_ts_data->hyn_esd_pre_counter=hyn_ts_data->hyn_esd_cur_counter;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (hyn_ts_data->hyn_esd_running)
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
else
HYN_DEBUG(" Esd protector suspended!");
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
int hyn_esd_get_status(void)
{
u8 buf[7];
int ret=-1;
u16 check_sum=0;
HYN_FUNC_ENTER();
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR(" esd check sum error.\n ");
return -1;
}
HYN_FUNC_EXIT();
return 1;
}
void hyn_esd_init(void)
{
HYN_FUNC_ENTER();
if(hyn_esd_get_status() < 0) {
HYN_ERROR(" hyn_esd_get_status failed!");
return;
}
hyn_ts_data->hyn_esd_workqueue = create_singlethread_workqueue("hyn_esd_workqueue");
if (hyn_ts_data->hyn_esd_workqueue == NULL)
HYN_ERROR(" hyn_esd_workqueue failed!");
else{
hyn_init_esd_protect();
hyn_esd_switch(SWITCH_ESD_ON);
hyn_ts_data->hyn_esd_running=ENABLE;
}
hyn_create_esd_sysfs(hyn_ts_data->client);
HYN_FUNC_EXIT();
}
void hyn_init_esd_protect(void)
{
HYN_FUNC_ENTER();
hyn_ts_data->hyn_esd_work_cycle=1000;
hyn_ts_data->hyn_esd_mode=ENABLE;
HYN_DEBUG(" Clock ticks for an esd cycle: %d", hyn_ts_data->hyn_esd_work_cycle);
INIT_DELAYED_WORK(&hyn_ts_data->hyn_esd_check_work, hyn_esd_check_func);
mutex_init(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
void hyn_esd_exit(void)
{
HYN_FUNC_ENTER();
if (hyn_ts_data->hyn_esd_workqueue)
destroy_workqueue(hyn_ts_data->hyn_esd_workqueue);
HYN_FUNC_EXIT();
}
#endif

View File

@ -0,0 +1,635 @@
/**
*Name : cst0xx_getsure.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
#include "hynitron_config.h"
#if HYN_GESTURE_EN
#define HYN_GESTURE_CAP_CST8XX 0
/******************************************************************************
* Private constant and macro definitions using #define
*****************************************************************************/
#define KEY_GESTURE_U KEY_U
#define KEY_GESTURE_UP KEY_UP
#define KEY_GESTURE_DOWN KEY_DOWN
#define KEY_GESTURE_LEFT KEY_LEFT
#define KEY_GESTURE_RIGHT KEY_RIGHT
#define KEY_GESTURE_O KEY_O
#define KEY_GESTURE_E KEY_E
#define KEY_GESTURE_M KEY_M
#define KEY_GESTURE_L KEY_L
#define KEY_GESTURE_W KEY_W
#define KEY_GESTURE_S KEY_S
#define KEY_GESTURE_V KEY_V
#define KEY_GESTURE_C KEY_C
#define KEY_GESTURE_Z KEY_Z
#define KEY_GESTURE_DOUBLECLICK KEY_POWER
#if HYN_GESTURE_CAP_CST8XX
//cap
#define GESTURE_LEFT 0x20
#define GESTURE_RIGHT 0x21
#define GESTURE_UP 0x22
#define GESTURE_DOWN 0x23
#define GESTURE_DOUBLECLICK 0x24
#define GESTURE_O 0x30
#define GESTURE_W 0x31
#define GESTURE_M 0x32
#define GESTURE_E 0x33
#define GESTURE_S 0x46
#define GESTURE_V 0x54
#define GESTURE_Z 0x65
#define GESTURE_C 0x34
#else
//mut
#define GESTURE_LEFT 3
#define GESTURE_RIGHT 1
#define GESTURE_UP 2
#define GESTURE_DOWN 4
#define GESTURE_DOUBLECLICK 32
#define GESTURE_O 5
#define GESTURE_O_1 20
#define GESTURE_W 10
#define GESTURE_M 8
#define GESTURE_M_1 9
#define GESTURE_M_2 15
#define GESTURE_M_3 16
#define GESTURE_E 7
#define GESTURE_E_1 17
#define GESTURE_E_2 19
#define GESTURE_S 12
#define GESTURE_S_1 18
#define GESTURE_V 11
#define GESTURE_Z 13
#define GESTURE_C 6
#define GESTURE_C_1 14
#endif
#define HYN_GESTRUE_POINTS 255
#define HYN_GESTRUE_POINTS_HEADER 8
#define HYN_GESTURE_OUTPUT_ADRESS 0xD3
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hyn_gesture_st
{
u8 header[HYN_GESTRUE_POINTS_HEADER];
u16 coordinate_x[HYN_GESTRUE_POINTS];
u16 coordinate_y[HYN_GESTRUE_POINTS];
u16 report_key;
u8 gestrue_id;
u8 mode;
u8 active; /* 1-enter into gesture(suspend) 0-gesture disable or LCD on */
};
/*****************************************************************************
* Static variables
*****************************************************************************/
static struct hyn_gesture_st hyn_gesture_data;
/*****************************************************************************
* Global variable or extern global variabls/functions
*****************************************************************************/
/*****************************************************************************
* Static function prototypes
*****************************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
/* sysfs gesture node
* read example: cat hyn_gesture_mode ---read gesture mode
* write example:echo 01 > hyn_gesture_mode ---write gesture mode to 01
*
*/
static DEVICE_ATTR (hyn_gesture_mode, S_IRUGO|S_IWUSR, hyn_gesture_show, hyn_gesture_store);
/*
* read example: cat hyn_gesture_buf ---read gesture buf
*/
static DEVICE_ATTR (hyn_gesture_buf, S_IRUGO|S_IWUSR, hyn_gesture_buf_show, hyn_gesture_buf_store);
static struct attribute *hyn_gesture_mode_attrs[] =
{
&dev_attr_hyn_gesture_mode.attr,
&dev_attr_hyn_gesture_buf.attr,
NULL,
};
static struct attribute_group hyn_gesture_group =
{
.attrs = hyn_gesture_mode_attrs,
};
/************************************************************************
* Name: hyn_gesture_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "Gesture Mode: %s\n", hyn_gesture_data.mode ? "On" : "Off");
count += sprintf(buf + count, "Reg = %d\n", hyn_gesture_data.gestrue_id);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1){
HYN_INFO("[GESTURE]enable gesture");
hyn_gesture_data.mode = ENABLE;
}else if (buf[0]==0){
HYN_INFO("[GESTURE]disable gesture");
hyn_gesture_data.mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
int i = 0;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "Gesture ID: 0x%x\n", hyn_gesture_data.header[0]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture PointNum: %d\n", hyn_gesture_data.header[1]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture Point Buf:\n");
for (i = 0; i < hyn_gesture_data.header[1]; i++)
{
count += snprintf(buf + count, PAGE_SIZE, "%3d(%4d,%4d) ", i, hyn_gesture_data.coordinate_x[i], hyn_gesture_data.coordinate_y[i]);
if ((i + 1)%4 == 0)
count += snprintf(buf + count, PAGE_SIZE, "\n");
}
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/*****************************************************************************
* Name: hyn_create_gesture_sysfs
* Brief:
* Input:
* Output: None
* Return: 0-success or error
*****************************************************************************/
int hyn_create_gesture_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_gesture_group);
if ( ret != 0){
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_recovery
* Brief: recovery gesture state when reset
* Input:
* Output: None
* Return:
*****************************************************************************/
void hyn_gesture_recovery(struct i2c_client *client)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode && hyn_gesture_data.active)
{
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(client, buf, 3);
}else{
hyn_i2c_write_byte(client, HYN_REG_CAP_GESTURE_EN, ENABLE);
}
}
HYN_FUNC_EXIT();
}
/*****************************************************************************
* Name: hyn_check_gesture
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
static void hyn_check_gesture(struct input_dev *input_dev,int gesture_id)
{
unsigned int report_key = 0;
HYN_INFO("check_gesture ======================gesture_id==0x%x ================\n ",gesture_id);
HYN_FUNC_ENTER();
switch (gesture_id)
{
case GESTURE_O:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_O_1:
#endif
report_key = KEY_GESTURE_O;
break;
case GESTURE_W:
report_key = KEY_GESTURE_W;
break;
case GESTURE_M:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_M_1:
case GESTURE_M_2:
case GESTURE_M_3:
#endif
report_key = KEY_GESTURE_M;
break;
case GESTURE_E:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_E_1:
case GESTURE_E_2:
#endif
report_key = KEY_GESTURE_E;
break;
case GESTURE_C:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_C_1:
#endif
report_key = KEY_GESTURE_C;
break;
case GESTURE_S:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_S_1:
#endif
report_key = KEY_GESTURE_S;
break ;
case GESTURE_V:
report_key = KEY_GESTURE_V;
break;
case GESTURE_Z:
report_key = KEY_GESTURE_Z;
break;
case GESTURE_RIGHT:
report_key = KEY_GESTURE_RIGHT;
break ;
case GESTURE_DOWN:
report_key = KEY_GESTURE_DOWN;
break ;
case GESTURE_UP:
report_key = KEY_GESTURE_UP;
break ;
case GESTURE_LEFT:
report_key = KEY_GESTURE_LEFT;
break ;
case GESTURE_DOUBLECLICK:
report_key = KEY_GESTURE_DOUBLECLICK;
break ;
default:
break ;
}
HYN_INFO("check_gesture ======================report_key==0x%x ================\n ",report_key);
hyn_gesture_data.report_key=report_key;
/* report event key */
if (report_key != -1){
input_report_key(input_dev, report_key, 1);
input_sync(input_dev);
input_report_key(input_dev, report_key, 0);
input_sync(input_dev);
}
HYN_FUNC_EXIT();
}
/************************************************************************
* Name: hyn_gesture_readdata
* Brief: read data from TP register
* Input: no
* Output: no
* Return: fail <0
***********************************************************************/
int hyn_gesture_readdata(void)
{
u8 buf[HYN_GESTRUE_POINTS * 4] = { 0 };
int ret = -1;
int i = 0;
int gestrue_id = 0;
//int read_bytes = 0;
u8 pointnum = 0;
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode)
{
u8 state;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
ret=cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
gestrue_id = buf[0]&0x7f;
}else{
ret = hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
}
if (ret<0) HYN_ERROR("[HYN][Touch] read value fail");
if (state !=1) return -1;
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
/* init variable before read gesture point */
memset(hyn_gesture_data.header, 0, HYN_GESTRUE_POINTS_HEADER);
memset(hyn_gesture_data.coordinate_x, 0, HYN_GESTRUE_POINTS * sizeof(u16));
memset(hyn_gesture_data.coordinate_y, 0, HYN_GESTRUE_POINTS * sizeof(u16));
buf[0] = HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS;
ret = hyn_i2c_read(hyn_ts_data->client, buf, 1, buf, HYN_GESTRUE_POINTS_HEADER);
if (ret < 0){
HYN_ERROR("[GESTURE]Read gesture header data failed!!");
return ret;
}
gestrue_id = buf[0];
for (i = 0; i < pointnum; i++){
hyn_gesture_data.coordinate_x[i] = (((s16) buf[0 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[1 + (4 * i+8)])& 0xFF);
hyn_gesture_data.coordinate_y[i] = (((s16) buf[2 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[3 + (4 * i+8)]) & 0xFF);
}
}
hyn_gesture_data.gestrue_id=gestrue_id;
hyn_check_gesture(hyn_ts_data->input_dev, gestrue_id);
HYN_DEBUG("[GESTURE]gestrue_id:%d,report_key:%d", hyn_gesture_data.gestrue_id,hyn_gesture_data.report_key);
HYN_FUNC_EXIT();
return -1;
}
/*****************************************************************************
* Name: hyn_irq_set_low_trig
* Brief:
* Input:
* Output:
* Return:
*****************************************************************************/
void hyn_irq_gesture_mode(void)
{
int ret=0;
hyn_irq_disable();
ret = enable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]enable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,IRQF_TRIGGER_LOW|IRQF_NO_SUSPEND);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
void hyn_irq_normal_mode(void)
{
int ret=0;
hyn_irq_disable();
ret =disable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]disable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,hyn_ts_data->pdata->irq_gpio_flags);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
/*****************************************************************************
* Name: hyn_gesture_suspend
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_suspend(void)
{
u8 state = 0, i;
HYN_FUNC_ENTER();
//enter gesture scan
if (hyn_gesture_data.mode==0)
return -1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
for(i = 0; i < 3; i++)
{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
}
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
for(i = 0; i < 3; i++)
{
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
}
}
}
hyn_gesture_data.active = 1;
hyn_irq_gesture_mode();
HYN_DEBUG("[GESTURE]Enter into gesture(suspend) successfully!");
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_resume
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_resume(void)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode == 0){
HYN_DEBUG("gesture is disabled");
HYN_FUNC_EXIT();
return -1;
}
hyn_gesture_data.active = 0;
hyn_irq_normal_mode();
//stop gesture scan
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, DISABLE);
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_init
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client)
{
HYN_FUNC_ENTER();
input_set_capability(input_dev, EV_KEY, KEY_POWER);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_U);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_UP);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_DOWN);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_LEFT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_RIGHT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_O);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_E);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_M);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_L);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_W);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_S);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_V);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_Z);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_C);
__set_bit(KEY_GESTURE_RIGHT, input_dev->keybit);
__set_bit(KEY_GESTURE_LEFT, input_dev->keybit);
__set_bit(KEY_GESTURE_UP, input_dev->keybit);
__set_bit(KEY_GESTURE_DOWN, input_dev->keybit);
__set_bit(KEY_GESTURE_U, input_dev->keybit);
__set_bit(KEY_GESTURE_O, input_dev->keybit);
__set_bit(KEY_GESTURE_E, input_dev->keybit);
__set_bit(KEY_GESTURE_M, input_dev->keybit);
__set_bit(KEY_GESTURE_W, input_dev->keybit);
__set_bit(KEY_GESTURE_L, input_dev->keybit);
__set_bit(KEY_GESTURE_S, input_dev->keybit);
__set_bit(KEY_GESTURE_V, input_dev->keybit);
__set_bit(KEY_GESTURE_C, input_dev->keybit);
__set_bit(KEY_GESTURE_Z, input_dev->keybit);
hyn_create_gesture_sysfs(client);
hyn_gesture_data.mode = 1;
hyn_gesture_data.active = 0;
hyn_gesture_data.report_key = 0;
hyn_gesture_data.gestrue_id = 0;
HYN_FUNC_EXIT();
return 0;
}
/************************************************************************
* Name: hyn_gesture_exit
* Brief: remove sys
* Input: i2c info
* Output: no
* Return: no
***********************************************************************/
int hyn_gesture_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return -1;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
HYN_FUNC_EXIT();
return 0;
}
#endif

View File

@ -0,0 +1,250 @@
/**
*Name : cst0xx_i2c.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
static DEFINE_MUTEX(i2c_rw_access);
int hyn_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
// client->addr = (client->addr & I2C_MASK_FLAG) | I2C_WR_FLAG | I2C_RS_FLAG;
ret = i2c_master_recv(client, readbuf, readlen);
if(ret < 0){
HYN_ERROR("i2c_master_recv i2c read error.\n");
return ret;
}
return ret;
}
/*
*
*/
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
return ret;
}
/*
*
*/
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue)
{
u8 buf[2] = {0};
buf[0] = regaddr;
buf[1] = regvalue;
return hyn_i2c_write(client, buf, sizeof(buf));
}
/*
*
*/
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue)
{
return hyn_i2c_read(client, &regaddr, 1, regvalue, 1);
}
/*****************************************************************/
/*
*
*/
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char mbuf[600];
if (reg_len == 1){
mbuf[0] = reg;
memcpy(mbuf+1,buf,len);
}else{
mbuf[0] = reg>>8;
mbuf[1] = reg;
memcpy(mbuf+2,buf,len);
}
ret = hyn_i2c_write(hyn_ts_data->client,mbuf,len+reg_len);
if (ret < 0){
HYN_ERROR("%s i2c write error.\n", __func__);
}
return ret;
}
/*
*
*/
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char reg_buf[2];
if (reg_len == 1){
reg_buf[0] = reg;
}else{
reg_buf[0] = reg>>8;
reg_buf[1] = reg;
}
ret = hyn_i2c_read(hyn_ts_data->client,reg_buf,reg_len,buf,len);
if (ret < 0){
HYN_ERROR("f%s: i2c read error.\n",__func__);
}
return ret;
}
/*****************************************************************/
#ifdef HIGH_SPEED_IIC_TRANSFER
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags |= I2C_M_RD;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
/*******************************************************
Function:
read data from register.
Input:
buf: first two byte is register addr, then read data store into buf
len: length of data that to read
Output:
success: number of messages
fail: negative errno
*******************************************************/
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msgs[2];
int ret = -1;
int retries = 0;
msgs[0].flags = client->flags & I2C_M_TEN;
msgs[0].addr = client->addr;
msgs[0].len = 2;
msgs[0].buf = buf;
msgs[1].flags |= I2C_M_RD;
msgs[1].addr = client->addr;
msgs[1].len = len;
msgs[1].buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, msgs, 2);
if(ret == 2)
break;
retries++;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags = client->flags & I2C_M_TEN;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
#else
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_recv(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_send(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
ret = cst3xx_i2c_write(client, buf, 2);
ret = cst3xx_i2c_read(client, buf, len);
return ret;
}
#endif

View File

@ -0,0 +1,538 @@
#ifndef __HYNITRON_EX_FUN_H__
#define __HYNITRON_EX_FUN_H__
#include "hynitron_core.h"
#define MTK_PS_ENABLE 0
#define SPRD_PS_ENABLE 0
#define HYN_CAP_PROXIMITY_FARAWAY_VALUE 0xC0
#define HYN_CAP_PROXIMITY_NEAR_VALUE 0xE0
#define HYN_MUT_PROXIMITY_FARAWAY_VALUE 0x00
#define HYN_MUT_PROXIMITY_NEAR_VALUE 0x01
#if HYN_PSENSOR_EN
#if MTK_PS_ENABLE
#include <hwmsensor.h>
#include <hwmsen_dev.h>
#include <sensors_io.h>
#endif
#define TP_PS_DEVICE "ltr_558als"
#define TP_PS_INPUT_DEV "alps_pxy"
#define PROXIMITY_DEBUG(fmt,arg...) printk("<<hyn proximity>> "fmt"\n",##arg)
struct hynitron_ps_struct {
u8 proximity_enable ;
u8 proximity_enable_lock;
u8 proximity_detect_value ;
u8 suspend_flag;
/* kernel-4.14 do not wake_lock */
//struct wake_lock proximity_lock;
#if MTK_PS_ENABLE
struct hwmsen_object obj_ps;
#endif
struct class *firmware_class;
struct device *firmware_cmd_dev;
struct input_dev *ps_input_dev;
};
struct hynitron_ps_struct *hyn_proximity_data;
static int hyn_proximity_get_value(void);
/************************************************
MTK平台:
IC----hwmsen_attach(ID_PROXIMITY)----hwm_sensor_data
*************************************************/
#if MTK_PS_ENABLE
#define SENSOR_DELAY 0
#define SENSOR_ENABLE 0
#define SENSOR_GET_DATA 0
#define SENSOR_STATUS_ACCURACY_MEDIUM 0
void hyn_proximity_mtk_report(int proximity_value)
{
int err;
struct hwm_sensor_data sensor_data;
sensor_data.values[0] = proximity_value;
sensor_data.value_divide = 1;
sensor_data.status = SENSOR_STATUS_ACCURACY_MEDIUM;
if ((err = hwmsen_get_interrupt_data(ID_PROXIMITY, &sensor_data)))
{
PROXIMITY_DEBUG(" proxi call hwmsen_get_interrupt_data failed= %d\n", err);
}
}
static int hyn_proximiy_operate(void* self, uint32_t command, void* buff_in, int size_in,
void* buff_out, int size_out, int* actualout)
{
int err = 0;
int value;
PROXIMITY_DEBUG("[proxi]command = 0x%02X\n", command);
switch (command)
{
case SENSOR_DELAY:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Set delay parameter error!\n");
err = -EINVAL;
}
// Do nothing
break;
case SENSOR_ENABLE:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Enable sensor parameter error!\n");
err = -EINVAL;
}else{
value = *(int *)buff_in;
if(value){
if((hyn_proximity_enable(1) != 0)){
PROXIMITY_DEBUG("enable ps fail: %d\n", err);
return -1;
}
}else{
if((hyn_proximity_enable(0) != 0)){
PROXIMITY_DEBUG("disable ps fail: %d\n", err);
return -1;
}
}
}
break;
case SENSOR_GET_DATA:
if((buff_out == NULL)){
PROXIMITY_DEBUG("get sensor data parameter error!\n");
err = -EINVAL;
}else{
hyn_proximity_readdata();
}
break;
default:
PROXIMITY_DEBUG("proxmy sensor operate function no this parameter %d!\n", command);
err = -1;
break;
}
return err;
}
void hyn_proximity_mtk_init(void)
{
int ret;
hyn_ts_data->client->obj_ps.polling = 0;//interrupt mode
hyn_ts_data->client->obj_ps.sensor_operate = hyn_proximiy_operate;
if((ret = hwmsen_attach(ID_PROXIMITY, &hyn_ts_data->client->obj_ps))){
PROXIMITY_DEBUG("proxi_hyn attach fail = %d\n", ret);
}else{
PROXIMITY_DEBUG("proxi_hyn attach ok = %d\n", ret);
}
}
#endif
/************************************************
Spreadtrum平台:
IC----proximity-----
*************************************************/
#if SPRD_PS_ENABLE
static ssize_t show_proximity_sensor(struct device *dev, struct device_attribute *attr, char *buf)
{
PROXIMITY_DEBUG("show_proximity_sensor get prox state \n");
if (buf != NULL)
sprintf(buf, "proximity_enable is:%d, proximity_detect_value:%d.\n",hyn_proximity_data->proximity_enable ,hyn_proximity_data->proximity_detect_value);
return 0;
}
static ssize_t store_proximity_sensor(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
{
unsigned int on_off = simple_strtoul(buf, NULL, 10);
PROXIMITY_DEBUG("store_proximity_sensor buf=%d,size=%d,on_off=%d\n", *buf, size, on_off);
if(buf != NULL && size != 0){
if (0 == on_off)
hyn_proximity_enable(0);
else if (1 == on_off)
hyn_proximity_enable(1);
}
return size;
}
static DEVICE_ATTR(proximity, S_IRUGO | S_IWUSR, show_proximity_sensor, store_proximity_sensor);
void hyn_proximity_sprd_report(int proximity_value)
{
input_report_abs(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, proximity_value);
input_sync(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_sprd_init(void)
{
// node :/sys/class/sprd-tpd/device/proximity
hyn_ts_data->client->firmware_class = class_create(THIS_MODULE,"sprd-tpd");//client->name
if(IS_ERR(hyn_ts_data->client->firmware_class))
PROXIMITY_DEBUG("Failed to create class(firmware)!\n");
hyn_ts_data->client->firmware_cmd_dev = device_create(hyn_ts_data->client->firmware_class, NULL, 0, NULL, "device");//device
if(IS_ERR(hyn_ts_data->client->firmware_cmd_dev))
PROXIMITY_DEBUG("Failed to create device(firmware_cmd_dev)!\n");
if(device_create_file(hyn_ts_data->client->firmware_cmd_dev, &dev_attr_proximity) < 0){
PROXIMITY_DEBUG("Failed to create device file(%s)!\n", dev_attr_proximity.attr.name);
}
}
#endif
/************************************************************************
* Name: hyn_proximity_mode_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
u8 val = 0;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "proximity Mode: %s\n", hyn_proximity_data->proximity_enable ? "On" : "Off");
count += sprintf(buf + count, "Reg(0xD0) = %d\n", val);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_mode_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1)
{
HYN_INFO("[proximity]enable ");
hyn_proximity_data->proximity_enable = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[proximity]disable");
hyn_proximity_data->proximity_enable = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "proximity: 0x%x\n", hyn_proximity_data->proximity_enable);
count += snprintf(buf + count, PAGE_SIZE, "proximity: %d\n", hyn_proximity_data->proximity_detect_value);
count += snprintf(buf + count, PAGE_SIZE, "proximity Buf:\n");
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/* sysfs proximity node
* read example: cat hyn_proximity_mode ---read proximity mode
* write example:echo 01 > hyn_proximity_mode ---write proximity mode to 01
*
*/
static DEVICE_ATTR (hyn_proximity_mode, S_IRUGO|S_IWUSR, hyn_proximity_mode_show, hyn_proximity_mode_store);
/*
* read example: cat hyn_proximity_buf ---read proximity buf
*/
static DEVICE_ATTR (hyn_proximity_buf, S_IRUGO|S_IWUSR, hyn_proximity_buf_show, hyn_proximity_buf_store);
static struct attribute *hyn_proximity_mode_attrs[] =
{
&dev_attr_hyn_proximity_mode.attr,
&dev_attr_hyn_proximity_buf.attr,
NULL,
};
static struct attribute_group hyn_proximity_group =
{
.attrs = hyn_proximity_mode_attrs,
};
int hyn_create_proximity_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if ( ret != 0)
{
HYN_ERROR( "hyn_create_proximity_sysfs(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
int hyn_proximity_readdata(void)
{
int err;
HYN_FUNC_ENTER();
if (hyn_proximity_data->proximity_enable == 1)
{
err=hyn_proximity_get_value();
#if MTK_PS_ENABLE
hyn_proximity_mtk_report(hyn_proximity_data->proximity_detect_value);
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_report(hyn_proximity_data->proximity_detect_value);
#endif
}
HYN_FUNC_EXIT();
return err;
}
static int hyn_proximity_enable_real(int enable)
{
u8 state;
int ret = -1;
HYN_FUNC_ENTER();
if (enable){
state = ENABLE;
hyn_proximity_data->proximity_enable = ENABLE;
/* kernel-4.14 do not wake_lock */
//wake_lock(&hyn_proximity_data->proximity_lock);
PROXIMITY_DEBUG(" proximity function is on.\n");
}else{
if(hyn_proximity_data->suspend_flag) return 0;
state = DISABLE;
/* kernel-4.14 do not wake_lock */
//wake_unlock(&hyn_proximity_data->proximity_lock);
hyn_proximity_data->proximity_enable = DISABLE;
PROXIMITY_DEBUG(" proximity function is off.\n");
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
buf[2]=state<<7;
ret=cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
ret = hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_EN, state);
}
PROXIMITY_DEBUG("proximity write state is 0x%02X\n", state);
HYN_FUNC_EXIT();
return 0;
}
static int hyn_proximity_get_value(void)
{
u8 proximity_status=0;
HYN_FUNC_ENTER();
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
proximity_status=buf[0]&0x7f;
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_MUT_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_MUT_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS, &proximity_status);
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_CAP_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_CAP_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}
PROXIMITY_DEBUG("proximity_detect_value = %d\n", hyn_proximity_data->proximity_detect_value);
HYN_FUNC_EXIT();
return hyn_proximity_data->proximity_detect_value;
}
static int hyn_proximity_enable(int enable)
{
HYN_FUNC_ENTER();
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X.\n",hyn_proximity_data->suspend_flag,enable );
if (hyn_proximity_data->suspend_flag && enable) {
}else{
hyn_proximity_enable_real(enable);
}
HYN_FUNC_EXIT();
return 0;
}
void hyn_proximity_suspend(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag++;
if (hyn_proximity_data->proximity_enable == 1) hyn_proximity_data->proximity_enable_lock = 1;
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_resume(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag = 0;
if (hyn_proximity_data->proximity_enable == 1){
if(hyn_proximity_data->proximity_enable_lock == 1){
hyn_proximity_data->proximity_enable_lock = 0;
PROXIMITY_DEBUG(" proximity_enable_lock. \n");
}
}
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_init(void)
{
int ret;
HYN_FUNC_ENTER();
/* malloc memory for global struct variable,init 0 */
hyn_proximity_data = kzalloc(sizeof(*hyn_proximity_data), GFP_KERNEL);
if (!hyn_proximity_data) {
PROXIMITY_DEBUG("proximity allocate memory for hyn_proximity_data fail");
return;
}
hyn_proximity_data->ps_input_dev = input_allocate_device();
if (!hyn_proximity_data->ps_input_dev)
{
PROXIMITY_DEBUG(" %s: input allocate device failed\n", __func__);
ret = -ENOMEM;
goto exit_input_dev_allocate_failed;
}
hyn_proximity_data->ps_input_dev->name = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->phys = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->id.bustype = BUS_I2C;
hyn_proximity_data->ps_input_dev->dev.parent = &hyn_ts_data->client->dev;
__set_bit(EV_ABS, hyn_proximity_data->ps_input_dev->evbit);
input_set_abs_params(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, 0, 1, 0, 0);
ret= input_register_device(hyn_proximity_data->ps_input_dev);
if (ret < 0)
{
PROXIMITY_DEBUG("%s: input device regist failed\n", __func__);
goto exit_input_register_failed;
}
hyn_create_proximity_sysfs(hyn_ts_data->client);
hyn_proximity_enable(0);
/* kernel-4.14 do not wake_lock */
//wake_lock_init(&hyn_proximity_data->proximity_lock, WAKE_LOCK_SUSPEND, "proximity wakelock");
#if MTK_PS_ENABLE
hyn_proximity_mtk_init();
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_init();
#endif
HYN_FUNC_EXIT();
return;
exit_input_dev_allocate_failed:
input_free_device(hyn_proximity_data->ps_input_dev );
exit_input_register_failed:
input_free_device(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if(hyn_proximity_data==NULL) return;
kfree(hyn_proximity_data);
//wake_lock_destroy(&hyn_proximity_data->proximity_lock); /* kernel-4.14 do not wake_lock */
HYN_FUNC_EXIT();
}
#endif
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,37 @@
#ifndef __HYNITRON_UPDATE_FIRMWARE_H__
#define __HYNITRON_UPDATE_FIRMWARE_H__
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/semaphore.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/syscalls.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/proc_fs.h>
int hyn_firmware_info(struct i2c_client * client);
int hyn_boot_update_fw(struct i2c_client * client);
int hyn_detect_main_iic(struct i2c_client *client);
int hyn_detect_bootloader(struct i2c_client *client);
void hyn_init_factory_test_init(struct i2c_client *client);
#if HYN_AUTO_FACTORY_TEST_EN
int hyn_factory_touch_test(void);
#endif
#if HYN_SYS_AUTO_SEARCH_FIRMWARE
int hyn_sys_auto_search_firmware(void);
#endif
#endif

Binary file not shown.

View File

@ -0,0 +1,12 @@
#
# Touchscreen driver configuration
#
config CONFIG_TOUCHSCREEN_HYNITRON_TS
bool "hynitorn Ts for TOUCHSCREEN"
depends on I2C
default n
help
Say Y here if you have hynitorn touch panel.
If unsure, say N.

View File

@ -0,0 +1,20 @@
# Linux driver folder
# ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/hynitron/
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/sensors-1.0/hwmon/include/
ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/hynitron/
ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/
ccflags-y += -I$(srctree)/drivers/misc/mediatek/hwmon/include
ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
obj-y += hynitron_core.o
obj-y += hynitron_i2c.o
obj-y += hynitron_esd_check.o
obj-y += hynitron_tool_debug.o
obj-y += hynitron_update_firmware.o
obj-y += hynitron_gesture.o
obj-y += hynitron_proximity.o

View File

@ -0,0 +1,37 @@
Hynitron touch controller
The Hynitron controller is connected to host processor via i2c. The controller generates interrupts when the user touches the panel. The host controller is expected to read the touch coordinates over i2c and pass the coordinates to the rest of the system.
Required properties:
- compatible : should be "hynitron,hyn_ts"
- reg : i2c slave address of the device, should be <0x1a(mutcap) or 0x15(slefcap)>
- hynitron,irq-gpio : irq gpio, same as "interrupts" node.
- hynitron,reset-gpio : reset gpio,keep high voltage in normal mode.
- hynitron,max-touch-number: maximum number of touches support
- hynitron,display-coords : display resolution in pixels. A two tuple consisting of x_resolution, y_resolution.
Optional properties:
- hynitron,have-key : specify if virtual keys are supported
- hynitron,key-number : number of keys
- hynitron,key-code : virtual key codes mapping to the coords
- hynitron,key-y-coord : constant y coordinate of keys, depends on the y resolution
- hynitron,key-x-coord : constant x coordinates of keys, depends on the x resolution
Example:
i2c@f9927000 {
hynitron@1a{
compatible = "hynitron,hyn_ts";
reg = <0x1a>;
hynitron,reset-gpio = <&gpio 12 0x01>;
hynitron,irq-gpio = <&gpio 13 0x02>;
hynitron,max-touch-number = <5>;
hynitron,display-coords = <1080 1920>;
hynitron,have-key;
hynitron,key-number = <3>;
hynitron,key-code = <139 172 158>;
hynitron,key-y-coord = <2000 2000 2000>;
hynitron,key-x-coord = <200 600 800>;
};
};

View File

@ -0,0 +1,856 @@
/*
*Name : capacitive_hynitron_cst0xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
static unsigned char cst0xx_fw[] = {
0x00, 0x14, 0x80, 0x34, 0xc5, 0xfd,
0x75, 0x8c, 0x46, 0x75, 0x8d, 0x4a, 0x75, 0xa4, 0x82, 0x75, 0xa5, 0x82, 0xe4, 0xf5, 0x94, 0xf5,
0x95, 0x22, 0x02, 0x41, 0x77, 0x90, 0x04, 0xa9, 0xef, 0xf0, 0x22, 0x02, 0x41, 0xb2, 0x12, 0x45,
0x7c, 0xe0, 0xff, 0x22, 0x02, 0x2f, 0x7d, 0x75, 0x81, 0x95, 0x02, 0x44, 0x89, 0x02, 0x40, 0xf6,
0x02, 0x14, 0x27, 0xe7, 0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x46, 0xe7, 0x09, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x3e, 0x88, 0x82, 0x8c, 0x83, 0xe7, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x32, 0xe3,
0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x78, 0xe3, 0x09, 0xf2, 0x08, 0xdf, 0xfa, 0x80, 0x70, 0x88,
0x82, 0x8c, 0x83, 0xe3, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x64, 0x89, 0x82, 0x8a, 0x83, 0xe0,
0xa3, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x58, 0x89, 0x82, 0x8a, 0x83, 0xe0, 0xa3, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x4c, 0x80, 0xd2, 0x80, 0xfa, 0x80, 0xc6, 0x80, 0xd4, 0x80, 0x69, 0x80, 0xf2, 0x80,
0x33, 0x80, 0x10, 0x80, 0xa6, 0x80, 0xea, 0x80, 0x9a, 0x80, 0xa8, 0x80, 0xda, 0x80, 0xe2, 0x80,
0xca, 0x80, 0x33, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe4, 0x93, 0xa3, 0xc8, 0xc5, 0x82, 0xc8,
0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xdf, 0xe9,
0xde, 0xe7, 0x80, 0x0d, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf6, 0x08, 0xdf, 0xf9, 0xec,
0xfa, 0xa9, 0xf0, 0xed, 0xfb, 0x22, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe0, 0xa3, 0xc8, 0xc5,
0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc,
0xdf, 0xea, 0xde, 0xe8, 0x80, 0xdb, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf2, 0x08, 0xdf,
0xf9, 0x80, 0xcc, 0x88, 0xf0, 0xef, 0x60, 0x01, 0x0e, 0x4e, 0x60, 0xc3, 0x88, 0xf0, 0xed, 0x24,
0x02, 0xb4, 0x04, 0x00, 0x50, 0xb9, 0xf5, 0x82, 0xeb, 0x24, 0x02, 0xb4, 0x04, 0x00, 0x50, 0xaf,
0x23, 0x23, 0x45, 0x82, 0x23, 0x90, 0x14, 0x83, 0x73, 0xbb, 0x01, 0x0c, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe6, 0x22,
0xbb, 0xfe, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0x22, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83,
0x3a, 0xf5, 0x83, 0xe4, 0x93, 0x22, 0xbb, 0x01, 0x06, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0x22, 0x50,
0x02, 0xf7, 0x22, 0xbb, 0xfe, 0x01, 0xf3, 0x22, 0xf8, 0xbb, 0x01, 0x0d, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xc8, 0xf6,
0x22, 0xbb, 0xfe, 0x05, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0x22, 0xef, 0x8d, 0xf0, 0xa4, 0xa8, 0xf0,
0xcf, 0x8c, 0xf0, 0xa4, 0x28, 0xce, 0x8d, 0xf0, 0xa4, 0x2e, 0xfe, 0x22, 0xbc, 0x00, 0x0b, 0xbe,
0x00, 0x29, 0xef, 0x8d, 0xf0, 0x84, 0xff, 0xad, 0xf0, 0x22, 0xe4, 0xcc, 0xf8, 0x75, 0xf0, 0x08,
0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xec, 0x33, 0xfc, 0xee, 0x9d, 0xec, 0x98, 0x40, 0x05, 0xfc,
0xee, 0x9d, 0xfe, 0x0f, 0xd5, 0xf0, 0xe9, 0xe4, 0xce, 0xfd, 0x22, 0xed, 0xf8, 0xf5, 0xf0, 0xee,
0x84, 0x20, 0xd2, 0x1c, 0xfe, 0xad, 0xf0, 0x75, 0xf0, 0x08, 0xef, 0x2f, 0xff, 0xed, 0x33, 0xfd,
0x40, 0x07, 0x98, 0x50, 0x06, 0xd5, 0xf0, 0xf2, 0x22, 0xc3, 0x98, 0xfd, 0x0f, 0xd5, 0xf0, 0xea,
0x22, 0xc2, 0xd5, 0xec, 0x30, 0xe7, 0x09, 0xb2, 0xd5, 0xe4, 0xc3, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc,
0xee, 0x30, 0xe7, 0x15, 0xb2, 0xd5, 0xe4, 0xc3, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x12, 0x15, 0x9c,
0xc3, 0xe4, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc, 0x80, 0x03, 0x12, 0x15, 0x9c, 0x30, 0xd5, 0x07, 0xc3,
0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0xc5, 0xf0, 0xf8, 0xa3, 0xe0, 0x28, 0xf0, 0xc5, 0xf0,
0xf8, 0xe5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xe0, 0x38, 0xf0, 0x22, 0xbb, 0x01, 0x0a,
0x89, 0x82, 0x8a, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x06, 0x87, 0xf0, 0x09, 0xe7,
0x19, 0x22, 0xbb, 0xfe, 0x07, 0xe3, 0xf5, 0xf0, 0x09, 0xe3, 0x19, 0x22, 0x89, 0x82, 0x8a, 0x83,
0xe4, 0x93, 0xf5, 0xf0, 0x74, 0x01, 0x93, 0x22, 0xbb, 0x01, 0x10, 0xe5, 0x82, 0x29, 0xf5, 0x82,
0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82,
0xf8, 0x86, 0xf0, 0x08, 0xe6, 0x22, 0xbb, 0xfe, 0x0a, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0xf5, 0xf0,
0x08, 0xe2, 0x22, 0xe5, 0x83, 0x2a, 0xf5, 0x83, 0xe9, 0x93, 0xf5, 0xf0, 0xa3, 0xe9, 0x93, 0x22,
0xf8, 0xbb, 0x01, 0x11, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0,
0xe5, 0xf0, 0xa3, 0xf0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf6, 0x08, 0xa6, 0xf0, 0x22,
0xbb, 0xfe, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0xe5, 0xf0, 0x08, 0xf2, 0x22, 0xef, 0x2b, 0xff,
0xee, 0x3a, 0xfe, 0xed, 0x39, 0xfd, 0xec, 0x38, 0xfc, 0x22, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a,
0xfe, 0xed, 0x99, 0xfd, 0xec, 0x98, 0xfc, 0x22, 0xe8, 0x8f, 0xf0, 0xa4, 0xcc, 0x8b, 0xf0, 0xa4,
0x2c, 0xfc, 0xe9, 0x8e, 0xf0, 0xa4, 0x2c, 0xfc, 0x8a, 0xf0, 0xed, 0xa4, 0x2c, 0xfc, 0xea, 0x8e,
0xf0, 0xa4, 0xcd, 0xa8, 0xf0, 0x8b, 0xf0, 0xa4, 0x2d, 0xcc, 0x38, 0x25, 0xf0, 0xfd, 0xe9, 0x8f,
0xf0, 0xa4, 0x2c, 0xcd, 0x35, 0xf0, 0xfc, 0xeb, 0x8e, 0xf0, 0xa4, 0xfe, 0xa9, 0xf0, 0xeb, 0x8f,
0xf0, 0xa4, 0xcf, 0xc5, 0xf0, 0x2e, 0xcd, 0x39, 0xfe, 0xe4, 0x3c, 0xfc, 0xea, 0xa4, 0x2d, 0xce,
0x35, 0xf0, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0x75, 0xf0, 0x08, 0x75, 0x82, 0x00, 0xef, 0x2f, 0xff,
0xee, 0x33, 0xfe, 0xcd, 0x33, 0xcd, 0xcc, 0x33, 0xcc, 0xc5, 0x82, 0x33, 0xc5, 0x82, 0x9b, 0xed,
0x9a, 0xec, 0x99, 0xe5, 0x82, 0x98, 0x40, 0x0c, 0xf5, 0x82, 0xee, 0x9b, 0xfe, 0xed, 0x9a, 0xfd,
0xec, 0x99, 0xfc, 0x0f, 0xd5, 0xf0, 0xd6, 0xe4, 0xce, 0xfb, 0xe4, 0xcd, 0xfa, 0xe4, 0xcc, 0xf9,
0xa8, 0x82, 0x22, 0xb8, 0x00, 0xc1, 0xb9, 0x00, 0x59, 0xba, 0x00, 0x2d, 0xec, 0x8b, 0xf0, 0x84,
0xcf, 0xce, 0xcd, 0xfc, 0xe5, 0xf0, 0xcb, 0xf9, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe,
0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xeb, 0x33, 0xfb, 0x10, 0xd7, 0x03, 0x99, 0x40, 0x04, 0xeb,
0x99, 0xfb, 0x0f, 0xd8, 0xe5, 0xe4, 0xf9, 0xfa, 0x22, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33,
0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xc9, 0x33, 0xc9, 0x10, 0xd7, 0x05, 0x9b, 0xe9, 0x9a,
0x40, 0x07, 0xec, 0x9b, 0xfc, 0xe9, 0x9a, 0xf9, 0x0f, 0xd8, 0xe0, 0xe4, 0xc9, 0xfa, 0xe4, 0xcc,
0xfb, 0x22, 0x75, 0xf0, 0x10, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xcc, 0x33,
0xcc, 0xc8, 0x33, 0xc8, 0x10, 0xd7, 0x07, 0x9b, 0xec, 0x9a, 0xe8, 0x99, 0x40, 0x0a, 0xed, 0x9b,
0xfd, 0xec, 0x9a, 0xfc, 0xe8, 0x99, 0xf8, 0x0f, 0xd5, 0xf0, 0xda, 0xe4, 0xcd, 0xfb, 0xe4, 0xcc,
0xfa, 0xe4, 0xc8, 0xf9, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea, 0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42,
0xf0, 0xec, 0x64, 0x80, 0xc8, 0x64, 0x80, 0x98, 0x45, 0xf0, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea,
0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42, 0xf0, 0xe8, 0x9c, 0x45, 0xf0, 0x22, 0xe8, 0x60, 0x0f, 0xef,
0xc3, 0x33, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xd8, 0xf1, 0x22, 0xe6,
0xfc, 0x08, 0xe6, 0xfd, 0x08, 0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x22, 0xe4, 0x93, 0xfc, 0x74, 0x01,
0x93, 0xfd, 0x74, 0x02, 0x93, 0xfe, 0x74, 0x03, 0x93, 0xff, 0x22, 0xe6, 0xfb, 0x08, 0xe6, 0xf9,
0x08, 0xe6, 0xfa, 0x08, 0xe6, 0xcb, 0xf8, 0x22, 0xec, 0xf6, 0x08, 0xed, 0xf6, 0x08, 0xee, 0xf6,
0x08, 0xef, 0xf6, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xe4, 0x93, 0xf6, 0x08, 0x74, 0x01, 0x93, 0xf6,
0x08, 0x74, 0x02, 0x93, 0xf6, 0x08, 0x74, 0x03, 0x93, 0xf6, 0x74, 0x04, 0x73, 0xa4, 0x25, 0x82,
0xf5, 0x82, 0xe5, 0xf0, 0x35, 0x83, 0xf5, 0x83, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93,
0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0d, 0xa3, 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82,
0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xef, 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xec,
0x8e, 0xf0, 0xa4, 0xcc, 0xc5, 0xf0, 0xcc, 0xcd, 0xf8, 0xef, 0xa4, 0xce, 0xc5, 0xf0, 0x2d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe8, 0xa4, 0x2e, 0xc8, 0xc5, 0xf0, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xef, 0xa4,
0xff, 0xe5, 0xf0, 0x28, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0xef, 0x4e, 0x60, 0x12,
0xef, 0x60, 0x01, 0x0e, 0xed, 0xbb, 0x01, 0x0b, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0xa3, 0xdf, 0xfc,
0xde, 0xfa, 0x22, 0x89, 0xf0, 0x50, 0x07, 0xf7, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0xbb, 0xfe,
0xfc, 0xf3, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0x12, 0x26, 0x15, 0xe5, 0x08, 0x24, 0x04, 0x12,
0x24, 0xd1, 0x12, 0x39, 0xbd, 0x12, 0x24, 0xbb, 0x12, 0x26, 0x1f, 0x12, 0x24, 0xcd, 0x12, 0x39,
0xbd, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0x12, 0x24, 0xc6,
0x54, 0xfb, 0xf2, 0xe5, 0x09, 0x30, 0xe0, 0x17, 0x12, 0x26, 0x29, 0x60, 0x12, 0x12, 0x26, 0x30,
0x70, 0x0d, 0x75, 0x2b, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe4, 0xf2, 0x02, 0x1b, 0x26, 0xe4,
0xf5, 0x2b, 0x12, 0x25, 0xe3, 0x02, 0x1b, 0x26, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0x75, 0x2e,
0x00, 0xf5, 0x2f, 0x12, 0x26, 0x30, 0xff, 0x70, 0x16, 0x12, 0x26, 0x29, 0xd3, 0x94, 0x01, 0x40,
0x0e, 0x12, 0x25, 0xd3, 0xc3, 0x94, 0x20, 0x50, 0x31, 0xe2, 0x24, 0x04, 0xf2, 0x80, 0x2b, 0x12,
0x26, 0x29, 0xfe, 0x70, 0x30, 0xef, 0xd3, 0x94, 0x01, 0x40, 0x2a, 0x12, 0x24, 0xc6, 0xff, 0x13,
0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x1e, 0xef, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x16, 0x12,
0x25, 0xd3, 0xc3, 0x94, 0x08, 0x50, 0x03, 0xe2, 0x04, 0xf2, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2,
0x54, 0xfd, 0xf2, 0x80, 0x2e, 0xee, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x02, 0xf2, 0x12, 0x26,
0x30, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x01, 0xf2, 0x12, 0x24, 0xc6, 0x30, 0xe0, 0x14, 0xc3,
0x13, 0x30, 0xe0, 0x0f, 0x12, 0x25, 0xe3, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2, 0x54, 0xfd, 0xf2,
0x44, 0x04, 0xf2, 0x12, 0x25, 0xd3, 0x70, 0x02, 0x04, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24,
0x98, 0xe5, 0x08, 0x24, 0x05, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5, 0x31, 0x18, 0xe2, 0x9e, 0xf5, 0x30,
0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5,
0x33, 0x18, 0xe2, 0x9e, 0xf5, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x1a,
0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe5, 0x30, 0xf2, 0x08, 0xe5, 0x31, 0xf2, 0xe5, 0x08, 0x24, 0x11,
0xf8, 0xe5, 0x32, 0xf2, 0x08, 0xe5, 0x33, 0xf2, 0x80, 0x51, 0xaf, 0x31, 0xae, 0x30, 0x12, 0x1b,
0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x50, 0x1f,
0xaf, 0x33, 0xae, 0x32, 0x12, 0x1b, 0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3,
0xed, 0x9f, 0xec, 0x9e, 0x50, 0x09, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0xf5, 0x32, 0xf5, 0x33, 0xe5,
0x08, 0x24, 0x10, 0xf8, 0xe2, 0x25, 0x31, 0xf2, 0x18, 0xe2, 0x35, 0x30, 0xf2, 0xe5, 0x08, 0x24,
0x12, 0xf8, 0xe2, 0x25, 0x33, 0xf2, 0x18, 0xe2, 0x35, 0x32, 0xf2, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x25, 0xd3, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0x8e, 0x2e, 0x8f, 0x2f, 0xe5, 0x08, 0x24, 0x11,
0x12, 0x24, 0x98, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x0f, 0x12, 0x24,
0x98, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x24,
0xb4, 0x74, 0x15, 0x93, 0xf5, 0x2b, 0xac, 0x2e, 0xad, 0x2f, 0xae, 0x2c, 0xaf, 0x2d, 0x12, 0x15,
0x9c, 0xee, 0x70, 0x42, 0xef, 0x14, 0x60, 0x0c, 0x14, 0x60, 0x23, 0x24, 0x02, 0x70, 0x37, 0x75,
0x2b, 0xff, 0x80, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5,
0x2b, 0x75, 0xf0, 0x08, 0xa4, 0xff, 0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0x80, 0x18, 0x12, 0x24,
0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0xff,
0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0xe5, 0x2b, 0xf4, 0x60, 0x36, 0xe5, 0x2b, 0x60, 0x0d, 0x78,
0x92, 0xe6, 0xff, 0x60, 0x07, 0xe5, 0x2b, 0x8f, 0xf0, 0xa4, 0xf5, 0x2b, 0x12, 0x24, 0xe4, 0x24,
0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a,
0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a, 0x80,
0x11, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0x12, 0x24, 0xbb, 0xe5, 0x08, 0x24, 0x37, 0x12,
0x24, 0x98, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x22, 0x12, 0x46, 0x5f, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0x8d, 0x29,
0xe4, 0xf5, 0x2a, 0xd2, 0xb8, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x90, 0x04, 0xa5, 0xe0, 0x6f, 0x60,
0x28, 0x78, 0x95, 0xe6, 0xb4, 0x01, 0x22, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4,
0x78, 0x95, 0xf6, 0xf5, 0xeb, 0x12, 0x45, 0x2d, 0x7b, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12, 0x43,
0x72, 0x90, 0x04, 0xff, 0xe0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x4b, 0xe0, 0xb4, 0x03, 0x0d,
0x12, 0x45, 0x2d, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x7f, 0x02, 0x12, 0x14, 0x15, 0x90, 0x04, 0x66,
0xe0, 0xff, 0x60, 0x09, 0x12, 0x46, 0x89, 0xe4, 0x90, 0x04, 0x66, 0xf0, 0x22, 0x90, 0x04, 0xff,
0xe0, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0xe5, 0x44, 0x20, 0xe0, 0x03, 0x02, 0x1c, 0x99, 0xe5, 0x29,
0x70, 0x07, 0xe5, 0x45, 0x70, 0x03, 0x02, 0x1c, 0x99, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d,
0xe6, 0xe5, 0x29, 0x60, 0x0e, 0xe5, 0x45, 0x60, 0x05, 0x75, 0x2b, 0x03, 0x80, 0x0c, 0x75, 0x2b,
0x01, 0x80, 0x07, 0xe5, 0x45, 0x60, 0x03, 0x75, 0x2b, 0x02, 0xe5, 0x29, 0x7f, 0x00, 0x60, 0x02,
0x7f, 0x01, 0x90, 0x03, 0xa8, 0xef, 0xf0, 0xe5, 0x2b, 0x7f, 0x80, 0xb4, 0x01, 0x02, 0x7f, 0x00,
0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x2b, 0xb4, 0x02, 0x04, 0x7f, 0x40, 0x80, 0x05, 0x90, 0x03,
0xa9, 0xe0, 0xff, 0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x29, 0x45, 0x45, 0xf5, 0x2c, 0x30, 0xe0,
0x06, 0xa3, 0x74, 0x64, 0xf0, 0x80, 0x18, 0xe5, 0x2c, 0x30, 0xe1, 0x08, 0x90, 0x03, 0xaa, 0x74,
0x3c, 0xf0, 0x80, 0x0b, 0xe5, 0x2c, 0x30, 0xe2, 0x06, 0x90, 0x03, 0xaa, 0x74, 0x14, 0xf0, 0xe4,
0x90, 0x03, 0xab, 0xf0, 0xa3, 0x74, 0x8c, 0xf0, 0x12, 0x44, 0xf3, 0x85, 0x29, 0x45, 0xe5, 0x45,
0x7f, 0xff, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x44, 0x22, 0xe5, 0x44, 0x20, 0xe1, 0x03, 0x02, 0x1d,
0xdb, 0x90, 0x00, 0x05, 0x12, 0x42, 0xf1, 0x70, 0x11, 0x90, 0x00, 0x0b, 0x12, 0x15, 0x29, 0x70,
0x09, 0xe5, 0x44, 0x64, 0x02, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0x75, 0x2c, 0x03, 0x12, 0x40, 0x18,
0xef, 0x64, 0x01, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4, 0x90, 0x03, 0xa8, 0xf0, 0x90, 0x00, 0x04,
0x12, 0x42, 0xf1, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0x90, 0x00, 0x0a, 0x12, 0x15,
0x29, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0xe4, 0xf5, 0x2b, 0x8b, 0x2d, 0x8a, 0x2e,
0x89, 0x2f, 0xe5, 0x2b, 0xc3, 0x94, 0x02, 0x40, 0x03, 0x02, 0x1d, 0xba, 0xab, 0x2d, 0xaa, 0x2e,
0xa9, 0x2f, 0x90, 0x00, 0x05, 0x12, 0x15, 0x29, 0xff, 0x70, 0x03, 0x02, 0x1d, 0xaa, 0x90, 0x00,
0x04, 0x12, 0x15, 0x29, 0x70, 0x10, 0x12, 0x42, 0xd5, 0xe0, 0x54, 0x3f, 0x44, 0x40, 0xfe, 0x12,
0x42, 0xd5, 0xee, 0xf0, 0x80, 0x11, 0xef, 0xb4, 0x01, 0x07, 0x12, 0x42, 0xd5, 0xe4, 0xf0, 0x80,
0x06, 0x12, 0x42, 0xd5, 0x74, 0x80, 0xf0, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x60, 0x65, 0x12,
0x43, 0x04, 0x12, 0x42, 0xd9, 0xc0, 0x83, 0xc0, 0x82, 0xe0, 0xfd, 0xab, 0x2d, 0xaa, 0x2e, 0xa9,
0x2f, 0x12, 0x16, 0x3d, 0xfb, 0xaa, 0xf0, 0xea, 0xff, 0xed, 0x4f, 0xd0, 0x82, 0xd0, 0x83, 0xf0,
0xaf, 0x03, 0x12, 0x42, 0xfb, 0x12, 0x42, 0xd9, 0xef, 0xf0, 0xab, 0x2d, 0xaa, 0x2e, 0x90, 0x00,
0x02, 0x12, 0x16, 0x68, 0xe5, 0xf0, 0xff, 0xe5, 0x2b, 0xc4, 0x54, 0xf0, 0x4f, 0x12, 0x42, 0xfa,
0x12, 0x42, 0xd9, 0xef, 0xf0, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x12, 0x42, 0xfa, 0x12, 0x42,
0xd9, 0xef, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9, 0x74, 0x10, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9,
0xe4, 0xf0, 0x80, 0x06, 0x74, 0x06, 0x25, 0x2c, 0xf5, 0x2c, 0x05, 0x2b, 0x74, 0x06, 0x25, 0x2f,
0xf5, 0x2f, 0xe4, 0x35, 0x2e, 0xf5, 0x2e, 0x02, 0x1c, 0xf2, 0xe5, 0x2c, 0xc3, 0x94, 0x20, 0x50,
0x0a, 0x12, 0x42, 0xd5, 0x74, 0xff, 0xf0, 0x05, 0x2c, 0x80, 0xef, 0x12, 0x44, 0xf3, 0x90, 0x03,
0xa8, 0xe0, 0x7f, 0xff, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x44, 0x22, 0xab, 0x26, 0xaa, 0x27, 0xa9,
0x28, 0xad, 0x29, 0x12, 0x3e, 0x41, 0x22, 0x12, 0x40, 0x18, 0xef, 0x64, 0x01, 0x22, 0x15, 0x4d,
0x15, 0x4d, 0xc2, 0x99, 0x78, 0x58, 0xe6, 0x12, 0x18, 0x99, 0x1f, 0xcb, 0x01, 0x1e, 0x13, 0x02,
0x1e, 0x33, 0x03, 0x1f, 0xe9, 0x04, 0x1f, 0xdb, 0x0b, 0x1e, 0x24, 0x0c, 0x1f, 0x35, 0x0d, 0x00,
0x00, 0x1f, 0xe2, 0x12, 0x1f, 0xee, 0x75, 0x99, 0x1f, 0xe4, 0xf5, 0xa1, 0x12, 0x2f, 0x42, 0x76,
0x0c, 0x02, 0x1f, 0xe9, 0x78, 0x66, 0xe6, 0x78, 0x58, 0x60, 0x04, 0x76, 0x03, 0x80, 0xc5, 0x76,
0x04, 0x80, 0xc1, 0xe4, 0xf5, 0x87, 0xe5, 0x1e, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x1e, 0x12, 0x2e,
0xa0, 0xef, 0x56, 0x60, 0x11, 0xe5, 0x1f, 0x54, 0x07, 0x93, 0xff, 0xe5, 0x1f, 0x12, 0x2e, 0xa0,
0xef, 0x56, 0x60, 0x02, 0x80, 0x20, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80, 0x03,
0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x70, 0xc6, 0xf5, 0xe2, 0x78,
0x58, 0x76, 0x04, 0x02, 0x1f, 0xe9, 0xe5, 0x1e, 0x12, 0x2e, 0xaa, 0xe0, 0xff, 0x13, 0x13, 0x54,
0x3f, 0xfe, 0x78, 0x5c, 0xe6, 0xfd, 0x54, 0x10, 0x44, 0xa0, 0xfc, 0x4e, 0xf5, 0xf4, 0x75, 0xf0,
0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xad, 0xe0, 0xfe, 0x13, 0x13, 0x54, 0x3f, 0x4c, 0xf5, 0xf6, 0xee,
0x54, 0x03, 0x25, 0xe0, 0x25, 0xe0, 0xfe, 0xef, 0x54, 0x03, 0x4e, 0xf5, 0xe3, 0xed, 0x30, 0xe0,
0x45, 0x78, 0x66, 0xe6, 0x64, 0x01, 0x70, 0x3e, 0xa8, 0x4d, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d,
0xe6, 0xfe, 0xc3, 0x9f, 0x50, 0x14, 0xe4, 0xf5, 0x87, 0x7d, 0x06, 0x12, 0x2e, 0xc2, 0x2e, 0x12,
0x2e, 0x77, 0x12, 0x39, 0x0c, 0xa8, 0x4d, 0x06, 0x80, 0xe1, 0x53, 0xf4, 0xef, 0x53, 0xf6, 0xef,
0x78, 0x5f, 0xe6, 0xf5, 0x99, 0xe5, 0x1e, 0x12, 0x2e, 0x8c, 0x78, 0x61, 0x12, 0x2e, 0x82, 0xe0,
0x2e, 0xf5, 0xf7, 0x18, 0x80, 0x2c, 0x7d, 0x06, 0x12, 0x2e, 0x68, 0x12, 0x39, 0x0c, 0x7d, 0x06,
0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0x78, 0x5a, 0xe6, 0xf5, 0x99,
0x75, 0xf0, 0x11, 0xe5, 0x1e, 0x12, 0x2e, 0x8f, 0x08, 0x12, 0x2e, 0x82, 0xe0, 0x2e, 0xf5, 0xf7,
0x78, 0x59, 0xe6, 0x44, 0x50, 0xf5, 0xa1, 0xe4, 0xf5, 0xa2, 0x75, 0xa3, 0x80, 0x12, 0x2f, 0x42,
0x76, 0x0d, 0x02, 0x1f, 0xe9, 0x78, 0x5e, 0xe6, 0x7f, 0x02, 0x60, 0x02, 0x7f, 0x05, 0xa8, 0x4d,
0xa6, 0x07, 0xe4, 0xf5, 0xf4, 0xf5, 0xf6, 0x78, 0x5c, 0xe6, 0x30, 0xe0, 0x2a, 0x78, 0x66, 0xe6,
0x64, 0x01, 0x70, 0x23, 0xa8, 0x4d, 0x08, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d, 0x08, 0xe6, 0xfe,
0xc3, 0x9f, 0x50, 0x28, 0xe4, 0xf5, 0x87, 0x12, 0x2e, 0xbe, 0x2e, 0x12, 0x2e, 0x77, 0x12, 0x39,
0x0c, 0xa8, 0x4d, 0x08, 0x06, 0x80, 0xe1, 0xa8, 0x4d, 0xe6, 0xfd, 0x12, 0x2e, 0x68, 0x12, 0x39,
0x0c, 0x12, 0x2e, 0xbe, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0xe5, 0x1e, 0x12, 0x2e,
0xe2, 0xe5, 0x93, 0xf0, 0xa3, 0xe5, 0x92, 0xf0, 0x75, 0xf0, 0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xe5,
0xe5, 0x9b, 0xf0, 0xa3, 0xe5, 0x9a, 0xf0, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80,
0x03, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x60, 0x08, 0x18, 0xe6,
0x78, 0x58, 0xf6, 0x02, 0x1d, 0xf4, 0xe4, 0xf5, 0xe2, 0x80, 0x17, 0x12, 0x1f, 0xee, 0x75, 0x99,
0x03, 0x75, 0xa1, 0x02, 0x12, 0x2f, 0x42, 0x76, 0x0b, 0x80, 0x0e, 0x78, 0x58, 0x76, 0x02, 0x02,
0x1d, 0xf4, 0x78, 0x58, 0x76, 0x04, 0x02, 0x1d, 0xf4, 0x05, 0x4d, 0x05, 0x4d, 0x22, 0x78, 0x5d,
0xe6, 0xf5, 0xf5, 0xf5, 0xf7, 0x18, 0xe6, 0x54, 0x10, 0x44, 0x80, 0xf5, 0xf4, 0xf5, 0xf6, 0x7d,
0x06, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e,
0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x7d, 0x06, 0xe5,
0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1f, 0xf5, 0x82,
0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xf5,
0x36, 0x12, 0x24, 0xb4, 0x74, 0x0d, 0x93, 0xfe, 0x74, 0x0e, 0x93, 0xff, 0x74, 0x03, 0x93, 0xfa,
0x74, 0x04, 0x93, 0xfb, 0x2f, 0xff, 0xea, 0x3e, 0xfe, 0xe4, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15,
0x9c, 0x8e, 0x37, 0x8f, 0x38, 0xe5, 0x36, 0x70, 0x3e, 0x75, 0x2b, 0x01, 0x12, 0x25, 0x1d, 0xe4,
0xf5, 0x30, 0xf5, 0x31, 0x78, 0x88, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x87, 0x12, 0x25, 0x93,
0x78, 0x8c, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8b, 0x12, 0x25, 0x88, 0x74, 0x09, 0x93, 0xfc,
0x74, 0x0a, 0x12, 0x25, 0x29, 0x78, 0x90, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8f, 0x12, 0x24,
0xfe, 0x12, 0x26, 0x41, 0x02, 0x21, 0xaa, 0x78, 0x91, 0xe6, 0x14, 0x65, 0x36, 0x70, 0x3b, 0xf5,
0x2b, 0x12, 0x25, 0x1d, 0x8a, 0x30, 0x8b, 0x31, 0x12, 0x25, 0x06, 0x24, 0x80, 0x12, 0x24, 0x98,
0x12, 0x25, 0x06, 0x24, 0x7f, 0x12, 0x24, 0xfd, 0x12, 0x26, 0x41, 0x12, 0x25, 0x06, 0x24, 0x84,
0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x87, 0x12, 0x24, 0xb4, 0x74, 0x0b,
0x93, 0xfc, 0x74, 0x0c, 0x12, 0x25, 0x29, 0x02, 0x21, 0x9a, 0x12, 0x25, 0x5d, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x37, 0xc3, 0x13, 0xfe, 0xe5, 0x38, 0x13, 0x2d, 0xf5, 0x31, 0xec, 0x3e, 0xf5, 0x30,
0x12, 0x25, 0x06, 0x24, 0x84, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x92,
0x12, 0x25, 0x06, 0x24, 0x8c, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x8b, 0x12, 0x25, 0x87,
0xd3, 0xe5, 0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x40, 0x38, 0xe5, 0x36, 0xb4, 0x01, 0x25,
0xe5, 0x38, 0xae, 0x37, 0x78, 0x02, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0x7c, 0x00,
0x7d, 0x05, 0x12, 0x15, 0x9c, 0xaa, 0x06, 0xab, 0x07, 0x12, 0x25, 0x5d, 0xef, 0x2b, 0xf5, 0x31,
0xee, 0x3a, 0x12, 0x25, 0x1b, 0xe4, 0xf5, 0x2b, 0x12, 0x26, 0x02, 0x85, 0x2c, 0x2e, 0x85, 0x2d,
0x2f, 0x80, 0x37, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xb5, 0x36, 0x1b, 0x12, 0x25, 0x5d, 0xaa, 0x06,
0xab, 0x07, 0xae, 0x37, 0xaf, 0x38, 0x7c, 0x00, 0x7d, 0x05, 0x12, 0x15, 0x9c, 0xeb, 0x2f, 0xf5,
0x31, 0xea, 0x3e, 0x12, 0x25, 0x1b, 0x75, 0x2b, 0x01, 0xe4, 0x85, 0x2d, 0x35, 0x85, 0x2c, 0x34,
0xf5, 0x33, 0xf5, 0x32, 0x85, 0x2e, 0x2e, 0x85, 0x2f, 0x2f, 0x12, 0x25, 0x06, 0x24, 0x88, 0x12,
0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x87, 0x12, 0x25, 0x92, 0xae, 0x2c, 0xaf, 0x2d, 0xe4, 0xfc,
0xfd, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x29, 0xae,
0x2e, 0xaf, 0x2f, 0xe4, 0xfc, 0xfd, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x1a, 0xae, 0x34,
0xaf, 0x35, 0xc3, 0xe5, 0x2d, 0x9f, 0xf5, 0x2d, 0xe5, 0x2c, 0x9e, 0xf5, 0x2c, 0xc3, 0xe5, 0x2f,
0x9f, 0xf5, 0x2f, 0xe5, 0x2e, 0x9e, 0xf5, 0x2e, 0xe4, 0x12, 0x26, 0x02, 0x7f, 0x80, 0xfe, 0xfd,
0xfc, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0x12, 0x24, 0xd8, 0xae, 0x37, 0xaf, 0x38,
0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xe8, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5,
0x2c, 0x35, 0x2e, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73,
0xef, 0x24, 0x40, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xe4, 0x7b, 0x80,
0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33, 0x8c, 0x32, 0xe5, 0x2b,
0x60, 0x16, 0xe4, 0xfc, 0xfd, 0xe5, 0x35, 0x25, 0x31, 0xff, 0xe5, 0x34, 0x35, 0x30, 0xfe, 0xed,
0x35, 0x33, 0xfd, 0xec, 0x35, 0x32, 0x80, 0x12, 0xc3, 0xe5, 0x31, 0x95, 0x35, 0xff, 0xe5, 0x30,
0x95, 0x34, 0xfe, 0xe4, 0x95, 0x33, 0xfd, 0xe4, 0x95, 0x32, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33,
0xf5, 0x32, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xe4, 0xfb, 0x78, 0x68, 0xe6, 0xff, 0xeb, 0xc3, 0x9f,
0x40, 0x03, 0x02, 0x24, 0x89, 0xeb, 0x12, 0x2e, 0xec, 0xff, 0xeb, 0x12, 0x2e, 0xa0, 0xef, 0x56,
0x70, 0x03, 0x02, 0x24, 0x85, 0xe4, 0xf5, 0x87, 0x78, 0x64, 0xe6, 0xfa, 0x20, 0xe2, 0x03, 0x02,
0x23, 0x90, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0xe4, 0xfe, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x4c, 0xe0, 0xfc, 0xa3, 0xe0, 0x24, 0x00, 0xf5, 0x2e, 0xee, 0x3c, 0xf5, 0x2d, 0x12, 0x2e,
0xdb, 0x74, 0x06, 0x93, 0xff, 0x60, 0x5d, 0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0x2f, 0xff,
0xee, 0x3c, 0xfe, 0xd3, 0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b, 0xf8,
0xe2, 0x44, 0x04, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x06, 0x2b, 0xf8, 0xe2, 0x54, 0xfb,
0xf2, 0x12, 0x2e, 0xdb, 0x74, 0x06, 0x93, 0x7e, 0x00, 0x25, 0x2e, 0xff, 0xee, 0x35, 0x2d, 0xfe,
0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b,
0xf8, 0xe2, 0x44, 0x08, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x10, 0x2b, 0xf8, 0xe2, 0x54,
0xf7, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x04, 0xf2, 0x78, 0x5c, 0xe6, 0x30,
0xe0, 0x16, 0x12, 0x2f, 0x76, 0xeb, 0xc3, 0x9f, 0x40, 0x06, 0x78, 0x60, 0xe6, 0xff, 0x80, 0x04,
0x78, 0x59, 0xe6, 0xff, 0x8f, 0x2c, 0x80, 0x05, 0x78, 0x59, 0xe6, 0xf5, 0x2c, 0xe5, 0x2c, 0x25,
0xe0, 0x24, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x48, 0xf5, 0x83, 0xe4, 0x93, 0xfe, 0x74, 0x01, 0x93,
0xff, 0x7c, 0x00, 0x7d, 0x0a, 0x12, 0x15, 0x9c, 0x7c, 0x00, 0x7d, 0x09, 0x12, 0x15, 0x8a, 0xd3,
0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x40, 0x0e, 0xea, 0x44, 0x20, 0x78, 0x64, 0xf6, 0x74, 0xd6,
0x2b, 0xf8, 0xe2, 0x44, 0x10, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0x12, 0x2f, 0x3a,
0x12, 0x2e, 0xdb, 0x74, 0x08, 0x93, 0x25, 0xe0, 0xf5, 0x2e, 0x74, 0x07, 0x93, 0x33, 0xf5, 0x2d,
0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0xfd, 0x30, 0xe0, 0x19, 0xe5, 0x2e, 0xae, 0x2d, 0x78, 0x02, 0xce,
0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3, 0xe5, 0x2e, 0x9f, 0xf5, 0x2e, 0xe5, 0x2d, 0x9e,
0xf5, 0x2d, 0xe5, 0x2d, 0xc3, 0x13, 0xfe, 0xe5, 0x2e, 0x13, 0xff, 0xeb, 0x12, 0x2e, 0x54, 0xe0,
0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0x2f, 0xff, 0xe5, 0x83, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0xd3, 0x9f, 0xe5, 0x83,
0x9e, 0x40, 0x48, 0x74, 0xd6, 0x2b, 0xf8, 0xed, 0x44, 0x02, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0x25, 0x2e, 0xff, 0xe5, 0x2d, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x13, 0x78, 0x64,
0xe6, 0x44, 0x02, 0xf6, 0x44, 0x08, 0xf6, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x01, 0xf2, 0x80,
0x12, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x54, 0xfe, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2,
0x54, 0xfd, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x57, 0x12, 0x2e, 0xf3, 0xeb, 0x12, 0x2e,
0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x1f, 0x75, 0xf0, 0x11, 0xeb,
0x12, 0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0xc3, 0xed, 0x9f, 0xff, 0xec, 0x9e, 0xf8, 0xeb,
0x25, 0xe0, 0x24, 0x86, 0xc8, 0xf2, 0x08, 0xef, 0xf2, 0x80, 0x0a, 0xeb, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0x0b, 0x02, 0x22, 0x79, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8, 0xee,
0xf2, 0x08, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x06, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x78,
0x37, 0xe2, 0xfe, 0x08, 0xe2, 0x78, 0x07, 0xff, 0xc3, 0xe2, 0x9f, 0xff, 0x18, 0xe2, 0x9e, 0xfe,
0x22, 0x12, 0x18, 0x68, 0x85, 0x0f, 0x82, 0x85, 0x0e, 0x83, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8,
0xee, 0xf2, 0x08, 0xef, 0xf2, 0x22, 0xe5, 0x08, 0x24, 0x0a, 0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24,
0x06, 0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xfd, 0x22, 0x12, 0x16, 0xe8, 0xa8, 0x04, 0xa9, 0x05, 0xaa,
0x06, 0xab, 0x07, 0x22, 0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x24,
0x11, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x22, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2f,
0xff, 0x18, 0xe2, 0x3e, 0xfe, 0x22, 0xe5, 0x36, 0x25, 0xe0, 0x25, 0xe0, 0x22, 0x74, 0x01, 0x93,
0xfe, 0x74, 0x02, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x02, 0x18, 0x5b, 0xf5, 0x30, 0xe5, 0x38, 0x25,
0x38, 0xf5, 0x38, 0xe5, 0x37, 0x33, 0xf5, 0x37, 0x22, 0x93, 0xfd, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x15, 0x8a, 0x7c, 0x00, 0x7d, 0x14, 0x12, 0x15, 0x9c, 0xef, 0x25, 0x2f, 0xf5, 0x2f, 0xee, 0x35,
0x2e, 0xf5, 0x2e, 0x22, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x18, 0x5b, 0x12, 0x16, 0xe8, 0xe4,
0x7b, 0x02, 0xfa, 0xf9, 0xf8, 0x22, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15, 0x03, 0xaf, 0x36, 0x7e,
0x00, 0xac, 0x37, 0xad, 0x38, 0x02, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe2, 0x22, 0x7e,
0x00, 0x7f, 0x06, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x78, 0x79, 0x12, 0x18, 0x3f, 0x78,
0x75, 0x12, 0x18, 0x5b, 0x02, 0x16, 0xcd, 0xf8, 0xe2, 0x2f, 0xf5, 0x2f, 0x18, 0xe2, 0x3e, 0xf5,
0x2e, 0x22, 0xf8, 0xe2, 0x2f, 0xf5, 0x2d, 0x18, 0xe2, 0x3e, 0xf5, 0x2c, 0x22, 0xe5, 0x2a, 0x75,
0xf0, 0x42, 0xa4, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xd3, 0xe5,
0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x22, 0x78, 0x37, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xc3,
0x78, 0x49, 0x22, 0x7b, 0xfe, 0x7e, 0x00, 0x7f, 0x0a, 0x02, 0x15, 0x03, 0xe5, 0x08, 0x24, 0x3a,
0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0xe2, 0x22, 0xfe, 0x78, 0x75, 0xe4, 0xfc, 0xfd,
0x02, 0x18, 0x68, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0x74, 0x01, 0xf2, 0x22, 0xf8, 0xe2, 0x2d, 0xfd,
0x18, 0xe2, 0x3c, 0xcd, 0xc3, 0x9f, 0x22, 0x74, 0x2d, 0x25, 0x2c, 0xf8, 0xa6, 0x06, 0x78, 0x7b,
0xe6, 0x22, 0x85, 0x2f, 0x35, 0x85, 0x2e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xd3, 0xeb, 0x95,
0x2e, 0xea, 0x95, 0x2d, 0x22, 0xe5, 0x08, 0x24, 0x15, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5,
0x08, 0x24, 0x22, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5, 0x08, 0x24, 0x02, 0xf8, 0xe2, 0x22,
0xe5, 0x08, 0x24, 0x03, 0xf8, 0xe2, 0x22, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x00, 0xf8, 0xe2,
0x22, 0xe4, 0x8f, 0x35, 0x8e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xc3, 0x74, 0x04, 0x93, 0x9f,
0xff, 0x74, 0x03, 0x93, 0x22, 0xe4, 0x78, 0x64, 0xf6, 0x18, 0xe6, 0x70, 0x03, 0x02, 0x27, 0x19,
0x14, 0x70, 0x03, 0x02, 0x27, 0xf6, 0x14, 0x60, 0x53, 0x14, 0x60, 0x03, 0x02, 0x28, 0x12, 0x12,
0x28, 0x17, 0x12, 0x3a, 0x6a, 0x12, 0x22, 0x77, 0x78, 0x64, 0xe6, 0x30, 0xe1, 0x04, 0x78, 0x67,
0x76, 0x28, 0x12, 0x30, 0xbe, 0x78, 0x5c, 0xe6, 0x20, 0xe0, 0x03, 0x02, 0x28, 0x16, 0x78, 0x68,
0xe6, 0xff, 0x24, 0xd4, 0xf8, 0xe2, 0x20, 0xe0, 0x1f, 0x74, 0xd5, 0x2f, 0xf8, 0xe2, 0x20, 0xe0,
0x17, 0x78, 0x64, 0xe6, 0x30, 0xe3, 0x11, 0x05, 0x1d, 0xe5, 0x1d, 0xd3, 0x94, 0x14, 0x40, 0x03,
0x18, 0x76, 0x02, 0xe4, 0x78, 0x64, 0xf6, 0x22, 0xe4, 0xf5, 0x1d, 0x22, 0x12, 0x28, 0x17, 0x12,
0x43, 0x0c, 0xe4, 0xf5, 0x2b, 0xe5, 0x2b, 0xc3, 0x78, 0x68, 0x96, 0x50, 0x47, 0xe5, 0x2b, 0x12,
0x2e, 0xec, 0xff, 0xe5, 0x2b, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x34, 0x12, 0x2e, 0x47, 0xe0,
0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x00, 0x12, 0x2e, 0x39, 0xe0, 0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x02,
0x12, 0x2e, 0x39, 0x12, 0x2e, 0xf3, 0xe5, 0x2b, 0x90, 0x01, 0x04, 0x12, 0x2e, 0x3f, 0xe0, 0xfe,
0xa3, 0xe0, 0xff, 0xe5, 0x2b, 0x90, 0x01, 0x0d, 0x12, 0x2e, 0xd5, 0xee, 0xf0, 0xa3, 0xef, 0xf0,
0x05, 0x2b, 0x80, 0xb1, 0x78, 0x63, 0x76, 0x03, 0x22, 0xe4, 0xf5, 0x2b, 0x78, 0x67, 0xf6, 0x78,
0x64, 0xf6, 0x7e, 0x02, 0x7f, 0xa8, 0xfd, 0x7b, 0x01, 0x7a, 0x00, 0x79, 0xfe, 0x12, 0x18, 0xec,
0x7f, 0x50, 0x7a, 0x00, 0x79, 0x86, 0x12, 0x2f, 0x55, 0x7f, 0x28, 0x7a, 0x00, 0x79, 0xd6, 0x12,
0x2f, 0x55, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x78, 0x68, 0xf6, 0x90, 0x48, 0x36, 0xe4, 0x93,
0xfe, 0x74, 0x01, 0x93, 0xff, 0x12, 0x2e, 0xdb, 0x74, 0x05, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x18,
0xbf, 0xe4, 0x7b, 0xc8, 0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x78, 0x4e, 0xa6, 0x06, 0x08, 0xa6,
0x07, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x2c, 0xe4, 0xf5, 0x1e, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xf5,
0x1f, 0x12, 0x2f, 0x4a, 0x50, 0x46, 0x12, 0x2e, 0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e,
0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01, 0x12, 0x44, 0x05, 0x05, 0x1e, 0x05, 0x1f, 0x05,
0x2b, 0x80, 0xde, 0xe4, 0xf5, 0x1e, 0x75, 0x1f, 0x01, 0x12, 0x2f, 0x4a, 0x50, 0x1e, 0x12, 0x2e,
0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01,
0x12, 0x44, 0x05, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x05, 0x2b, 0x80, 0xdd, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe0, 0x0b, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x24, 0x02, 0x78, 0x68, 0xf6, 0xef, 0x54,
0x02, 0x44, 0x91, 0x78, 0x62, 0xf6, 0x78, 0x58, 0x76, 0x04, 0x78, 0x65, 0x76, 0x02, 0x12, 0x40,
0xac, 0x78, 0x63, 0x76, 0x01, 0x22, 0x78, 0x65, 0x76, 0x01, 0x12, 0x3c, 0xd3, 0x78, 0x65, 0x76,
0x02, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x78, 0x63, 0x76,
0x02, 0x22, 0xe4, 0x78, 0x63, 0xf6, 0x22, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x22, 0x8b, 0x26,
0x8a, 0x27, 0x89, 0x28, 0x7e, 0x00, 0x7f, 0x0c, 0x7d, 0x00, 0x12, 0x18, 0xec, 0x7a, 0x00, 0x79,
0x04, 0x12, 0x25, 0x6f, 0x7a, 0x00, 0x79, 0x46, 0x12, 0x25, 0x6f, 0xe5, 0x0c, 0x14, 0x60, 0x54,
0x04, 0x60, 0x03, 0x02, 0x29, 0xc1, 0xe4, 0xf5, 0x0d, 0xff, 0x12, 0x46, 0xdd, 0x12, 0x46, 0xe2,
0xef, 0x64, 0x03, 0x60, 0x08, 0xe4, 0xf5, 0x87, 0x12, 0x26, 0x55, 0x80, 0xf0, 0x7b, 0xfe, 0x7a,
0x00, 0x79, 0x15, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x46, 0x9b, 0x7b,
0xfe, 0x7a, 0x00, 0x79, 0x57, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x64, 0x12, 0x46,
0x9b, 0x7e, 0x00, 0x7f, 0x84, 0x7d, 0x00, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x00, 0x12, 0x18, 0xec,
0x75, 0x0c, 0x01, 0x22, 0x12, 0x26, 0x55, 0x78, 0x64, 0xe6, 0xf5, 0x29, 0xaf, 0x09, 0xef, 0x13,
0x13, 0x54, 0x3f, 0x30, 0xe0, 0x08, 0xe5, 0x29, 0x30, 0xe4, 0x03, 0x02, 0x29, 0xc1, 0xe5, 0x29,
0x20, 0xe3, 0x03, 0x02, 0x29, 0x49, 0x12, 0x34, 0x48, 0xaf, 0x0a, 0x12, 0x3d, 0xce, 0x8f, 0x0a,
0xaf, 0x0b, 0x12, 0x3d, 0xce, 0x8f, 0x0b, 0x75, 0x2e, 0xfe, 0x75, 0x2f, 0x00, 0x75, 0x30, 0x86,
0x7b, 0x00, 0x7a, 0x00, 0x79, 0x0a, 0x12, 0x46, 0xb4, 0xaf, 0x09, 0xef, 0xc3, 0x13, 0x30, 0xe0,
0x05, 0x12, 0x31, 0xf8, 0x80, 0x08, 0xe4, 0x78, 0x92, 0xf6, 0x08, 0xf6, 0x08, 0xf6, 0xe4, 0xf5,
0x2a, 0x74, 0x0a, 0x25, 0x2a, 0xf8, 0xe6, 0xff, 0x12, 0x25, 0x9d, 0x24, 0x00, 0xf8, 0xef, 0xf2,
0xf4, 0x60, 0x30, 0xaf, 0x2a, 0x12, 0x29, 0xc5, 0x12, 0x25, 0x9d, 0x24, 0x04, 0x12, 0x24, 0xbf,
0xaf, 0x2a, 0x12, 0x20, 0x3c, 0x12, 0x25, 0x9d, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0x9d,
0x24, 0x09, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25, 0x9d, 0x24, 0x04, 0xf9, 0xe4, 0xfa, 0x7b, 0xfe,
0x12, 0x46, 0xad, 0x05, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x40, 0xb5, 0x12, 0x2c, 0xce, 0xe5,
0x29, 0x30, 0xe5, 0x0b, 0x75, 0x0d, 0x01, 0x80, 0x06, 0xe5, 0x0d, 0x60, 0x02, 0x80, 0x72, 0x75,
0x08, 0x00, 0xe4, 0xf5, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x50, 0x3c, 0xe4, 0xf5, 0x87, 0x12,
0x3c, 0x49, 0x12, 0x38, 0x1e, 0x12, 0x25, 0x68, 0x60, 0x05, 0x12, 0x19, 0x18, 0x80, 0x0d, 0x12,
0x24, 0xe4, 0x12, 0x25, 0xe5, 0x74, 0x84, 0x25, 0x2a, 0xf8, 0xe4, 0xf2, 0x12, 0x35, 0x4c, 0x12,
0x25, 0xa4, 0xe5, 0x08, 0x24, 0x35, 0xf8, 0x7c, 0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0x05, 0x2a,
0x74, 0x42, 0x25, 0x08, 0xf5, 0x08, 0x80, 0xbd, 0xa8, 0x28, 0xac, 0x27, 0xad, 0x26, 0x7b, 0xfe,
0x7a, 0x00, 0x79, 0x04, 0x12, 0x25, 0x56, 0xe5, 0x28, 0x24, 0x06, 0xf9, 0xe4, 0x35, 0x27, 0xa8,
0x01, 0xfc, 0xad, 0x26, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x46, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15,
0x03, 0xe4, 0xf5, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xfe, 0x70, 0x04, 0xf5, 0x2b, 0x80, 0x1f, 0x78,
0x91, 0xe6, 0xfd, 0x14, 0xb5, 0x06, 0x09, 0xed, 0x25, 0xe0, 0x24, 0xfa, 0xf5, 0x2b, 0x80, 0x0e,
0x74, 0x84, 0x2f, 0xf8, 0x74, 0x03, 0xf2, 0xee, 0x25, 0xe0, 0x24, 0xfe, 0xf5, 0x2b, 0xef, 0x75,
0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8, 0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8,
0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03, 0xf8, 0xe4, 0xf2, 0xfe, 0xe5, 0x2b, 0x2e,
0xfd, 0x24, 0xd6, 0xf8, 0xe2, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8,
0xe2, 0x04, 0xf2, 0x74, 0xd6, 0x2d, 0xf8, 0xe2, 0x13, 0x13, 0x54, 0x3f, 0x30, 0xe0, 0x0b, 0xef,
0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8, 0xe2, 0x04, 0xf2, 0xe5, 0x2b, 0x2e, 0x24, 0xd6, 0xf8,
0xe2, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03,
0xf8, 0xe2, 0x04, 0xf2, 0x0e, 0xbe, 0x06, 0xb5, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8a, 0x12, 0x24,
0x98, 0xe5, 0x2b, 0x12, 0x24, 0xf9, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x24, 0xfd, 0x78,
0x93, 0xe6, 0xfa, 0x08, 0xe6, 0xfb, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a, 0x12, 0x25, 0xda, 0xe5,
0x2b, 0x25, 0xe0, 0x24, 0x8c, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x89, 0x12, 0x24,
0xfd, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x91, 0xf8, 0xe2, 0x2f, 0xff, 0x18, 0xe2, 0x3e, 0xcf, 0xc3,
0x9b, 0xcf, 0x9a, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x79, 0x12, 0x24, 0xb1, 0x74, 0x07, 0x93, 0xfe,
0x74, 0x08, 0x78, 0x79, 0x12, 0x25, 0x44, 0x12, 0x16, 0xe8, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06,
0xc0, 0x07, 0x12, 0x24, 0xb4, 0x78, 0x79, 0x12, 0x25, 0x0d, 0x12, 0x16, 0xe8, 0xd0, 0x03, 0xd0,
0x02, 0xd0, 0x01, 0xd0, 0x00, 0x12, 0x16, 0xcd, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07,
0x12, 0x24, 0xb4, 0x74, 0x05, 0x93, 0xfe, 0x74, 0x06, 0x78, 0x75, 0x12, 0x25, 0x44, 0x12, 0x24,
0xd8, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x16, 0xda, 0x78, 0x7d, 0x12, 0x18,
0x68, 0x78, 0x7d, 0x12, 0x18, 0x3f, 0xec, 0x33, 0x50, 0x0b, 0x78, 0x75, 0x12, 0x18, 0x74, 0x00,
0x00, 0x00, 0x01, 0x80, 0x48, 0x12, 0x25, 0x7a, 0x12, 0x25, 0x4f, 0x12, 0x17, 0x73, 0x78, 0x7d,
0x12, 0x25, 0x81, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x25, 0x7a, 0x12, 0x24,
0xdb, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x24,
0xb1, 0x78, 0x75, 0x12, 0x25, 0x0d, 0xd3, 0x12, 0x18, 0x1b, 0x40, 0x11, 0x12, 0x24, 0xb4, 0x74,
0x02, 0x93, 0x24, 0xff, 0xff, 0x74, 0x01, 0x93, 0x34, 0xff, 0x12, 0x25, 0xda, 0x78, 0x75, 0x12,
0x18, 0x3f, 0x22, 0xe4, 0xf5, 0x10, 0x90, 0x04, 0xa9, 0xe0, 0x70, 0x03, 0x02, 0x2c, 0x35, 0x14,
0x70, 0x03, 0x02, 0x2c, 0x55, 0x14, 0x70, 0x03, 0x02, 0x2c, 0x8a, 0x24, 0xfe, 0x60, 0x2c, 0x04,
0x60, 0x03, 0x02, 0x2c, 0x92, 0x90, 0xff, 0x11, 0xe4, 0xf0, 0x90, 0xff, 0x14, 0xf0, 0xa3, 0xf0,
0xa3, 0xf0, 0xa3, 0xf0, 0xa3, 0xf0, 0x75, 0x14, 0x47, 0x75, 0x15, 0x5c, 0x12, 0x2c, 0xb5, 0x12,
0x2c, 0xc4, 0x90, 0x04, 0xa9, 0x74, 0x04, 0xf0, 0xe4, 0xf5, 0x10, 0x12, 0x2c, 0xc4, 0xe4, 0xf5,
0x10, 0xfb, 0x7a, 0x00, 0x79, 0x69, 0xfd, 0x12, 0x1b, 0x88, 0xe5, 0x11, 0x60, 0x72, 0xe4, 0xf5,
0x25, 0xf5, 0x24, 0xf5, 0x23, 0xf5, 0x22, 0xf5, 0x21, 0x85, 0x15, 0x82, 0x85, 0x14, 0x83, 0x74,
0x02, 0x93, 0xff, 0xe5, 0x21, 0xc3, 0x9f, 0x50, 0x30, 0xaf, 0x21, 0x12, 0x14, 0x1e, 0xef, 0xd3,
0x94, 0x32, 0x40, 0x21, 0xe4, 0x7f, 0x01, 0xfe, 0xfd, 0xfc, 0xa9, 0x21, 0xa8, 0x01, 0x12, 0x18,
0x2c, 0xe5, 0x25, 0x4f, 0xf5, 0x25, 0xe5, 0x24, 0x4e, 0xf5, 0x24, 0xe5, 0x23, 0x4d, 0xf5, 0x23,
0xe5, 0x22, 0x4c, 0xf5, 0x22, 0x05, 0x21, 0x80, 0xc0, 0x75, 0x13, 0x02, 0xe5, 0x13, 0x70, 0x02,
0x80, 0x16, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0xff, 0x12, 0x46, 0x12, 0x8e, 0x14, 0x8f, 0x15,
0xe5, 0x15, 0x45, 0x14, 0x60, 0x02, 0x80, 0x6a, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x80, 0x67,
0x75, 0x11, 0x10, 0x80, 0x62, 0xe4, 0xf5, 0x87, 0x12, 0x2c, 0xb5, 0xaf, 0x15, 0xae, 0x14, 0x12,
0x45, 0x64, 0xe4, 0xfd, 0xff, 0x12, 0x45, 0xa9, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x90, 0x04, 0xa9,
0x74, 0x01, 0xf0, 0x80, 0x42, 0xe4, 0xf5, 0x21, 0xf5, 0x22, 0xf5, 0x87, 0xf5, 0x10, 0xfb, 0x7a,
0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x78, 0x6d, 0xe6, 0x60, 0x07, 0x78, 0x73, 0xe6, 0x60, 0x02,
0x80, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x33, 0x31, 0x8f, 0x21, 0x7b, 0x00, 0x7a,
0x00, 0x79, 0x69, 0xad, 0x22, 0x12, 0x1b, 0x88, 0x80, 0x0d, 0xe4, 0xf5, 0xe2, 0x75, 0x10, 0x05,
0x80, 0x05, 0xe4, 0x90, 0x04, 0xa9, 0xf0, 0xe5, 0x10, 0x60, 0x19, 0xe4, 0xf5, 0x87, 0x90, 0x04,
0xa9, 0xe0, 0xb4, 0x02, 0x04, 0xd2, 0xf9, 0x80, 0x02, 0xd2, 0xf8, 0xe4, 0xf5, 0x87, 0xf5, 0x87,
0xf5, 0x87, 0x80, 0xe3, 0x22, 0xaf, 0x15, 0xae, 0x14, 0x12, 0x3b, 0x10, 0xaf, 0x15, 0xae, 0x14,
0x12, 0x44, 0xaf, 0x22, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x22, 0x78, 0x09,
0xe2, 0x60, 0x0d, 0x78, 0x4b, 0xe2, 0x7f, 0x01, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x30, 0x80, 0x0b,
0x78, 0x4b, 0xe2, 0x7f, 0x00, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x30, 0x78, 0x3a, 0xe2, 0xff, 0x60,
0x0d, 0x78, 0x7c, 0xe2, 0x7e, 0x01, 0x60, 0x02, 0x7e, 0x02, 0x8e, 0x31, 0x80, 0x0b, 0x78, 0x7c,
0xe2, 0x7e, 0x00, 0x60, 0x02, 0x7e, 0x01, 0x8e, 0x31, 0xe4, 0xf5, 0x2b, 0xe5, 0x30, 0x64, 0x01,
0x70, 0x43, 0xe5, 0x31, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0xb4, 0x01, 0x11, 0xef, 0x60,
0x03, 0x02, 0x2d, 0xf4, 0x78, 0x7c, 0xe2, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5,
0x31, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x78, 0x79,
0x12, 0x24, 0xa1, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x25, 0xae, 0x50, 0x03, 0x02,
0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5, 0x30, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31,
0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0x64, 0x01, 0x70, 0x3d, 0x78, 0x3a, 0xe2, 0x60, 0x0b,
0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x12, 0x25, 0xb8, 0x80, 0x1c, 0x78, 0x79, 0xe2, 0xfe, 0x08,
0xe2, 0x78, 0x49, 0x12, 0x24, 0xa7, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x78, 0x79, 0xe2,
0xfe, 0x08, 0xe2, 0xff, 0xc3, 0x78, 0x07, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f,
0x2f, 0x12, 0x25, 0xae, 0x40, 0x4e, 0x80, 0x49, 0xe5, 0x31, 0x64, 0x02, 0x70, 0x46, 0x78, 0x79,
0x12, 0x25, 0xba, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x24, 0x9f,
0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x25, 0xb8,
0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x78, 0x79, 0x12, 0x24, 0xa1, 0x12,
0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2f, 0xd0, 0xe0, 0x3e, 0xf5, 0x2e, 0x12, 0x25, 0xae, 0x40,
0x03, 0x75, 0x2b, 0x01, 0xe5, 0x2b, 0x60, 0x38, 0x78, 0x75, 0x7c, 0x00, 0x7d, 0x00, 0x7a, 0x00,
0x79, 0x00, 0x12, 0x25, 0xc3, 0x78, 0x00, 0x7c, 0x00, 0x7d, 0xfe, 0x7a, 0x00, 0x79, 0x42, 0x12,
0x25, 0xc3, 0x78, 0x42, 0x7c, 0x00, 0x7d, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x12, 0x25,
0xc5, 0x78, 0x84, 0xe2, 0xff, 0x78, 0x75, 0xf6, 0x78, 0x85, 0xe2, 0x18, 0xf2, 0x08, 0xef, 0xf2,
0x22, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x22, 0xff, 0x75, 0xf0, 0x11, 0xe5, 0x2b, 0x12,
0x18, 0x8d, 0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2b, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x0b, 0x02,
0x18, 0x8d, 0xe5, 0x2c, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x02, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x75,
0xf0, 0x11, 0x90, 0x01, 0x00, 0x02, 0x18, 0x8d, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35,
0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e, 0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93,
0xff, 0x22, 0xe0, 0xff, 0xe6, 0xfe, 0xef, 0x2e, 0xf5, 0xf5, 0xe5, 0x1f, 0x75, 0xf0, 0x11, 0x90,
0x00, 0xff, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x54, 0x07, 0x90, 0x48, 0x24, 0x93, 0xfe, 0xe5, 0x2c,
0x13, 0x13, 0x13, 0x54, 0x1f, 0x24, 0x50, 0xf8, 0x22, 0xef, 0x75, 0xf0, 0x11, 0x90, 0x00, 0xfe,
0x02, 0x18, 0x8d, 0x90, 0x01, 0x06, 0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x02, 0x18, 0x8d, 0xa8, 0x4d,
0xe6, 0xfd, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x22,
0xf2, 0xeb, 0x90, 0x01, 0x04, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0x85, 0x1c, 0x82, 0x85, 0x1b,
0x83, 0x22, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x09, 0x02, 0x18, 0x8d, 0xef, 0x54, 0x07, 0x90, 0x48,
0x24, 0x93, 0x22, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x75, 0xf0, 0x11, 0x22, 0x78, 0x68, 0xe6, 0xfe,
0xef, 0xc3, 0x9e, 0x22, 0xc3, 0x74, 0x08, 0x93, 0x9f, 0x74, 0x07, 0x93, 0x9e, 0x22, 0xe5, 0x2c,
0x90, 0x01, 0x08, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0xed, 0x33, 0x95, 0xe0, 0xfc, 0xed, 0x2f,
0xec, 0x3e, 0xc3, 0x64, 0x80, 0x94, 0x80, 0x22, 0xe5, 0x2e, 0x94, 0x00, 0xe5, 0x2d, 0x64, 0x80,
0x94, 0x80, 0x22, 0x85, 0x27, 0x82, 0x85, 0x26, 0x83, 0x22, 0xe5, 0x2d, 0xf0, 0xa3, 0xe5, 0x2e,
0xf0, 0x22, 0x78, 0x62, 0xe6, 0xf5, 0x91, 0x78, 0x58, 0x22, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xff,
0xe5, 0x2b, 0xc3, 0x9f, 0x22, 0x7e, 0x00, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x05, 0x1e,
0x05, 0x1e, 0x05, 0x1f, 0x22, 0xe0, 0xfe, 0xad, 0x2c, 0x74, 0x01, 0xa8, 0x05, 0x08, 0x22, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x9f, 0x22, 0x78, 0x68, 0xe6, 0x24, 0xfe, 0xff, 0x22, 0xc0, 0xe0, 0xc0,
0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02,
0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0xe8, 0x54, 0x3d, 0x70, 0x03,
0x02, 0x30, 0xa1, 0x85, 0xe8, 0x3d, 0x75, 0xe8, 0x00, 0xe5, 0x3d, 0x54, 0x38, 0x60, 0x07, 0x78,
0x8c, 0x76, 0x00, 0x75, 0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe2, 0x07, 0x78, 0x8c, 0x76, 0x00, 0x75,
0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe0, 0xd3, 0xe5, 0x4a, 0x70, 0x03, 0x02, 0x30, 0x5e, 0x14, 0x60,
0x6c, 0x14, 0x60, 0x4b, 0x14, 0x70, 0xc3, 0x85, 0xec, 0x3d, 0x75, 0xef, 0x01, 0x78, 0x8c, 0xe6,
0x70, 0x09, 0xaf, 0x3d, 0x08, 0xf6, 0x08, 0xa6, 0x07, 0x80, 0x13, 0x78, 0x8e, 0xe6, 0x7f, 0x00,
0x18, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xad, 0x3d, 0xee, 0x18, 0xf6, 0xed, 0x08, 0xf6, 0x78, 0x8c,
0x06, 0xe6, 0xc3, 0x18, 0x96, 0x40, 0x93, 0x75, 0x4a, 0x02, 0x78, 0x8d, 0xe6, 0xfe, 0x08, 0xe6,
0xff, 0x08, 0xee, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xff, 0x12, 0x46, 0xeb, 0x02, 0x2f, 0x9a, 0x85,
0xec, 0x3d, 0x12, 0x46, 0xa4, 0x70, 0x01, 0x06, 0x14, 0xff, 0xad, 0x3d, 0x12, 0x40, 0x62, 0xef,
0x70, 0x06, 0x75, 0xef, 0x01, 0x02, 0x2f, 0x9a, 0x75, 0x4a, 0x00, 0x80, 0x5e, 0xe5, 0x3d, 0x30,
0xe1, 0x09, 0x75, 0xef, 0x00, 0x75, 0x4a, 0x00, 0x02, 0x2f, 0x9a, 0x12, 0x46, 0xa4, 0x70, 0x01,
0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x02, 0x02, 0x2f, 0x9a, 0x85, 0xec,
0x3d, 0xe5, 0x3d, 0xc3, 0x13, 0x65, 0x4b, 0x70, 0x32, 0xe5, 0x3d, 0x30, 0xe0, 0x24, 0x78, 0x8d,
0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x08, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x18, 0x12, 0x46, 0xa6, 0x70,
0x01, 0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x03, 0x75, 0x4a, 0x01, 0x02,
0x2f, 0x9a, 0x75, 0xef, 0x01, 0x75, 0x4a, 0x03, 0x02, 0x2f, 0x9a, 0x75, 0xef, 0x00, 0x02, 0x2f,
0x9a, 0xc2, 0x9c, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0,
0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0x78, 0x67,
0xe6, 0x60, 0x01, 0x16, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3, 0x78, 0x68, 0x96, 0x40, 0x03, 0x02,
0x31, 0xf7, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x70,
0x03, 0x02, 0x31, 0xf2, 0x12, 0x2e, 0x52, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x5d, 0x12,
0x2f, 0x6f, 0xf5, 0x2e, 0xec, 0x9e, 0xf5, 0x2d, 0x90, 0x01, 0x07, 0x12, 0x2e, 0xb6, 0xe0, 0xf5,
0x2f, 0xe4, 0xf5, 0x87, 0x78, 0x67, 0xe6, 0x60, 0x09, 0xd3, 0x12, 0x2f, 0x28, 0x40, 0x03, 0x02,
0x31, 0xf2, 0xaf, 0x2e, 0xae, 0x2d, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50,
0x0d, 0x12, 0x2f, 0x28, 0x40, 0x04, 0x05, 0x2f, 0x80, 0x5a, 0x15, 0x2f, 0x80, 0x56, 0x12, 0x2e,
0xb3, 0xe0, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0xef, 0x25, 0x2e, 0xf5, 0x2e, 0xee, 0x35, 0x2d, 0xf5,
0x2d, 0xd3, 0xe5, 0x2e, 0x94, 0x78, 0x12, 0x2f, 0x2c, 0x40, 0x09, 0x12, 0x2e, 0x52, 0xe4, 0x75,
0xf0, 0x01, 0x80, 0x1a, 0xe5, 0x2e, 0x24, 0x78, 0xe4, 0x35, 0x2d, 0xc3, 0x64, 0x80, 0x94, 0x80,
0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x50, 0x11, 0x12, 0x2e, 0x57, 0x74, 0xff, 0xf5, 0xf0, 0x12, 0x16,
0x27, 0x12, 0x2e, 0xb3, 0xe4, 0xf0, 0x80, 0x09, 0x90, 0x01, 0x06, 0x12, 0x18, 0x8d, 0xe5, 0x2e,
0xf0, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0xdb, 0x74, 0x04, 0x93, 0xff, 0xd3, 0x64, 0x80, 0xf8, 0xe5,
0x2f, 0x64, 0x80, 0x98, 0x50, 0x0c, 0xef, 0x33, 0x95, 0xe0, 0xfe, 0xad, 0x2f, 0x12, 0x2f, 0x19,
0x50, 0x13, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0x5d, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x52,
0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2c, 0x90, 0x01, 0x07, 0x12, 0x2f, 0x13, 0xe5, 0x2f, 0xf0,
0x78, 0x67, 0xe6, 0x70, 0x2d, 0x12, 0x2e, 0x52, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x90, 0x01, 0x0d,
0x12, 0x18, 0x8d, 0x12, 0x2f, 0x6f, 0xff, 0xec, 0x9e, 0xfe, 0x12, 0x46, 0x5f, 0x7c, 0x00, 0x7d,
0x02, 0x12, 0x15, 0xf1, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50, 0x06, 0x78, 0x64, 0xe6, 0x44,
0x10, 0xf6, 0x05, 0x2c, 0x02, 0x30, 0xc7, 0x22, 0xe4, 0xf5, 0x2c, 0xf5, 0x2d, 0xf5, 0x2e, 0xf5,
0x2f, 0x78, 0x92, 0xf6, 0xe5, 0x0a, 0xb4, 0xff, 0x09, 0xe5, 0x0b, 0xf4, 0x60, 0x04, 0xe5, 0x0b,
0x80, 0x12, 0xe5, 0x0a, 0xf4, 0x70, 0x03, 0x02, 0x33, 0x30, 0xe5, 0x0b, 0xf4, 0x60, 0x03, 0x02,
0x33, 0x30, 0xe5, 0x0a, 0x25, 0xe0, 0xf5, 0x2b, 0xe5, 0x2b, 0xd3, 0x94, 0x02, 0x40, 0x64, 0x74,
0xd2, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xd3, 0x25, 0x2b, 0xf8, 0xe2, 0x30, 0xe0,
0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f,
0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0xd1,
0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f, 0x12, 0x25, 0xec, 0xf5, 0x2d, 0xed, 0x9e, 0xf5, 0x2c, 0xe5,
0x2d, 0xae, 0x2c, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee, 0xc4, 0xf8,
0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2c, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2d, 0x78, 0x92, 0x74,
0x08, 0x26, 0xf6, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xff, 0xe4, 0x34, 0xff, 0xfe, 0xef, 0x25, 0xe0,
0xff, 0xee, 0x33, 0xfe, 0xc3, 0xe5, 0x2b, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x50,
0x64, 0x74, 0xda, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xdb, 0x25, 0x2b, 0xf8, 0xe2,
0x30, 0xe0, 0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0,
0x24, 0x8f, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12,
0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x25, 0xec, 0xf5, 0x2f, 0xed, 0x9e, 0xf5,
0x2e, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee,
0xc4, 0xf8, 0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2e, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2f, 0x78,
0x92, 0x74, 0x08, 0x26, 0xf6, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5, 0x2c, 0x35, 0x2e, 0xfe, 0x7c,
0x00, 0x7d, 0x03, 0x12, 0x15, 0x8a, 0xee, 0xc3, 0x13, 0x79, 0x93, 0xf7, 0xef, 0x13, 0x09, 0xf7,
0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0xe4, 0xf5, 0x29, 0xf5, 0x2a, 0xf5, 0x2b, 0x85, 0x49,
0x82, 0x85, 0x48, 0x83, 0xe4, 0x93, 0xff, 0xe5, 0x29, 0xc3, 0x9f, 0x40, 0x03, 0x02, 0x34, 0x12,
0x12, 0x46, 0x26, 0x74, 0x01, 0x93, 0xf5, 0x2c, 0x12, 0x46, 0x20, 0x74, 0x02, 0x93, 0xf5, 0x2d,
0x12, 0x46, 0x20, 0x74, 0x04, 0x93, 0xfc, 0x74, 0x05, 0x93, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x86, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xd3, 0x9d, 0xee, 0x9c, 0x40, 0x6f, 0x7c, 0x00, 0x7d,
0x05, 0x12, 0x15, 0x8a, 0xe5, 0x2d, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x24, 0x01, 0xfd, 0x18,
0xe2, 0x34, 0x00, 0xfc, 0x12, 0x15, 0x9c, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x46, 0x20, 0x74, 0x03,
0x93, 0x30, 0xe7, 0x2b, 0x54, 0x7f, 0xc3, 0x95, 0x2f, 0xff, 0xe4, 0x95, 0x2e, 0xfe, 0x12, 0x46,
0x5f, 0xc3, 0x74, 0x03, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x40, 0x2e, 0xaf, 0x29,
0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x80, 0x1d, 0x12,
0x46, 0x20, 0x74, 0x03, 0x93, 0xc3, 0x95, 0x2f, 0xe4, 0x95, 0x2e, 0x50, 0x0f, 0xaf, 0x29, 0x74,
0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x12, 0x46, 0x20, 0x74,
0x01, 0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x20, 0xe0, 0x0f, 0x12, 0x46, 0x20, 0x74, 0x02,
0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x30, 0xe0, 0x03, 0x75, 0x2b, 0x01, 0x05, 0x29, 0x02,
0x33, 0x3e, 0x90, 0x04, 0xa7, 0xe0, 0x65, 0x2a, 0x60, 0x0a, 0xe5, 0x2a, 0xf0, 0xe4, 0x90, 0x04,
0xa6, 0xf0, 0x80, 0x14, 0x90, 0x04, 0xa6, 0xe0, 0x04, 0xf0, 0xc3, 0x94, 0x03, 0x40, 0x09, 0xe0,
0x14, 0xf0, 0x90, 0x04, 0xa8, 0xe5, 0x2a, 0xf0, 0x90, 0x04, 0xa8, 0xe0, 0xab, 0x26, 0xaa, 0x27,
0xa9, 0x28, 0x12, 0x15, 0x56, 0xaf, 0x2b, 0x22, 0xe4, 0xf5, 0x2b, 0xff, 0xf5, 0x2c, 0x78, 0x7b,
0xf6, 0x08, 0xf6, 0x7e, 0xff, 0xe5, 0x2b, 0xc3, 0x78, 0x91, 0x96, 0x40, 0x03, 0x02, 0x34, 0xea,
0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x25,
0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2d, 0xf5, 0x31, 0x18, 0xe2, 0x3c, 0xf5, 0x30, 0x85, 0x1c, 0x82,
0x85, 0x1b, 0x83, 0x78, 0x7b, 0xe6, 0xfc, 0x08, 0xe6, 0xfd, 0x74, 0x08, 0x93, 0x2d, 0xfb, 0x74,
0x07, 0x93, 0x3c, 0xfa, 0xd3, 0xe5, 0x31, 0x9b, 0xe5, 0x30, 0x9a, 0x40, 0x05, 0x7f, 0x01, 0x18,
0x80, 0x3c, 0x85, 0x1c, 0x82, 0x85, 0x1b, 0x83, 0x74, 0x08, 0x93, 0x25, 0x31, 0xfb, 0x74, 0x07,
0x93, 0x35, 0x30, 0xfa, 0xd3, 0xed, 0x9b, 0xec, 0x9a, 0x40, 0x2a, 0xef, 0x60, 0x1e, 0xe4, 0xff,
0x12, 0x25, 0xf7, 0xfc, 0x08, 0xe6, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24, 0x75, 0xf8, 0xa6, 0x04,
0x08, 0xa6, 0x05, 0x05, 0x2c, 0xe5, 0x2c, 0xc3, 0x94, 0x03, 0x50, 0x0e, 0x78, 0x7b, 0xa6, 0x30,
0x08, 0xa6, 0x31, 0xae, 0x2b, 0x05, 0x2b, 0x02, 0x34, 0x55, 0xef, 0x60, 0x1c, 0xe5, 0x2c, 0xc3,
0x94, 0x02, 0x50, 0x15, 0x12, 0x25, 0xf7, 0xfe, 0x08, 0xe6, 0xff, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x75, 0xf8, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x05, 0x2c, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x75,
0x36, 0xff, 0x12, 0x35, 0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b,
0xf8, 0xe6, 0xff, 0x8f, 0x0a, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x85, 0x2b, 0x36, 0x12, 0x35,
0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b, 0xf8, 0xe6, 0xff, 0x8f,
0x0b, 0x22, 0xad, 0x2c, 0x12, 0x42, 0x28, 0x8f, 0x2b, 0xe5, 0x2b, 0x22, 0xe5, 0x08, 0x24, 0x04,
0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x36, 0xf9, 0xe3, 0xb5, 0x07, 0x19, 0x19, 0xe3, 0xb5, 0x06,
0x14, 0x12, 0x24, 0x94, 0xe5, 0x08, 0x24, 0x38, 0xf9, 0xe3, 0x6f, 0x70, 0x03, 0x19, 0xe3, 0x6e,
0x70, 0x03, 0x02, 0x36, 0x1d, 0x12, 0x25, 0xcc, 0x70, 0x78, 0xe5, 0x08, 0x24, 0x0d, 0x12, 0x24,
0xf1, 0x24, 0x09, 0xf8, 0x74, 0x01, 0x12, 0x24, 0x93, 0xe5, 0x08, 0x24, 0x3e, 0xf8, 0x12, 0x24,
0xa8, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5,
0x08, 0x24, 0x3c, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0,
0x3e, 0xfe, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xc3, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80,
0x98, 0x40, 0x65, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24,
0xd1, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x3d, 0x12,
0x24, 0xd1, 0x12, 0x24, 0xb4, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0xe5, 0x08, 0x24, 0x06,
0x80, 0x26, 0x12, 0x25, 0x68, 0x60, 0x05, 0x74, 0x04, 0xf2, 0x80, 0x2c, 0x74, 0x02, 0xf2, 0xe5,
0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24, 0xbf, 0xe5, 0x08, 0x24,
0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3d, 0x12, 0x24, 0xbf, 0x80, 0x0b, 0x12, 0x25, 0x68,
0x7f, 0x00, 0x60, 0x02, 0x7f, 0x03, 0xef, 0xf2, 0x12, 0x25, 0x68, 0x60, 0x03, 0xb4, 0x02, 0x04,
0x7f, 0x00, 0x80, 0x02, 0x7f, 0x01, 0xe5, 0x08, 0x24, 0x08, 0xf8, 0xef, 0xf2, 0x22, 0xae, 0x07,
0x12, 0x46, 0xc9, 0x12, 0x14, 0x00, 0x12, 0x46, 0x92, 0x12, 0x44, 0x61, 0x75, 0xa9, 0x40, 0x75,
0x89, 0xc0, 0x75, 0x8b, 0x20, 0xe4, 0xf5, 0x88, 0xc2, 0xaf, 0x75, 0xfe, 0x3d, 0x85, 0xff, 0x27,
0x7f, 0x01, 0x12, 0x46, 0x75, 0x85, 0x95, 0x23, 0x85, 0x94, 0x24, 0xac, 0x23, 0xad, 0x24, 0xaf,
0x06, 0x7e, 0x00, 0x12, 0x18, 0xbf, 0xef, 0x24, 0x80, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe4, 0xfb, 0x7a, 0x01, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8e, 0x23, 0x8f, 0x24,
0x85, 0x24, 0x94, 0xe5, 0x23, 0xf5, 0x95, 0xe4, 0xf5, 0x22, 0x75, 0x21, 0x80, 0xe5, 0x21, 0x42,
0x22, 0xe5, 0x22, 0xd3, 0x95, 0x27, 0x50, 0x35, 0xaf, 0x22, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95,
0x24, 0xf5, 0x26, 0xee, 0x95, 0x23, 0xf5, 0x25, 0xaf, 0x26, 0xfe, 0x12, 0x46, 0x5f, 0xc3, 0xef,
0x94, 0x05, 0xee, 0x64, 0x80, 0x94, 0x80, 0x50, 0x05, 0x75, 0x28, 0x01, 0x80, 0x1f, 0xd3, 0xe5,
0x26, 0x94, 0x00, 0xe5, 0x25, 0x64, 0x80, 0x94, 0x80, 0x40, 0x07, 0x80, 0x00, 0xe5, 0x21, 0xf4,
0x52, 0x22, 0xe5, 0x21, 0xc3, 0x13, 0xf5, 0x21, 0xd3, 0x94, 0x02, 0x50, 0xb0, 0xc2, 0xb8, 0xe5,
0x28, 0x70, 0x3a, 0xe5, 0x22, 0x24, 0x04, 0xff, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95, 0x24, 0xff,
0xee, 0x95, 0x23, 0xfe, 0x12, 0x46, 0x5f, 0x8e, 0x29, 0x8f, 0x2a, 0xaf, 0x26, 0xae, 0x25, 0x12,
0x46, 0x5f, 0x8e, 0x25, 0x8f, 0x26, 0xc3, 0xe5, 0x26, 0x95, 0x2a, 0xe5, 0x29, 0x64, 0x80, 0xf8,
0xe5, 0x25, 0x64, 0x80, 0x98, 0x50, 0x06, 0x75, 0xfe, 0xbd, 0x85, 0x22, 0xff, 0x02, 0x44, 0x33,
0x8f, 0x3e, 0xe5, 0x3e, 0x70, 0x10, 0x90, 0x04, 0xff, 0xe0, 0xfe, 0xb4, 0xfe, 0x05, 0x78, 0x81,
0xe6, 0xff, 0x22, 0xaf, 0x06, 0x22, 0x15, 0x3e, 0x90, 0x04, 0xff, 0xe0, 0xb4, 0x04, 0x05, 0xaf,
0x3e, 0x02, 0x14, 0x1e, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x06, 0x70, 0x12, 0xe5, 0x3e, 0x30, 0xe0,
0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e, 0xc3, 0x13, 0xff, 0x12, 0x46, 0x47, 0x80, 0x18, 0x90, 0x04,
0xff, 0xe0, 0x64, 0x07, 0x70, 0x18, 0xe5, 0x3e, 0x30, 0xe0, 0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e,
0xc3, 0x13, 0xff, 0x12, 0x46, 0x3b, 0x8e, 0x46, 0x8f, 0x47, 0xe5, 0x46, 0xff, 0x22, 0x90, 0x04,
0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x04, 0xef, 0xb4, 0xfe, 0x08, 0x74, 0x81, 0x25, 0x3e, 0xf8,
0xe6, 0xff, 0x22, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x02, 0x70, 0x70, 0x05, 0x3e, 0xe5, 0x3e, 0xb4,
0x01, 0x03, 0x7f, 0x01, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x10, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x20,
0x50, 0x08, 0xe5, 0x3e, 0x90, 0x13, 0xe0, 0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x20, 0x40,
0x1d, 0xe5, 0x3e, 0x94, 0x30, 0x50, 0x17, 0xe5, 0x3e, 0x24, 0xe0, 0xff, 0xe4, 0x34, 0xff, 0xfe,
0x74, 0x63, 0x2f, 0xf5, 0x82, 0x74, 0x42, 0x3e, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x22, 0xe5, 0x3e,
0xc3, 0x94, 0x30, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x50, 0x50, 0x08, 0xe5, 0x3e, 0x90, 0x42, 0x3c,
0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x50, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x90, 0x50, 0x08,
0xe5, 0x3e, 0x90, 0x42, 0x28, 0x93, 0xff, 0x22, 0x7f, 0x00, 0x22, 0x7f, 0x00, 0x22, 0x12, 0x25,
0x68, 0x60, 0x6e, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe2, 0xf9, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xfe,
0x12, 0x24, 0xb4, 0x74, 0x1f, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x06,
0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xfb, 0xc3, 0x9f, 0xea, 0x9e, 0x40, 0x1a, 0xe9, 0x24, 0x01, 0xff,
0xe4, 0x33, 0xfe, 0x74, 0x1e, 0x93, 0xfd, 0x12, 0x15, 0x8a, 0x12, 0x26, 0x4b, 0x9e, 0xfe, 0xd3,
0xeb, 0x9f, 0xea, 0x9e, 0x40, 0x32, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25,
0xcc, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98,
0x12, 0x24, 0xbb, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0x80,
0x1b, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe4, 0xf2, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0x7d,
0x01, 0x12, 0x3b, 0xb3, 0x12, 0x24, 0x8a, 0xe4, 0xfd, 0x12, 0x3b, 0xb3, 0xe5, 0x08, 0x24, 0x06,
0x12, 0x24, 0xbf, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xff, 0x7e, 0x00, 0xe5, 0x08, 0x24, 0x04,
0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xc3, 0x9f, 0xec, 0x9e, 0x40, 0x33, 0x12, 0x24, 0xcd, 0xc3, 0x9f,
0xec, 0x9e, 0x40, 0x2a, 0x74, 0x02, 0x93, 0x9f, 0xff, 0x74, 0x01, 0x93, 0x9e, 0xfe, 0xe5, 0x08,
0x24, 0x04, 0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xd3, 0x9f, 0xea, 0x9e, 0x50, 0x11, 0x74, 0x19, 0x93,
0xff, 0x12, 0x26, 0x4b, 0x94, 0x00, 0xfe, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x40, 0x07, 0x12, 0x24,
0xc6, 0x54, 0xf7, 0xf2, 0x22, 0x12, 0x24, 0xc6, 0x44, 0x08, 0xf2, 0x22, 0x15, 0x4d, 0xa8, 0x4d,
0xa6, 0x05, 0x15, 0x4d, 0xa8, 0x4d, 0xa6, 0x07, 0xe5, 0x4d, 0x24, 0xfb, 0xf5, 0x4d, 0x24, 0x05,
0xf8, 0xe6, 0xff, 0x54, 0x07, 0x90, 0x48, 0x1c, 0x93, 0xa8, 0x4d, 0xf6, 0xf4, 0xa8, 0x4d, 0x08,
0xf6, 0xef, 0xc4, 0x54, 0x0f, 0xa8, 0x4d, 0x08, 0x08, 0xf6, 0x12, 0x43, 0x61, 0xb4, 0x02, 0x11,
0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xd3, 0x94, 0x03, 0x40, 0x07, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe4,
0xf6, 0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xff, 0x90, 0x48, 0x10, 0x93, 0x24, 0x00, 0xfd, 0xe4, 0x34,
0xff, 0xfc, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xa6, 0x04, 0x08, 0xa6, 0x05, 0xef, 0xd3, 0x94, 0x03,
0x50, 0x13, 0x12, 0x43, 0x61, 0x30, 0xe2, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06, 0x12,
0x43, 0x3f, 0x08, 0x56, 0xf0, 0x12, 0x43, 0x68, 0x70, 0x01, 0x16, 0x12, 0x43, 0x61, 0xff, 0x30,
0xe1, 0x07, 0x12, 0x43, 0x50, 0x46, 0xf0, 0x80, 0x06, 0x12, 0x43, 0x50, 0x08, 0x56, 0xf0, 0x12,
0x43, 0x68, 0x70, 0x01, 0x16, 0xef, 0x30, 0xe0, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06,
0x12, 0x43, 0x3f, 0x08, 0x56, 0xf0, 0xe5, 0x4d, 0x24, 0x07, 0xf5, 0x4d, 0x22, 0x8c, 0x37, 0x8d,
0x38, 0x8b, 0x34, 0x8a, 0x35, 0x89, 0x36, 0x90, 0x00, 0x0c, 0x12, 0x15, 0x29, 0x70, 0x24, 0xf5,
0x39, 0x12, 0x45, 0xbd, 0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39,
0xb4, 0x06, 0xee, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x90, 0x00, 0x0c, 0x74, 0x06, 0x12, 0x15,
0x68, 0x80, 0x35, 0xe4, 0xf5, 0x39, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5,
0x39, 0x90, 0x00, 0x02, 0x12, 0x18, 0x8d, 0x12, 0x16, 0x68, 0xff, 0xae, 0xf0, 0x12, 0x45, 0xc3,
0xee, 0x8f, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x05, 0xd9, 0x12, 0x45, 0xbd,
0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0xe4, 0xf5, 0x39, 0xf5, 0x3b, 0xf5, 0x3c, 0xf5,
0x3a, 0x12, 0x45, 0xbd, 0x12, 0x16, 0x68, 0xfd, 0xac, 0xf0, 0xe5, 0x39, 0x90, 0x48, 0x3c, 0x93,
0xfb, 0xff, 0x7e, 0x00, 0x12, 0x15, 0x8a, 0xef, 0x25, 0x3c, 0xf5, 0x3c, 0xee, 0x35, 0x3b, 0xf5,
0x3b, 0xeb, 0x25, 0x3a, 0xf5, 0x3a, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x06, 0xd4, 0xe5, 0x3a, 0xfd,
0x7c, 0x00, 0xae, 0x3b, 0xaf, 0x3c, 0x12, 0x15, 0x9c, 0x22, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3,
0x78, 0x68, 0x96, 0x40, 0x03, 0x02, 0x3b, 0x06, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c,
0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x7a, 0x12, 0x2f, 0x0e, 0xe0, 0xf5, 0x2d, 0xe5, 0x2c, 0x12,
0x2e, 0x5f, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x12, 0x2e, 0x4c, 0x12, 0x2f, 0x6f, 0xf5, 0x2f, 0xec,
0x9e, 0xf5, 0x2e, 0xe4, 0xf5, 0x87, 0xaf, 0x2f, 0xae, 0x2e, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb,
0x12, 0x2f, 0x04, 0x50, 0x3d, 0xe5, 0x2f, 0x94, 0x00, 0xe5, 0x2e, 0x64, 0x80, 0x94, 0x80, 0x40,
0x12, 0x74, 0x03, 0x93, 0x05, 0x2d, 0xd3, 0x64, 0x80, 0xf8, 0xe5, 0x2d, 0x64, 0x80, 0x98, 0x40,
0x2a, 0x80, 0x14, 0x12, 0x2e, 0xdb, 0x74, 0x03, 0x93, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0x15, 0x2d,
0xad, 0x2d, 0x12, 0x2f, 0x19, 0x50, 0x14, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x01, 0xf6,
0x80, 0x09, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x04, 0xf6, 0x12, 0x2f, 0x0e, 0xe5, 0x2d,
0xf0, 0x05, 0x2c, 0x02, 0x3a, 0x6d, 0x78, 0x64, 0xe6, 0x30, 0xe0, 0x03, 0x44, 0x04, 0xf6, 0x22,
0x8e, 0x26, 0x8f, 0x27, 0xe4, 0x78, 0x63, 0xf6, 0x85, 0x26, 0x1b, 0x85, 0x27, 0x1c, 0xe5, 0x27,
0x24, 0x31, 0xff, 0xe4, 0x35, 0x26, 0xfa, 0xa9, 0x07, 0x7b, 0xff, 0x78, 0x59, 0x7c, 0x00, 0x7d,
0x00, 0x7e, 0x00, 0x7f, 0x09, 0x12, 0x15, 0x03, 0x7e, 0x00, 0x7f, 0x08, 0x7d, 0xff, 0x7b, 0x00,
0x7a, 0x00, 0x79, 0x50, 0x12, 0x18, 0xec, 0x12, 0x2f, 0x33, 0x74, 0x31, 0x93, 0x24, 0xf7, 0x78,
0x59, 0xf6, 0x12, 0x2f, 0x33, 0x74, 0x38, 0x93, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0xe4, 0x78, 0x66,
0xf6, 0x43, 0xfa, 0x90, 0x75, 0xe5, 0x99, 0x53, 0xaa, 0xfd, 0xe5, 0x91, 0x20, 0xe0, 0xfb, 0xc2,
0x99, 0x12, 0x2f, 0x33, 0xe4, 0x93, 0xf5, 0x28, 0xf4, 0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12,
0x3f, 0xc9, 0xe4, 0xfd, 0x12, 0x3b, 0x9f, 0x12, 0x2f, 0x33, 0x74, 0x01, 0x93, 0xf5, 0x28, 0xf4,
0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12, 0x3f, 0xc9, 0x7d, 0x01, 0x12, 0x3b, 0x9f, 0x22, 0xaf,
0x28, 0x12, 0x44, 0x05, 0x7d, 0x02, 0xaf, 0x28, 0x12, 0x39, 0x0c, 0x7d, 0x07, 0xaf, 0x28, 0x12,
0x39, 0x0c, 0x22, 0xab, 0x07, 0xaa, 0x06, 0xeb, 0x4a, 0x70, 0x03, 0xfe, 0xff, 0x22, 0xed, 0x60,
0x19, 0x12, 0x24, 0xb4, 0x74, 0x01, 0x93, 0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x02, 0x93, 0x13, 0xf5,
0x2e, 0x74, 0x1d, 0x93, 0xf5, 0x2b, 0x74, 0x1c, 0x80, 0x17, 0x12, 0x24, 0xb4, 0x74, 0x03, 0x93,
0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x04, 0x93, 0x13, 0xf5, 0x2e, 0x74, 0x1f, 0x93, 0xf5, 0x2b, 0x74,
0x1e, 0x93, 0xf5, 0x2c, 0xc3, 0x12, 0x26, 0x0e, 0x50, 0x2c, 0xc3, 0xe5, 0x2e, 0x9b, 0xff, 0xe5,
0x2d, 0x9a, 0xfe, 0xab, 0x2b, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xaa, 0x06, 0xab, 0x07,
0x12, 0x26, 0x0d, 0x40, 0x06, 0x7a, 0x00, 0x7b, 0x01, 0x80, 0x29, 0xc3, 0xe5, 0x2e, 0x9b, 0xfb,
0xe5, 0x2d, 0x9a, 0xfa, 0x80, 0x1e, 0x12, 0x26, 0x0d, 0x40, 0x19, 0xeb, 0x95, 0x2e, 0xff, 0xea,
0x95, 0x2d, 0xfe, 0xab, 0x2c, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xe5, 0x2e, 0x2f, 0xfb,
0xe5, 0x2d, 0x3e, 0xfa, 0xae, 0x02, 0xaf, 0x03, 0x22, 0x12, 0x25, 0x68, 0x60, 0x22, 0xe5, 0x08,
0x24, 0x34, 0xf8, 0xe2, 0x70, 0x1a, 0x12, 0x26, 0x15, 0x12, 0x46, 0xd0, 0x12, 0x26, 0x1f, 0x12,
0x46, 0xd0, 0x12, 0x24, 0xb4, 0x74, 0x20, 0x93, 0xff, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xef, 0xf2,
0xe5, 0x08, 0x24, 0x31, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0x12, 0x24, 0xa8, 0x12,
0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x2f, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24,
0x05, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0, 0x3e, 0xfe,
0xe5, 0x08, 0x24, 0x13, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xa4, 0xe5, 0x08, 0x24, 0x2f, 0xf8, 0x7c,
0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2, 0x60, 0x14, 0x7e, 0x00,
0x7f, 0x06, 0x7d, 0x00, 0x12, 0x25, 0xa4, 0x12, 0x18, 0xec, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2,
0x14, 0xf2, 0x22, 0x75, 0x2c, 0x05, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x0f,
0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x05, 0x12, 0x2e, 0xa9, 0xe4, 0xf0, 0x0f, 0x80, 0xec, 0x78,
0x59, 0xe6, 0xf5, 0x2d, 0x76, 0x05, 0xe4, 0xf5, 0x87, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x18, 0x12,
0x2e, 0x95, 0xee, 0x56, 0x60, 0x0e, 0x12, 0x2e, 0xa9, 0x12, 0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0x4e, 0xf0, 0x0f, 0x80, 0xe3, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12,
0x2e, 0xfc, 0x50, 0x2a, 0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x20, 0xef, 0x12, 0x2e, 0x49, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x78, 0x4f, 0x96, 0xec, 0x18, 0x96, 0x50, 0x0f, 0x12, 0x2e, 0xa9, 0x12,
0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xf4, 0x5e, 0xf0, 0x0f, 0x80, 0xd1, 0xae, 0x2c,
0x15, 0x2c, 0xee, 0x70, 0xa1, 0x78, 0x59, 0xa6, 0x2d, 0x22, 0x8e, 0x34, 0x8f, 0x35, 0x8c, 0x36,
0x8d, 0x37, 0x8b, 0x38, 0xae, 0x36, 0xaf, 0x37, 0xad, 0x38, 0x7c, 0x00, 0x12, 0x18, 0xbf, 0x12,
0x24, 0xdb, 0xae, 0x34, 0xaf, 0x35, 0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xcd, 0x12, 0x24, 0xdb, 0xe5,
0x38, 0xc3, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0xfe, 0x12, 0x16, 0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xe5,
0x38, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06,
0x12, 0x17, 0x73, 0xe5, 0x35, 0x45, 0x34, 0x60, 0x24, 0xef, 0x4e, 0x70, 0x20, 0xd3, 0xe5, 0x37,
0x94, 0x02, 0xe5, 0x36, 0x94, 0x00, 0x40, 0x11, 0xe5, 0x35, 0x25, 0x37, 0xff, 0xe5, 0x34, 0x35,
0x36, 0xc3, 0x13, 0xfe, 0xef, 0x13, 0xff, 0x80, 0x04, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xab, 0x07,
0xbb, 0xff, 0x03, 0x7f, 0xff, 0x22, 0xeb, 0x70, 0x0c, 0x12, 0x24, 0xb4, 0x74, 0x11, 0x93, 0xf5,
0x2b, 0x74, 0x12, 0x80, 0x1d, 0x78, 0x91, 0xe6, 0x14, 0xb5, 0x03, 0x0c, 0x12, 0x24, 0xb4, 0x74,
0x13, 0x93, 0xf5, 0x2b, 0x74, 0x14, 0x80, 0x0a, 0x12, 0x24, 0xb4, 0x74, 0x0f, 0x93, 0xf5, 0x2b,
0x74, 0x10, 0x93, 0xf5, 0x2c, 0x78, 0x3a, 0xe2, 0x70, 0x05, 0x78, 0x7c, 0xe2, 0x60, 0x14, 0xe5,
0x2c, 0x25, 0xe0, 0xff, 0xe5, 0x2b, 0x33, 0xfe, 0x7c, 0x00, 0x7d, 0x03, 0x12, 0x15, 0x9c, 0x8e,
0x2b, 0x8f, 0x2c, 0xeb, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0x98, 0xeb, 0x25, 0xe0,
0x12, 0x24, 0xf9, 0xc3, 0xef, 0x95, 0x2c, 0xee, 0x95, 0x2b, 0xaf, 0x03, 0x50, 0x02, 0x7f, 0xff,
0x22, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x05, 0xef, 0x64, 0xfe, 0x70, 0x61, 0xd2,
0xb8, 0xc2, 0xaf, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x70, 0x03, 0xed, 0x60, 0x04, 0x7f, 0x01,
0x80, 0x02, 0x7f, 0x00, 0x78, 0x82, 0xa6, 0x07, 0x90, 0x00, 0x0a, 0x12, 0x15, 0x29, 0x60, 0x04,
0x7f, 0x02, 0x80, 0x04, 0x78, 0x82, 0xe6, 0xff, 0x78, 0x82, 0xa6, 0x07, 0x12, 0x16, 0x3d, 0x08,
0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x78, 0x85, 0xa6, 0xf0, 0x08, 0xf6,
0x90, 0x00, 0x06, 0x12, 0x16, 0x68, 0x78, 0x87, 0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x08, 0x12,
0x16, 0x68, 0x78, 0x89, 0xa6, 0xf0, 0x08, 0xf6, 0x78, 0x81, 0xa6, 0x05, 0xd2, 0xaf, 0xc2, 0xb8,
0x22, 0xef, 0x12, 0x18, 0x99, 0x3e, 0xd4, 0x00, 0x3e, 0xda, 0x01, 0x3e, 0xe0, 0x02, 0x3e, 0xe6,
0x03, 0x3e, 0xee, 0x04, 0x3e, 0xf4, 0x05, 0x3e, 0xfa, 0x06, 0x3f, 0x00, 0x07, 0x3f, 0x08, 0x08,
0x00, 0x00, 0x3f, 0x0e, 0x78, 0x5d, 0xa6, 0x05, 0x80, 0x37, 0x78, 0x5a, 0xa6, 0x05, 0x80, 0x31,
0x78, 0x5c, 0xa6, 0x05, 0x80, 0x2b, 0xed, 0x24, 0xf7, 0x78, 0x59, 0xf6, 0x80, 0x23, 0x78, 0x5b,
0xa6, 0x05, 0x80, 0x1d, 0x78, 0x5e, 0xa6, 0x05, 0x80, 0x17, 0x78, 0x5f, 0xa6, 0x05, 0x80, 0x11,
0xed, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0x80, 0x09, 0x78, 0x61, 0xa6, 0x05, 0x80, 0x03, 0x7f, 0x01,
0x22, 0x7f, 0x00, 0x22, 0x8c, 0x2f, 0x8d, 0x30, 0x78, 0x75, 0x12, 0x25, 0xdd, 0x7e, 0x00, 0xe5,
0x30, 0x2b, 0xff, 0xee, 0x35, 0x2f, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x75, 0x12, 0x18, 0x5b, 0x12,
0x24, 0xd8, 0xe5, 0x2f, 0xc3, 0x13, 0xfe, 0xe5, 0x30, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x16,
0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xae, 0x2f, 0xaf, 0x30, 0xab, 0x07, 0xaa, 0x06, 0xe4, 0xf9, 0xf8,
0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x18, 0x68, 0x78, 0x75, 0x12, 0x18,
0x3f, 0xd3, 0xef, 0x95, 0x30, 0xee, 0x95, 0x2f, 0x40, 0x0a, 0xe5, 0x30, 0x24, 0xff, 0xff, 0xe5,
0x2f, 0x34, 0xff, 0xfe, 0x22, 0xef, 0x12, 0x18, 0x99, 0x3f, 0x98, 0x00, 0x3f, 0x9d, 0x01, 0x3f,
0xa2, 0x02, 0x3f, 0xa7, 0x03, 0x3f, 0xab, 0x04, 0x3f, 0xb0, 0x05, 0x3f, 0xb5, 0x06, 0x3f, 0xba,
0x07, 0x3f, 0xc1, 0x08, 0x00, 0x00, 0x3f, 0xc6, 0x78, 0x5d, 0xe6, 0xff, 0x22, 0x78, 0x5a, 0xe6,
0xff, 0x22, 0x78, 0x5c, 0xe6, 0xff, 0x22, 0x78, 0x59, 0x80, 0x11, 0x78, 0x5b, 0xe6, 0xff, 0x22,
0x78, 0x5e, 0xe6, 0xff, 0x22, 0x78, 0x5f, 0xe6, 0xff, 0x22, 0x78, 0x60, 0xe6, 0x24, 0x09, 0xff,
0x22, 0x78, 0x61, 0xe6, 0xff, 0x22, 0x7f, 0x00, 0x22, 0xef, 0x54, 0x07, 0xfe, 0x74, 0x01, 0xa8,
0x06, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xfe, 0xef, 0xc4, 0x54, 0x0f, 0xff, 0xbf, 0x01,
0x0c, 0xed, 0x60, 0x04, 0xee, 0x42, 0xb8, 0x22, 0xee, 0xf4, 0x52, 0xb8, 0x22, 0xef, 0x90, 0x48,
0x04, 0x93, 0x24, 0x00, 0xfb, 0xe4, 0x34, 0xff, 0xf5, 0x29, 0x8b, 0x2a, 0xed, 0x60, 0x0a, 0x85,
0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0, 0x4e, 0xf0, 0x22, 0x85, 0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0,
0xff, 0xee, 0xf4, 0xfe, 0xef, 0x5e, 0xf0, 0x22, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0x78, 0x95, 0xe6,
0x70, 0x24, 0x12, 0x46, 0xe7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05, 0x31, 0xe5, 0x31, 0x70,
0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xe7, 0xef, 0x60,
0x1e, 0xd2, 0xaf, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xd7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05,
0x31, 0xe5, 0x31, 0x70, 0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x7f,
0x00, 0x22, 0x8e, 0x3e, 0x8f, 0x3f, 0x8d, 0x40, 0x85, 0x3f, 0x41, 0xe5, 0x41, 0x70, 0x10, 0x90,
0x04, 0xff, 0xe5, 0x40, 0xf0, 0xb4, 0xee, 0x07, 0xe4, 0xfd, 0x7f, 0x01, 0x12, 0x45, 0xa9, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x1d, 0xe5, 0x41, 0xb4, 0xa5, 0x0a, 0xe5, 0x40, 0xb4, 0x03, 0x05, 0x7f,
0x02, 0x12, 0x14, 0x15, 0xe5, 0x41, 0xb4, 0xc0, 0x06, 0x90, 0x04, 0x66, 0xe5, 0x40, 0xf0, 0x7f,
0x00, 0x22, 0xad, 0x40, 0xaf, 0x3f, 0xae, 0x3e, 0x12, 0x43, 0xa5, 0x22, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe7, 0x05, 0x53, 0xaa, 0xfd, 0x80, 0x03, 0x43, 0xaa, 0x02, 0xe4, 0xf5, 0x1e, 0x78, 0x68,
0xe6, 0xfe, 0xc3, 0x13, 0x78, 0x66, 0xf6, 0xef, 0x30, 0xe6, 0x05, 0xe6, 0xf5, 0x1f, 0x80, 0x03,
0x75, 0x1f, 0x01, 0x78, 0x5e, 0xe6, 0xf5, 0xe2, 0x78, 0x65, 0xe6, 0x78, 0x58, 0xf6, 0x12, 0x1d,
0xee, 0x78, 0x5c, 0xe6, 0x30, 0xe7, 0x0e, 0xe4, 0xf5, 0x87, 0x30, 0x99, 0xfd, 0x12, 0x1d, 0xee,
0x78, 0x66, 0xe6, 0x70, 0xf2, 0x22, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0,
0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0,
0x06, 0xc0, 0x07, 0xc2, 0x9f, 0xe5, 0x10, 0x60, 0x02, 0x15, 0x10, 0x12, 0x46, 0xea, 0xd0, 0x07,
0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0,
0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xe4, 0xf5, 0x45, 0x75, 0x44, 0xff, 0x90,
0x04, 0xff, 0xf0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x66, 0xf0, 0xd2, 0xb8, 0x43, 0xbf, 0x01,
0x7d, 0x03, 0x7f, 0x10, 0x12, 0x39, 0x0c, 0x78, 0x95, 0x76, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12,
0x44, 0xd4, 0x7c, 0x04, 0x7d, 0xff, 0xe4, 0xff, 0x12, 0x45, 0x49, 0x7c, 0x03, 0x7d, 0xa6, 0x7f,
0x01, 0x12, 0x45, 0x49, 0x02, 0x44, 0xf3, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0,
0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05,
0xc0, 0x06, 0xc0, 0x07, 0x12, 0x46, 0x53, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0,
0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0,
0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0,
0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12,
0x1d, 0xee, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01,
0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xad, 0x07, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x2d, 0xed, 0xc3, 0x94, 0x00, 0x40, 0x0e, 0xed, 0x94, 0xff, 0x50, 0x09,
0x74, 0xa6, 0x2d, 0x12, 0x42, 0xd9, 0xe0, 0xff, 0x22, 0xed, 0xc3, 0x94, 0xff, 0x40, 0x08, 0xed,
0x94, 0x20, 0x50, 0x03, 0x7f, 0xff, 0x22, 0xed, 0x64, 0xa3, 0x60, 0x03, 0xbd, 0x80, 0x06, 0x7f,
0x00, 0x22, 0x02, 0x37, 0x30, 0x7f, 0x00, 0x22, 0x8d, 0x35, 0xe4, 0xff, 0xf5, 0x37, 0xf5, 0x38,
0x7e, 0xff, 0xef, 0xc3, 0x95, 0x35, 0x50, 0x28, 0xef, 0x65, 0x36, 0x60, 0x19, 0x12, 0x16, 0x3d,
0xfd, 0xac, 0xf0, 0xd3, 0x95, 0x38, 0xec, 0x95, 0x37, 0x40, 0x0b, 0xed, 0x24, 0x20, 0xf5, 0x38,
0xe4, 0x3c, 0xf5, 0x37, 0xae, 0x07, 0x0f, 0x74, 0x02, 0x29, 0xf9, 0xe4, 0x3a, 0xfa, 0x80, 0xd2,
0xaf, 0x06, 0x22, 0x76, 0x31, 0x30, 0x2e, 0x31, 0x38, 0x2e, 0x34, 0x00, 0x4a, 0x61, 0x6e, 0x20,
0x31, 0x38, 0x20, 0x32, 0x30, 0x31, 0x38, 0x00, 0x41, 0x50, 0x5f, 0x31, 0x37, 0x30, 0x35, 0x30,
0x37, 0x31, 0x5f, 0x43, 0x53, 0x54, 0x30, 0x31, 0x36, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x5f,
0x43, 0x4f, 0x42, 0x5f, 0x42, 0x41, 0x54, 0x5f, 0x44, 0x5a, 0x30, 0x39, 0x00, 0x8f, 0x19, 0x8e,
0x18, 0x8d, 0x17, 0x8c, 0x16, 0xe4, 0xf5, 0x1a, 0xe5, 0x1a, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0xcc,
0xf5, 0x82, 0xe4, 0x34, 0x47, 0xf5, 0x83, 0x12, 0x18, 0x4b, 0xab, 0x19, 0xaa, 0x18, 0xa9, 0x17,
0xa8, 0x16, 0xc3, 0x12, 0x18, 0x1b, 0x70, 0x03, 0x7f, 0x02, 0x22, 0x05, 0x1a, 0xe5, 0x1a, 0xb4,
0x0e, 0xd6, 0x7f, 0x02, 0x22, 0x74, 0xa6, 0x25, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x03, 0xf5, 0x83,
0x22, 0xff, 0xae, 0x30, 0xe4, 0xfc, 0xfd, 0x7b, 0x60, 0x7a, 0xea, 0xf9, 0xf8, 0xc3, 0x02, 0x18,
0x05, 0xab, 0x26, 0xaa, 0x27, 0xa9, 0x28, 0x02, 0x15, 0x29, 0xff, 0xae, 0x2c, 0x05, 0x2c, 0x74,
0xa6, 0x2e, 0x22, 0xf0, 0xaf, 0x2c, 0x05, 0x2c, 0x74, 0xa6, 0x2f, 0x22, 0xe4, 0xf5, 0x87, 0x78,
0x66, 0xe6, 0x70, 0xf8, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x24, 0x12, 0x2e, 0xeb, 0xfe, 0xef, 0x12,
0x2e, 0xa0, 0xee, 0x56, 0x60, 0x15, 0xef, 0x12, 0x2e, 0xe2, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0x75,
0xf0, 0x11, 0xef, 0x12, 0x2e, 0x4c, 0xec, 0xf0, 0xa3, 0xed, 0xf0, 0x0f, 0x80, 0xd7, 0x22, 0xe5,
0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfe, 0x08, 0xe6, 0xf5, 0x82, 0x8e, 0x83, 0xe0, 0xa8, 0x4d, 0x22,
0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfc, 0x08, 0xe6, 0xf5, 0x82, 0x8c, 0x83, 0xe0, 0xa8, 0x4d,
0x22, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe6, 0x22, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0x08, 0xe6, 0x16,
0x18, 0x22, 0x8d, 0x4b, 0x78, 0x8b, 0xa6, 0x03, 0x53, 0xbc, 0x3f, 0x53, 0xbe, 0x3f, 0x43, 0xbd,
0xc0, 0x43, 0xbf, 0xc0, 0xe4, 0xf5, 0x4a, 0x43, 0xfa, 0x02, 0x78, 0x8d, 0xf6, 0x08, 0xf6, 0x78,
0x8c, 0xf6, 0xf5, 0xe8, 0xf5, 0xeb, 0x8f, 0xed, 0xe5, 0x4b, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xe9,
0x61, 0x43, 0xaa, 0x10, 0x22, 0x8d, 0x42, 0x8f, 0x43, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x01, 0x70,
0x22, 0xe5, 0x43, 0xc3, 0x94, 0xc0, 0x40, 0x0a, 0x74, 0x40, 0x25, 0x43, 0xf5, 0x43, 0xff, 0x02,
0x45, 0xa9, 0xe5, 0x43, 0xc3, 0x94, 0x80, 0x40, 0x0a, 0xe5, 0x43, 0x24, 0x80, 0xff, 0xad, 0x42,
0x02, 0x3e, 0xb1, 0x7f, 0x00, 0x22, 0xe4, 0xf5, 0xfb, 0x75, 0xf2, 0xff, 0x75, 0xfc, 0x30, 0xef,
0x42, 0xfc, 0xc2, 0xaf, 0xe4, 0xf5, 0xa9, 0xf5, 0xaa, 0x75, 0xfe, 0x3d, 0xaf, 0xff, 0x75, 0xfe,
0xbd, 0xef, 0x04, 0x54, 0xfc, 0xf5, 0xff, 0x75, 0xfe, 0x39, 0xaf, 0xff, 0x75, 0xfe, 0xb9, 0xef,
0x44, 0x03, 0xf5, 0xff, 0x22, 0xef, 0xc4, 0x54, 0x0f, 0x24, 0x10, 0xfb, 0xe4, 0x34, 0xff, 0x8b,
0x82, 0xf5, 0x83, 0xef, 0x54, 0x07, 0xff, 0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0xff, 0xed, 0x60, 0x04, 0xe0, 0x4f, 0xf0, 0x22, 0xe0, 0xfe, 0xef, 0xf4, 0xff, 0xee,
0x5f, 0xf0, 0x22, 0xe4, 0xf5, 0xf3, 0xf5, 0xfc, 0xf5, 0x8c, 0xf5, 0x8d, 0xf5, 0x8e, 0xf5, 0x8f,
0xf5, 0xa4, 0xf5, 0xa5, 0xf5, 0xa6, 0xf5, 0xa7, 0xf5, 0x9f, 0xf5, 0xad, 0xf5, 0xab, 0x53, 0xbc,
0xfb, 0x53, 0xbd, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbf, 0xfb, 0x53, 0xbb, 0xfb, 0x53, 0xba, 0xfb,
0x22, 0x75, 0x8f, 0x20, 0x75, 0x97, 0xff, 0x75, 0x9f, 0x01, 0xe4, 0xf5, 0xa7, 0x53, 0xad, 0xf0,
0x43, 0xad, 0x07, 0x53, 0xab, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbd, 0xfb, 0x43, 0xbc, 0x04, 0x43,
0xbf, 0x04, 0x43, 0xbb, 0x04, 0x43, 0xba, 0x04, 0x22, 0x7f, 0x02, 0x12, 0x43, 0xd6, 0x7f, 0xa5,
0x12, 0x36, 0x3e, 0x7f, 0x03, 0x12, 0x43, 0xd6, 0x7f, 0x01, 0x12, 0x46, 0x2e, 0x43, 0xaa, 0x80,
0xd2, 0xab, 0x12, 0x45, 0x93, 0xd2, 0xaf, 0xe4, 0xf5, 0x87, 0x12, 0x2b, 0x63, 0x80, 0xf8, 0xe4,
0xf5, 0x0c, 0x8f, 0x82, 0x8e, 0x83, 0x74, 0x4f, 0x93, 0x78, 0x91, 0xf6, 0xef, 0x24, 0x4f, 0xf5,
0x0f, 0xe4, 0x3e, 0xf5, 0x0e, 0xe5, 0x09, 0x44, 0x01, 0xf5, 0x09, 0x54, 0xfd, 0xf5, 0x09, 0x44,
0x04, 0xf5, 0x09, 0x22, 0x43, 0xbd, 0xc0, 0x43, 0xbf, 0xc0, 0x43, 0xfa, 0x02, 0xe4, 0xf5, 0xe9,
0x53, 0xaa, 0xef, 0xf5, 0xe8, 0x8f, 0xed, 0xed, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xeb, 0x80, 0x75,
0xe9, 0x69, 0x22, 0x78, 0x95, 0xe6, 0x70, 0x02, 0xd2, 0xaf, 0xc2, 0xb8, 0xe4, 0xfe, 0xff, 0xe4,
0xf5, 0x87, 0x0f, 0xbf, 0x00, 0x01, 0x0e, 0xbe, 0x04, 0xf5, 0xbf, 0xb0, 0xf2, 0xd2, 0xb8, 0x22,
0x12, 0x46, 0x7f, 0x75, 0x94, 0xff, 0x75, 0x95, 0xff, 0x75, 0x97, 0xff, 0x75, 0x4c, 0x01, 0x43,
0x8c, 0x01, 0x43, 0x8e, 0x01, 0x43, 0x8f, 0x01, 0xe5, 0x4c, 0x70, 0xfc, 0x22, 0x53, 0xbc, 0x3f,
0x53, 0xbe, 0x3f, 0x53, 0xbd, 0x3f, 0x53, 0xbf, 0x3f, 0xe4, 0xf5, 0xeb, 0xf5, 0xe8, 0xf5, 0xe9,
0xf5, 0xed, 0x53, 0xaa, 0xef, 0x53, 0xfa, 0xfd, 0x22, 0xe4, 0xf5, 0xe9, 0xef, 0xaf, 0x05, 0xae,
0x04, 0x70, 0x05, 0x90, 0xff, 0x00, 0x80, 0x03, 0x90, 0xff, 0x02, 0xef, 0xf0, 0xee, 0xa3, 0xf0,
0x75, 0xe9, 0x69, 0x22, 0xef, 0x24, 0x3a, 0xf5, 0x49, 0xe4, 0x3e, 0xf5, 0x48, 0x7e, 0x00, 0x7f,
0x03, 0x7d, 0x00, 0x7b, 0x01, 0x7a, 0x04, 0x79, 0xa6, 0x02, 0x18, 0xec, 0x90, 0x00, 0xfe, 0x75,
0xf0, 0x11, 0xef, 0x02, 0x18, 0x8d, 0x75, 0xf0, 0x11, 0xef, 0x12, 0x18, 0x8d, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0x75, 0x13, 0x02, 0x75, 0x11, 0x10, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0x12,
0x41, 0x39, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x22, 0xef, 0x14, 0x60, 0x08, 0x04, 0x70, 0x0a,
0x8d, 0x09, 0x7f, 0x00, 0x22, 0x8d, 0x0c, 0x7f, 0x00, 0x22, 0x7f, 0x01, 0x22, 0xab, 0x34, 0xaa,
0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5, 0x39, 0xa4, 0xf5, 0x82, 0x85, 0xf0, 0x83, 0x22, 0xef,
0xc3, 0x94, 0x40, 0x50, 0x0a, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0xf4, 0x56, 0xf6, 0x22,
0xef, 0xc3, 0x94, 0x28, 0x50, 0x08, 0x12, 0x45, 0x7c, 0xed, 0xf0, 0x7f, 0x00, 0x22, 0x7f, 0x01,
0x22, 0xc2, 0xaf, 0x75, 0xfe, 0xbd, 0x8f, 0xff, 0x7f, 0x01, 0x12, 0x46, 0x75, 0xaf, 0x94, 0xae,
0x95, 0x22, 0xef, 0xc3, 0x94, 0x40, 0x50, 0x09, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0x46,
0xf6, 0x22, 0xef, 0x24, 0xfe, 0x70, 0x05, 0x7e, 0x46, 0x7f, 0xec, 0x22, 0xe4, 0xfe, 0xff, 0x22,
0x85, 0x49, 0x82, 0x85, 0x48, 0x83, 0x75, 0xf0, 0x05, 0xe5, 0x29, 0x02, 0x18, 0x8d, 0x75, 0x87,
0xc5, 0x53, 0xf1, 0xf8, 0xef, 0x42, 0xf1, 0x43, 0xf8, 0x08, 0x22, 0xef, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x90, 0x01, 0x00, 0x12, 0x45, 0x7f, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0xe4, 0xf5, 0x88, 0xf5, 0x4c, 0x12, 0x46, 0x7f, 0x43, 0x8c, 0x80, 0x22, 0xee,
0x30, 0xe7, 0x07, 0xc3, 0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0x75, 0xf0, 0x11, 0xef, 0x12,
0x2e, 0x8f, 0xed, 0xf0, 0x22, 0xd2, 0xaf, 0x12, 0x45, 0x10, 0xdf, 0xfb, 0xc2, 0xaf, 0x22, 0x53,
0x8c, 0xfe, 0x53, 0x8e, 0xfe, 0x53, 0x8f, 0xfe, 0x22, 0xef, 0xc4, 0x54, 0xf0, 0xf5, 0x11, 0x7f,
0x00, 0x22, 0xe4, 0xf5, 0x8e, 0xf5, 0x96, 0x75, 0xa6, 0xf2, 0x22, 0x7e, 0x00, 0x7f, 0x0d, 0x7d,
0x00, 0x02, 0x18, 0xec, 0x78, 0x8f, 0x08, 0x06, 0xe6, 0x18, 0x86, 0x06, 0x22, 0x8b, 0x2b, 0x8a,
0x2c, 0x89, 0x2d, 0x22, 0x8b, 0x2b, 0x8a, 0x2c, 0x89, 0x2d, 0x22, 0x90, 0x01, 0x0b, 0x12, 0x45,
0x86, 0x22, 0x90, 0x01, 0x02, 0x12, 0x45, 0x86, 0x22, 0xe4, 0xf5, 0xf3, 0x43, 0xfc, 0x30, 0x22,
0x90, 0x00, 0x0c, 0xe4, 0x02, 0x15, 0x68, 0xe5, 0xe8, 0x54, 0x40, 0xff, 0x22, 0x78, 0x63, 0xa6,
0x07, 0x22, 0x78, 0x63, 0xe6, 0xff, 0x22, 0xaf, 0x4a, 0x22, 0x22, 0x22, 0x47, 0x70, 0x08, 0x02,
0x0f, 0x78, 0x14, 0x00, 0x32, 0x83, 0x77, 0x71, 0x76, 0x72, 0x75, 0x73, 0x74, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3f, 0x0f,
0x02, 0x64, 0x00, 0x5f, 0x0e, 0x0f, 0x00, 0x0a, 0x0b, 0x1e, 0x00, 0xa0, 0x0b, 0x0a, 0x1e, 0x00,
0xa0, 0x0c, 0x0b, 0x1e, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xef, 0x00, 0xef,
0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x8c, 0x00, 0xa0, 0x00, 0xa0,
0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x47, 0x70, 0x1c, 0x00,
0x0f, 0x64, 0x00, 0x00, 0x32, 0x65, 0x64, 0x66, 0x63, 0x67, 0x62, 0x52, 0x61, 0x53, 0x60, 0x54,
0x77, 0x56, 0x76, 0x57, 0x75, 0x41, 0x74, 0x42, 0x73, 0x43, 0x72, 0x44, 0x71, 0x45, 0x70, 0x46,
0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x28,
0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x90, 0x01, 0x90,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0xb0, 0xb8, 0xc0, 0xc8, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x50, 0x58,
0xb6, 0xbe, 0xc6, 0xce, 0x23, 0x2b, 0x33, 0x3b, 0x43, 0x4b, 0x53, 0x5b, 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x01, 0xff, 0x03, 0xff,
0x07, 0xff, 0x0f, 0xff, 0x1f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#endif /*CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__*/

View File

@ -0,0 +1,401 @@
/*
*Name : capacitive_hynitron_cst2xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
static unsigned char cst2xx_fw[] = {
0xA8,0xC5,0x77,0xA2,0x25,0x01,0x00,0xA3,0x46,0x9A,0x18,0x23,0xBE,0xFF,0xFF,0xE7,
0x40,0x01,0x88,0x06,0x38,0xF7,0x47,0x8A,0x18,0x23,0x80,0x07,0xC8,0xE7,0x63,0x7A,
0x42,0x7A,0xA0,0x01,0x01,0x03,0x37,0x2A,0xE8,0x01,0x39,0x09,0xE8,0x43,0x45,0x01,
0x80,0x66,0x40,0x31,0x89,0xD6,0x47,0x8B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0xC2,
0x04,0x82,0x1C,0x0A,0x07,0x8B,0xB9,0xFF,0xFF,0x3F,0x3E,0x7F,0x85,0x07,0xC8,0x8F,
0x38,0x67,0x07,0x00,0xF8,0x00,0x06,0x42,0x78,0x00,0x06,0x01,0x78,0x00,0x03,0x01,
0x68,0xFB,0x01,0x00,0xAF,0xC5,0x47,0xFA,0xE8,0x03,0x44,0x01,0x87,0x1E,0xB8,0xFF,
0xF8,0xFF,0x44,0x01,0x89,0xB6,0x19,0x89,0x47,0xDA,0x57,0xD2,0x0E,0xD8,0xC4,0x20,
0xD2,0x01,0x1F,0xE9,0xCA,0x8B,0x0E,0xD8,0x68,0xC2,0x37,0x09,0xC0,0x00,0x4E,0x01,
0x8B,0x56,0x58,0x3B,0x31,0x8A,0x88,0x01,0xBC,0x01,0xF9,0x5B,0xD5,0xFB,0x11,0xDA,
0x98,0x3E,0xF0,0x4B,0x30,0x48,0xA8,0x26,0x4D,0x72,0xCF,0x01,0xD0,0x4B,0x48,0x01,
0x87,0xFE,0x48,0x62,0xFB,0x1B,0xC8,0x01,0x58,0xA9,0x82,0x2E,0xFA,0x1B,0x5C,0xA9,
0x8A,0x8E,0xC0,0x9B,0x58,0x21,0x88,0x76,0x14,0x01,0xB8,0x13,0xB8,0x13,0xA0,0x53,
0x04,0x59,0xAD,0x43,0xA9,0x53,0x42,0x4B,0x59,0x03,0x83,0x01,0xCC,0x03,0x04,0x32,
0x19,0x8A,0x05,0x4B,0xEA,0xC5,0xC7,0x83,0x47,0x41,0x88,0xDE,0x00,0x59,0xA5,0x43,
0xEA,0xC5,0x0F,0xA9,0xB9,0x0B,0x44,0x4B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0x82,
0x00,0x82,0x1C,0x0A,0x00,0x4B,0x01,0x01,0x4E,0xB2,0x56,0xCA,0xC8,0x01,0xC1,0x5B,
0x58,0x59,0x8D,0x0E,0xC0,0x43,0x00,0x1F,0xE4,0x00,0x92,0x05,0x17,0x82,0x9C,0xB6,
0xBA,0xFF,0xFF,0x57,0x43,0x4B,0x59,0x03,0x84,0x01,0xC9,0x03,0x05,0x32,0x1C,0x8A,
0x07,0x4B,0xE9,0xC5,0xAE,0x85,0x41,0x5A,0xE8,0x0B,0x4C,0x01,0x8E,0x4E,0xF8,0x08,
0xCE,0xC9,0xFF,0x4B,0x48,0x29,0xC8,0x26,0x01,0x07,0xF8,0x85,0xC0,0x0B,0x4A,0x01,
0x80,0xDE,0xEF,0x0B,0x18,0x09,0x38,0x48,0x48,0x01,0xD0,0xA6,0x65,0x2A,0x1E,0x1B,
0x50,0x2A,0x46,0x8B,0x29,0x41,0x18,0x4A,0x00,0x8B,0xE8,0x0B,0x10,0x79,0x07,0x8A,
0xA8,0x0B,0x00,0x07,0xF8,0x85,0xE9,0x0B,0x37,0x48,0xAE,0xDE,0x0D,0x01,0x18,0x0B,
0xE8,0x0B,0x18,0xCA,0xAA,0x0B,0xE8,0x0B,0x38,0x48,0xAC,0x4E,0x61,0xBA,0x45,0x0B,
0x51,0xA2,0x95,0x01,0x59,0x93,0x92,0x01,0xCC,0x93,0x04,0x9A,0x19,0xCA,0x00,0x0B,
0xEF,0x0B,0x12,0xE9,0x02,0x8A,0xA8,0x0B,0xEB,0x85,0xA9,0x85,0x6D,0x6A,0xED,0x01,
0xD0,0x43,0x41,0x01,0x81,0x3E,0x31,0x62,0xA0,0x01,0x36,0x49,0x5D,0x03,0x0B,0xB0,
0xCC,0x00,0x54,0x03,0x40,0x01,0x80,0xF6,0xBD,0xFF,0xF7,0xD7,0x0F,0x01,0x40,0xF9,
0x8B,0xD6,0x58,0x03,0x84,0x01,0xEB,0x13,0xFF,0x00,0xC7,0xC9,0x80,0x13,0x14,0x11,
0xAA,0x13,0x82,0x0B,0x00,0x01,0x10,0x79,0x2C,0x39,0x59,0xFA,0x08,0x68,0x05,0x37,
0x0A,0x21,0x19,0x0A,0xC2,0x48,0xCE,0x48,0xA2,0x53,0xE4,0x00,0x93,0x05,0x5E,0x0B,
0xD4,0x4B,0x16,0x0A,0xC3,0xA6,0xEF,0x85,0x47,0xF1,0x87,0xE6,0x47,0x01,0x80,0xD6,
0x5C,0x13,0xCB,0x90,0x52,0x9B,0xF4,0x00,0x14,0x09,0x00,0x12,0x17,0x9A,0x80,0x96,
0x93,0x4B,0xE9,0x85,0xAC,0x85,0x41,0x8A,0x44,0x23,0x48,0x72,0x11,0x09,0x88,0x01,
0x58,0x4B,0x32,0x9A,0x8C,0x01,0xC9,0x6B,0x00,0x5A,0x1D,0xE2,0x00,0x23,0x48,0x1B,
0xC8,0x6B,0x34,0xA2,0x05,0x62,0x1D,0x1A,0x0A,0x1B,0x48,0x1B,0xC8,0x6B,0x34,0xA2,
0x05,0x62,0x1D,0x1A,0x0E,0x1B,0x42,0x1B,0xCC,0x4B,0x04,0x52,0x1E,0x9A,0x00,0x1B,
0xEF,0x85,0xA9,0xC5,0x53,0x2A,0x5C,0xFA,0xDE,0x01,0xF1,0xC3,0x42,0x01,0x80,0x86,
0x08,0x01,0x20,0x01,0x28,0x91,0x31,0xC2,0x80,0x01,0x82,0x04,0x5F,0x33,0xCA,0x83,
0x40,0x01,0x80,0x06,0x28,0x41,0x01,0x01,0x00,0x47,0x38,0x01,0xF8,0xBA,0x7E,0x51,
0xDA,0x0E,0xE0,0x48,0x94,0x4D,0xE4,0x90,0xE4,0x00,0x92,0x05,0x17,0x42,0x9D,0xA6,
0x44,0x82,0xC3,0x01,0x48,0x51,0x90,0x4E,0x48,0x31,0x98,0x16,0xF2,0xCB,0x36,0x48,
0x8B,0x26,0x48,0x62,0xCE,0x01,0xC7,0x4B,0x48,0x09,0xC8,0x46,0xF4,0xCB,0x4E,0x01,
0x88,0x06,0x20,0x09,0x0E,0x09,0xB4,0xCB,0x0E,0xA1,0xB8,0x0B,0x06,0x5F,0xF8,0x0B,
0x48,0x01,0x80,0x16,0xF6,0x48,0xBA,0x0B,0x06,0x2F,0xF0,0xC3,0x40,0x09,0x8C,0x06,
0x24,0x09,0x00,0x01,0xB0,0xC3,0x66,0x01,0x83,0x9E,0x60,0x02,0x41,0x03,0xB1,0x01,
0xC8,0x93,0x2D,0x09,0x34,0x4A,0x01,0x8A,0x19,0x42,0x00,0x03,0x07,0x41,0xB9,0xF7,
0xD9,0x4F,0x40,0x03,0xCA,0x04,0x58,0x4B,0x8C,0x01,0xC9,0x4B,0x05,0x6A,0x1C,0x42,
0x07,0x03,0xE9,0xC5,0x3B,0x82,0xAB,0x85,0x02,0x01,0x28,0xE9,0x08,0x68,0x0B,0x01,
0x51,0x8A,0x1A,0x79,0x08,0xD8,0xC4,0xA0,0xC9,0x20,0xB3,0x0B,0x40,0x21,0x90,0x1E,
0x05,0x20,0xC2,0x20,0xC1,0x20,0x07,0x0C,0x40,0x11,0x90,0x1E,0x05,0x20,0xC4,0x20,
0xC5,0x20,0x07,0x0B,0xE6,0x00,0x92,0x05,0x47,0x41,0x98,0x66,0x41,0x2A,0xC2,0x01,
0xF8,0x13,0x30,0x1A,0xDA,0x01,0xB3,0xD3,0x55,0x4A,0x9A,0x01,0x18,0xD3,0x32,0x12,
0x64,0x42,0xD2,0x01,0x12,0xA3,0x62,0x42,0x12,0xA3,0x64,0x42,0x12,0xA3,0x66,0x42,
0x1A,0xA3,0x60,0x42,0x18,0xA3,0x12,0x09,0xBC,0x13,0xBA,0x0B,0xBF,0x13,0x16,0x11,
0xBE,0x13,0xB0,0x0B,0x44,0x22,0x02,0xC3,0x86,0x07,0xD8,0xDF,0x87,0x07,0xD8,0x3F,
0xBE,0xFF,0xEF,0x57,0xBE,0xFF,0xEF,0x67,0x07,0xE1,0xB9,0xFF,0xF7,0xCF,0xB8,0xFF,
0xE8,0x5F,0x06,0x19,0x84,0x07,0xD8,0xE7,0xB9,0xFF,0xFF,0xE7,0x85,0x07,0xD8,0xAF,
0xEB,0x85,0xAB,0x85,0x69,0x5A,0xE9,0x43,0x31,0x09,0x18,0x82,0xA9,0x43,0x31,0x62,
0xA3,0x01,0x01,0x7F,0xBC,0xFF,0xEF,0x27,0xBC,0xFF,0xEF,0x37,0xEE,0x43,0x39,0x00,
0x81,0x36,0x00,0xE1,0xBF,0xFF,0xEF,0xE7,0x4A,0x12,0x01,0xA9,0xC8,0x01,0xBC,0x43,
0xBB,0xFF,0xEF,0xF7,0x59,0x03,0x83,0x01,0xC0,0x03,0x42,0x01,0x87,0x0E,0xB8,0xFF,
0xEB,0xDF,0x5B,0x03,0x08,0x09,0xE1,0x4A,0x48,0x48,0x80,0x36,0x4B,0xCA,0x80,0x01,
0xCC,0x01,0xC7,0x4B,0xEC,0x03,0x16,0x0A,0x88,0x5E,0x81,0x07,0xD0,0xD7,0x81,0x07,
0xF8,0x17,0x80,0x07,0xF8,0x47,0x49,0x9A,0x06,0x01,0xC8,0x01,0x80,0x43,0x52,0x9A,
0x43,0x8B,0x58,0x03,0x84,0x01,0xC9,0x1B,0x34,0x82,0x01,0xC2,0x18,0x0A,0x00,0x8B,
0xB8,0xFF,0xFF,0xBF,0x41,0x5A,0xC0,0x01,0xF0,0x03,0x36,0x00,0xA7,0x0E,0xB8,0xFF,
0xEF,0xDF,0xBA,0xFF,0xF8,0x3F,0x83,0x07,0xDF,0x8F,0xBE,0xFF,0xEF,0xCF,0xBA,0xFF,
0xE8,0xDF,0x82,0x07,0xEF,0x67,0xBF,0xFF,0xEF,0xFF,0xBA,0xFF,0xEF,0x0F,0xBB,0xFF,
0xF0,0x27,0x05,0xDF,0x78,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0xF8,0x00,0x06,0x42,
0xC8,0x65,0x04,0x00,0x18,0x00,0x02,0x42,0x00,0x00,0x00,0x42,0x38,0xE0,0x06,0x01,
0xA0,0x03,0x04,0x00,0xB8,0x13,0x01,0x00,0xB8,0xA3,0x01,0x00,0xB8,0xA3,0x06,0x00,
0xB0,0x83,0x07,0x00,0xB8,0x83,0x00,0x00,0x20,0x4B,0x07,0x00,0xBF,0xFF,0xEF,0x17,
0xBA,0xFF,0xF7,0x47,0xE8,0x43,0x45,0x31,0x8B,0x66,0xEC,0x85,0x3F,0x18,0x14,0xF9,
0x74,0xD8,0x06,0xD2,0x38,0x48,0x74,0x48,0x00,0xCA,0x44,0x01,0xD0,0x5E,0x38,0x00,
0x78,0x00,0xC0,0x41,0x47,0x18,0x44,0xE2,0x00,0xD8,0xC4,0xC0,0x4C,0x1B,0x1E,0x9A,
0x1E,0x5A,0x08,0x1B,0x3C,0x82,0x43,0x18,0x44,0xC2,0x07,0xD8,0xC0,0xC0,0x40,0x1B,
0x18,0x9A,0x1C,0x5A,0x03,0x1B,0x38,0x82,0xAC,0x85,0x87,0xBD,0x63,0xA2,0x5F,0x03,
0xC0,0x0B,0x88,0x9C,0xE4,0x13,0xE2,0x0B,0x88,0x0C,0xC8,0x2B,0x44,0x8A,0x37,0x22,
0x40,0x8A,0x87,0xB4,0xF8,0x03,0x1E,0x01,0x40,0x09,0x88,0x66,0x0F,0x01,0x70,0x6A,
0xF0,0x71,0x00,0x27,0xC5,0xB8,0x9B,0xDB,0xA2,0x9A,0xE3,0x48,0x93,0x4D,0x5A,0x03,
0xCC,0x03,0x10,0x42,0xE7,0xB6,0x0F,0x1B,0x13,0x1B,0x11,0x1B,0x06,0x01,0x18,0x02,
0x0B,0x03,0x5D,0x03,0xCF,0x0B,0x40,0x12,0x80,0x01,0x81,0xAC,0xA0,0x0B,0x08,0x01,
0x40,0x02,0xC7,0x71,0x01,0x70,0x3C,0x89,0x19,0x01,0xC0,0xB0,0x0F,0xF8,0xCD,0xB0,
0x13,0x9B,0x3D,0x19,0xC3,0x30,0x0A,0xF8,0xCB,0xB0,0xA7,0x9B,0xE2,0x48,0x92,0x4D,
0x4F,0x11,0xD8,0x7E,0xCE,0xB4,0xF8,0x4B,0x4B,0x29,0xC8,0xCE,0x45,0xAA,0x06,0x48,
0xC0,0x71,0xC0,0x40,0x02,0x48,0xC3,0x18,0x4A,0xA2,0xC6,0xD8,0x9A,0x24,0xC0,0x00,
0x83,0x1C,0x30,0x02,0x58,0x7A,0x9E,0x71,0x08,0x01,0x88,0x44,0x48,0x82,0x8E,0x84,
0x88,0x7C,0x30,0xCA,0xC8,0xE1,0x88,0x14,0x0C,0x01,0x30,0x62,0x00,0x37,0xF2,0x24,
0x0B,0x01,0xF0,0x8A,0xF8,0x1C,0x88,0xA4,0x35,0x01,0xF8,0xF2,0xD8,0x48,0x94,0x4D,
0x48,0xF9,0xEF,0x06,0x08,0xF9,0xFF,0xA4,0xCB,0xF0,0x85,0xB0,0x70,0xF9,0xEF,0x06,
0x30,0xF9,0xFF,0x14,0x80,0xF3,0xF1,0x14,0xE0,0xB0,0xB3,0x14,0xC4,0x3B,0x10,0xBA,
0x9C,0x46,0x10,0x8A,0xD8,0x36,0x40,0xF4,0xDB,0x48,0xC6,0x88,0x90,0x4D,0x00,0xCC,
0x80,0x48,0x04,0x37,0x10,0x8A,0xDC,0x16,0x00,0x70,0x04,0xF4,0x00,0x0F,0x30,0x01,
0x04,0xF4,0x10,0x8A,0xD8,0x0E,0x30,0x09,0xB3,0x44,0x40,0x70,0x28,0x32,0xEB,0x26,
0xF4,0x84,0x10,0x72,0xE8,0x2E,0x88,0x84,0x00,0x1F,0xF0,0x7C,0x10,0x72,0xEC,0x06,
0x88,0x7C,0x80,0x0B,0xE4,0x00,0xE2,0xD8,0xCC,0x24,0xE0,0x48,0x88,0x24,0xC8,0x1C,
0xE0,0x48,0x8C,0x1C,0x32,0x0A,0xE3,0x48,0x94,0x4D,0x32,0x62,0x2D,0x62,0xDD,0xB6,
0xC8,0x44,0x48,0x01,0x80,0xA6,0x08,0x01,0x18,0x01,0x98,0x74,0xDC,0x0C,0xC0,0xD8,
0x40,0xD8,0x9A,0x94,0xDA,0x0C,0x30,0xD8,0x70,0xD8,0x98,0x8C,0x1C,0x01,0x30,0xE2,
0x98,0x3C,0x98,0x34,0x9A,0x2C,0xF0,0x00,0xF2,0x58,0x93,0xDD,0x9A,0x4C,0x00,0x0F,
0x03,0xAF,0x35,0x1A,0x04,0xD8,0x32,0xE2,0xDA,0x3C,0x00,0xD8,0x98,0x3C,0xD8,0x34,
0x00,0xD8,0x9A,0x34,0xDA,0x2C,0x00,0xD8,0x98,0x2C,0xF0,0x4C,0x45,0x58,0x13,0x9A,
0xE8,0x26,0xC0,0x1B,0xF4,0x84,0xD8,0xD8,0x80,0x1B,0x00,0x1F,0xC0,0x1B,0xF0,0x7C,
0xD8,0xD8,0x84,0x1B,0xF8,0x4C,0xC0,0x1B,0x77,0x55,0xA8,0x9A,0xC4,0x1B,0x10,0x9A,
0xDA,0xDE,0xE0,0x48,0x90,0x4D,0xF2,0x74,0xC1,0xB0,0x97,0xB5,0xB3,0x74,0x30,0x32,
0x39,0x09,0x18,0xF2,0x30,0xA2,0xF5,0x94,0x10,0x9A,0xDD,0x76,0xF1,0x3C,0x18,0xF2,
0xB0,0x3C,0xF0,0x0C,0x10,0x9A,0xDD,0x46,0xF1,0x34,0x18,0xF2,0xB0,0x34,0xF0,0x8C,
0x10,0x9A,0xDD,0x16,0xD9,0x2C,0x18,0xDA,0x9A,0x2C,0xF0,0x00,0xDA,0x4C,0xF0,0xD8,
0x90,0xDD,0x9A,0x4C,0xD8,0x4C,0x58,0x01,0xD0,0xDE,0xC5,0xAC,0xA0,0x0B,0xD2,0xAC,
0xD0,0x40,0xA3,0x83,0x36,0x02,0x1B,0x02,0x0B,0x03,0x35,0x02,0x10,0x03,0xC5,0x3C,
0x08,0x03,0xC7,0x34,0x10,0x03,0xC1,0x2C,0x10,0x03,0x33,0x01,0x00,0x07,0xC2,0x74,
0xBE,0xFF,0xDF,0xD7,0x90,0x05,0x80,0x74,0x4D,0x52,0x03,0x80,0xCA,0x71,0xC0,0x00,
0x0C,0x89,0x09,0x48,0xC4,0x00,0x52,0x13,0x40,0x55,0x08,0x01,0x18,0x01,0x98,0x04,
0x30,0xE2,0x04,0xD7,0x38,0x98,0x86,0x86,0xC0,0x1B,0xF8,0x74,0xD8,0xD8,0x96,0xDD,
0x58,0x01,0xE8,0x3E,0x80,0x1B,0xF8,0x04,0xC6,0xD8,0x97,0xDD,0x9A,0x04,0xE0,0x48,
0x90,0x4D,0x02,0x27,0x18,0x01,0x80,0x1B,0x00,0x0F,0x18,0x01,0x82,0x1B,0x40,0x90,
0xE3,0x00,0x32,0x1A,0xE2,0xD8,0x92,0xDD,0x35,0xE2,0x2C,0x62,0xDB,0x16,0xE7,0xB0,
0x90,0xB5,0xC3,0x04,0x82,0x74,0x40,0x9A,0x00,0x98,0xC5,0x71,0x38,0x89,0xC1,0xD8,
0x0E,0xF8,0xCD,0xD8,0x13,0xD3,0x14,0x19,0xCA,0x00,0x0C,0x90,0xC2,0x00,0xA4,0x0B,
0x48,0x21,0xD8,0x0E,0x75,0x09,0xD8,0xD6,0x02,0x01,0x48,0x52,0x38,0x89,0xC9,0x71,
0x0C,0xF8,0x05,0x10,0xC6,0x90,0xCA,0x98,0xE4,0x10,0x02,0xB0,0xC7,0xB0,0xCB,0xB0,
0x55,0xEB,0x54,0xB3,0x1C,0xAA,0x15,0xEB,0x18,0x19,0xC3,0x40,0x0E,0xD8,0xC2,0x00,
0xE4,0x1B,0xE2,0x2B,0xDA,0xD8,0xA2,0x1B,0x90,0x85,0x42,0x09,0xD9,0x4E,0x4F,0xF2,
0x02,0x09,0x88,0x01,0x83,0x43,0x50,0x03,0x10,0x21,0x40,0x01,0x80,0x16,0x00,0x29,
0x80,0x53,0x00,0xFF,0x50,0x03,0x41,0x01,0x80,0x16,0x00,0x21,0x80,0x53,0x00,0xCF,
0x48,0x03,0x47,0x01,0x80,0x1E,0x00,0x19,0x10,0x19,0x80,0x53,0x05,0x97,0x50,0x03,
0x40,0x01,0x88,0x2E,0x5A,0x03,0xEB,0x53,0x80,0x01,0xD9,0x03,0x10,0x12,0x9C,0x0E,
0x00,0x11,0x00,0x3F,0x41,0x62,0x81,0x01,0xE8,0x03,0x40,0x01,0x80,0x0E,0x00,0x11,
0x00,0x07,0x00,0x09,0xC4,0x53,0xE0,0x98,0x83,0x5B,0x5A,0x1B,0xE3,0xEB,0x3E,0x68,
0xA2,0x0E,0xF0,0x90,0x81,0x53,0xE8,0x13,0x2C,0x29,0x10,0x12,0x94,0x0E,0x80,0x6B,
0x04,0xE7,0x10,0x12,0xC8,0x46,0x40,0x09,0x8F,0x16,0x10,0x81,0x80,0x53,0x04,0xAF,
0xD4,0x90,0x00,0xAA,0x80,0x6B,0x04,0x8F,0x40,0x19,0xC8,0x0E,0x10,0x19,0x00,0x07,
0x94,0x15,0xC2,0x6B,0x68,0x01,0x80,0x16,0xF4,0x68,0x83,0x6B,0x02,0x37,0xC0,0xCB,
0xF2,0x90,0x1A,0x8A,0xD4,0x9C,0xC0,0x48,0xD4,0xB4,0xB8,0x8B,0xA8,0x03,0x81,0xBD,
0xEF,0x85,0xAF,0x85,0x80,0x5D,0x44,0x72,0x82,0x54,0x58,0x03,0xC8,0x23,0xE0,0x0B,
0x8E,0x44,0xE0,0x0B,0x30,0x48,0xA8,0x1E,0x84,0x01,0xC5,0x03,0x41,0x01,0x80,0x1E,
0x4D,0x42,0x00,0x00,0xCA,0x71,0xC0,0x00,0x00,0x08,0x53,0x42,0xC4,0x08,0xC2,0x48,
0xC0,0x10,0x04,0x01,0x18,0x01,0x00,0x9F,0x68,0x07,0x00,0x07,0x20,0x07,0x00,0x07,
0x78,0x00,0x05,0x01,0x18,0x70,0x03,0x01,0x70,0x00,0x04,0x01,0x20,0xE0,0x03,0x00,
0x78,0xF8,0x07,0x00,0x00,0x5C,0x00,0x9C,0xE4,0x48,0xE4,0x90,0xE2,0x00,0x92,0x05,
0x17,0x02,0xDD,0xBE,0x87,0x5D,0xE8,0x85,0x40,0xFA,0xC7,0x03,0x6F,0xFA,0x0F,0x43,
0x08,0x01,0x00,0x11,0xBB,0xFF,0xDF,0xA7,0x42,0xE2,0x87,0x01,0x43,0x0B,0x30,0x5A,
0x11,0xCC,0x58,0x4B,0x13,0xCC,0x5A,0x4B,0x15,0xCC,0x5C,0x4B,0x17,0xCC,0x46,0x4B,
0x1F,0xCC,0x48,0xBA,0x42,0x53,0x18,0xD4,0x4C,0x53,0x1F,0xD4,0x17,0x89,0x00,0x53,
0x13,0x19,0x18,0x53,0x40,0x53,0x18,0x11,0x18,0xD2,0x04,0x53,0x40,0x0B,0x18,0xCA,
0x07,0x0B,0x40,0x82,0x0E,0x69,0xF9,0x13,0x44,0x7A,0x0F,0x48,0xC0,0x08,0x8A,0x4C,
0x0A,0x09,0x0B,0x48,0xC0,0x28,0x52,0x09,0x88,0xBE,0xC2,0x54,0x5D,0x03,0x82,0x01,
0x50,0x04,0x86,0x1C,0x44,0x2A,0x5F,0x0B,0x90,0x75,0xB6,0x14,0x08,0x01,0x88,0x0C,
0x42,0x12,0x1F,0x33,0xEA,0x4B,0x43,0x48,0x03,0x48,0xAA,0x4B,0x0C,0x41,0x00,0x0B,
0x47,0x0B,0x10,0xF9,0x90,0x21,0x18,0x8A,0x00,0x0B,0x00,0x07,0xFB,0x85,0xE9,0x43,
0x3F,0x00,0x86,0xDE,0x4F,0xE2,0x06,0x00,0xC6,0x00,0x4A,0xE2,0xC0,0x38,0xC2,0x54,
0x5E,0x03,0xDA,0x0B,0x37,0xC2,0xB9,0xFF,0xDE,0x3F,0x49,0xCA,0x10,0x01,0x00,0x01,
0x02,0x67,0x00,0x18,0x37,0xE2,0xF4,0xDA,0x10,0x5A,0xD4,0x0E,0x33,0x0A,0xD3,0xCA,
0x10,0x9A,0xEC,0x0E,0x35,0x12,0xD3,0xD2,0xE2,0x00,0x92,0x05,0x17,0x02,0xDD,0x86,
0xC4,0x1C,0xE0,0x00,0x10,0x0A,0x9C,0x36,0xC0,0x0C,0x40,0x01,0x8B,0x9E,0x40,0x80,
0x40,0x08,0xC2,0x70,0x00,0x3F,0xC0,0x1C,0xF4,0x00,0x14,0x12,0xE0,0x5E,0x00,0x09,
0x83,0x0C,0xE0,0xB0,0x90,0xB5,0x77,0x01,0x80,0x16,0xC0,0x14,0x15,0x32,0x9C,0xBE,
0x70,0x01,0x88,0x06,0x30,0x09,0xC0,0x4C,0x90,0x33,0xC0,0x4C,0xD5,0x0B,0x40,0xDA,
0x18,0x0B,0x32,0x01,0x00,0xAF,0xC2,0x44,0x10,0x32,0xD4,0x5E,0xEA,0x43,0x43,0x00,
0x03,0x00,0xAA,0x43,0x40,0xAA,0x0D,0x41,0x00,0x0B,0x44,0x0B,0x10,0xF9,0x97,0x21,
0x18,0x8A,0x00,0x0B,0x4D,0xA2,0x05,0x00,0xC3,0x08,0x02,0x00,0x50,0x9A,0xC5,0x40,
0xC4,0x00,0xC4,0x48,0x70,0x01,0x88,0x66,0x15,0x01,0x78,0x8A,0x00,0x37,0x18,0x01,
0x00,0x1C,0x00,0x7C,0xE4,0x00,0xE4,0x48,0xE2,0x90,0x92,0x95,0x17,0x12,0xDD,0xB6,
0x05,0x07,0x59,0x4A,0x06,0x10,0xC7,0x90,0x5E,0x42,0xC5,0x90,0x30,0xA2,0x1C,0x01,
0x03,0x9F,0x30,0x3A,0x15,0x01,0xF0,0xD2,0x3E,0x01,0xF8,0x3A,0x10,0xBA,0xD4,0x06,
0x00,0x14,0x38,0x01,0xFC,0x7A,0x16,0xBA,0xE8,0x06,0x00,0x54,0xE4,0x00,0xE4,0x48,
0x34,0x12,0xE3,0x90,0x32,0xA2,0xE4,0xD8,0x95,0xDD,0x12,0x1A,0xD8,0x4E,0xC7,0x44,
0x10,0x32,0x84,0x8E,0xEE,0x43,0x3B,0x00,0x84,0xE6,0x4F,0xBA,0x02,0x00,0xC7,0x00,
0x4A,0xB2,0xC4,0x00,0xCA,0x54,0x58,0x4B,0xDF,0x4B,0xBE,0xFF,0xD3,0xEF,0xE4,0xB0,
0x90,0xB5,0xC3,0x44,0x15,0x32,0xEC,0x36,0x43,0x62,0x34,0x5A,0x52,0xCC,0x80,0x01,
0x04,0x0B,0x40,0x52,0x50,0xCC,0x1A,0x0B,0x52,0xCC,0x1C,0x0B,0x54,0xCC,0x1E,0x0B,
0x5E,0xCC,0x00,0x0B,0x4A,0x32,0x5C,0xD4,0x04,0x53,0x58,0xCC,0x08,0x0B,0x3E,0x0F,
0x4C,0x12,0x8C,0x01,0x48,0x53,0x18,0x21,0x18,0xD2,0x08,0x53,0x4A,0x53,0x18,0x01,
0x18,0xD2,0x08,0x53,0x4C,0x5B,0x10,0x01,0x18,0x9A,0x08,0x5B,0x48,0x0A,0x1C,0x01,
0x02,0x5B,0x40,0x5B,0x1A,0x9A,0x00,0x5B,0x48,0xFA,0x43,0x53,0x18,0x01,0x19,0xD2,
0x03,0x53,0x48,0xB2,0x8E,0x01,0x02,0x43,0x38,0x82,0xAB,0x85,0x08,0x09,0x00,0x31,
0xBE,0xFF,0xE7,0x27,0x08,0x11,0x00,0x21,0xBE,0xFF,0xE7,0x07,0x00,0x09,0x80,0x07,
0xE0,0x57,0x04,0x31,0x84,0x07,0xE0,0x3F,0x00,0x21,0x80,0x07,0xE3,0x27,0xB4,0x15,
0xEB,0x85,0x48,0x82,0x06,0x89,0xC8,0x01,0x08,0x43,0x02,0x01,0xE6,0x00,0x92,0x05,
0x47,0x51,0x98,0xDE,0x02,0x81,0x08,0x43,0x02,0x61,0x0B,0x43,0x3F,0x82,0xAB,0xC5,
0x42,0x12,0x43,0x0B,0x14,0x01,0x1E,0x8A,0x02,0x0B,0x42,0x0B,0x10,0x01,0x1A,0x8A,
0x03,0x0B,0x42,0x22,0x44,0x0B,0x2A,0x01,0x1A,0x4A,0x01,0x0B,0x4B,0x02,0x43,0x12,
0xE2,0x48,0x0E,0x0B,0x24,0x01,0x00,0x23,0x40,0x0B,0x42,0x0B,0x18,0x4A,0x01,0x0B,
0x00,0x09,0x80,0x07,0xE3,0xC7,0xB2,0x15,0x01,0x01,0x09,0x01,0x72,0x9A,0x52,0xDA,
0x7A,0xDA,0xB2,0x01,0x1A,0x42,0x58,0x92,0xDE,0x01,0x1A,0xC3,0xFA,0x85,0x01,0xA3,
0x19,0x21,0x00,0x9B,0x10,0xD8,0x02,0x9B,0xF8,0x85,0x01,0xA3,0x02,0xA3,0x41,0x9B,
0x95,0xDD,0x14,0xDA,0x94,0x06,0x18,0x42,0x40,0x48,0x4A,0x01,0x8A,0x56,0x47,0x72,
0x45,0x0B,0x18,0x4A,0x02,0x0B,0x08,0x23,0x40,0x72,0x0A,0x11,0x03,0x0B,0xB0,0x95,
0x4A,0x12,0x42,0x43,0x14,0x01,0x1E,0x82,0x07,0x43,0xEA,0xC5,0xAC,0x85,0x87,0x3D,
0x72,0x4A,0x42,0x52,0x58,0x03,0xCA,0x0B,0x8E,0x1C,0xC0,0x03,0x80,0x14,0x28,0x01,
0x40,0xE2,0x81,0x34,0x03,0xCF,0x01,0x40,0xF4,0xA2,0xC9,0x00,0x38,0xA1,0x80,0x2C,
0xF8,0x3A,0xC6,0x34,0xFD,0x03,0x14,0x02,0xD3,0x86,0x00,0xC0,0x10,0x02,0xD5,0x6E,
0x88,0x00,0x09,0x81,0xD1,0x48,0x30,0x02,0xBA,0xFF,0xC7,0x87,0xC8,0x00,0x96,0x05,
0x10,0x02,0xDD,0x0E,0xF1,0x20,0x93,0x05,0xCC,0x2C,0x10,0x44,0xC7,0x2C,0x80,0xF9,
0x80,0x09,0x20,0xC1,0x80,0x24,0xF8,0x22,0x3E,0x21,0xF8,0x3A,0xC4,0x34,0xF8,0x03,
0x10,0x02,0xD5,0x86,0x05,0xC0,0x13,0x02,0xD1,0x6E,0x88,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xFF,0xC6,0x9F,0xC9,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,
0x90,0x05,0xC9,0x24,0x03,0x44,0xE4,0x68,0x90,0x6D,0xC7,0x1C,0x16,0x2A,0x9C,0x16,
0x3A,0x01,0x00,0xBF,0x30,0xC2,0x09,0xA1,0x19,0x42,0xF2,0xA2,0xC8,0x28,0x04,0x11,
0xF0,0x42,0x81,0x0C,0xC4,0x34,0xF8,0x03,0x10,0x02,0xD5,0x8E,0xC2,0x0C,0x00,0x00,
0x10,0x02,0xD5,0x6E,0x88,0x08,0x01,0x81,0xD1,0x08,0x32,0x02,0xB8,0xFF,0xC7,0x77,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x93,0x05,0x01,0x44,
0x21,0x91,0xF8,0x62,0x01,0x81,0xF0,0x42,0x80,0x0C,0xC0,0x34,0xFD,0x03,0x14,0x02,
0xD0,0x76,0xC1,0x0C,0x05,0x00,0x12,0x02,0xD1,0x56,0x89,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xF7,0xF8,0x9F,0x07,0xDF,0x60,0x00,0x01,0x01,0x00,0x01,0x00,0x42,
0x18,0x00,0x04,0x42,0x70,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,
0xF8,0xFB,0x07,0x00,0x00,0x00,0x06,0x42,0x10,0x00,0x00,0x42,0x08,0x01,0x00,0x42,
0x58,0x98,0x02,0x00,0x08,0x07,0x04,0x07,0x38,0xE0,0x06,0x01,0x78,0x00,0x05,0x01,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x91,0x05,0x11,0x44,
0xE7,0xF8,0x93,0xFD,0xC4,0x14,0x10,0x3A,0x98,0x26,0x85,0x3D,0xEF,0x85,0xAF,0xBD,
0x80,0xF5,0x04,0x01,0x80,0x84,0x80,0x7C,0x7B,0xFA,0x5F,0xC3,0xC8,0x23,0x00,0x01,
0x80,0x74,0x80,0x6C,0x81,0x64,0x08,0x89,0x50,0xEA,0x0F,0x48,0x42,0xDA,0xC7,0x88,
0xFF,0x03,0x96,0xF9,0x90,0x29,0x8D,0xE4,0x40,0x09,0x88,0x96,0xC3,0xFC,0x18,0x02,
0xC0,0x18,0xCC,0xE4,0xC0,0x28,0xC2,0xF4,0x08,0x01,0x00,0x47,0x40,0x34,0x80,0xF3,
0x41,0x34,0x80,0x73,0xE3,0xD8,0xE2,0x68,0xE2,0x00,0xE4,0x48,0x95,0x4D,0x12,0x0A,
0xD8,0xA6,0x2F,0x01,0x30,0x72,0xA9,0x9C,0xC0,0xF4,0x80,0x14,0x44,0x2D,0x30,0x32,
0xC3,0xFC,0x18,0x02,0x84,0xDC,0xC0,0x00,0x80,0xD4,0x80,0x24,0x4D,0xCB,0x55,0xC3,
0x30,0x22,0x04,0x01,0x00,0x2F,0xD1,0x14,0xD8,0x24,0x40,0x94,0xC6,0xDB,0xD0,0x90,
0x93,0x95,0x30,0x9A,0x06,0xD4,0x38,0x58,0x80,0x26,0xD8,0x9C,0xC0,0x90,0x96,0x95,
0x90,0x9C,0x00,0x3F,0x36,0x1A,0x3B,0xD8,0x82,0x16,0xC8,0x90,0x90,0xAD,0x00,0x0F,
0xC8,0x90,0x94,0xB5,0x34,0x92,0xE3,0x90,0x30,0xB2,0xD4,0x14,0xE0,0x90,0x94,0x14,
0xD2,0x24,0xE0,0x90,0x92,0x24,0x40,0x48,0x32,0x12,0x43,0x90,0x32,0xA2,0xE4,0x00,
0x95,0x05,0x12,0x02,0xDE,0xBE,0x46,0x82,0x80,0x01,0x81,0xCC,0xE0,0x0B,0x48,0x01,
0xE8,0x26,0xC0,0x9C,0xBA,0xF7,0xFF,0xD7,0x90,0x05,0x80,0x9C,0xC2,0xCC,0xE0,0x0B,
0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,0x80,0x68,0x03,0x1F,0x37,0x42,0xB9,0xF7,
0xF8,0x6F,0x92,0x2D,0xC4,0xCC,0xE0,0x0B,0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,
0x80,0xB0,0x03,0x1F,0x37,0x82,0xB9,0xF7,0xF8,0x0F,0x92,0x35,0xC0,0xF4,0x48,0x2D,
0x30,0x72,0xCC,0xD4,0x8D,0x24,0x48,0xCB,0x8D,0x94,0x50,0xCB,0x8B,0x8C,0x58,0xD3,
0xE6,0x8B,0x3E,0x48,0x87,0x66,0x48,0xCB,0x31,0x62,0x54,0xCB,0x8B,0x84,0x50,0xCB,
0x88,0x7C,0xE8,0x8B,0x8A,0x74,0xE8,0x8B,0x8C,0x6C,0xE8,0x8B,0x88,0x64,0x00,0x0F,
0x0C,0x01,0x30,0x62,0xC2,0x8B,0x42,0x48,0x8D,0xB4,0x50,0x8A,0xC9,0xDC,0x90,0xC1,
0xC0,0x48,0x8C,0x1C,0x08,0x01,0x88,0xBC,0x00,0x17,0xCC,0x94,0x38,0x48,0x86,0x0E,
0xC8,0x9C,0x00,0x2F,0xCE,0x8C,0x38,0x48,0x81,0x0E,0x30,0x4A,0x01,0x07,0x30,0x8A,
0x48,0x01,0xE8,0x66,0x30,0x9A,0x13,0x01,0xF0,0xD2,0x54,0x01,0xEC,0x3E,0x10,0x52,
0xD0,0x06,0x30,0x8A,0x42,0x14,0xD0,0x88,0x90,0x5D,0x00,0x1C,0x03,0xB7,0x31,0x9A,
0x14,0x01,0xF0,0xD2,0x51,0x01,0xD0,0x7E,0x48,0x01,0xD0,0x2E,0x10,0x52,0xEC,0x06,
0x30,0x8A,0x40,0x14,0xD0,0x88,0x02,0x0C,0x1E,0x01,0xF0,0x1A,0x36,0x0A,0x3B,0x48,
0x80,0x26,0xC9,0x24,0xC0,0x4B,0x88,0xC4,0xD0,0x48,0x96,0x4D,0xD6,0x7C,0x38,0x90,
0x80,0x3E,0xD0,0x64,0x10,0x8A,0xEC,0xCE,0xD0,0x64,0xC8,0xC4,0xD0,0x48,0x04,0x0C,
0x00,0xA7,0xD0,0x84,0x38,0x90,0x86,0x3E,0xD4,0x6C,0x10,0x8A,0xE8,0x76,0xD0,0x6C,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x4F,0xD4,0x74,0x10,0x8A,0xE8,0x36,0xD0,0x74,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x0F,0x1E,0x01,0xF0,0x1A,0xC8,0x1C,0xD0,0xB4,
0xC6,0x4B,0xC0,0x90,0x10,0x8A,0xEC,0x66,0xC8,0xFC,0x10,0x09,0x06,0x52,0xBC,0x98,
0xC8,0x04,0x99,0x0C,0x90,0x04,0x40,0x7B,0x41,0x4B,0x1A,0xD2,0x19,0x5A,0xC8,0x04,
0x08,0x66,0xC8,0x1C,0xE0,0x48,0x8A,0x1C,0xE0,0x00,0xCC,0x24,0xE0,0x48,0x8A,0x24,
0x34,0x8A,0xE3,0x48,0x30,0x72,0xCC,0x94,0x40,0x48,0x8A,0x94,0xCA,0x8C,0x40,0x48,
0x8B,0x8C,0x30,0x0A,0x48,0x01,0x80,0x3E,0x44,0x48,0x32,0x62,0xCA,0x84,0x40,0x48,
0x88,0x84,0xC8,0x7C,0x40,0x48,0x8A,0x7C,0xCA,0xBC,0xE0,0x48,0x90,0x4D,0x8A,0xBC,
0xCD,0xBC,0x10,0x0A,0xD3,0x06,0x38,0xC7,0xE8,0xD4,0xC8,0xE4,0xC2,0xDC,0xC0,0x30,
0xF8,0xF4,0x00,0x01,0x80,0xBC,0x00,0xEF,0x0B,0x01,0xF0,0xCA,0x89,0xAC,0xC0,0x43,
0xC0,0x8B,0x89,0xA4,0xC8,0xAC,0xC0,0x40,0xCA,0xA4,0xC0,0x00,0x0F,0x19,0xB8,0xF7,
0xF0,0xEF,0x93,0x05,0x80,0x83,0xC9,0xAC,0x80,0x4B,0xC9,0xA4,0x04,0x50,0xC2,0x48,
0xC4,0x40,0x80,0x00,0x03,0xC4,0xE1,0x68,0xE5,0xB0,0xE3,0xF8,0xC2,0xBC,0xE0,0x00,
0x90,0x05,0x82,0xBC,0xC5,0xBC,0x10,0x02,0xD9,0xF6,0x86,0x0D,0xE9,0x85,0xAF,0x85,
0x42,0x8A,0x5A,0x03,0xC0,0x23,0xCE,0x1B,0x40,0x92,0x12,0x01,0x00,0x67,0x08,0x01,
0x00,0x37,0xC0,0x2B,0x35,0x68,0x75,0x68,0x82,0x2B,0xE0,0x00,0xE6,0x48,0x92,0x4D,
0x17,0xCA,0x9C,0xB6,0xE6,0x90,0x92,0x95,0x17,0x12,0x9D,0x86,0xEB,0x85,0xA9,0x85,
0x48,0x32,0x1A,0x01,0x8E,0x01,0x81,0x5B,0x88,0x5B,0x30,0x42,0x80,0x01,0xEF,0x13,
0xEA,0x23,0x38,0x90,0x7A,0x90,0x06,0x90,0x29,0xE9,0x07,0x62,0x18,0xA2,0xA8,0x23,
0xEF,0x13,0x20,0xD9,0x00,0x12,0xA9,0x13,0x63,0xDA,0x59,0x03,0x84,0x01,0xC1,0x03,
0x40,0x01,0x80,0x06,0x88,0x5B,0x04,0x01,0xBF,0xDF,0xEF,0x07,0x42,0xBA,0x81,0x01,
0xE8,0x03,0x42,0x51,0x98,0x16,0x00,0x09,0xBE,0xDF,0xEF,0xC7,0x59,0x03,0x83,0x01,
0xC0,0x03,0x44,0x01,0x87,0x0E,0xB8,0xD7,0xFF,0xB7,0xBF,0xD7,0xFF,0x0F,0xBC,0xFF,
0xFB,0xB7,0xED,0x85,0xAC,0x85,0x87,0x8D,0x40,0x5A,0x81,0x7C,0x5C,0x0B,0xCA,0x73,
0xC8,0x43,0x80,0x54,0x00,0x01,0x80,0x2C,0x40,0x42,0x11,0x01,0xC6,0x01,0x19,0x92,
0x84,0x74,0x28,0x13,0x29,0x13,0x8E,0x01,0xD8,0x43,0x80,0x64,0x29,0x01,0x40,0x12,
0xC0,0x01,0x82,0x6C,0x00,0xF7,0xC4,0x64,0x45,0x00,0x12,0x42,0xC0,0x1E,0xC0,0x7C,
0x48,0x03,0x46,0x01,0x80,0xF6,0xC3,0x6C,0x0C,0x01,0x10,0x0B,0x10,0x0B,0x8E,0x34,
0x88,0x3C,0xC0,0x74,0x6C,0x0B,0x6E,0x03,0x88,0x4C,0x80,0x44,0x20,0x01,0x00,0x4F,
0xC0,0x4C,0xC8,0x44,0x3A,0x10,0x46,0x48,0x1A,0x8A,0x40,0x00,0x88,0x44,0x80,0x4C,
0xE7,0x20,0x93,0x25,0xC6,0x44,0x38,0x00,0x8D,0x0E,0x10,0xA2,0x9D,0x86,0x17,0xA2,
0x80,0xE6,0x43,0x72,0x80,0x01,0x81,0x23,0x41,0x6A,0x08,0x19,0xCC,0x00,0x08,0x48,
0xC0,0x00,0x7A,0x6A,0xC7,0x03,0x08,0xC3,0x30,0x12,0x09,0x01,0x07,0x09,0xB8,0xE7,
0xC9,0xAF,0x32,0x0A,0x07,0x11,0xB8,0xE7,0xC0,0x5F,0x43,0x42,0x42,0x0B,0x3A,0x48,
0xA8,0xE6,0x47,0x0B,0x10,0x11,0x00,0x5F,0x78,0x00,0x05,0x01,0x70,0x00,0x04,0x01,
0x18,0x00,0x03,0x01,0x50,0xA0,0x05,0x01,0x00,0x01,0x00,0x42,0x18,0x00,0x04,0x42,
0x18,0x8A,0x00,0x0B,0x05,0x41,0x00,0xC3,0x47,0xC3,0x09,0xF9,0x88,0x19,0x18,0x42,
0x00,0xC3,0x69,0x01,0x88,0x56,0xC0,0x7C,0x40,0x03,0x46,0x01,0x80,0x0E,0x80,0x2C,
0x05,0x0F,0x40,0xB2,0x80,0x2C,0xC0,0x7C,0x44,0x03,0x3C,0x02,0xC5,0x54,0x48,0xA2,
0x1A,0x02,0x03,0x00,0xC5,0x00,0x4A,0x9A,0xC1,0x38,0x02,0x57,0xC6,0x44,0x38,0x00,
0x80,0xD6,0x00,0x09,0x00,0x02,0x85,0x5C,0x01,0x07,0xF8,0x85,0x08,0x01,0x88,0x1C,
0xC0,0x5C,0xD0,0x6C,0x84,0x14,0x50,0x9B,0x50,0x93,0x06,0xC2,0x30,0x52,0x88,0x0C,
0x82,0x04,0x00,0x4A,0x00,0x82,0x1A,0x42,0x80,0x7E,0x57,0x35,0x31,0x0A,0x31,0xC2,
0xD8,0x2C,0x00,0x07,0x04,0xD7,0x38,0xC2,0xC2,0x54,0x00,0x00,0xC8,0x38,0xC6,0x4C,
0xCE,0x44,0x38,0x10,0x40,0x48,0x1A,0x8A,0x40,0x00,0x8A,0x44,0x83,0x4C,0xE0,0x20,
0x95,0x25,0x17,0xA2,0x98,0x96,0xC6,0x74,0xD0,0x3C,0xC8,0x34,0x2C,0x13,0x2E,0x0B,
0xE7,0x68,0x93,0x6D,0xC4,0x64,0x10,0x2A,0x92,0x06,0x38,0xE7,0x07,0x01,0xB8,0xE7,
0xC0,0x2F,0x82,0x8D,0xEF,0x85,0xAF,0xC5,0x68,0x9A,0x34,0x01,0x8F,0x73,0xEB,0x60,
0x07,0x11,0xA0,0xC9,0xAF,0x03,0xBD,0xFF,0xFD,0xAF,0xA9,0x33,0x5E,0x03,0xCB,0x0B,
0x48,0x01,0x80,0x66,0x84,0x01,0x7E,0x6A,0x47,0x04,0x06,0xC3,0x03,0x09,0x88,0x43,
0xBB,0xE7,0xCF,0xAF,0x8B,0x73,0x5B,0x03,0x84,0x01,0x46,0x04,0x00,0xC3,0x0F,0x01,
0x37,0x42,0xB8,0xDF,0xFC,0xEF,0x4E,0x22,0xCE,0x01,0xF9,0x43,0x40,0x41,0x96,0x0E,
0xE6,0x00,0xBA,0x43,0xEF,0xC5,0xAF,0x85,0x84,0x6D,0x44,0x0A,0x82,0x64,0x58,0x03,
0xC8,0x0B,0x88,0x2C,0xC0,0x0B,0x8E,0x24,0x49,0xCA,0x8B,0xC1,0x8B,0x5C,0x50,0xEA,
0x91,0x54,0x18,0x79,0xE0,0xDA,0x98,0x44,0x18,0x29,0xB3,0xEA,0x60,0xB2,0x3B,0x01,
0x18,0x3B,0xB9,0x3C,0x10,0x3B,0xBF,0x34,0x1C,0x01,0x30,0xF2,0x58,0xB2,0x33,0x01,
0xAA,0x3B,0xC1,0x3B,0x40,0xF8,0xBB,0x1C,0x3E,0x11,0xFE,0x3A,0x80,0xC0,0x83,0x14,
0x31,0x3A,0xF9,0x01,0xF8,0xC3,0x47,0x29,0xC0,0xB6,0x00,0x01,0x1D,0xC4,0x1B,0xC4,
0x30,0x22,0x04,0x77,0x00,0x01,0x00,0x2F,0x40,0xBC,0x80,0x7B,0xE4,0x48,0xE2,0x90,
0xE3,0x38,0x92,0xC5,0xFD,0x2C,0x10,0xC2,0xDB,0xB6,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xFC,0x24,0x2F,0xE2,0xDD,0x6E,0xC4,0x5C,0x30,0x22,0xD0,0x54,0x00,0x01,
0x82,0x4C,0x00,0x67,0x0A,0x01,0x00,0x1F,0x30,0x02,0xC3,0x03,0x46,0xBC,0xD8,0x00,
0x90,0x05,0x00,0x84,0xFB,0x64,0x58,0xFB,0xBD,0x01,0xC1,0xFB,0x78,0x11,0x98,0x8E,
0x10,0x42,0xD5,0x7E,0xEB,0x3B,0xE1,0xF8,0xAB,0x3B,0x31,0xBA,0xC5,0xF8,0x31,0xF2,
0x34,0x3A,0x10,0x1A,0xD8,0x06,0x30,0xFA,0x30,0xDA,0x31,0x3A,0x10,0x32,0xE4,0x06,
0x31,0xBA,0x31,0xF2,0xFD,0x1C,0x10,0xC2,0xEB,0x6E,0xE8,0x3B,0x78,0x09,0x88,0x0E,
0x3B,0x09,0xAC,0x3B,0xFD,0x44,0x10,0xC2,0xE8,0xA6,0x00,0x09,0xFC,0x3C,0x00,0x42,
0x18,0xC2,0x81,0x3C,0x00,0x77,0xF8,0x14,0x10,0xC2,0xD5,0x5E,0xE8,0x3B,0x7B,0x09,
0x8C,0x0E,0x38,0x09,0xAD,0x3B,0x13,0x42,0xD0,0x26,0x00,0x09,0xFC,0x34,0x00,0x42,
0x18,0xC2,0x81,0x34,0xE3,0x90,0x34,0x02,0xE4,0x00,0x32,0x22,0xE2,0x48,0x92,0x4D,
0xC4,0x2C,0x10,0x0A,0xD8,0xC6,0xC5,0x4C,0xE2,0x00,0x92,0x05,0x80,0x4C,0xC8,0x24,
0xC4,0x4C,0x10,0x42,0xD8,0x76,0xC5,0x64,0x59,0x03,0x82,0x01,0xC0,0x03,0x44,0x11,
0x99,0x46,0xEA,0x03,0x42,0x11,0xC8,0x2E,0xF6,0x00,0x94,0x05,0x84,0x04,0xC8,0xC8,
0x32,0x82,0xD3,0x00,0xCF,0x04,0xB8,0xF7,0xE0,0x4F,0x94,0x05,0x80,0x0C,0x00,0x01,
0x13,0x04,0x0B,0xE9,0x08,0x48,0x10,0x01,0xF4,0x54,0x30,0x22,0x00,0x0F,0x19,0x01,
0x00,0xC7,0x00,0x01,0xF5,0x82,0x11,0x42,0xD0,0x8E,0xF8,0x0C,0xD8,0x00,0xAE,0x06,
0x10,0x02,0x92,0x05,0x34,0x3A,0x10,0x0A,0xE0,0x06,0x30,0x7A,0x30,0xCA,0x31,0x3A,
0x10,0x12,0xDC,0x06,0x31,0xBA,0x30,0xD2,0x51,0x3C,0xC3,0xC0,0x15,0x04,0xE3,0xB0,
0xE2,0xD8,0x92,0xDD,0xC4,0x2C,0x10,0x1A,0xDB,0x1E,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xDC,0x24,0x2E,0xE2,0xDC,0xD6,0x54,0x04,0xC3,0x48,0xD4,0x00,0x92,0x05,
0xCF,0x04,0xB8,0xF7,0xE3,0x4F,0x12,0x04,0xC0,0x0C,0x40,0x01,0xD2,0x06,0x10,0x02,
0x10,0x04,0x01,0x17,0x01,0x01,0x10,0x04,0x10,0x04,0xC3,0x3C,0x18,0x03,0xC1,0x34,
0x10,0x03,0x87,0x6D,0xEE,0x85,0x37,0x10,0x70,0x90,0x0E,0x09,0x02,0x8A,0x4C,0x00,
0x54,0x52,0x00,0x00,0xC0,0x00,0x04,0x0B,0x38,0x82,0x03,0x00,0xB0,0x69,0x01,0x00,
0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,0x70,0x00,0x05,0x01,0x00,0x01,0x00,0x42,
0x78,0x00,0x05,0x01,0x38,0xE0,0x06,0x01,0xE7,0xC7,0xF8,0xFF,0x08,0x07,0x00,0x07,
0x61,0x28,0x79,0x68,0x50,0x50,0x00,0x78,0x21,0x10,0x50,0x00,0x00,0x00,0x08,0x08,
0x40,0x40,0x28,0x84,0x58,0xB0,0x18,0x28,0xF3,0x50,0xC0,0x23,0xC0,0x83,0x17,0x40,
0x08,0x80,0x00,0x00,0x60,0xC0,0x00,0x28,0x20,0x30,0xA0,0xA0,0x18,0x60,0xF0,0xF0,
0x20,0xE3,0x41,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x20,0x40,0x08,0x10,0x20,0x40,
0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x17,0x17,0xA7,0xB0,0x47,0x61,0x0F,0x60,0x08,0x08,0x10,0x10,
0x20,0x20,0x60,0x60,0x00,0x80,0x90,0x98,0x10,0x08,0x60,0x08,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xF0,0x60,0xE0,0xF1,0xA0,0x00,
0xF0,0x40,0x1E,0x00,0x20,0x10,0x84,0x80,0x00,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x40,0x00,0x00,0xA0,0x05,0x40,0x00,0x40,0x0E,0x10,0x12,0xC0,0x02,0x80,
0x07,0x00,0xF8,0xA7,0x0C,0x18,0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x60,0x66,0x06,0x00,0x40,0x44,0x04,0x00,0x80,0x20,0x01,0x42,0x80,0x20,0x01,0x42,
0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,
0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,
0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,0x80,0xA0,0x03,0x42,0x80,0xA0,0x03,0x42,
0x80,0xA0,0x03,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,
0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,
0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x08,0x01,0x01,0x42,0x08,0x41,0x01,0x42,0x08,0x81,0x01,0x42,0x08,0xC1,0x01,0x42,
0x08,0x01,0x02,0x42,0x08,0x41,0x02,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x41,0x00,0x42,
0x08,0x81,0x00,0x42,0x08,0xC1,0x00,0x42,0x08,0xC1,0x01,0x42,0x08,0x81,0x01,0x42,
0x08,0x41,0x01,0x42,0x08,0x01,0x01,0x42,0x08,0xC1,0x00,0x42,0x08,0x81,0x00,0x42,
0x08,0x41,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0xF8,0xFF,0x07,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x08,0xF8,0x0F,0xF8,0x07,0xFF,0xFF,0x07,0xF8,0x08,0xF8,0x0F,0x00,
0x08,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xB0,0x3B,0xC0,
0x0A,0x18,0x19,0x28,0x02,0x28,0x53,0xB0,0x09,0xC0,0x03,0x08,0x00,0x00,0x00,0x00,
0x52,0x08,0x51,0x18,0x54,0xB0,0x3A,0x08,0x03,0x08,0x51,0x38,0x54,0x18,0x51,0x38,
0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x04,0x00,0x50,0x38,
0x54,0x18,0x51,0x38,0x50,0x90,0x01,0x00,0x51,0x38,0x54,0x18,0x00,0x00,0x00,0x00,
0x03,0x00,0x50,0x28,0x52,0x38,0x34,0x88,0x00,0x38,0x00,0x28,0x0B,0x40,0x51,0xB0,
0x50,0x90,0x00,0x00,0x01,0x00,0x50,0xA0,0x53,0xB0,0x0A,0xC0,0x00,0x08,0x01,0x00,
0x51,0x38,0x53,0x18,0x54,0x08,0x55,0x38,0x53,0x90,0x51,0x38,0x54,0x18,0x51,0x38,
0x55,0x90,0x51,0x08,0x00,0x08,0xF8,0x07,0x00,0xF8,0x0F,0x00,0x10,0x10,0x08,0x10,
0x10,0x10,0x08,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x10,0x08,0x08,0x10,0x10,
0x08,0x08,0x08,0x08,0x7F,0x00,0x7F,0x00,0x06,0x80,0x51,0x56,0xFD,0x18,0x00,0x0B,
0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,0xE0,0x0F,0xE0,0x0F,0x30,0x00,0xCA,0xCA,
0x03,0x1F,0xA1,0x60,0x06,0x49,0xDD,0xCC
};
#endif /*CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__*/

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
static unsigned char cst2xxse_fw[] = {
0x6c,0x03,0x00,0x20,0x61,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xf9,0x00,0x00,0x00,0xfb,0x00,0x00,0x00,0x1b,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4b,0x01,0x00,0x00,0x00,0xf0,0x02,0xf8,0x00,0xf0,0x40,0xf8,0x0c,0xa0,0x30,0xc8,
0x08,0x38,0x24,0x18,0x2d,0x18,0xa2,0x46,0x67,0x1e,0xab,0x46,0x54,0x46,0x5d,0x46,
0xac,0x42,0x01,0xd1,0x00,0xf0,0x32,0xf8,0x7e,0x46,0x0f,0x3e,0x0f,0xcc,0xb6,0x46,
0x01,0x26,0x33,0x42,0x00,0xd0,0xfb,0x1a,0xa2,0x46,0xab,0x46,0x33,0x43,0x18,0x47,
0x80,0x12,0x00,0x00,0xa0,0x12,0x00,0x00,0x10,0x3a,0x02,0xd3,0x78,0xc8,0x78,0xc1,
0xfa,0xd8,0x52,0x07,0x01,0xd3,0x30,0xc8,0x30,0xc1,0x01,0xd5,0x04,0x68,0x0c,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3a,0x01,0xd3,
0x78,0xc1,0xfb,0xd8,0x52,0x07,0x00,0xd3,0x30,0xc1,0x00,0xd5,0x0b,0x60,0x70,0x47,
0x1f,0xb5,0xc0,0x46,0xc0,0x46,0x1f,0xbd,0x10,0xb5,0x10,0xbd,0x00,0xf0,0x3c,0xff,
0x11,0x46,0xff,0xf7,0xf5,0xff,0x00,0xf0,0x03,0xf9,0x00,0xf0,0x54,0xff,0xff,0xf7,
0xf3,0xff,0x00,0xf0,0x5b,0xff,0x00,0x00,0xfe,0xe7,0x1d,0x49,0x48,0x88,0x48,0x80,
0x1c,0x48,0x02,0x7c,0xff,0x2a,0x02,0xd2,0x02,0x7c,0x52,0x1c,0x02,0x74,0x00,0x7c,
0x18,0x28,0x01,0xd2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8a,0x79,0x15,0x48,
0x20,0x30,0x80,0x6b,0x43,0x7a,0x9a,0x43,0x8a,0x71,0x40,0x7a,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xb5,0x0f,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0d,0xf0,0xec,0xfe,0x10,0xbd,0x10,0xb5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xd5,0x02,0x78,0x80,0x21,0x0a,0x43,0x02,0x70,0x07,0x4a,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xbd,0x00,0xf0,0xf9,0xfb,0x10,0xbd,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0a,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xb5,0x63,0x48,0x63,0x4c,0x80,0x6b,0x01,0x46,0x80,0x30,0x03,0x7f,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2b,0x06,0xd0,0x1b,0x02,0x13,0x43,0x63,0x81,0xff,0x22,
0x23,0x32,0x62,0x80,0x03,0xe0,0x62,0x81,0xff,0x22,0x03,0x32,0x62,0x80,0xa0,0x31,
0x89,0x8a,0xe1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7a,
0xc0,0x79,0x09,0x02,0x01,0x43,0x53,0x48,0x20,0x38,0xc1,0x81,0x10,0xbd,0x10,0xb5,
0x4f,0x48,0x51,0x49,0x81,0x63,0x01,0x46,0x50,0x4a,0x40,0x39,0xca,0x61,0x50,0x4a,
0x0a,0x62,0x50,0x4a,0x4a,0x62,0x50,0x4a,0x8a,0x62,0x50,0x4a,0xca,0x62,0x50,0x49,
0xc1,0x63,0x50,0x49,0x41,0x60,0x50,0x49,0x81,0x60,0x50,0x49,0xc1,0x60,0x50,0x49,
0x01,0x61,0x50,0x49,0x41,0x61,0x43,0x49,0xf0,0x20,0x60,0x39,0x88,0x75,0x48,0x48,
0xa8,0x21,0x40,0x30,0x01,0x73,0x00,0x24,0xc4,0x72,0x0d,0xf0,0xe5,0xfe,0x0d,0xf0,
0xdf,0xfe,0x3c,0x20,0x0d,0xf0,0xd8,0xfe,0x0d,0xf0,0xd2,0xfe,0x0d,0xf0,0xcc,0xfe,
0x00,0xf0,0xeb,0xf9,0x0d,0xf0,0xc4,0xfe,0x00,0xf0,0x51,0xfa,0x42,0x48,0x04,0x70,
0x44,0x80,0x84,0x80,0xc4,0x80,0x10,0xbd,0x70,0xb5,0x31,0x4c,0x20,0x78,0x01,0x21,
0x08,0x43,0x20,0x70,0x3d,0x4d,0x47,0xe0,0x0d,0xf0,0xae,0xfe,0x28,0x7a,0x00,0x28,
0x03,0xd0,0x2b,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x0d,0xf0,0xa1,0xfe,0x20,0x78,
0xc0,0x07,0x01,0xd0,0x55,0x20,0x68,0x70,0x0d,0xf0,0x96,0xfe,0xa0,0x6b,0x20,0x30,
0x40,0x78,0x00,0x28,0x01,0xd0,0x0d,0xf0,0x8b,0xfe,0xa0,0x6b,0x21,0x21,0x09,0x5c,
0x09,0x09,0x06,0xd0,0x1e,0x49,0x60,0x30,0xa0,0x39,0x89,0x7b,0xc0,0x7a,0x81,0x42,
0x1e,0xd1,0x0d,0xf0,0x79,0xfe,0x0d,0xf0,0x73,0xfe,0x0d,0xf0,0x6d,0xfe,0x00,0xf0,
0x68,0xf9,0xa0,0x78,0x00,0x28,0x02,0xd0,0xa0,0x78,0x02,0x28,0x01,0xd1,0x00,0xf0,
0x18,0xfa,0x0d,0xf0,0x5d,0xfe,0x0d,0xf0,0x53,0xfe,0x0d,0xf0,0x4d,0xfe,0x20,0x48,
0x0d,0xf0,0x46,0xfe,0x0d,0xf0,0x40,0xfe,0x0d,0xf0,0x3a,0xfe,0x00,0xf0,0xc1,0xf9,
0x00,0xf0,0xdd,0xf8,0x00,0xf0,0xa6,0xf8,0xa0,0x78,0x06,0x28,0xb4,0xd1,0x70,0xbd,
0x10,0xb5,0xff,0xf7,0x6c,0xff,0x06,0x4c,0xa0,0x78,0x00,0x28,0x04,0xd0,0x06,0x28,
0xfa,0xd1,0x0d,0xf0,0x11,0xfe,0xf7,0xe7,0xff,0xf7,0x9e,0xff,0xf4,0xe7,0x00,0x00,
0xb0,0x0a,0x00,0x20,0x80,0x10,0x00,0x40,0xc4,0x0f,0x00,0x00,0xf6,0x11,0x00,0x00,
0x08,0x12,0x00,0x00,0xe4,0x12,0x00,0x00,0xc4,0x11,0x00,0x00,0xe4,0x11,0x00,0x00,
0x08,0x00,0x00,0x20,0x89,0x03,0x00,0x00,0x91,0x03,0x00,0x00,0xcd,0x07,0x00,0x00,
0x4d,0x0a,0x00,0x00,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x5c,0x00,0x00,0x20,
0x83,0x05,0x00,0x00,0x0b,0x49,0x0a,0x48,0xc8,0x60,0xbf,0xf3,0x40,0x8f,0xfe,0xe7,
0x10,0xb5,0xff,0xf7,0xc5,0xff,0x10,0xbd,0x0f,0xb5,0x00,0x90,0x01,0x91,0x01,0x98,
0x02,0x90,0x00,0x98,0x03,0x90,0x68,0x46,0x0f,0xc8,0x04,0xb0,0x00,0xbd,0x00,0x00,
0x04,0x00,0xfa,0x05,0x00,0xed,0x00,0xe0,0x10,0xb5,0x00,0xf0,0x42,0xfd,0x10,0xbd,
0x10,0xb5,0x00,0xf0,0x3e,0xfd,0x08,0x46,0x10,0xbd,0x00,0x00,0xf0,0xb5,0x00,0x21,
0x0a,0x24,0xff,0x48,0xc0,0x7c,0x01,0x28,0x3c,0xd1,0xfe,0x4d,0xfe,0x4b,0x3e,0xe0,
0x24,0x20,0xfe,0x4a,0x48,0x43,0x86,0x18,0x17,0x20,0x80,0x01,0x30,0x18,0x02,0x7c,
0x01,0x2a,0x32,0xd1,0xc2,0x7b,0x03,0x2a,0x2f,0xd1,0x42,0x7c,0x05,0x2a,0x2c,0xd9,
0x1a,0x88,0x52,0x1c,0x92,0xb2,0x1a,0x80,0x01,0x2a,0x04,0xd1,0x82,0x8b,0x2a,0x80,
0xf3,0x4f,0xc2,0x8b,0x3a,0x80,0x82,0x8b,0x2f,0x88,0xd2,0x1b,0x12,0xb2,0xf0,0x4f,
0xc0,0x8b,0x3f,0x88,0xc0,0x1b,0x07,0xb2,0x2f,0x20,0x40,0x01,0x30,0x18,0x02,0x26,
0x86,0x5f,0x0f,0x36,0x1e,0x2e,0x0e,0xd8,0x04,0x26,0x86,0x5f,0xf6,0x1d,0x0e,0x2e,
0x09,0xd8,0x0f,0x32,0x1e,0x2a,0x06,0xd8,0xff,0x1d,0x0e,0x2f,0x03,0xd8,0xe5,0x49,
0x01,0x20,0x08,0x70,0xf0,0xbd,0x00,0x20,0x18,0x80,0x49,0x1c,0xc9,0xb2,0xa1,0x42,
0xbe,0xd3,0xf0,0xbd,0x30,0xb5,0xda,0x48,0x80,0x30,0x00,0xe0,0x30,0xbf,0x01,0x7c,
0x00,0x29,0xfb,0xd0,0xd6,0x48,0xa0,0x30,0x01,0x78,0x09,0x07,0x15,0xd5,0xda,0x4b,
0x01,0x22,0x1a,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,0x01,0x78,
0xef,0x24,0x21,0x40,0x01,0x70,0x00,0xe0,0x30,0xbf,0x01,0x78,0xc9,0x06,0xfb,0xd5,
0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xd0,0x4a,0x50,0x68,0x40,0x1c,
0x50,0x60,0xcf,0x49,0x03,0x0e,0x8b,0x72,0x03,0x0c,0x4b,0x72,0x03,0x0a,0x0b,0x72,
0xc8,0x71,0x10,0x7a,0x00,0x28,0x01,0xd0,0x30,0xbf,0xfd,0xe7,0x30,0xbd,0xf8,0xb5,
0xbf,0x4c,0xa0,0x34,0xa0,0x78,0x00,0x28,0x03,0xd0,0x0d,0xf0,0x45,0xfd,0x00,0x28,
0x3b,0xd1,0xbb,0x4a,0xc2,0x49,0xd0,0x7c,0x00,0x25,0xc0,0x4b,0x40,0x39,0x00,0x28,
0x0a,0xd1,0xa7,0x6b,0x10,0x46,0x40,0x30,0x20,0x37,0x86,0x7d,0x3f,0x7a,0xbe,0x42,
0x07,0xd3,0x00,0x7c,0x00,0x06,0x04,0xd5,0xb1,0x48,0x60,0x30,0x40,0x78,0x00,0x28,
0x24,0xd0,0x58,0x78,0x55,0x28,0x05,0xd0,0x18,0x78,0x55,0x28,0x1d,0xd1,0x50,0x7b,
0x06,0x28,0x1a,0xd1,0x1d,0x70,0x5d,0x70,0x0d,0x70,0xab,0x20,0x88,0x71,0x4d,0x71,
0xad,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,0x20,0x31,0x8a,0x79,0x31,0x46,
0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,0xfd,0xff,0x28,0x78,0xa1,0x6b,
0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,0xf8,0xbd,0x55,0x20,0x18,0x70,
0x00,0x20,0xa4,0x4a,0x0b,0x78,0xab,0x2b,0x03,0xd0,0x40,0x1c,0x80,0xb2,0x90,0x42,
0xf8,0xd3,0xe1,0x63,0x0d,0xf0,0xfc,0xfc,0x9a,0x4e,0x35,0x70,0xff,0xf7,0x26,0xff,
0x30,0x78,0x00,0x28,0xe9,0xd1,0x98,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,
0x20,0x31,0x8a,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,
0xd2,0xff,0x28,0x78,0xa1,0x6b,0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,
0xf8,0xbd,0xf8,0xb5,0x86,0x48,0xa0,0x30,0x80,0x6b,0x05,0x79,0xc0,0x78,0x00,0x90,
0x00,0x26,0x36,0xe0,0x00,0x20,0x00,0x21,0x32,0x46,0x6a,0x43,0x53,0x00,0x83,0x4a,
0x9b,0x18,0x5f,0x22,0xd2,0x00,0x9a,0x18,0x14,0x46,0x00,0x23,0x07,0xe0,0x17,0x88,
0x38,0x18,0x00,0xb2,0x49,0x1c,0x09,0xb2,0x92,0x1c,0x5b,0x1c,0xdb,0xb2,0xab,0x42,
0xf5,0xd3,0x00,0xf0,0x26,0xfc,0x00,0xb2,0x00,0x21,0x16,0xe0,0x00,0x28,0x0b,0xdd,
0x00,0x22,0xa2,0x5e,0x82,0x42,0x02,0xdb,0x12,0x1a,0x22,0x80,0x0a,0xe0,0x00,0x2a,
0x08,0xdd,0x01,0x22,0x22,0x80,0x05,0xe0,0x00,0x22,0xa2,0x5e,0x82,0x42,0x01,0xdc,
0x12,0x1a,0x22,0x80,0xa4,0x1c,0x49,0x1c,0xc9,0xb2,0xa9,0x42,0xe6,0xd3,0x76,0x1c,
0xf6,0xb2,0x00,0x98,0x86,0x42,0xc5,0xd3,0xf8,0xbd,0x30,0xb5,0x6a,0x48,0x20,0x38,
0x84,0x78,0x63,0x49,0x01,0x22,0xa0,0x31,0x89,0x6b,0x13,0x46,0x20,0x31,0x8d,0x79,
0xab,0x40,0x9c,0x43,0x84,0x70,0x44,0x78,0x8d,0x79,0x13,0x46,0xab,0x40,0x9c,0x43,
0x44,0x70,0x03,0x78,0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x70,0x03,0x79,
0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8d,0x79,0x14,0x46,
0xac,0x40,0xa3,0x43,0x43,0x71,0xc3,0x78,0x89,0x79,0x8a,0x40,0x13,0x43,0xc3,0x70,
0x30,0xbd,0x70,0xb5,0x4e,0x4d,0x60,0x35,0x68,0x78,0x00,0x28,0x27,0xd0,0x2c,0x46,
0x40,0x34,0xa0,0x6b,0xff,0x30,0xc1,0x30,0x80,0x6b,0x00,0x28,0x1f,0xd0,0x0d,0xf0,
0x63,0xfc,0x00,0x21,0xff,0x28,0x1b,0xd1,0xa0,0x6b,0x60,0x30,0x82,0x7a,0x44,0x48,
0x82,0x73,0x02,0x22,0x03,0x46,0x20,0x33,0x5a,0x70,0x41,0x73,0x00,0x20,0x0f,0x22,
0x17,0x25,0x42,0x4b,0xad,0x01,0x06,0xe0,0x24,0x21,0x41,0x43,0xc9,0x18,0x49,0x19,
0x8a,0x73,0x40,0x1c,0xc0,0xb2,0xa1,0x6b,0xc9,0x7a,0x81,0x42,0xf4,0xd8,0x70,0xbd,
0xfe,0x28,0xfc,0xd0,0x00,0x28,0xfa,0xd0,0xa2,0x6b,0xff,0x32,0xc1,0x32,0x93,0x6b,
0x40,0x1e,0x01,0x22,0x82,0x40,0x13,0x42,0xf1,0xd0,0x69,0x70,0x70,0xbd,0x37,0x49,
0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x35,0x4a,0xd0,0x72,0x08,0x72,
0x70,0x47,0xf8,0xb5,0x34,0x4a,0x32,0x4b,0xd8,0x7a,0x00,0x28,0x4f,0xd0,0x00,0x21,
0x00,0x25,0x32,0x24,0x26,0x48,0xa0,0x30,0x00,0x90,0x86,0x6b,0xf0,0x79,0x00,0x28,
0x00,0xd0,0x28,0x24,0x00,0x20,0x08,0xe0,0x00,0x27,0xd7,0x5f,0x0a,0x2f,0x01,0xdb,
0x49,0x1c,0x89,0xb2,0x92,0x1c,0x40,0x1c,0x80,0xb2,0xa0,0x42,0xf4,0xd3,0x23,0x4a,
0x0a,0x29,0x08,0xd2,0x06,0x29,0x02,0xd3,0xd8,0x7a,0x40,0x06,0x03,0xd1,0x18,0x48,
0xc0,0x7b,0x01,0x28,0x08,0xd9,0xd8,0x7a,0x80,0x28,0x00,0xd1,0x01,0x25,0x81,0x20,
0xd8,0x72,0x14,0x20,0x90,0x70,0x0b,0xe0,0x90,0x78,0x00,0x28,0x02,0xd0,0x40,0x1e,
0x90,0x70,0x05,0xe0,0xd8,0x7a,0x81,0x28,0x00,0xd1,0x01,0x25,0x80,0x20,0xd8,0x72,
0x00,0x2d,0x14,0xd0,0x10,0x4c,0x20,0x3c,0x20,0x78,0x20,0x36,0xb2,0x79,0x01,0x25,
0x29,0x46,0x91,0x40,0x08,0x43,0x20,0x70,0x28,0x20,0x0c,0xf0,0xc4,0xfe,0x20,0x78,
0x00,0x99,0x89,0x6b,0x20,0x31,0x89,0x79,0x8d,0x40,0xa8,0x43,0x20,0x70,0xf8,0xbd,
0x10,0x0a,0x00,0x20,0x02,0x00,0x00,0x20,0x06,0x00,0x00,0x20,0x70,0x03,0x00,0x20,
0x04,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x10,0x00,0x40,0x5c,0x00,0x00,0x20,
0x48,0x00,0x00,0x20,0x7c,0x92,0x00,0x00,0x68,0x06,0x00,0x20,0xf8,0xb5,0x0d,0x46,
0x07,0x9f,0x06,0x9e,0x11,0x46,0xfe,0x4a,0x90,0x6b,0x40,0x30,0x00,0x2d,0x07,0xd0,
0x00,0x2e,0x02,0xd0,0x1e,0x24,0x04,0x57,0x09,0xe0,0x1d,0x24,0x04,0x57,0x06,0xe0,
0x00,0x2f,0x02,0xd0,0x1c,0x24,0x04,0x57,0x01,0xe0,0x1b,0x24,0x04,0x57,0x00,0x20,
0x18,0x5e,0x00,0x28,0x00,0xda,0x40,0x42,0xc0,0x01,0x0b,0x46,0x00,0x21,0x52,0x68,
0x59,0x5e,0x90,0x47,0x7f,0x28,0x00,0xdd,0x7f,0x20,0xff,0x21,0x01,0x31,0x00,0x2e,
0x01,0xd0,0x00,0x2d,0x03,0xd1,0x00,0x2f,0x02,0xd0,0x00,0x2d,0x00,0xd1,0x08,0x1a,
0x00,0x19,0x88,0x42,0x01,0xdd,0x08,0x46,0xb1,0xe7,0x00,0x28,0xaf,0xda,0x00,0x20,
0xad,0xe7,0xf0,0xb5,0x87,0xb0,0xe3,0x4e,0xe1,0x48,0x80,0x6b,0x01,0x79,0x03,0x91,
0xc0,0x78,0x02,0x90,0x00,0x25,0xde,0x48,0xa0,0x38,0x06,0x90,0x39,0xe0,0x68,0x00,
0x34,0x5e,0x80,0x19,0x14,0x27,0x05,0x90,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,
0x10,0xda,0x78,0x00,0xa0,0x42,0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,
0x00,0xf0,0xc7,0xfa,0xc0,0x19,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,
0x05,0x99,0x88,0x82,0x05,0x98,0xff,0x30,0x01,0x30,0x18,0x24,0x04,0x90,0x04,0x5f,
0x04,0x27,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,0x10,0xda,0x78,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0xaa,0xfa,0xc0,0x19,
0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x04,0x99,0x88,0x80,0x6d,0x1c,
0xed,0xb2,0x03,0x98,0x85,0x42,0xc2,0xd3,0x00,0x27,0x3a,0xe0,0x38,0x46,0x14,0x21,
0x48,0x43,0x34,0x5e,0x85,0x19,0x02,0x20,0x28,0x5e,0x01,0x90,0x06,0x98,0x80,0x7a,
0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,0x0d,0xda,0x21,0x11,0x10,0x20,
0x41,0x1a,0x20,0x46,0x00,0xf0,0x85,0xfa,0x01,0x99,0x40,0x18,0x00,0xb2,0xa0,0x42,
0x01,0xdb,0x64,0x1e,0x20,0xb2,0x68,0x80,0x12,0x24,0x2c,0x5f,0x10,0x20,0x28,0x5e,
0x01,0x90,0x06,0x98,0x80,0x7a,0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0x6a,0xfa,0x01,0x99,
0x40,0x18,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x28,0x82,0x7f,0x1c,
0xff,0xb2,0x02,0x98,0x87,0x42,0xc1,0xd3,0x07,0xb0,0xf0,0xbd,0x70,0x47,0xf8,0xb5,
0x9d,0x4c,0xa3,0x88,0xcf,0x20,0x03,0x40,0x1d,0x21,0x9c,0x48,0x89,0x01,0x42,0x18,
0x35,0x21,0x49,0x01,0x45,0x18,0x0d,0x21,0xc9,0x01,0x40,0x18,0x98,0x4f,0xd6,0x6b,
0x81,0x6b,0x01,0x2b,0x1a,0xd0,0x05,0x2b,0x09,0xd0,0x00,0x22,0x09,0x2b,0x5b,0xd1,
0x6a,0x75,0xe2,0x88,0xd2,0x07,0x02,0xd1,0x10,0x20,0xa0,0x80,0xff,0xe6,0xb9,0x42,
0x02,0xd1,0xa5,0x20,0xe0,0x80,0x06,0xe0,0x72,0x5c,0xe2,0x80,0x49,0x1c,0x81,0x63,
0x51,0x29,0x00,0xd3,0x87,0x63,0x14,0x20,0xa0,0x80,0xf0,0xe6,0x6b,0x7d,0x02,0x2b,
0x32,0xd2,0x00,0x2b,0x04,0xd1,0x87,0x49,0xd1,0x63,0xe1,0x88,0x81,0x63,0x35,0xe0,
0xe3,0x88,0x09,0x02,0xc9,0x18,0x8e,0xb2,0xd1,0x21,0x09,0x02,0x71,0x1a,0x20,0x29,
0x10,0xd8,0xf0,0xb2,0x08,0xf0,0x20,0xf8,0x7f,0x48,0x86,0x42,0x26,0xd1,0x01,0x20,
0x0d,0xf0,0xf2,0xfa,0x76,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x7b,0x49,0x01,0x20,
0x08,0x72,0x1b,0xe0,0x7a,0x49,0x71,0x18,0x23,0x29,0x04,0xd8,0x81,0x63,0xef,0x20,
0x40,0x01,0xd0,0x63,0x12,0xe0,0x0d,0x21,0x09,0x03,0x71,0x1a,0x50,0x29,0x01,0xd8,
0x81,0x63,0x0b,0xe0,0x87,0x63,0x09,0xe0,0xb9,0x42,0x07,0xd0,0xe2,0x88,0x72,0x54,
0x81,0x6b,0x49,0x1c,0x81,0x63,0x51,0x29,0x00,0xd3,0x87,0x63,0x68,0x7d,0x40,0x1c,
0x68,0x75,0x10,0x20,0xa0,0x80,0xaa,0xe6,0xa2,0x80,0xa8,0xe6,0xf7,0xb5,0xa0,0xb0,
0x0d,0x46,0x00,0x20,0x0f,0x90,0x0e,0x90,0x5d,0x48,0x1f,0x90,0x80,0x6b,0x04,0x79,
0x81,0x79,0x49,0x1e,0xc9,0xb2,0x0d,0x91,0x00,0x21,0x0c,0x91,0x0b,0x91,0x0a,0x91,
0x41,0x78,0x49,0x00,0x18,0x91,0xb2,0x21,0x41,0x5e,0x17,0x91,0x54,0x48,0x91,0x22,
0xa0,0x38,0xc1,0x7a,0x55,0x48,0x92,0x00,0x82,0x18,0x1e,0x92,0x02,0x46,0x28,0x32,
0xdc,0x30,0x1d,0x92,0x1c,0x90,0x01,0x29,0x18,0xd1,0x28,0x46,0x1c,0x99,0x60,0x43,
0x46,0x18,0x1e,0x99,0x42,0x18,0x1d,0x99,0x47,0x18,0x20,0x98,0x00,0x21,0x0b,0xe0,
0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,0x3b,0x70,0x76,0x1c,0x80,0x1c,
0x52,0x1c,0x7f,0x1c,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xf1,0xdb,0x00,0x20,0x12,0x90,
0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xa8,0x84,0x46,0x28,0x46,0x60,0x43,
0x1c,0x99,0x1b,0x90,0x47,0x18,0x1a,0x97,0x1f,0x98,0xc2,0x69,0x1f,0x98,0xc3,0x6a,
0x00,0x21,0x23,0xe0,0x02,0x98,0x3e,0x78,0x00,0x88,0x80,0x1b,0x00,0xb2,0x66,0x46,
0x30,0x80,0xd6,0x07,0x04,0xd0,0x14,0x9e,0x80,0x19,0x00,0xb2,0x14,0x90,0x0a,0xe0,
0xde,0x07,0x04,0xd0,0x13,0x9e,0x80,0x19,0x00,0xb2,0x13,0x90,0x03,0xe0,0x12,0x9e,
0x80,0x19,0x00,0xb2,0x12,0x90,0x60,0x46,0x80,0x1c,0x84,0x46,0x02,0x98,0x80,0x1c,
0x02,0x90,0x7f,0x1c,0x52,0x08,0x5b,0x08,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xd9,0xdb,
0x23,0x4e,0x20,0x36,0x31,0x7d,0x00,0x29,0x05,0xdd,0x1f,0x98,0x42,0x68,0x14,0x98,
0x90,0x47,0x00,0xb2,0x14,0x90,0x71,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,
0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x13,0x98,0x90,0x47,
0x00,0xb2,0x13,0x90,0xb1,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,0x12,0x98,
0x40,0x10,0x12,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x12,0x98,0x90,0x47,0x00,0xb2,
0x12,0x90,0x20,0x98,0x05,0xa9,0x8c,0x46,0x1a,0x99,0x04,0x91,0x1f,0x99,0xc9,0x69,
0x11,0x91,0x1f,0x99,0xc9,0x6a,0x10,0x91,0x1f,0x99,0x8a,0x6b,0xd1,0x7c,0xc9,0x07,
0x20,0xd0,0x1f,0x99,0x09,0x6a,0x1f,0x9b,0x5b,0x6a,0x0f,0x93,0x1f,0x9b,0x9b,0x6a,
0x0e,0x93,0x13,0x7d,0x0c,0x93,0x53,0x7d,0x0b,0x93,0x92,0x7d,0x0a,0x92,0x12,0xe0,
0xb0,0x0a,0x00,0x20,0x68,0x06,0x00,0x20,0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,
0xff,0xff,0x00,0x00,0x08,0x00,0x00,0x20,0x0e,0xd1,0x00,0x00,0x5c,0x00,0x00,0x20,
0x10,0x2e,0xff,0xff,0x00,0x21,0x1d,0x9b,0x1b,0x9a,0xd2,0x18,0x03,0x92,0x00,0x22,
0x19,0x92,0x9a,0xe0,0x11,0x9a,0xd2,0x07,0x01,0xd0,0x14,0x9a,0x05,0xe0,0x10,0x9a,
0xd2,0x07,0x01,0xd0,0x13,0x9a,0x00,0xe0,0x12,0x9a,0x00,0x2a,0x0c,0xdd,0x66,0x46,
0x00,0x23,0xf3,0x5e,0x00,0x2b,0x07,0xdd,0x93,0x42,0x00,0xda,0x1a,0x46,0x03,0x88,
0x9a,0x1a,0x13,0xb2,0x03,0x80,0x32,0xe0,0x66,0x46,0x00,0x23,0xf3,0x5e,0x00,0x2b,
0x2b,0xda,0x00,0x2a,0x05,0xda,0x93,0x42,0x00,0xdd,0x1a,0x46,0x03,0x88,0x9a,0x1a,
0x02,0x80,0x00,0x23,0xc3,0x5e,0xca,0x07,0x21,0xd0,0x04,0x9a,0x12,0x78,0x17,0x46,
0xd2,0x1a,0x12,0xb2,0x0e,0x9e,0xf6,0x07,0x06,0xd0,0x0a,0x9e,0xb2,0x42,0x16,0xdd,
0x0a,0x9e,0xba,0x1b,0x02,0x80,0x12,0xe0,0x0f,0x9e,0xf6,0x07,0x06,0xd0,0x0b,0x9e,
0xb2,0x42,0x0c,0xdd,0x0b,0x9e,0xba,0x1b,0x02,0x80,0x08,0xe0,0x0c,0x9e,0xb2,0x42,
0x05,0xdd,0x0c,0x9e,0xba,0x1b,0x02,0x80,0x01,0xe0,0x00,0x23,0xc3,0x5e,0x03,0x9a,
0x12,0x78,0xd2,0x1a,0x12,0xb2,0x18,0x9b,0x9a,0x42,0x02,0xda,0x17,0x9b,0x9a,0x42,
0x26,0xdc,0x01,0x22,0xaa,0x40,0xd3,0x17,0x22,0x9e,0x01,0x93,0x00,0x92,0x37,0x68,
0x76,0x68,0x3a,0x43,0x33,0x43,0x22,0x9e,0x0c,0xc6,0x00,0x2d,0x09,0xd0,0x6f,0x1e,
0x01,0x26,0xbe,0x40,0xf7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9a,0x1f,0x43,
0xc0,0xc2,0x0d,0x9a,0x95,0x42,0x0b,0xd2,0x6b,0x1c,0x01,0x22,0x9a,0x40,0xd3,0x17,
0x22,0x9f,0x01,0x93,0x00,0x92,0xc0,0xcf,0x32,0x43,0x22,0x9e,0x3b,0x43,0x0c,0xc6,
0x03,0x9a,0x52,0x1c,0x03,0x92,0x80,0x1c,0x04,0x9a,0x52,0x1c,0x04,0x92,0x62,0x46,
0x92,0x1c,0x94,0x46,0x11,0x9a,0x52,0x08,0x11,0x92,0x10,0x9a,0x52,0x08,0x10,0x92,
0x00,0x29,0x06,0xd0,0x49,0x08,0x0f,0x9a,0x52,0x08,0x0f,0x92,0x0e,0x9a,0x52,0x08,
0x0e,0x92,0x19,0x9a,0x52,0x1c,0x52,0xb2,0x19,0x92,0x19,0x9a,0xa2,0x42,0x00,0xda,
0x60,0xe7,0x1a,0x9d,0x1e,0x99,0x1b,0x98,0x47,0x18,0x20,0x9e,0x1f,0x98,0x80,0x6b,
0x80,0x30,0x00,0x7e,0x01,0x28,0x1c,0xd1,0x00,0x23,0x16,0xe0,0x00,0x22,0xb2,0x5e,
0x28,0x78,0x39,0x78,0x38,0x70,0x2a,0x70,0x88,0x42,0x02,0xdd,0x84,0x46,0x08,0x46,
0x61,0x46,0x82,0x42,0x01,0xdc,0x30,0x80,0x02,0xe0,0x8a,0x42,0x00,0xdb,0x31,0x80,
0x6d,0x1c,0x7f,0x1c,0xb6,0x1c,0x5b,0x1c,0x5b,0xb2,0xa3,0x42,0xe6,0xdb,0x23,0xb0,
0xf0,0xbd,0x02,0x28,0x25,0xd1,0x00,0x20,0x19,0x90,0x1e,0xe0,0x00,0x21,0x71,0x5e,
0x16,0x91,0x28,0x78,0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,
0x1f,0x99,0x4a,0x68,0x03,0x21,0x90,0x47,0x00,0xb2,0x38,0x70,0x16,0x99,0x29,0x70,
0x15,0x99,0x4a,0x00,0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6d,0x1c,0x7f,0x1c,
0xb6,0x1c,0x19,0x98,0x40,0x1c,0x40,0xb2,0x19,0x90,0x19,0x98,0xa0,0x42,0xdd,0xdb,
0xd5,0xe7,0x00,0x20,0x08,0xe0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6d,0x1c,
0x7f,0x1c,0xb6,0x1c,0x40,0x1c,0x40,0xb2,0xa0,0x42,0xf4,0xdb,0xc7,0xe7,0x00,0x22,
0x03,0x09,0x8b,0x42,0x2c,0xd3,0x03,0x0a,0x8b,0x42,0x11,0xd3,0x00,0x23,0x9c,0x46,
0x4e,0xe0,0x03,0x46,0x0b,0x43,0x3c,0xd4,0x00,0x22,0x43,0x08,0x8b,0x42,0x31,0xd3,
0x03,0x09,0x8b,0x42,0x1c,0xd3,0x03,0x0a,0x8b,0x42,0x01,0xd3,0x94,0x46,0x3f,0xe0,
0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,0x52,0x41,0x83,0x09,0x8b,0x42,
0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,0x8b,0x42,0x01,0xd3,0x4b,0x01,
0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,0x0b,0x01,0xc0,0x1a,0x52,0x41,
0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,0x52,0x41,0x83,0x08,0x8b,0x42,
0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,
0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,
0x5d,0xe0,0xca,0x0f,0x00,0xd0,0x49,0x42,0x03,0x10,0x00,0xd3,0x40,0x42,0x53,0x40,
0x00,0x22,0x9c,0x46,0x03,0x09,0x8b,0x42,0x2d,0xd3,0x03,0x0a,0x8b,0x42,0x12,0xd3,
0xfc,0x22,0x89,0x01,0x12,0xba,0x03,0x0a,0x8b,0x42,0x0c,0xd3,0x89,0x01,0x92,0x11,
0x8b,0x42,0x08,0xd3,0x89,0x01,0x92,0x11,0x8b,0x42,0x04,0xd3,0x89,0x01,0x3a,0xd0,
0x92,0x11,0x00,0xe0,0x89,0x09,0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,
0x52,0x41,0x83,0x09,0x8b,0x42,0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,
0x8b,0x42,0x01,0xd3,0x4b,0x01,0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,
0x0b,0x01,0xc0,0x1a,0x52,0x41,0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,
0x52,0x41,0x83,0x08,0x8b,0x42,0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0xd9,0xd2,
0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,
0x01,0x46,0x63,0x46,0x52,0x41,0x5b,0x10,0x10,0x46,0x01,0xd3,0x40,0x42,0x00,0x2b,
0x00,0xd5,0x49,0x42,0x70,0x47,0x63,0x46,0x5b,0x10,0x00,0xd3,0x40,0x42,0x01,0xb5,
0x00,0x20,0xc0,0x46,0xc0,0x46,0x02,0xbd,0x75,0x46,0x00,0xf0,0x23,0xf8,0xae,0x46,
0x05,0x00,0x69,0x46,0x53,0x46,0xc0,0x08,0xc0,0x00,0x85,0x46,0x18,0xb0,0x20,0xb5,
0xff,0xf7,0xfa,0xf9,0x60,0xbc,0x00,0x27,0x49,0x08,0xb6,0x46,0x00,0x26,0xc0,0xc5,
0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0x40,0x3d,
0x49,0x00,0x8d,0x46,0x70,0x47,0x04,0x46,0xc0,0x46,0xc0,0x46,0x20,0x46,0xff,0xf7,
0xa6,0xf8,0x00,0x00,0x00,0x48,0x70,0x47,0x68,0x00,0x00,0x20,0x02,0x48,0x03,0x49,
0xab,0xbe,0x70,0x47,0x0d,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,
0x70,0x47,0x00,0x00,0x25,0x0c,0x28,0x0f,0x0a,0x0a,0x0f,0x00,0x02,0x02,0x60,0x06,
0x00,0x00,0x01,0x01,0x08,0x08,0x10,0x85,0x1d,0x0e,0x07,0x03,0x0a,0x1e,0x64,0x50,
0xa0,0x50,0x08,0x02,0x16,0x01,0x00,0x00,0x10,0x0a,0x02,0x00,0x06,0x04,0x14,0x14,
0x0a,0x06,0x28,0x1e,0x3c,0x64,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x08,0x04,
0x02,0x01,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x04,
0x08,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x01,0x01,0x01,0xd8,0xe2,0xf6,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x02,0x02,0x02,0x06,0x0d,0x10,0x00,0x14,0x0a,
0x01,0x02,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x1e,0x1e,0x3c,0x00,0x14,
0xc8,0x14,0x00,0x03,0x84,0x04,0x02,0x02,0x5a,0x00,0x5a,0x01,0x02,0x08,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0xb4,0x00,0x09,0x00,0x90,0x01,0x02,0x01,
0x68,0x01,0x20,0x00,0x00,0x00,0xf4,0xff,0x33,0x01,0x03,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x44,0x44,0x00,0x00,0x25,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,
0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x21,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xff,0xff,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0xff,0x00,0xff,0xff,0xff,0xff,0x00,
0xff,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0x63,0x65,0x07,0x56,0xaa,0x78,0xa1,0x21,0x00,
0x00,0x00,0x00,0x00,0x21,0xaa,0x43,0xaa,0x56,0xaa,0x81,0xa7,0x21,0x00,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xa1,
0x71,0x06,0x87,0xaa,0x23,0xaa,0x87,0xaa,0x32,0xaa,0x00,0x00,0x87,0xaa,0x23,0xaa,
0x00,0x00,0x00,0x00,0x00,0x00,0x65,0xaa,0x87,0xaa,0x51,0xa6,0x47,0x06,0x45,0x00,
0x28,0xa1,0x76,0xaa,0x12,0xa8,0x00,0x00,0x00,0x00,0x34,0xaa,0x56,0xaa,0x78,0xa1,
0x21,0x00,0x00,0x00,0x67,0xaa,0x23,0xaa,0xa1,0xaa,0x87,0xaa,0x32,0xaa,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0xa1,0xaa,0x21,0xaa,0x56,0xaa,0x81,0xa7,0x21,0xaa,
0x00,0x00,0x34,0xaa,0x65,0xaa,0x87,0xaa,0x51,0x46,0x47,0x03,0xa8,0xaa,0x21,0xaa,
0x43,0xaa,0x56,0xaa,0x81,0xa7,0x34,0xaa,0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0xa3,
0x23,0xa4,0x21,0xa8,0x87,0xa6,0x32,0xa4,0x78,0x21,0x76,0xa5,0x23,0xa1,0x45,0x63,
0x65,0x07,0x00,0x00,0x01,0x00,0x00,0xff,0xff,0x00,0x00,0x01,0x02,0x02,0x02,0x01,
0x02,0x02,0x01,0x01,0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,
0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0xfc,0x1d,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x00,0x00,0x98,0x00,0x00,0x00,
0x04,0x1e,0x00,0x00,0x08,0x00,0x00,0x20,0xe8,0x0a,0x00,0x00,0xb4,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0f,0x00,0x0a,0x00,0x00,0x04,0x00,0x00,0xdc,0x5f,0xca,0xca,
0x99,0x1b,0x1a,0x00,0xb8,0x42,0xa8,0x00,0x02,0x00,0x01,0x02,0xda,0xe6,0xb3,0x1f
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
static unsigned char cst3xxse_fw[] = {
0x6C,0x03,0x00,0x20,0x7D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF9,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x1B,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4B,0x01,0x00,0x00,0x00,0xF0,0x02,0xF8,0x00,0xF0,0x40,0xF8,0x0C,0xA0,0x30,0xC8,
0x08,0x38,0x24,0x18,0x2D,0x18,0xA2,0x46,0x67,0x1E,0xAB,0x46,0x54,0x46,0x5D,0x46,
0xAC,0x42,0x01,0xD1,0x00,0xF0,0x32,0xF8,0x7E,0x46,0x0F,0x3E,0x0F,0xCC,0xB6,0x46,
0x01,0x26,0x33,0x42,0x00,0xD0,0xFB,0x1A,0xA2,0x46,0xAB,0x46,0x33,0x43,0x18,0x47,
0xDC,0x15,0x00,0x00,0xFC,0x15,0x00,0x00,0x10,0x3A,0x02,0xD3,0x78,0xC8,0x78,0xC1,
0xFA,0xD8,0x52,0x07,0x01,0xD3,0x30,0xC8,0x30,0xC1,0x01,0xD5,0x04,0x68,0x0C,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3A,0x01,0xD3,
0x78,0xC1,0xFB,0xD8,0x52,0x07,0x00,0xD3,0x30,0xC1,0x00,0xD5,0x0B,0x60,0x70,0x47,
0x1F,0xB5,0xC0,0x46,0xC0,0x46,0x1F,0xBD,0x10,0xB5,0x10,0xBD,0x01,0xF0,0xEB,0xF8,
0x11,0x46,0xFF,0xF7,0xF5,0xFF,0x00,0xF0,0x12,0xF9,0x01,0xF0,0x03,0xF9,0xFF,0xF7,
0xF3,0xFF,0x01,0xF0,0x09,0xF9,0x00,0x00,0xFE,0xE7,0x1D,0x49,0x48,0x88,0x48,0x80,
0x1C,0x48,0x02,0x7C,0xFF,0x2A,0x02,0xD2,0x02,0x7C,0x52,0x1C,0x02,0x74,0x00,0x7C,
0x18,0x28,0x01,0xD2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8A,0x79,0x15,0x48,
0x20,0x30,0x80,0x6B,0x43,0x7A,0x9A,0x43,0x8A,0x71,0x40,0x7A,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xB5,0x0F,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0D,0xF0,0xEC,0xFE,0x10,0xBD,0x10,0xB5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xD5,0x02,0x78,0x80,0x21,0x0A,0x43,0x02,0x70,0x07,0x4A,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xBD,0x00,0xF0,0x8A,0xFB,0x10,0xBD,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0A,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xB5,0x6A,0x48,0x6A,0x4C,0x80,0x6B,0x01,0x46,0x80,0x30,0x03,0x7F,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2B,0x06,0xD0,0x1B,0x02,0x13,0x43,0x63,0x81,0xFF,0x22,
0x23,0x32,0x62,0x80,0x03,0xE0,0x62,0x81,0xFF,0x22,0x03,0x32,0x62,0x80,0xA0,0x31,
0x89,0x8A,0xE1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7A,
0xC0,0x79,0x09,0x02,0x01,0x43,0x5A,0x48,0x20,0x38,0xC1,0x81,0x10,0xBD,0x10,0xB5,
0x56,0x48,0x58,0x49,0x81,0x63,0x01,0x46,0x57,0x4A,0x40,0x39,0xCA,0x61,0x57,0x4A,
0x0A,0x62,0x57,0x4A,0x4A,0x62,0x57,0x4A,0x8A,0x62,0x57,0x4A,0xCA,0x62,0x57,0x49,
0xC1,0x63,0x57,0x49,0x41,0x60,0x57,0x49,0x81,0x60,0x57,0x49,0xC1,0x60,0x57,0x49,
0x01,0x61,0x57,0x49,0x41,0x61,0x57,0x49,0x00,0x20,0x08,0x80,0x48,0x49,0x01,0x20,
0x60,0x39,0x88,0x75,0x50,0x21,0x4D,0x48,0x00,0xF0,0x9C,0xFF,0x0D,0xF0,0xE4,0xFE,
0x0D,0xF0,0xDE,0xFE,0x3C,0x20,0x0D,0xF0,0xD7,0xFE,0x0D,0xF0,0xD1,0xFE,0x0D,0xF0,
0xCB,0xFE,0x00,0xF0,0x60,0xF9,0x0D,0xF0,0xC3,0xFE,0x00,0xF0,0xEA,0xF9,0x10,0xBD,
0x70,0xB5,0x3A,0x4C,0x20,0x78,0x01,0x25,0x28,0x43,0x20,0x70,0x46,0x4E,0x5A,0xE0,
0x0D,0xF0,0xB2,0xFE,0x30,0x7A,0x00,0x28,0x03,0xD0,0x34,0x49,0x18,0x20,0x20,0x39,
0x08,0x74,0x0D,0xF0,0xA5,0xFE,0x20,0x78,0xC0,0x07,0x01,0xD0,0x55,0x20,0x70,0x70,
0x0D,0xF0,0x9A,0xFE,0xA0,0x6B,0x20,0x30,0x40,0x78,0x00,0x28,0x01,0xD0,0x0D,0xF0,
0x8F,0xFE,0xA0,0x6B,0x21,0x21,0x09,0x5C,0x09,0x09,0x06,0xD0,0x27,0x49,0x60,0x30,
0xA0,0x39,0x89,0x7B,0xC0,0x7A,0x81,0x42,0x31,0xD1,0x0D,0xF0,0x7D,0xFE,0x0D,0xF0,
0x77,0xFE,0x22,0x49,0x02,0x20,0x80,0x39,0x48,0x76,0x0D,0xF0,0x6D,0xFE,0x00,0xF0,
0xFA,0xF8,0x00,0xF0,0x45,0xFA,0xA0,0x78,0x00,0x28,0x02,0xD0,0xA0,0x78,0x02,0x28,
0x0E,0xD1,0x1A,0x48,0x40,0x38,0x40,0x78,0x00,0x28,0x09,0xD1,0x18,0x4A,0x80,0x3A,
0x10,0x78,0xA1,0x6B,0x20,0x31,0x8B,0x79,0x29,0x46,0x99,0x40,0x88,0x43,0x10,0x70,
0x0D,0xF0,0x4E,0xFE,0x0D,0xF0,0x44,0xFE,0x0D,0xF0,0x3E,0xFE,0x1F,0x48,0x0D,0xF0,
0x37,0xFE,0x0D,0xF0,0x31,0xFE,0x00,0xF0,0x62,0xFE,0x00,0xF0,0x28,0xF9,0x00,0xF0,
0x8F,0xF8,0x00,0xF0,0x59,0xF8,0xA0,0x78,0x06,0x28,0xA1,0xD1,0x70,0xBD,0x10,0xB5,
0xFF,0xF7,0x5D,0xFF,0x05,0x4C,0xA0,0x78,0x00,0x28,0x04,0xD0,0x06,0x28,0xFA,0xD1,
0x0D,0xF0,0x02,0xFE,0xF7,0xE7,0xFF,0xF7,0x8B,0xFF,0xF4,0xE7,0xB0,0x0A,0x00,0x20,
0x80,0x10,0x00,0x40,0x20,0x13,0x00,0x00,0x52,0x15,0x00,0x00,0x64,0x15,0x00,0x00,
0x40,0x16,0x00,0x00,0x20,0x15,0x00,0x00,0x40,0x15,0x00,0x00,0x04,0x00,0x00,0x20,
0xA5,0x03,0x00,0x00,0xAD,0x03,0x00,0x00,0xD7,0x06,0x00,0x00,0xE1,0x09,0x00,0x00,
0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x58,0x00,0x00,0x20,0xA7,0x04,0x00,0x00,
0x0B,0x49,0x0A,0x48,0xC8,0x60,0xBF,0xF3,0x40,0x8F,0xFE,0xE7,0x10,0xB5,0xFF,0xF7,
0xC6,0xFF,0x10,0xBD,0x0F,0xB5,0x00,0x90,0x01,0x91,0x01,0x98,0x02,0x90,0x00,0x98,
0x03,0x90,0x68,0x46,0x0F,0xC8,0x04,0xB0,0x00,0xBD,0x00,0x00,0x04,0x00,0xFA,0x05,
0x00,0xED,0x00,0xE0,0x10,0xB5,0x00,0xF0,0xE3,0xFE,0x10,0xBD,0x10,0xB5,0x00,0xF0,
0xDF,0xFE,0x08,0x46,0x10,0xBD,0x00,0x00,0x30,0xB5,0xFF,0x48,0x00,0xE0,0x30,0xBF,
0x01,0x7C,0x00,0x29,0xFB,0xD0,0xFC,0x48,0x20,0x30,0x01,0x78,0x09,0x07,0x15,0xD5,
0xFA,0x4B,0x01,0x22,0x1A,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,
0x01,0x78,0xEF,0x24,0x21,0x40,0x01,0x70,0x00,0xE0,0x30,0xBF,0x01,0x78,0xC9,0x06,
0xFB,0xD5,0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xF0,0x4A,0x50,0x68,
0x40,0x1C,0x50,0x60,0xEF,0x49,0x03,0x0E,0x8B,0x72,0x03,0x0C,0x4B,0x72,0x03,0x0A,
0x0B,0x72,0xC8,0x71,0x10,0x7A,0x00,0x28,0x01,0xD0,0x30,0xBF,0xFD,0xE7,0x30,0xBD,
0x70,0xB5,0xE5,0x4C,0x20,0x34,0xA0,0x78,0x00,0x28,0x03,0xD0,0x0D,0xF0,0x84,0xFD,
0x00,0x28,0x37,0xD1,0xE0,0x48,0x80,0x38,0xC0,0x7C,0x00,0x28,0x0A,0xD1,0xDE,0x48,
0xA1,0x6B,0x40,0x38,0x20,0x31,0x82,0x7D,0x09,0x7A,0x8A,0x42,0x2A,0xD3,0x00,0x7C,
0x00,0x06,0x27,0xD5,0xD8,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x22,0xD1,0xD8,0x49,
0x55,0x20,0x08,0x70,0xD5,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x00,0x20,0xD1,0x4A,0xD2,0x49,
0x40,0x3A,0x13,0x78,0xAB,0x2B,0x03,0xD0,0x40,0x1C,0x80,0xB2,0x88,0x42,0xF8,0xD3,
0xE2,0x63,0x0D,0xF0,0x55,0xFD,0x28,0x78,0xA1,0x6B,0x20,0x31,0x89,0x79,0x8E,0x40,
0x30,0x43,0x28,0x70,0x70,0xBD,0x70,0xB5,0x00,0x22,0x00,0x20,0x17,0x25,0xC7,0x4C,
0x6D,0x01,0x1D,0x23,0xDB,0x43,0x41,0x00,0x09,0x19,0x4E,0x19,0x18,0x21,0x71,0x5E,
0x99,0x42,0x01,0xDB,0xFF,0x29,0x01,0xD1,0x52,0x1C,0x92,0xB2,0x40,0x1C,0x80,0xB2,
0xB4,0x28,0xF0,0xD3,0x04,0x2A,0x0D,0xD3,0xB7,0x48,0x14,0x21,0x80,0x38,0x40,0x7B,
0x00,0xF0,0x3C,0xFE,0x01,0x29,0x05,0xD1,0xB3,0x48,0x20,0x30,0x01,0x78,0x01,0x22,
0x11,0x43,0x01,0x70,0x70,0xBD,0x30,0xB5,0xB0,0x48,0x20,0x38,0x84,0x78,0xAE,0x49,
0x01,0x22,0x20,0x31,0x89,0x6B,0x13,0x46,0x20,0x31,0x8D,0x79,0xAB,0x40,0x9C,0x43,
0x84,0x70,0x44,0x78,0x8D,0x79,0x13,0x46,0xAB,0x40,0x9C,0x43,0x44,0x70,0x03,0x78,
0x8D,0x79,0x14,0x46,0xAC,0x40,0x23,0x43,0x03,0x70,0x03,0x79,0x8D,0x79,0x14,0x46,
0xAC,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8D,0x79,0x14,0x46,0xAC,0x40,0xA3,0x43,
0x43,0x71,0xC3,0x78,0x89,0x79,0x8A,0x40,0x13,0x43,0xC3,0x70,0x30,0xBD,0xF8,0xB5,
0x99,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x28,0xD0,0x97,0x4C,0x20,0x34,0xA0,0x6B,
0xFF,0x30,0xC1,0x30,0x80,0x6B,0x00,0x28,0x20,0xD0,0x0D,0xF0,0xED,0xFC,0xFF,0x28,
0x1D,0xD1,0xA0,0x6B,0x60,0x30,0x81,0x7A,0x20,0x46,0xA0,0x38,0x81,0x73,0x02,0x21,
0x02,0x46,0x20,0x32,0x51,0x70,0x00,0x21,0x41,0x73,0x00,0x20,0x0F,0x22,0x17,0x25,
0x8E,0x4B,0xAD,0x01,0x06,0xE0,0x24,0x21,0x41,0x43,0xC9,0x18,0x49,0x19,0x8A,0x73,
0x40,0x1C,0xC0,0xB2,0xA1,0x6B,0xC9,0x7A,0x81,0x42,0xF4,0xD8,0xF8,0xBD,0xFE,0x28,
0xFC,0xD0,0x00,0x28,0xFA,0xD0,0x41,0x1E,0x20,0x29,0xF7,0xD2,0x80,0x21,0x08,0x43,
0x80,0x49,0x08,0x73,0x7D,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x7D,0x27,0xFF,0x00,0x38,0x46,
0x0C,0xF0,0x99,0xFF,0x38,0x46,0x0C,0xF0,0x96,0xFF,0x38,0x46,0x0C,0xF0,0x93,0xFF,
0x38,0x46,0x0C,0xF0,0x90,0xFF,0x38,0x46,0x0C,0xF0,0x8D,0xFF,0x28,0x78,0xA1,0x6B,
0x20,0x31,0x89,0x79,0x8E,0x40,0x30,0x43,0x28,0x70,0x38,0x46,0x0C,0xF0,0x83,0xFF,
0xF8,0xBD,0x6B,0x49,0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x08,0x72,
0x6B,0x49,0x08,0x80,0x70,0x47,0xF8,0xB5,0x6A,0x4A,0x66,0x4B,0xD8,0x7A,0x00,0x28,
0x50,0xD0,0x00,0x21,0x00,0x25,0x3C,0x24,0x5F,0x48,0x20,0x30,0x00,0x90,0x86,0x6B,
0xF0,0x79,0x00,0x28,0x00,0xD0,0x32,0x24,0x00,0x20,0x08,0xE0,0x00,0x27,0xD7,0x5F,
0x0A,0x2F,0x01,0xDB,0x49,0x1C,0x89,0xB2,0x92,0x1C,0x40,0x1C,0x80,0xB2,0xA0,0x42,
0xF4,0xD3,0x57,0x4A,0x0A,0x29,0x09,0xD2,0x06,0x29,0x02,0xD3,0xD8,0x7A,0x40,0x06,
0x04,0xD1,0x51,0x48,0x80,0x38,0xC0,0x7B,0x01,0x28,0x08,0xD9,0xD8,0x7A,0x80,0x28,
0x00,0xD1,0x01,0x25,0x81,0x20,0xD8,0x72,0x14,0x20,0x90,0x70,0x0B,0xE0,0x90,0x78,
0x00,0x28,0x02,0xD0,0x40,0x1E,0x90,0x70,0x05,0xE0,0xD8,0x7A,0x81,0x28,0x00,0xD1,
0x01,0x25,0x80,0x20,0xD8,0x72,0x00,0x2D,0x14,0xD0,0x44,0x4C,0x20,0x3C,0x20,0x78,
0x20,0x36,0xB2,0x79,0x01,0x25,0x29,0x46,0x91,0x40,0x88,0x43,0x20,0x70,0x28,0x20,
0x0C,0xF0,0x29,0xFF,0x20,0x78,0x00,0x99,0x89,0x6B,0x20,0x31,0x89,0x79,0x8D,0x40,
0x28,0x43,0x20,0x70,0xF8,0xBD,0xF8,0xB5,0x0D,0x46,0x07,0x9F,0x06,0x9E,0x11,0x46,
0x35,0x4A,0x20,0x32,0x90,0x6B,0x40,0x30,0x00,0x2D,0x07,0xD0,0x00,0x2E,0x02,0xD0,
0x1E,0x24,0x04,0x57,0x09,0xE0,0x1D,0x24,0x04,0x57,0x06,0xE0,0x00,0x2F,0x02,0xD0,
0x1C,0x24,0x04,0x57,0x01,0xE0,0x1B,0x24,0x04,0x57,0x00,0x20,0x18,0x5E,0x00,0x28,
0x00,0xDA,0x40,0x42,0xC0,0x01,0x0B,0x46,0x00,0x21,0x52,0x68,0x59,0x5E,0x90,0x47,
0x7F,0x28,0x00,0xDD,0x7F,0x20,0x00,0x2E,0x01,0xD0,0x00,0x2D,0x03,0xD1,0x00,0x2F,
0x04,0xD0,0x00,0x2D,0x02,0xD1,0xFF,0x21,0x01,0x31,0x08,0x1A,0x00,0x19,0xF8,0xBD,
0xF0,0xB5,0x87,0xB0,0x23,0x4E,0x1C,0x48,0x20,0x30,0x80,0x6B,0x01,0x79,0x03,0x91,
0xC0,0x78,0x02,0x90,0x00,0x25,0x18,0x48,0x80,0x38,0x06,0x90,0x4A,0xE0,0x68,0x00,
0x34,0x5E,0x80,0x19,0x14,0x27,0x05,0x90,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,
0x10,0xDA,0x78,0x00,0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,
0x00,0xF0,0xF6,0xFC,0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,
0x05,0x99,0x88,0x82,0x05,0x98,0xFF,0x30,0x41,0x30,0x14,0x24,0x04,0x90,0x04,0x5F,
0x00,0x27,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,0x21,0xDA,0x78,0x00,0xA0,0x42,
0x1E,0xDA,0x20,0x11,0x10,0x21,0x0F,0xE0,0x90,0x0A,0x00,0x20,0x20,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x44,0x00,0x00,0x20,0x7C,0x92,0x00,0x00,0x70,0x03,0x00,0x20,
0x02,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x09,0x1A,0x20,0x46,0x00,0xF0,0xC8,0xFC,
0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x04,0x99,0x08,0x80,
0x6D,0x1C,0xED,0xB2,0x03,0x98,0x85,0x42,0xB1,0xD3,0x00,0x27,0x3A,0xE0,0x38,0x46,
0x14,0x21,0x48,0x43,0x34,0x5E,0x85,0x19,0x02,0x20,0x28,0x5E,0x01,0x90,0x06,0x98,
0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,0xA0,0x42,0x0D,0xDA,0x21,0x11,
0x10,0x20,0x41,0x1A,0x20,0x46,0x00,0xF0,0xA3,0xFC,0x01,0x99,0x40,0x18,0x00,0xB2,
0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x68,0x80,0x12,0x24,0x2C,0x5F,0x10,0x20,
0x28,0x5E,0x01,0x90,0x06,0x98,0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,
0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,0x00,0xF0,0x88,0xFC,
0x01,0x99,0x40,0x18,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x28,0x82,
0x7F,0x1C,0xFF,0xB2,0x02,0x98,0x87,0x42,0xC1,0xD3,0x07,0xB0,0xF0,0xBD,0x70,0x47,
0xF8,0xB5,0xFF,0x4D,0xAB,0x88,0xCF,0x20,0x03,0x40,0x1D,0x21,0xFD,0x48,0x89,0x01,
0x41,0x18,0xCA,0x6B,0x94,0x46,0x35,0x22,0x52,0x01,0x86,0x18,0x0D,0x22,0xD2,0x01,
0x80,0x18,0x82,0x6B,0x01,0x2B,0x1C,0xD0,0x05,0x2B,0x09,0xD0,0x09,0x2B,0x7E,0xD1,
0x00,0x21,0x71,0x75,0xE9,0x88,0xC9,0x07,0x02,0xD1,0x10,0x20,0xA8,0x80,0xF8,0xBD,
0xF1,0x49,0x8A,0x42,0x02,0xD1,0xA5,0x20,0xE8,0x80,0x07,0xE0,0x63,0x46,0x9B,0x5C,
0xEB,0x80,0x52,0x1C,0x82,0x63,0x51,0x2A,0x00,0xD3,0x81,0x63,0x14,0x20,0xA8,0x80,
0xF8,0xBD,0x74,0x7D,0xE9,0x4B,0x02,0x2C,0x4F,0xD2,0x00,0x2C,0x04,0xD1,0xE8,0x4A,
0xCA,0x63,0xE9,0x88,0x81,0x63,0x6A,0xE0,0xEC,0x88,0x12,0x02,0x12,0x19,0x94,0xB2,
0xE4,0x4A,0x14,0x80,0x5A,0x78,0x01,0x2A,0x0C,0xD1,0xE3,0x4A,0x94,0x42,0x09,0xD1,
0xE2,0x4A,0x12,0x78,0x8B,0x6B,0x01,0x27,0x20,0x33,0x9B,0x79,0x9F,0x40,0xDF,0x4B,
0x3A,0x43,0x1A,0x70,0xD1,0x22,0x12,0x02,0xA2,0x1A,0x20,0x2A,0x11,0xD8,0xE0,0xB2,
0x08,0xF0,0x7A,0xF8,0xD8,0x48,0xC2,0x30,0x84,0x42,0x48,0xD1,0x01,0x20,0x0D,0xF0,
0x4B,0xFB,0xD2,0x49,0x18,0x20,0x20,0x31,0x08,0x74,0xD5,0x49,0x01,0x20,0x08,0x72,
0x3D,0xE0,0xD4,0x4A,0xA2,0x18,0x23,0x2A,0x04,0xD8,0x82,0x63,0xEF,0x20,0x40,0x01,
0xC8,0x63,0x34,0xE0,0xCF,0x4A,0x30,0x3A,0xA2,0x18,0x20,0x2A,0x04,0xD8,0x82,0x63,
0x77,0x20,0x80,0x01,0xC8,0x63,0x2A,0xE0,0x0D,0x21,0x09,0x03,0x61,0x1A,0x50,0x29,
0x01,0xD8,0x81,0x63,0x23,0xE0,0x81,0x63,0x21,0xE0,0xBF,0x4C,0xA2,0x42,0x1E,0xD0,
0xEC,0x88,0x67,0x46,0xBC,0x54,0xBF,0x4A,0xBF,0x4C,0x12,0x88,0xA2,0x42,0x0F,0xD1,
0x82,0x6B,0x4C,0x2A,0x0C,0xD1,0xC9,0x6B,0x8C,0x5C,0x80,0x2C,0x00,0xE0,0x14,0xE0,
0x02,0xD1,0x01,0x21,0x59,0x70,0x03,0xE0,0x89,0x5C,0x00,0x29,0x00,0xD1,0x59,0x70,
0x81,0x6B,0x49,0x1C,0x81,0x63,0x51,0x29,0x01,0xD3,0xAF,0x49,0x81,0x63,0x70,0x7D,
0x40,0x1C,0x70,0x75,0x10,0x20,0xA8,0x80,0xF8,0xBD,0x00,0x20,0xA8,0x80,0xF8,0xBD,
0xF7,0xB5,0xA0,0xB0,0x0D,0x46,0x00,0x20,0x0F,0x90,0x0E,0x90,0xA7,0x48,0x40,0x30,
0x1F,0x90,0x80,0x6B,0x04,0x79,0x81,0x79,0x49,0x1E,0xC9,0xB2,0x0D,0x91,0x00,0x21,
0x0C,0x91,0x0B,0x91,0x0A,0x91,0x41,0x78,0x49,0x00,0x18,0x91,0xB2,0x21,0x41,0x5E,
0x17,0x91,0x9E,0x48,0x91,0x22,0x60,0x38,0xC1,0x7A,0x9A,0x48,0x92,0x00,0x82,0x18,
0x1E,0x92,0x02,0x46,0x28,0x32,0xDC,0x30,0x1D,0x92,0x1C,0x90,0x01,0x29,0x18,0xD1,
0x28,0x46,0x1C,0x99,0x60,0x43,0x46,0x18,0x1E,0x99,0x42,0x18,0x1D,0x99,0x47,0x18,
0x20,0x98,0x00,0x21,0x0B,0xE0,0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,
0x3B,0x70,0x76,0x1C,0x80,0x1C,0x52,0x1C,0x7F,0x1C,0x49,0x1C,0x49,0xB2,0xA1,0x42,
0xF1,0xDB,0x00,0x20,0x12,0x90,0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xA8,
0x84,0x46,0x28,0x46,0x60,0x43,0x1C,0x99,0x1B,0x90,0x47,0x18,0x1A,0x97,0x1F,0x98,
0xC2,0x69,0x1F,0x98,0xC3,0x6A,0x00,0x21,0x23,0xE0,0x02,0x98,0x3E,0x78,0x00,0x88,
0x80,0x1B,0x00,0xB2,0x66,0x46,0x30,0x80,0xD6,0x07,0x04,0xD0,0x14,0x9E,0x80,0x19,
0x00,0xB2,0x14,0x90,0x0A,0xE0,0xDE,0x07,0x04,0xD0,0x13,0x9E,0x80,0x19,0x00,0xB2,
0x13,0x90,0x03,0xE0,0x12,0x9E,0x80,0x19,0x00,0xB2,0x12,0x90,0x60,0x46,0x80,0x1C,
0x84,0x46,0x02,0x98,0x80,0x1C,0x02,0x90,0x7F,0x1C,0x52,0x08,0x5B,0x08,0x49,0x1C,
0x49,0xB2,0xA1,0x42,0xD9,0xDB,0x6D,0x4E,0x60,0x36,0x31,0x7D,0x00,0x29,0x05,0xDD,
0x1F,0x98,0x42,0x68,0x14,0x98,0x90,0x47,0x00,0xB2,0x14,0x90,0x71,0x7D,0x00,0x29,
0x0B,0xDD,0x01,0x29,0x03,0xD1,0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xE0,0x1F,0x98,
0x42,0x68,0x13,0x98,0x90,0x47,0x00,0xB2,0x13,0x90,0xB1,0x7D,0x00,0x29,0x0B,0xDD,
0x01,0x29,0x03,0xD1,0x12,0x98,0x40,0x10,0x12,0x90,0x05,0xE0,0x1F,0x98,0x42,0x68,
0x12,0x98,0x90,0x47,0x00,0xB2,0x12,0x90,0x20,0x98,0x05,0xA9,0x8C,0x46,0x1A,0x99,
0x04,0x91,0x1F,0x99,0xC9,0x69,0x11,0x91,0x1F,0x99,0xC9,0x6A,0x10,0x91,0x1F,0x99,
0x8A,0x6B,0xD1,0x7C,0xC9,0x07,0x0E,0xD0,0x1F,0x99,0x09,0x6A,0x1F,0x9B,0x5B,0x6A,
0x0F,0x93,0x1F,0x9B,0x9B,0x6A,0x0E,0x93,0x13,0x7D,0x0C,0x93,0x53,0x7D,0x0B,0x93,
0x92,0x7D,0x0A,0x92,0x00,0xE0,0x00,0x21,0x1D,0x9B,0x1B,0x9A,0xD2,0x18,0x03,0x92,
0x00,0x22,0x19,0x92,0xAF,0xE0,0x11,0x9A,0xD2,0x07,0x01,0xD0,0x14,0x9A,0x05,0xE0,
0x10,0x9A,0xD2,0x07,0x01,0xD0,0x13,0x9A,0x00,0xE0,0x12,0x9A,0x00,0x2A,0x0C,0xDD,
0x66,0x46,0x00,0x23,0xF3,0x5E,0x00,0x2B,0x07,0xDD,0x93,0x42,0x00,0xDA,0x1A,0x46,
0x03,0x88,0x9A,0x1A,0x13,0xB2,0x03,0x80,0x32,0xE0,0x66,0x46,0x00,0x23,0xF3,0x5E,
0x00,0x2B,0x2B,0xDA,0x00,0x2A,0x05,0xDA,0x93,0x42,0x00,0xDD,0x1A,0x46,0x03,0x88,
0x9A,0x1A,0x02,0x80,0x00,0x23,0xC3,0x5E,0xCA,0x07,0x21,0xD0,0x04,0x9A,0x12,0x78,
0x17,0x46,0xD2,0x1A,0x12,0xB2,0x0E,0x9E,0xF6,0x07,0x06,0xD0,0x0A,0x9E,0xB2,0x42,
0x16,0xDD,0x0A,0x9E,0xBA,0x1B,0x02,0x80,0x12,0xE0,0x0F,0x9E,0xF6,0x07,0x06,0xD0,
0x0B,0x9E,0xB2,0x42,0x0C,0xDD,0x0B,0x9E,0xBA,0x1B,0x02,0x80,0x08,0xE0,0x0C,0x9E,
0xB2,0x42,0x05,0xDD,0x0C,0x9E,0xBA,0x1B,0x02,0x80,0x01,0xE0,0x00,0x23,0xC3,0x5E,
0x03,0x9A,0x12,0x78,0xD2,0x1A,0x12,0xB2,0x18,0x9B,0x9A,0x42,0x02,0xDA,0x17,0x9B,
0x9A,0x42,0x26,0xDC,0x01,0x22,0xAA,0x40,0xD3,0x17,0x22,0x9E,0x01,0x93,0x00,0x92,
0x37,0x68,0x76,0x68,0x3A,0x43,0x33,0x43,0x22,0x9E,0x0C,0xC6,0x00,0x2D,0x09,0xD0,
0x6F,0x1E,0x01,0x26,0xBE,0x40,0xF7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9A,
0x1F,0x43,0xC0,0xC2,0x0D,0x9A,0x95,0x42,0x0B,0xD2,0x6B,0x1C,0x01,0x22,0x9A,0x40,
0xD3,0x17,0x22,0x9F,0x01,0x93,0x00,0x92,0xC0,0xCF,0x32,0x43,0x22,0x9E,0x3B,0x43,
0x0C,0xC6,0x03,0x9A,0x52,0x1C,0x03,0x92,0x80,0x1C,0x04,0x9A,0x52,0x1C,0x13,0xE0,
0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,0xFF,0xFF,0x00,0x00,0x70,0x0A,0x00,0x20,
0x04,0x00,0x00,0x20,0x02,0x00,0x00,0x20,0x4C,0xD0,0x00,0x00,0x00,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x10,0x2E,0xFF,0xFF,0x04,0x92,0x62,0x46,0x92,0x1C,0x94,0x46,
0x11,0x9A,0x52,0x08,0x11,0x92,0x10,0x9A,0x52,0x08,0x10,0x92,0x00,0x29,0x06,0xD0,
0x49,0x08,0x0F,0x9A,0x52,0x08,0x0F,0x92,0x0E,0x9A,0x52,0x08,0x0E,0x92,0x19,0x9A,
0x52,0x1C,0x52,0xB2,0x19,0x92,0x19,0x9A,0xA2,0x42,0x00,0xDA,0x4B,0xE7,0x1A,0x9D,
0x1E,0x99,0x1B,0x98,0x47,0x18,0x20,0x9E,0x1F,0x98,0x80,0x6B,0x80,0x30,0x00,0x7E,
0x01,0x28,0x1C,0xD1,0x00,0x23,0x16,0xE0,0x00,0x22,0xB2,0x5E,0x28,0x78,0x39,0x78,
0x38,0x70,0x2A,0x70,0x88,0x42,0x02,0xDD,0x84,0x46,0x08,0x46,0x61,0x46,0x82,0x42,
0x01,0xDC,0x30,0x80,0x02,0xE0,0x8A,0x42,0x00,0xDB,0x31,0x80,0x6D,0x1C,0x7F,0x1C,
0xB6,0x1C,0x5B,0x1C,0x5B,0xB2,0xA3,0x42,0xE6,0xDB,0x23,0xB0,0xF0,0xBD,0x02,0x28,
0x25,0xD1,0x00,0x20,0x19,0x90,0x1E,0xE0,0x00,0x21,0x71,0x5E,0x16,0x91,0x28,0x78,
0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,0x1F,0x99,0x4A,0x68,
0x03,0x21,0x90,0x47,0x00,0xB2,0x38,0x70,0x16,0x99,0x29,0x70,0x15,0x99,0x4A,0x00,
0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,0x19,0x98,
0x40,0x1C,0x40,0xB2,0x19,0x90,0x19,0x98,0xA0,0x42,0xDD,0xDB,0xD5,0xE7,0x00,0x20,
0x08,0xE0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,
0x40,0x1C,0x40,0xB2,0xA0,0x42,0xF4,0xDB,0xC7,0xE7,0xF0,0xB5,0x85,0xB0,0xD8,0x4E,
0xB0,0x6B,0xC0,0x7A,0x00,0x90,0xD7,0x4C,0x04,0x94,0x1B,0x21,0xD6,0x48,0x89,0x01,
0x47,0x18,0x35,0x21,0x49,0x01,0x45,0x18,0x00,0x99,0x24,0x23,0xD3,0x4A,0x59,0x43,
0x08,0x18,0x80,0x18,0x03,0x90,0x4B,0xE0,0x20,0x78,0x0F,0x28,0x47,0xD0,0xE0,0x79,
0x01,0x06,0x33,0xD4,0x02,0x28,0x23,0xD1,0x0E,0x20,0x20,0x5E,0x02,0x90,0x10,0x20,
0x20,0x5E,0x01,0x90,0x09,0x21,0x20,0x46,0x08,0xF0,0xDC,0xFB,0x0E,0x21,0x61,0x5E,
0x02,0x98,0x08,0x1A,0x00,0xD5,0x40,0x42,0x01,0xB2,0x10,0x20,0x20,0x5E,0x01,0x9A,
0x80,0x1A,0x00,0xD5,0x40,0x42,0x40,0x18,0x00,0xB2,0xB1,0x6B,0xA0,0x31,0xC9,0x89,
0x89,0x08,0x81,0x42,0x09,0xDD,0x02,0x98,0xE0,0x81,0x01,0x98,0x20,0x82,0x04,0xE0,
0xE8,0x7C,0x02,0x28,0x01,0xD2,0x20,0x20,0xA0,0x70,0xFF,0x20,0x20,0x71,0x60,0x71,
0xE0,0x78,0x79,0x7E,0x88,0x42,0x01,0xD8,0x00,0x20,0xE0,0x71,0xE0,0x79,0x40,0x06,
0x40,0x0E,0xE0,0x71,0x00,0x28,0x01,0xD0,0x40,0x1E,0xE0,0x71,0xE0,0x79,0x00,0x28,
0x05,0xD1,0x60,0x78,0x80,0x08,0x80,0x00,0x60,0x70,0x00,0x20,0xA0,0x70,0x24,0x34,
0x03,0x98,0xA0,0x42,0xB0,0xD8,0x00,0x21,0x00,0x23,0xEB,0x74,0x04,0x98,0x10,0xE0,
0x02,0x78,0x00,0x9C,0xA2,0x42,0x0A,0xD2,0xC2,0x78,0x7C,0x7E,0x52,0x06,0x52,0x0E,
0xA2,0x42,0x04,0xD9,0x82,0x78,0x20,0x2A,0x01,0xD0,0x01,0x21,0x04,0xE0,0x83,0x70,
0x24,0x30,0x03,0x9A,0x82,0x42,0xEB,0xD8,0x00,0x29,0x2F,0xD0,0x04,0x98,0x2A,0xE0,
0x83,0x70,0x01,0x78,0x00,0x9A,0x91,0x42,0x24,0xD2,0xC1,0x78,0x7A,0x7E,0x49,0x06,
0x49,0x0E,0x91,0x42,0x1E,0xD9,0x01,0x21,0x81,0x70,0xE9,0x7C,0x49,0x1C,0xE9,0x74,
0x0E,0x22,0x82,0x5E,0x00,0x2A,0x01,0xDA,0xC3,0x81,0x06,0xE0,0xB1,0x6B,0xA0,0x31,
0x0C,0x88,0xA2,0x42,0x01,0xDD,0x09,0x88,0xC1,0x81,0x10,0x21,0x41,0x5E,0x00,0x29,
0x01,0xDA,0x03,0x82,0x06,0xE0,0xB2,0x6B,0xA0,0x32,0x54,0x88,0xA1,0x42,0x01,0xDD,
0x51,0x88,0x01,0x82,0x24,0x30,0x03,0x99,0x81,0x42,0xD1,0xD8,0x05,0xB0,0xF0,0xBD,
0xF0,0xB5,0x7F,0x4A,0x95,0x6B,0x2C,0x7F,0x62,0x00,0xFF,0x28,0x01,0xD1,0x00,0x20,
0xF0,0xBD,0x24,0x23,0x58,0x43,0x7C,0x4B,0x7C,0x4E,0xC0,0x18,0x80,0x19,0x06,0x26,
0x71,0x43,0xC9,0x18,0x79,0x4B,0x24,0x3B,0xC9,0x18,0x14,0x26,0x86,0x5F,0x00,0x2E,
0x00,0xDA,0x76,0x42,0x16,0x23,0xC3,0x5E,0x00,0x2B,0x00,0xDA,0x5B,0x42,0xF3,0x18,
0x73,0x4E,0xB3,0x42,0x00,0xD3,0x00,0x23,0x0E,0x27,0x0E,0x88,0xC7,0x5F,0xF6,0x1B,
0x00,0xD5,0x76,0x42,0x10,0x27,0x49,0x88,0xC7,0x5F,0xC9,0x1B,0x00,0xD5,0x49,0x42,
0x71,0x18,0x8C,0x42,0x29,0xD8,0x84,0x79,0x01,0x2C,0x05,0xD1,0x2D,0x27,0x7F,0x5D,
0xC6,0x79,0x7F,0x1E,0xBE,0x42,0x1E,0xDB,0x61,0x4E,0xB6,0x6B,0x80,0x36,0x01,0x2C,
0x08,0xD1,0xED,0x7E,0x9D,0x42,0x05,0xD3,0xC0,0x78,0x73,0x7B,0x98,0x42,0x01,0xD8,
0x0A,0x28,0x10,0xD2,0x01,0x2C,0x06,0xD1,0x91,0x42,0x04,0xD3,0x5D,0x4B,0x70,0x7B,
0x1B,0x88,0x98,0x42,0x07,0xD2,0x01,0x2C,0x02,0xD1,0x50,0x00,0x88,0x42,0x02,0xD9,
0xD0,0x00,0x88,0x42,0x01,0xD8,0x00,0x20,0xF0,0xBD,0x01,0x20,0xF0,0xBD,0xF0,0xB5,
0x85,0xB0,0x50,0x48,0x4E,0x49,0x04,0x91,0x89,0x78,0x05,0x29,0x7E,0xD0,0x52,0x4D,
0xA9,0x1D,0x01,0x91,0x89,0x1D,0x00,0x91,0x00,0x21,0xFF,0x22,0x0F,0x23,0x07,0xE0,
0x6A,0x54,0xC4,0x79,0x00,0x2C,0x00,0xD1,0x03,0x70,0x49,0x1C,0xC9,0xB2,0x24,0x30,
0x04,0x9C,0xA4,0x6B,0xE4,0x7A,0x8C,0x42,0xF2,0xD8,0x00,0x27,0x40,0x4E,0xA0,0x3E,
0xF0,0x7B,0x00,0x28,0x4A,0xD0,0x2A,0x46,0x03,0xA9,0x00,0x98,0x08,0xF0,0x52,0xFE,
0x07,0x46,0x00,0x2F,0x0C,0xD1,0x00,0x24,0x06,0xE0,0x22,0x46,0xFF,0x21,0x01,0x20,
0x08,0xF0,0x44,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xF5,0xD8,0x35,0xE0,
0x01,0x2F,0x0E,0xD1,0x2C,0x78,0x00,0x21,0x20,0x46,0xFF,0xF7,0x61,0xFF,0x00,0x28,
0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x00,0x22,0x21,0x46,0x08,0xF0,0x2E,0xFC,
0x24,0xE0,0xF4,0x7B,0x6B,0x46,0x1A,0x7B,0x23,0x46,0x01,0x99,0x00,0x98,0x08,0xF0,
0x37,0xFD,0x00,0x24,0x17,0xE0,0x01,0x98,0x00,0x5D,0xFF,0x28,0x02,0xD0,0x28,0x5C,
0x02,0x90,0x01,0xE0,0xFF,0x20,0x02,0x90,0x21,0x46,0x02,0x98,0xFF,0xF7,0x40,0xFF,
0x00,0x28,0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x22,0x46,0x02,0x99,0x08,0xF0,
0x0D,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xE4,0xD8,0x38,0x46,0xFF,0xF7,
0x7C,0xFE,0xF0,0x7B,0x1B,0x4C,0x00,0x28,0x06,0xD1,0x20,0x88,0x7D,0x21,0xC9,0x00,
0x88,0x42,0x01,0xD2,0x40,0x1C,0x20,0x80,0xF0,0x7C,0x00,0x28,0x06,0xD0,0x00,0x22,
0x00,0x20,0x17,0x26,0x10,0x4D,0xB6,0x01,0x04,0x99,0x00,0xE0,0x17,0xE0,0x89,0x6B,
0xCB,0x7A,0x0E,0xE0,0x24,0x21,0x41,0x43,0x49,0x19,0x89,0x19,0x0F,0x7C,0x01,0x2F,
0x05,0xD1,0xC9,0x7B,0x03,0x29,0x02,0xD1,0x52,0x1C,0xD2,0xB2,0x03,0xE0,0x40,0x1C,
0xC0,0xB2,0x83,0x42,0xEE,0xD8,0x00,0x2A,0x01,0xD1,0x00,0x20,0x20,0x80,0xFD,0xE6,
0xB0,0x0A,0x00,0x20,0x3E,0x09,0x00,0x20,0x70,0x03,0x00,0x20,0xCE,0x05,0x00,0x00,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x01,0xE0,0x04,0xC0,
0x09,0x1F,0x04,0x29,0xFB,0xD2,0x8B,0x07,0x01,0xD5,0x02,0x80,0x80,0x1C,0xC9,0x07,
0x00,0xD0,0x02,0x70,0x70,0x47,0x00,0x29,0x0B,0xD0,0xC3,0x07,0x02,0xD0,0x02,0x70,
0x40,0x1C,0x49,0x1E,0x02,0x29,0x04,0xD3,0x83,0x07,0x02,0xD5,0x02,0x80,0x80,0x1C,
0x89,0x1E,0xE3,0xE7,0x00,0x22,0xEE,0xE7,0x00,0x22,0xDF,0xE7,0x00,0x22,0x03,0x09,
0x8B,0x42,0x2C,0xD3,0x03,0x0A,0x8B,0x42,0x11,0xD3,0x00,0x23,0x9C,0x46,0x4E,0xE0,
0x03,0x46,0x0B,0x43,0x3C,0xD4,0x00,0x22,0x43,0x08,0x8B,0x42,0x31,0xD3,0x03,0x09,
0x8B,0x42,0x1C,0xD3,0x03,0x0A,0x8B,0x42,0x01,0xD3,0x94,0x46,0x3F,0xE0,0xC3,0x09,
0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,0x83,0x09,0x8B,0x42,0x01,0xD3,
0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,0x01,0xD3,0x4B,0x01,0xC0,0x1A,
0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,0xC0,0x1A,0x52,0x41,0xC3,0x08,
0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,0x83,0x08,0x8B,0x42,0x01,0xD3,
0x8B,0x00,0xC0,0x1A,0x52,0x41,0x43,0x08,0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,
0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,0x5D,0xE0,
0xCA,0x0F,0x00,0xD0,0x49,0x42,0x03,0x10,0x00,0xD3,0x40,0x42,0x53,0x40,0x00,0x22,
0x9C,0x46,0x03,0x09,0x8B,0x42,0x2D,0xD3,0x03,0x0A,0x8B,0x42,0x12,0xD3,0xFC,0x22,
0x89,0x01,0x12,0xBA,0x03,0x0A,0x8B,0x42,0x0C,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,
0x08,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,0x04,0xD3,0x89,0x01,0x3A,0xD0,0x92,0x11,
0x00,0xE0,0x89,0x09,0xC3,0x09,0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,
0x83,0x09,0x8B,0x42,0x01,0xD3,0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,
0x01,0xD3,0x4B,0x01,0xC0,0x1A,0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,
0xC0,0x1A,0x52,0x41,0xC3,0x08,0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,
0x83,0x08,0x8B,0x42,0x01,0xD3,0x8B,0x00,0xC0,0x1A,0x52,0x41,0xD9,0xD2,0x43,0x08,
0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,
0x63,0x46,0x52,0x41,0x5B,0x10,0x10,0x46,0x01,0xD3,0x40,0x42,0x00,0x2B,0x00,0xD5,
0x49,0x42,0x70,0x47,0x63,0x46,0x5B,0x10,0x00,0xD3,0x40,0x42,0x01,0xB5,0x00,0x20,
0xC0,0x46,0xC0,0x46,0x02,0xBD,0x75,0x46,0x00,0xF0,0x22,0xF8,0xAE,0x46,0x05,0x00,
0x69,0x46,0x53,0x46,0xC0,0x08,0xC0,0x00,0x85,0x46,0x18,0xB0,0x20,0xB5,0xFF,0xF7,
0x59,0xF8,0x60,0xBC,0x00,0x27,0x49,0x08,0xB6,0x46,0x00,0x26,0xC0,0xC5,0xC0,0xC5,
0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0x40,0x3D,0x49,0x00,
0x8D,0x46,0x70,0x47,0x04,0x46,0xC0,0x46,0xC0,0x46,0x20,0x46,0xFE,0xF7,0xF7,0xFE,
0x00,0x48,0x70,0x47,0x64,0x00,0x00,0x20,0x02,0x48,0x03,0x49,0xAB,0xBE,0x70,0x47,
0x0D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,0x70,0x47,0x00,0x00,
0x28,0x0D,0x28,0x12,0x0A,0x0A,0x12,0x00,0x02,0x04,0x40,0x06,0x00,0x00,0x01,0x01,
0x08,0x08,0x10,0x85,0x20,0x10,0x08,0x03,0x0A,0x1E,0x64,0x3C,0xF0,0x1E,0x08,0x02,
0x16,0x01,0x01,0x00,0x10,0x06,0x00,0x01,0x06,0x04,0x14,0x14,0x0A,0x06,0x28,0x1E,
0x3C,0x64,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,
0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x08,0x01,0x02,0x04,0x08,
0x01,0x02,0x04,0x08,0x01,0x01,0x01,0x01,0xD8,0xE2,0xF6,0xEC,0x1E,0xE2,0x0F,0x01,
0x01,0x01,0x02,0x02,0x02,0x02,0x0C,0x0A,0x10,0x00,0x14,0x0A,0x01,0x02,0x02,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x64,0x1E,0x64,0x00,0x14,0xC8,0x14,0x00,0x02,
0x83,0x04,0x02,0x02,0x5A,0x00,0x5A,0x01,0x02,0x06,0x01,0x01,0x00,0x00,0x00,0x00,
0x58,0x02,0x00,0x04,0xB4,0x00,0x0A,0x00,0x90,0x01,0x02,0x01,0x2C,0x01,0x20,0x00,
0x00,0x00,0xF3,0xFF,0x23,0x01,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x00,0xE3,0x38,0x00,0x00,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x60,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x60,0x10,0x00,0x40,
0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xFF,0xFF,0x00,0x80,0x00,0x00,0x00,0x00,
0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0A,0x00,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x00,0x01,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x01,0x00,0x01,
0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xA5,0x18,0xA7,
0x23,0xA1,0x45,0x63,0x65,0x07,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,0x00,0x00,
0x21,0xAA,0x43,0xAA,0x56,0xAA,0x81,0xA7,0x21,0x00,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xA1,0x71,0x06,0x87,0xAA,
0x23,0xAA,0x87,0xAA,0x32,0xAA,0x00,0x00,0x87,0xAA,0x23,0xAA,0x00,0x00,0x00,0x00,
0x00,0x00,0x65,0xAA,0x87,0xAA,0x51,0xA6,0x47,0x06,0x45,0x00,0x28,0xA1,0x76,0xAA,
0x12,0xA8,0x00,0x00,0x00,0x00,0x34,0xAA,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,
0x67,0xAA,0x23,0xAA,0xA1,0xAA,0x87,0xAA,0x32,0xAA,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0xA1,0xAA,0x21,0xAA,0x56,0xAA,0x81,0xA7,0x21,0xAA,0x00,0x00,0x34,0xAA,
0x65,0xAA,0x87,0xAA,0x51,0x46,0x47,0x03,0xA8,0xAA,0x21,0xAA,0x43,0xAA,0x56,0xAA,
0x81,0xA7,0x34,0xAA,0x76,0xA5,0x18,0xA7,0x23,0xA1,0x45,0xA3,0x23,0xA4,0x21,0xA8,
0x87,0xA6,0x32,0xA4,0x78,0x21,0x76,0xA5,0x23,0xA1,0x45,0x63,0x65,0x07,0x00,0x00,
0x01,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x02,0x02,0x01,0x01,
0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFC,0x1D,0x00,0x00,
0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,
0x04,0x00,0x00,0x20,0xEC,0x0A,0x00,0x00,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x5B,0x5A,0x35,0x35,0xA5,0xA5,0xCA,0xCA,0x88,0x77,0x66,0x55,
0x44,0x33,0x22,0x11,0x12,0x00,0x0A,0x00,0x58,0x02,0x00,0x04,0xDC,0x5F,0xCA,0xCA,
0x00,0x00,0x00,0x00,0x11,0x08,0x8E,0x32,0x06,0x00,0x00,0x01,0x4E,0x77,0xB0,0xE6,
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,248 @@
/**
*Name : hynitron_common.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_COMMON_H__
#define HYNITRON_COMMON_H__
#include "hynitron_config.h"
/*****************************************************************************
* Macro definitions using #define
*****************************************************************************/
#define HYN_DRIVER_VERSION "Hynitron TouchScreen MTK Driver V2.2 20210129"
/************THE CHIP PRODUCT LINE SUPPORT********************/
#define HYN_CHIP_PRODUCT_LINE_MUT_CAP 1
#define HYN_CHIP_PRODUCT_LINE_SEL_CAP 2
/*************************************************************/
/************THE CHIP SERIES SUPPORT********************/
#define HYN_CHIP_CST0XX 10
#define HYN_CHIP_CST1XX 100
#define HYN_CHIP_CST1XXSE 101
#define HYN_CHIP_CST2XX 200
#define HYN_CHIP_CST2XXSE 201
#define HYN_CHIP_CST3XX 300
#define HYN_CHIP_CST3XXSE 301
#define HYN_CHIP_CST6XX 692
#define HYN_CHIP_CST7XX 700
#define HYN_CHIP_CST8XX 800
#define HYN_CHIP_CST9XX 900
/******************************************************/
/************THE CHIP TYPE OF SERIES SUPPORT********************/
#define CST016 16
#define CST026 26
#define CST036 36
#define CST126 126
#define CST128 128
#define CST128SE 129
#define CST130 130
#define CST140 140
#define CST148 148
#define CST226 226
#define CST226SE 168
#define CST237 237
#define CST240 240
#define CST326 326
#define CST328 328
#define CST328SE 329
#define CST340 340
#define CST348 348
#define CST356 356
#define CST6928S 692
#define CST716 716
#define CST726 726
#define CST736 736
#define CST816 816
#define CST826 826
#define CST836 836
#define CST912 912
#define CST918 918
/******************************************************/
#define FLAGBIT(x) (0x00000001 << (x))
#define FLAGBITS(x, y) ((0xFFFFFFFF >> (32 - (y) - 1)) << (x))
#define I2C_BUFFER_LENGTH_MAXINUM 256
#define FILE_NAME_LENGTH 128
#define ENABLE 1
#define DISABLE 0
#define REG_LEN_1B 1
#define REG_LEN_2B 2
/*register address*/
/********selfcap register address start *****************/
#define HYN_REG_CAP_POWER_MODE 0xA5
#define HYN_REG_CAP_POWER_MODE_SLEEP_VALUE 0x03
#define HYN_REG_CAP_FW_VER 0xA6
#define HYN_REG_CAP_VENDOR_ID 0xA8
#define HYN_REG_CAP_PROJECT_ID 0xA9
#define HYN_REG_CAP_CHIP_ID 0xAA
#define HYN_REG_CAP_CHIP_CHECKSUM 0xAC
#define HYN_REG_CAP_GESTURE_EN 0xD0
#define HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS 0xD3
#define HYN_REG_CAP_PROXIMITY_EN 0xB0
#define HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS 0x01
#define HYN_REG_CAP_ESD_SATURATE 0xE0
/********selfcap register address end *****************/
/********mutcap register address start *****************/
//Myabe change
#define HYN_REG_MUT_ESD_VALUE 0xD040
#define HYN_REG_MUT_ESD_CHECKSUM 0xD046
#define HYN_REG_MUT_PROXIMITY_EN 0xD04B
#define HYN_REG_MUT_PROXIMITY_OUTPUT_ADDRESS 0xD04B
#define HYN_REG_MUT_GESTURE_EN 0xD04C
#define HYN_REG_MUT_GESTURE_OUTPUT_ADDRESS 0xD04C
//workmode
#define HYN_REG_MUT_DEBUG_INFO_MODE 0xD101
#define HYN_REG_MUT_RESET_MODE 0xD102
#define HYN_REG_MUT_DEBUG_RECALIBRATION_MODE 0xD104
#define HYN_REG_MUT_DEEP_SLEEP_MODE 0xD105
#define HYN_REG_MUT_DEBUG_POINT_MODE 0xD108
#define HYN_REG_MUT_NORMAL_MODE 0xD109
#define HYN_REG_MUT_DEBUG_RAWDATA_MODE 0xD10A
#define HYN_REG_MUT_DEBUG_DIFF_MODE 0xD10D
#define HYN_REG_MUT_DEBUG_FACTORY_MODE 0xD119
#define HYN_REG_MUT_DEBUG_FACTORY_MODE_2 0xD120
//debug info
/****************HYN_REG_MUT_DEBUG_INFO_MODE address start***********/
#define HYN_REG_MUT_DEBUG_INFO_IC_CHECKSUM 0xD208
#define HYN_REG_MUT_DEBUG_INFO_FW_VERSION 0xD204
#define HYN_REG_MUT_DEBUG_INFO_IC_TYPE 0xD202
#define HYN_REG_MUT_DEBUG_INFO_PROJECT_ID 0xD200
#define HYN_REG_MUT_DEBUG_INFO_BOOT_TIME 0xD1FC
#define HYN_REG_MUT_DEBUG_INFO_RES_Y 0xD1FA
#define HYN_REG_MUT_DEBUG_INFO_RES_X 0xD1F8
#define HYN_REG_MUT_DEBUG_INFO_KEY_NUM 0xD1F7
#define HYN_REG_MUT_DEBUG_INFO_TP_NRX 0xD1F6
#define HYN_REG_MUT_DEBUG_INFO_TP_NTX 0xD1F4
/****************HYN_REG_MUT_DEBUG_INFO_MODE address end***********/
#define HYN_WORK_MODE_NORMAL 0
#define HYN_WORK_MODE_FACTORY 1
#define HYN_WORK_MODE_RAWDATA 2
#define HYN_WORK_MODE_DIFF 3
#define HYN_WORK_MODE_UPDATE 4
/********mutcap register address end *****************/
/************i2c communication********************/
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len);
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len) ;
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len);
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue);
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue);
int hyn_i2c_read(struct i2c_client *client, char *writebuf,int writelen, char *readbuf, int readlen);
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen);
/***************************************/
/************HYN_PSENSOR_EN********************/
#if HYN_PSENSOR_EN
extern int hyn_proximity_readdata(void);
extern void hyn_proximity_init(void);
extern void hyn_proximity_exit(void);
extern void hyn_proximity_suspend(void);
extern void hyn_proximity_resume(void);
#endif
/***************************************/
/************HYN_GESTURE_EN********************/
#if HYN_GESTURE_EN
extern int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client);
extern int hyn_gesture_exit(void);
extern int hyn_gesture_suspend(void);
extern int hyn_gesture_resume(void);
extern int hyn_gesture_readdata(void);
#endif
/***************************************/
/************HYN_ESDCHECK_EN********************/
#if HYN_ESDCHECK_EN
extern void hyn_create_esd_sysfs(struct i2c_client *client);
extern void hyn_esd_switch(s32 on);
extern void hyn_init_esd_protect(void);
extern void hyn_esd_resume(void);
extern void hyn_esd_suspend(void);
extern void hyn_esd_init(void);
extern void hyn_esd_exit(void);
#endif
/***************************************/
/* ADB functions */
#if HYN_SYSFS_NODE_EN
extern int hyn_create_sysfs(struct i2c_client *client);
extern void hyn_release_sysfs(struct i2c_client *client);
#endif
#if ANDROID_TOOL_SURPORT
extern int hynitron_proc_fs_init(void);
extern void hynitron_proc_fs_exit(void);
#endif
extern int hyn_reset_proc(int hdelayms);
void hyn_irq_disable(void);
void hyn_irq_enable(void);
#if HYN_DEBUG_EN
#define HYN_DEBUG_LEVEL 1
#if (HYN_DEBUG_LEVEL == 2)
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN][%s]"fmt"\n", __func__, ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info][%s]"fmt"\n",__func__, ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error][%s]"fmt"\n",__func__, ##args)
#else
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN]"fmt"\n", ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info]"fmt"\n", ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error]"fmt"\n", ##args)
#endif
#define HYN_FUNC_ENTER() printk(KERN_ERR "[HYN]%s: Enter\n", __func__)
#define HYN_FUNC_EXIT() printk(KERN_ERR "[HYN]%s: Exit(%d)\n", __func__, __LINE__)
#else
#define HYN_DEBUG(fmt, args...)
#define HYN_INFO(fmt, args...)
#define HYN_ERROR(fmt, args...)
#define HYN_FUNC_ENTER()
#define HYN_FUNC_EXIT()
#endif
#endif /*Hynitron_COMMON_H__*/

View File

@ -0,0 +1,95 @@
/**
*Name : hynitron_config.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CONFIG_H__
#define HYNITRON_CONFIG_H__
/*
* show debug log info
* enable it for debug, disable it for release
*/
#define HYN_DEBUG_EN 1
/*
* Linux MultiTouch Protocol
* 1: Protocol B(default), 0: Protocol A
*/
#define HYN_MT_PROTOCOL_B_EN 0
/*
* Report Pressure in multitouch
* 1:enable(default),0:disable
*/
#define HYN_REPORT_PRESSURE_EN 0
/*
* Switch Gesture wakeup in multitouch
* 1:enable,0:disable
*/
#define HYN_GESTURE_EN 0
/*
* Switch proximity detect in multitouch
* 1:enable,0:disable
*/
#define HYN_PSENSOR_EN 0
/*
* Switch esd detect in multitouch
* 1:enable,0:disable
*/
#define HYN_ESDCHECK_EN 0
/*
* Factory test support
* 1:enable,0:disable
* only support cst3xx.
*/
#define HYN_AUTO_FACTORY_TEST_EN 0
/*
* Update firmware support
* choose the right chiptype
* 1:enable,0:disable
*
*/
#define HYN_EN_AUTO_UPDATE 0
#define HYN_EN_AUTO_UPDATE_CST0xxSE 0
#define HYN_EN_AUTO_UPDATE_CST0xx 0
#define HYN_EN_AUTO_UPDATE_CST1xx 0
#define HYN_EN_AUTO_UPDATE_CST1xxSE 0
#define HYN_EN_AUTO_UPDATE_CST2xx 0
#define HYN_EN_AUTO_UPDATE_CST2xxSE 0
#define HYN_EN_AUTO_UPDATE_CST3xx 0
#define HYN_EN_AUTO_UPDATE_CST3xxSE 0
#define HYN_EN_AUTO_UPDATE_CST6xx 0
#define HYN_EN_AUTO_UPDATE_CST78xx 0
#define HYN_EN_AUTO_UPDATE_CST9xx 0
#define HYN_SYS_AUTO_SEARCH_FIRMWARE 0
/*
* Node for debug
* /proc/cst1xx_ts
* /sys/hynitron_debug
* 1:enable,0:disable
*
*/
#define ANDROID_TOOL_SURPORT 1
#define HYN_SYSFS_NODE_EN 1
#endif /*HYNITRON_CONFIG_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,260 @@
/**
*Name : hynitron_core.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CORE_H__
#define HYNITRON_CORE_H__
#include <linux/syscalls.h>
#include <linux/types.h>
#include <linux/version.h>
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/i2c.h>
#include <linux/vmalloc.h>
#include <linux/gpio.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/jiffies.h>
#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/earlysuspend.h>
#endif
#include <linux/version.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/kernel.h>
//#include <linux/rtpm_prio.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/wait.h>
#include <linux/time.h>
#include <linux/dma-mapping.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/of_irq.h>
//#include <linux/wakelock.h>---kernel 4.14 not support,support wakeup event
#include "hynitron_common.h"
//please config the chip series before using.
#define HYN_CHIP_TYPE_CONFIG CST340
#define HYN_IRQ_TRIGGER_RISING_CONFIG 0x01
#define HYN_MAIN_IIC_ADDR_CONFIG 0x1A
#define HYN_X_DISPLAY_DEFAULT 720
#define HYN_Y_DISPLAY_DEFAULT 1280
#define HYN_X_REVERT 0
#define HYN_Y_REVERT 0
#define HYN_XY_EXCHANGE 0
#define HYN_MAX_KEYS 3
#define HYN_MAX_POINTS 5
#define HYN_MAX_SELFCAP_ID 2
/**********************************************************/
#define HYN_RESET_SOFTWARE 0
#define HYN_UPDATE_FIRMWARE_FORCE 0
#define HYN_IIC_TRANSFER_LIMIT 0
/******************************************/
#define HYN_UPDATE_FIRMWARE_PATH_1 "/data"
#define HYN_UPDATE_FIRMWARE_PATH_2 "/sdcard"
#define HYN_UPDATE_FIRMWARE_FILTNAME_1 "hyn.bin"
#define HYN_COORDS_ARR_SIZE 2
#define HYN_TOUCH_STEP 6
#define HYN_TOUCH_X_H_POS 3
#define HYN_TOUCH_X_L_POS 4
#define HYN_TOUCH_Y_H_POS 5
#define HYN_TOUCH_Y_L_POS 6
#define HYN_TOUCH_EVENT_POS 3
#define HYN_TOUCH_ID_POS 5
#define HYN_TOUCH_POINT_NUM 2
#define HYN_TOUCH_XY_POS 7
#define HYN_TOUCH_MISC 8
#define POINT_READ_BUF (3 + HYN_TOUCH_STEP * HYN_MAX_POINTS)
#define HYN_SYSFS_ECHO_ON(buf) ((strnicmp(buf, "1", 1) == 0) || \
(strnicmp(buf, "on", 2) == 0))
#define HYN_SYSFS_ECHO_OFF(buf) ((strnicmp(buf, "0", 1) == 0) || \
(strnicmp(buf, "off", 3) == 0))
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hynitron_chip_type_array {
const u16 chip_type;
const u16 chip_series;
const u8 chip_product_line;
const u8 chip_boot_addr;
};
struct hynitron_fw_array {
char* name;
unsigned char *fw;
u16 project_id;
u16 module_id;
u16 chip_type;
u16 fw_length;
};
struct touch_info
{
int y[HYN_MAX_POINTS];
int x[HYN_MAX_POINTS];
int p[HYN_MAX_POINTS];
int id[HYN_MAX_POINTS];
int count;
};
/*touch event info*/
struct ts_event
{
u16 au16_x[HYN_MAX_POINTS]; /* x coordinate */
u16 au16_y[HYN_MAX_POINTS]; /* y coordinate */
u8 au8_touch_event[HYN_MAX_POINTS]; /* touch event: 0 -- down; 1-- up; 2 -- contact */
u8 au8_finger_id[HYN_MAX_POINTS]; /* touch ID */
u16 pressure[HYN_MAX_POINTS];
u16 area[HYN_MAX_POINTS];
u8 touch_point;
int touchs;
u8 touch_point_num;
};
struct hynitron_ts_platform_data{
int irq_gpio;
u32 irq_gpio_flags;
int reset_gpio;
u32 reset_gpio_flags;
u32 x_resolution;
u32 y_resolution;
u32 max_key_num;
u32 max_touch_num;
u32 key_x_coords[8]; // max support 8 keys
u32 key_y_coords[8];
u32 key_code[8];
//erobbing add for check if overturn axis of x and y
bool xy_exchange;
bool x_overturn;
bool y_overturn;
//end
bool have_key;
bool report_key_position;
bool i2c_pull_up;
bool enable_power_off;
bool enable_slot_report;
bool enable_esd;
};
struct hynitron_ts_data{
struct hynitron_ts_platform_data *pdata;
struct i2c_client *client;
struct device *dev;
struct input_dev *input_dev;
struct task_struct *thread_tpd;
struct hrtimer timer;
struct work_struct work;
struct workqueue_struct *hyn_workqueue;
//spinlock_t irq_lock;
u8 device_id;
u8 irq_is_disable;
s32 use_irq;
u8 int_trigger_type;
u8 sensor_tx;
u8 sensor_rx;
u8 hyn_irq_flag;
u8 report_flag;
u8 key_index;
u8 work_mode;
u8 hyn_esd_mode :1 ;
u8 hyn_esd_running :1 ;
u8 hyn_esd_i2c_lock_flag: 1;
s32 hyn_esd_pre_counter;
s32 hyn_esd_cur_counter;
s32 hyn_esd_work_cycle;
struct mutex hyn_esd_lock;
struct delayed_work hyn_esd_check_work;
struct workqueue_struct *hyn_esd_workqueue;
u16 chip_ic_type;
u16 chip_ic_series;
u8 chip_ic_product_line;
u32 chip_ic_checksum;
u32 chip_ic_checkcode;
u32 chip_ic_fw_version;
u16 chip_ic_project_id;
u16 chip_ic_module_id;
u16 chip_ic_workmode;
u8 chip_ic_bootloader_addr;
u8 chip_ic_main_addr;
u16 config_chip_type;
u16 config_chip_series;
u8 config_chip_product_line;
u8 fw_updating;
u8* fw_name;
u32 fw_length;
u8 *p_hynitron_upgrade_firmware;
u8 apk_upgrade_flag;
u8 apk_rdwr_flag;
bool in_glove_mode;
bool power_on;
// struct mutex report_mutex;
struct kobject *k_obj;
struct regulator *vdd;
struct regulator *vcc_i2c;
#if defined(CONFIG_FB)
struct notifier_block fb_notif;
struct work_struct resume_work;
#elif defined(CONFIG_HAS_EARLYSUSPEND)
struct early_suspend early_suspend;
#endif
struct pinctrl *ts_pinctrl;
struct pinctrl_state *gpio_state_active;
struct pinctrl_state *gpio_state_suspend;
};
extern struct hynitron_ts_data *hyn_ts_data ;
#endif /*HYNITRON_CORE_H__*/

View File

@ -0,0 +1,331 @@
/**
*Name : hynitron_esd_check.c
*Author : steven
*Version : V2.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
#if HYN_ESDCHECK_EN
#define SWITCH_ESD_OFF 0
#define SWITCH_ESD_ON 1
extern int hyn_reset_proc(int hdelayms);
/************************************************************************
* Name: hyn_esd_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = sprintf(buf,"ESD Mode: %d,ESD running = %d\n", hyn_ts_data->hyn_esd_mode,hyn_ts_data->hyn_esd_running);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (buf[0]==1)
{
HYN_INFO("[ESD]enable ESD");
hyn_ts_data->hyn_esd_mode = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[ESD]disable ESD");
hyn_ts_data->hyn_esd_mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = snprintf(buf, PAGE_SIZE, "ESD running: 0x%x\n", hyn_ts_data->hyn_esd_running);
count += snprintf(buf + count, PAGE_SIZE, "ESD pre_counter:0x%x\n", hyn_ts_data->hyn_esd_pre_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD cur_counter:0x%x\n", hyn_ts_data->hyn_esd_cur_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD work_cycle:0x%x\n", hyn_ts_data->hyn_esd_work_cycle);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
static DEVICE_ATTR (hyn_esd_mode, S_IRUGO|S_IWUSR, hyn_esd_show, hyn_esd_store);
/*
* read example: cat hyn_esd_buf ---read esd buf
*/
static DEVICE_ATTR (hyn_esd_buf, S_IRUGO|S_IWUSR, hyn_esd_buf_show, hyn_esd_buf_store);
static struct attribute *hyn_esd_mode_attrs[] =
{
&dev_attr_hyn_esd_mode.attr,
&dev_attr_hyn_esd_buf.attr,
NULL,
};
static struct attribute_group hyn_esd_group =
{
.attrs = hyn_esd_mode_attrs,
};
void hyn_create_esd_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_esd_group);
if ( ret != 0)
{
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_esd_group);
return;
}
HYN_FUNC_EXIT();
return;
}
static void hyn_esd_poweron_ic(unsigned int ms)
{
HYN_FUNC_ENTER();
hyn_reset_proc(10);
HYN_FUNC_EXIT();
}
void hyn_esd_suspend(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_OFF);
HYN_FUNC_EXIT();
}
void hyn_esd_resume(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_ON);
HYN_FUNC_EXIT();
}
void hyn_esd_switch(s32 on)
{
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode)
return;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (SWITCH_ESD_ON == on) { /* switch on esd check */
if (!hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 1;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector started!");
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
}
} else { /* switch off esd check */
if (hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 0;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector stopped!");
cancel_delayed_work(&hyn_ts_data->hyn_esd_check_work);
}
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
static void hyn_esd_check_func(struct work_struct *work)
{
int retry = 0;
int ret;
int check_sum;
unsigned char buf[8];
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode){
HYN_DEBUG("Esd protector hyn_esd_mode is disable !");
return;
}
if(!hyn_ts_data->work_mode!=0){
HYN_DEBUG("Esd protector work_mode is false !");
return;
}
if (!hyn_ts_data->hyn_esd_running) {
HYN_DEBUG("Esd protector hyn_esd_running is not running!");
return;
}
if((hyn_ts_data->hyn_esd_i2c_lock_flag != 0)||(hyn_ts_data->apk_rdwr_flag!=0)||(hyn_ts_data->fw_updating!=0))
goto END;
else hyn_ts_data->hyn_esd_i2c_lock_flag = 1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
while(retry++ < 5) {
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
if (ret > 0){
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR("hyn_esd_check_func iic read check_sum error.\n");
}else{
break;
}
}
mdelay(2);
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
}
if((retry==6)||(retry==0)|| (ret<0)){
HYN_ERROR("hyn_esd_check_func iic read esd data error,please check firmware,driver and hardware.\n");
goto END;
}
hyn_ts_data->hyn_esd_cur_counter = buf[3]+(buf[2]<<8)+(buf[1]<<16)+(buf[0]<<24);
if(((hyn_ts_data->hyn_esd_cur_counter-hyn_ts_data->hyn_esd_pre_counter)<20)
&&(hyn_ts_data->hyn_esd_pre_counter>400))
{
HYN_ERROR("hyn_esd_check_func hyn_esd_cur_counter is :0x%x. hyn_esd_pre_counter is:0x%x.------\n",hyn_ts_data->hyn_esd_cur_counter,hyn_ts_data->hyn_esd_pre_counter);
goto hyn_esd_check_init;
}
goto END;
hyn_esd_check_init:
HYN_ERROR("hyn_esd_check_func reset.\n");
hyn_esd_poweron_ic(10);
END:
hyn_ts_data->hyn_esd_i2c_lock_flag = 0;
hyn_ts_data->hyn_esd_pre_counter=hyn_ts_data->hyn_esd_cur_counter;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (hyn_ts_data->hyn_esd_running)
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
else
HYN_DEBUG(" Esd protector suspended!");
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
int hyn_esd_get_status(void)
{
u8 buf[7];
int ret=-1;
u16 check_sum=0;
HYN_FUNC_ENTER();
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR(" esd check sum error.\n ");
return -1;
}
HYN_FUNC_EXIT();
return 1;
}
void hyn_esd_init(void)
{
HYN_FUNC_ENTER();
if(hyn_esd_get_status() < 0) {
HYN_ERROR(" hyn_esd_get_status failed!");
return;
}
hyn_ts_data->hyn_esd_workqueue = create_singlethread_workqueue("hyn_esd_workqueue");
if (hyn_ts_data->hyn_esd_workqueue == NULL)
HYN_ERROR(" hyn_esd_workqueue failed!");
else{
hyn_init_esd_protect();
hyn_esd_switch(SWITCH_ESD_ON);
hyn_ts_data->hyn_esd_running=ENABLE;
}
hyn_create_esd_sysfs(hyn_ts_data->client);
HYN_FUNC_EXIT();
}
void hyn_init_esd_protect(void)
{
HYN_FUNC_ENTER();
hyn_ts_data->hyn_esd_work_cycle=1000;
hyn_ts_data->hyn_esd_mode=ENABLE;
HYN_DEBUG(" Clock ticks for an esd cycle: %d", hyn_ts_data->hyn_esd_work_cycle);
INIT_DELAYED_WORK(&hyn_ts_data->hyn_esd_check_work, hyn_esd_check_func);
mutex_init(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
void hyn_esd_exit(void)
{
HYN_FUNC_ENTER();
if (hyn_ts_data->hyn_esd_workqueue)
destroy_workqueue(hyn_ts_data->hyn_esd_workqueue);
HYN_FUNC_EXIT();
}
#endif

View File

@ -0,0 +1,635 @@
/**
*Name : cst0xx_getsure.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
#include "hynitron_config.h"
#if HYN_GESTURE_EN
#define HYN_GESTURE_CAP_CST8XX 0
/******************************************************************************
* Private constant and macro definitions using #define
*****************************************************************************/
#define KEY_GESTURE_U KEY_U
#define KEY_GESTURE_UP KEY_UP
#define KEY_GESTURE_DOWN KEY_DOWN
#define KEY_GESTURE_LEFT KEY_LEFT
#define KEY_GESTURE_RIGHT KEY_RIGHT
#define KEY_GESTURE_O KEY_O
#define KEY_GESTURE_E KEY_E
#define KEY_GESTURE_M KEY_M
#define KEY_GESTURE_L KEY_L
#define KEY_GESTURE_W KEY_W
#define KEY_GESTURE_S KEY_S
#define KEY_GESTURE_V KEY_V
#define KEY_GESTURE_C KEY_C
#define KEY_GESTURE_Z KEY_Z
#define KEY_GESTURE_DOUBLECLICK KEY_POWER
#if HYN_GESTURE_CAP_CST8XX
//cap
#define GESTURE_LEFT 0x20
#define GESTURE_RIGHT 0x21
#define GESTURE_UP 0x22
#define GESTURE_DOWN 0x23
#define GESTURE_DOUBLECLICK 0x24
#define GESTURE_O 0x30
#define GESTURE_W 0x31
#define GESTURE_M 0x32
#define GESTURE_E 0x33
#define GESTURE_S 0x46
#define GESTURE_V 0x54
#define GESTURE_Z 0x65
#define GESTURE_C 0x34
#else
//mut
#define GESTURE_LEFT 3
#define GESTURE_RIGHT 1
#define GESTURE_UP 2
#define GESTURE_DOWN 4
#define GESTURE_DOUBLECLICK 32
#define GESTURE_O 5
#define GESTURE_O_1 20
#define GESTURE_W 10
#define GESTURE_M 8
#define GESTURE_M_1 9
#define GESTURE_M_2 15
#define GESTURE_M_3 16
#define GESTURE_E 7
#define GESTURE_E_1 17
#define GESTURE_E_2 19
#define GESTURE_S 12
#define GESTURE_S_1 18
#define GESTURE_V 11
#define GESTURE_Z 13
#define GESTURE_C 6
#define GESTURE_C_1 14
#endif
#define HYN_GESTRUE_POINTS 255
#define HYN_GESTRUE_POINTS_HEADER 8
#define HYN_GESTURE_OUTPUT_ADRESS 0xD3
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hyn_gesture_st
{
u8 header[HYN_GESTRUE_POINTS_HEADER];
u16 coordinate_x[HYN_GESTRUE_POINTS];
u16 coordinate_y[HYN_GESTRUE_POINTS];
u16 report_key;
u8 gestrue_id;
u8 mode;
u8 active; /* 1-enter into gesture(suspend) 0-gesture disable or LCD on */
};
/*****************************************************************************
* Static variables
*****************************************************************************/
static struct hyn_gesture_st hyn_gesture_data;
/*****************************************************************************
* Global variable or extern global variabls/functions
*****************************************************************************/
/*****************************************************************************
* Static function prototypes
*****************************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
/* sysfs gesture node
* read example: cat hyn_gesture_mode ---read gesture mode
* write example:echo 01 > hyn_gesture_mode ---write gesture mode to 01
*
*/
static DEVICE_ATTR (hyn_gesture_mode, S_IRUGO|S_IWUSR, hyn_gesture_show, hyn_gesture_store);
/*
* read example: cat hyn_gesture_buf ---read gesture buf
*/
static DEVICE_ATTR (hyn_gesture_buf, S_IRUGO|S_IWUSR, hyn_gesture_buf_show, hyn_gesture_buf_store);
static struct attribute *hyn_gesture_mode_attrs[] =
{
&dev_attr_hyn_gesture_mode.attr,
&dev_attr_hyn_gesture_buf.attr,
NULL,
};
static struct attribute_group hyn_gesture_group =
{
.attrs = hyn_gesture_mode_attrs,
};
/************************************************************************
* Name: hyn_gesture_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "Gesture Mode: %s\n", hyn_gesture_data.mode ? "On" : "Off");
count += sprintf(buf + count, "Reg = %d\n", hyn_gesture_data.gestrue_id);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1){
HYN_INFO("[GESTURE]enable gesture");
hyn_gesture_data.mode = ENABLE;
}else if (buf[0]==0){
HYN_INFO("[GESTURE]disable gesture");
hyn_gesture_data.mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
int i = 0;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "Gesture ID: 0x%x\n", hyn_gesture_data.header[0]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture PointNum: %d\n", hyn_gesture_data.header[1]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture Point Buf:\n");
for (i = 0; i < hyn_gesture_data.header[1]; i++)
{
count += snprintf(buf + count, PAGE_SIZE, "%3d(%4d,%4d) ", i, hyn_gesture_data.coordinate_x[i], hyn_gesture_data.coordinate_y[i]);
if ((i + 1)%4 == 0)
count += snprintf(buf + count, PAGE_SIZE, "\n");
}
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/*****************************************************************************
* Name: hyn_create_gesture_sysfs
* Brief:
* Input:
* Output: None
* Return: 0-success or error
*****************************************************************************/
int hyn_create_gesture_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_gesture_group);
if ( ret != 0){
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_recovery
* Brief: recovery gesture state when reset
* Input:
* Output: None
* Return:
*****************************************************************************/
void hyn_gesture_recovery(struct i2c_client *client)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode && hyn_gesture_data.active)
{
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(client, buf, 3);
}else{
hyn_i2c_write_byte(client, HYN_REG_CAP_GESTURE_EN, ENABLE);
}
}
HYN_FUNC_EXIT();
}
/*****************************************************************************
* Name: hyn_check_gesture
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
static void hyn_check_gesture(struct input_dev *input_dev,int gesture_id)
{
unsigned int report_key = 0;
HYN_INFO("check_gesture ======================gesture_id==0x%x ================\n ",gesture_id);
HYN_FUNC_ENTER();
switch (gesture_id)
{
case GESTURE_O:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_O_1:
#endif
report_key = KEY_GESTURE_O;
break;
case GESTURE_W:
report_key = KEY_GESTURE_W;
break;
case GESTURE_M:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_M_1:
case GESTURE_M_2:
case GESTURE_M_3:
#endif
report_key = KEY_GESTURE_M;
break;
case GESTURE_E:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_E_1:
case GESTURE_E_2:
#endif
report_key = KEY_GESTURE_E;
break;
case GESTURE_C:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_C_1:
#endif
report_key = KEY_GESTURE_C;
break;
case GESTURE_S:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_S_1:
#endif
report_key = KEY_GESTURE_S;
break ;
case GESTURE_V:
report_key = KEY_GESTURE_V;
break;
case GESTURE_Z:
report_key = KEY_GESTURE_Z;
break;
case GESTURE_RIGHT:
report_key = KEY_GESTURE_RIGHT;
break ;
case GESTURE_DOWN:
report_key = KEY_GESTURE_DOWN;
break ;
case GESTURE_UP:
report_key = KEY_GESTURE_UP;
break ;
case GESTURE_LEFT:
report_key = KEY_GESTURE_LEFT;
break ;
case GESTURE_DOUBLECLICK:
report_key = KEY_GESTURE_DOUBLECLICK;
break ;
default:
break ;
}
HYN_INFO("check_gesture ======================report_key==0x%x ================\n ",report_key);
hyn_gesture_data.report_key=report_key;
/* report event key */
if (report_key != -1){
input_report_key(input_dev, report_key, 1);
input_sync(input_dev);
input_report_key(input_dev, report_key, 0);
input_sync(input_dev);
}
HYN_FUNC_EXIT();
}
/************************************************************************
* Name: hyn_gesture_readdata
* Brief: read data from TP register
* Input: no
* Output: no
* Return: fail <0
***********************************************************************/
int hyn_gesture_readdata(void)
{
u8 buf[HYN_GESTRUE_POINTS * 4] = { 0 };
int ret = -1;
int i = 0;
int gestrue_id = 0;
//int read_bytes = 0;
u8 pointnum = 0;
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode)
{
u8 state;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
ret=cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
gestrue_id = buf[0]&0x7f;
}else{
ret = hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
}
if (ret<0) HYN_ERROR("[HYN][Touch] read value fail");
if (state !=1) return -1;
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
/* init variable before read gesture point */
memset(hyn_gesture_data.header, 0, HYN_GESTRUE_POINTS_HEADER);
memset(hyn_gesture_data.coordinate_x, 0, HYN_GESTRUE_POINTS * sizeof(u16));
memset(hyn_gesture_data.coordinate_y, 0, HYN_GESTRUE_POINTS * sizeof(u16));
buf[0] = HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS;
ret = hyn_i2c_read(hyn_ts_data->client, buf, 1, buf, HYN_GESTRUE_POINTS_HEADER);
if (ret < 0){
HYN_ERROR("[GESTURE]Read gesture header data failed!!");
return ret;
}
gestrue_id = buf[0];
for (i = 0; i < pointnum; i++){
hyn_gesture_data.coordinate_x[i] = (((s16) buf[0 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[1 + (4 * i+8)])& 0xFF);
hyn_gesture_data.coordinate_y[i] = (((s16) buf[2 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[3 + (4 * i+8)]) & 0xFF);
}
}
hyn_gesture_data.gestrue_id=gestrue_id;
hyn_check_gesture(hyn_ts_data->input_dev, gestrue_id);
HYN_DEBUG("[GESTURE]gestrue_id:%d,report_key:%d", hyn_gesture_data.gestrue_id,hyn_gesture_data.report_key);
HYN_FUNC_EXIT();
return -1;
}
/*****************************************************************************
* Name: hyn_irq_set_low_trig
* Brief:
* Input:
* Output:
* Return:
*****************************************************************************/
void hyn_irq_gesture_mode(void)
{
int ret=0;
hyn_irq_disable();
ret = enable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]enable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,IRQF_TRIGGER_LOW|IRQF_NO_SUSPEND);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
void hyn_irq_normal_mode(void)
{
int ret=0;
hyn_irq_disable();
ret =disable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]disable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,hyn_ts_data->pdata->irq_gpio_flags);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
/*****************************************************************************
* Name: hyn_gesture_suspend
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_suspend(void)
{
u8 state = 0, i;
HYN_FUNC_ENTER();
//enter gesture scan
if (hyn_gesture_data.mode==0)
return -1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
for(i = 0; i < 3; i++)
{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
}
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
for(i = 0; i < 3; i++)
{
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
}
}
}
hyn_gesture_data.active = 1;
hyn_irq_gesture_mode();
HYN_DEBUG("[GESTURE]Enter into gesture(suspend) successfully!");
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_resume
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_resume(void)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode == 0){
HYN_DEBUG("gesture is disabled");
HYN_FUNC_EXIT();
return -1;
}
hyn_gesture_data.active = 0;
hyn_irq_normal_mode();
//stop gesture scan
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, DISABLE);
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_init
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client)
{
HYN_FUNC_ENTER();
input_set_capability(input_dev, EV_KEY, KEY_POWER);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_U);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_UP);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_DOWN);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_LEFT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_RIGHT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_O);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_E);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_M);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_L);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_W);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_S);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_V);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_Z);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_C);
__set_bit(KEY_GESTURE_RIGHT, input_dev->keybit);
__set_bit(KEY_GESTURE_LEFT, input_dev->keybit);
__set_bit(KEY_GESTURE_UP, input_dev->keybit);
__set_bit(KEY_GESTURE_DOWN, input_dev->keybit);
__set_bit(KEY_GESTURE_U, input_dev->keybit);
__set_bit(KEY_GESTURE_O, input_dev->keybit);
__set_bit(KEY_GESTURE_E, input_dev->keybit);
__set_bit(KEY_GESTURE_M, input_dev->keybit);
__set_bit(KEY_GESTURE_W, input_dev->keybit);
__set_bit(KEY_GESTURE_L, input_dev->keybit);
__set_bit(KEY_GESTURE_S, input_dev->keybit);
__set_bit(KEY_GESTURE_V, input_dev->keybit);
__set_bit(KEY_GESTURE_C, input_dev->keybit);
__set_bit(KEY_GESTURE_Z, input_dev->keybit);
hyn_create_gesture_sysfs(client);
hyn_gesture_data.mode = 1;
hyn_gesture_data.active = 0;
hyn_gesture_data.report_key = 0;
hyn_gesture_data.gestrue_id = 0;
HYN_FUNC_EXIT();
return 0;
}
/************************************************************************
* Name: hyn_gesture_exit
* Brief: remove sys
* Input: i2c info
* Output: no
* Return: no
***********************************************************************/
int hyn_gesture_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return -1;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
HYN_FUNC_EXIT();
return 0;
}
#endif

View File

@ -0,0 +1,250 @@
/**
*Name : cst0xx_i2c.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
static DEFINE_MUTEX(i2c_rw_access);
int hyn_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
// client->addr = (client->addr & I2C_MASK_FLAG) | I2C_WR_FLAG | I2C_RS_FLAG;
ret = i2c_master_recv(client, readbuf, readlen);
if(ret < 0){
HYN_ERROR("i2c_master_recv i2c read error.\n");
return ret;
}
return ret;
}
/*
*
*/
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
return ret;
}
/*
*
*/
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue)
{
u8 buf[2] = {0};
buf[0] = regaddr;
buf[1] = regvalue;
return hyn_i2c_write(client, buf, sizeof(buf));
}
/*
*
*/
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue)
{
return hyn_i2c_read(client, &regaddr, 1, regvalue, 1);
}
/*****************************************************************/
/*
*
*/
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char mbuf[600];
if (reg_len == 1){
mbuf[0] = reg;
memcpy(mbuf+1,buf,len);
}else{
mbuf[0] = reg>>8;
mbuf[1] = reg;
memcpy(mbuf+2,buf,len);
}
ret = hyn_i2c_write(hyn_ts_data->client,mbuf,len+reg_len);
if (ret < 0){
HYN_ERROR("%s i2c write error.\n", __func__);
}
return ret;
}
/*
*
*/
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char reg_buf[2];
if (reg_len == 1){
reg_buf[0] = reg;
}else{
reg_buf[0] = reg>>8;
reg_buf[1] = reg;
}
ret = hyn_i2c_read(hyn_ts_data->client,reg_buf,reg_len,buf,len);
if (ret < 0){
HYN_ERROR("f%s: i2c read error.\n",__func__);
}
return ret;
}
/*****************************************************************/
#ifdef HIGH_SPEED_IIC_TRANSFER
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags |= I2C_M_RD;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
/*******************************************************
Function:
read data from register.
Input:
buf: first two byte is register addr, then read data store into buf
len: length of data that to read
Output:
success: number of messages
fail: negative errno
*******************************************************/
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msgs[2];
int ret = -1;
int retries = 0;
msgs[0].flags = client->flags & I2C_M_TEN;
msgs[0].addr = client->addr;
msgs[0].len = 2;
msgs[0].buf = buf;
msgs[1].flags |= I2C_M_RD;
msgs[1].addr = client->addr;
msgs[1].len = len;
msgs[1].buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, msgs, 2);
if(ret == 2)
break;
retries++;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags = client->flags & I2C_M_TEN;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
#else
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_recv(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_send(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
ret = cst3xx_i2c_write(client, buf, 2);
ret = cst3xx_i2c_read(client, buf, len);
return ret;
}
#endif

View File

@ -0,0 +1,538 @@
#ifndef __HYNITRON_EX_FUN_H__
#define __HYNITRON_EX_FUN_H__
#include "hynitron_core.h"
#define MTK_PS_ENABLE 0
#define SPRD_PS_ENABLE 0
#define HYN_CAP_PROXIMITY_FARAWAY_VALUE 0xC0
#define HYN_CAP_PROXIMITY_NEAR_VALUE 0xE0
#define HYN_MUT_PROXIMITY_FARAWAY_VALUE 0x00
#define HYN_MUT_PROXIMITY_NEAR_VALUE 0x01
#if HYN_PSENSOR_EN
#if MTK_PS_ENABLE
#include <hwmsensor.h>
#include <hwmsen_dev.h>
#include <sensors_io.h>
#endif
#define TP_PS_DEVICE "ltr_558als"
#define TP_PS_INPUT_DEV "alps_pxy"
#define PROXIMITY_DEBUG(fmt,arg...) printk("<<hyn proximity>> "fmt"\n",##arg)
struct hynitron_ps_struct {
u8 proximity_enable ;
u8 proximity_enable_lock;
u8 proximity_detect_value ;
u8 suspend_flag;
/* kernel-4.14 do not wake_lock */
//struct wake_lock proximity_lock;
#if MTK_PS_ENABLE
struct hwmsen_object obj_ps;
#endif
struct class *firmware_class;
struct device *firmware_cmd_dev;
struct input_dev *ps_input_dev;
};
struct hynitron_ps_struct *hyn_proximity_data;
static int hyn_proximity_get_value(void);
/************************************************
MTK平台:
IC----hwmsen_attach(ID_PROXIMITY)----hwm_sensor_data
*************************************************/
#if MTK_PS_ENABLE
#define SENSOR_DELAY 0
#define SENSOR_ENABLE 0
#define SENSOR_GET_DATA 0
#define SENSOR_STATUS_ACCURACY_MEDIUM 0
void hyn_proximity_mtk_report(int proximity_value)
{
int err;
struct hwm_sensor_data sensor_data;
sensor_data.values[0] = proximity_value;
sensor_data.value_divide = 1;
sensor_data.status = SENSOR_STATUS_ACCURACY_MEDIUM;
if ((err = hwmsen_get_interrupt_data(ID_PROXIMITY, &sensor_data)))
{
PROXIMITY_DEBUG(" proxi call hwmsen_get_interrupt_data failed= %d\n", err);
}
}
static int hyn_proximiy_operate(void* self, uint32_t command, void* buff_in, int size_in,
void* buff_out, int size_out, int* actualout)
{
int err = 0;
int value;
PROXIMITY_DEBUG("[proxi]command = 0x%02X\n", command);
switch (command)
{
case SENSOR_DELAY:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Set delay parameter error!\n");
err = -EINVAL;
}
// Do nothing
break;
case SENSOR_ENABLE:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Enable sensor parameter error!\n");
err = -EINVAL;
}else{
value = *(int *)buff_in;
if(value){
if((hyn_proximity_enable(1) != 0)){
PROXIMITY_DEBUG("enable ps fail: %d\n", err);
return -1;
}
}else{
if((hyn_proximity_enable(0) != 0)){
PROXIMITY_DEBUG("disable ps fail: %d\n", err);
return -1;
}
}
}
break;
case SENSOR_GET_DATA:
if((buff_out == NULL)){
PROXIMITY_DEBUG("get sensor data parameter error!\n");
err = -EINVAL;
}else{
hyn_proximity_readdata();
}
break;
default:
PROXIMITY_DEBUG("proxmy sensor operate function no this parameter %d!\n", command);
err = -1;
break;
}
return err;
}
void hyn_proximity_mtk_init(void)
{
int ret;
hyn_ts_data->client->obj_ps.polling = 0;//interrupt mode
hyn_ts_data->client->obj_ps.sensor_operate = hyn_proximiy_operate;
if((ret = hwmsen_attach(ID_PROXIMITY, &hyn_ts_data->client->obj_ps))){
PROXIMITY_DEBUG("proxi_hyn attach fail = %d\n", ret);
}else{
PROXIMITY_DEBUG("proxi_hyn attach ok = %d\n", ret);
}
}
#endif
/************************************************
Spreadtrum平台:
IC----proximity-----
*************************************************/
#if SPRD_PS_ENABLE
static ssize_t show_proximity_sensor(struct device *dev, struct device_attribute *attr, char *buf)
{
PROXIMITY_DEBUG("show_proximity_sensor get prox state \n");
if (buf != NULL)
sprintf(buf, "proximity_enable is:%d, proximity_detect_value:%d.\n",hyn_proximity_data->proximity_enable ,hyn_proximity_data->proximity_detect_value);
return 0;
}
static ssize_t store_proximity_sensor(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
{
unsigned int on_off = simple_strtoul(buf, NULL, 10);
PROXIMITY_DEBUG("store_proximity_sensor buf=%d,size=%d,on_off=%d\n", *buf, size, on_off);
if(buf != NULL && size != 0){
if (0 == on_off)
hyn_proximity_enable(0);
else if (1 == on_off)
hyn_proximity_enable(1);
}
return size;
}
static DEVICE_ATTR(proximity, S_IRUGO | S_IWUSR, show_proximity_sensor, store_proximity_sensor);
void hyn_proximity_sprd_report(int proximity_value)
{
input_report_abs(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, proximity_value);
input_sync(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_sprd_init(void)
{
// node :/sys/class/sprd-tpd/device/proximity
hyn_ts_data->client->firmware_class = class_create(THIS_MODULE,"sprd-tpd");//client->name
if(IS_ERR(hyn_ts_data->client->firmware_class))
PROXIMITY_DEBUG("Failed to create class(firmware)!\n");
hyn_ts_data->client->firmware_cmd_dev = device_create(hyn_ts_data->client->firmware_class, NULL, 0, NULL, "device");//device
if(IS_ERR(hyn_ts_data->client->firmware_cmd_dev))
PROXIMITY_DEBUG("Failed to create device(firmware_cmd_dev)!\n");
if(device_create_file(hyn_ts_data->client->firmware_cmd_dev, &dev_attr_proximity) < 0){
PROXIMITY_DEBUG("Failed to create device file(%s)!\n", dev_attr_proximity.attr.name);
}
}
#endif
/************************************************************************
* Name: hyn_proximity_mode_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
u8 val = 0;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "proximity Mode: %s\n", hyn_proximity_data->proximity_enable ? "On" : "Off");
count += sprintf(buf + count, "Reg(0xD0) = %d\n", val);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_mode_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1)
{
HYN_INFO("[proximity]enable ");
hyn_proximity_data->proximity_enable = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[proximity]disable");
hyn_proximity_data->proximity_enable = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "proximity: 0x%x\n", hyn_proximity_data->proximity_enable);
count += snprintf(buf + count, PAGE_SIZE, "proximity: %d\n", hyn_proximity_data->proximity_detect_value);
count += snprintf(buf + count, PAGE_SIZE, "proximity Buf:\n");
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/* sysfs proximity node
* read example: cat hyn_proximity_mode ---read proximity mode
* write example:echo 01 > hyn_proximity_mode ---write proximity mode to 01
*
*/
static DEVICE_ATTR (hyn_proximity_mode, S_IRUGO|S_IWUSR, hyn_proximity_mode_show, hyn_proximity_mode_store);
/*
* read example: cat hyn_proximity_buf ---read proximity buf
*/
static DEVICE_ATTR (hyn_proximity_buf, S_IRUGO|S_IWUSR, hyn_proximity_buf_show, hyn_proximity_buf_store);
static struct attribute *hyn_proximity_mode_attrs[] =
{
&dev_attr_hyn_proximity_mode.attr,
&dev_attr_hyn_proximity_buf.attr,
NULL,
};
static struct attribute_group hyn_proximity_group =
{
.attrs = hyn_proximity_mode_attrs,
};
int hyn_create_proximity_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if ( ret != 0)
{
HYN_ERROR( "hyn_create_proximity_sysfs(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
int hyn_proximity_readdata(void)
{
int err;
HYN_FUNC_ENTER();
if (hyn_proximity_data->proximity_enable == 1)
{
err=hyn_proximity_get_value();
#if MTK_PS_ENABLE
hyn_proximity_mtk_report(hyn_proximity_data->proximity_detect_value);
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_report(hyn_proximity_data->proximity_detect_value);
#endif
}
HYN_FUNC_EXIT();
return err;
}
static int hyn_proximity_enable_real(int enable)
{
u8 state;
int ret = -1;
HYN_FUNC_ENTER();
if (enable){
state = ENABLE;
hyn_proximity_data->proximity_enable = ENABLE;
/* kernel-4.14 do not wake_lock */
//wake_lock(&hyn_proximity_data->proximity_lock);
PROXIMITY_DEBUG(" proximity function is on.\n");
}else{
if(hyn_proximity_data->suspend_flag) return 0;
state = DISABLE;
/* kernel-4.14 do not wake_lock */
//wake_unlock(&hyn_proximity_data->proximity_lock);
hyn_proximity_data->proximity_enable = DISABLE;
PROXIMITY_DEBUG(" proximity function is off.\n");
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
buf[2]=state<<7;
ret=cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
ret = hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_EN, state);
}
PROXIMITY_DEBUG("proximity write state is 0x%02X\n", state);
HYN_FUNC_EXIT();
return 0;
}
static int hyn_proximity_get_value(void)
{
u8 proximity_status=0;
HYN_FUNC_ENTER();
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
proximity_status=buf[0]&0x7f;
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_MUT_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_MUT_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS, &proximity_status);
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_CAP_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_CAP_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}
PROXIMITY_DEBUG("proximity_detect_value = %d\n", hyn_proximity_data->proximity_detect_value);
HYN_FUNC_EXIT();
return hyn_proximity_data->proximity_detect_value;
}
static int hyn_proximity_enable(int enable)
{
HYN_FUNC_ENTER();
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X.\n",hyn_proximity_data->suspend_flag,enable );
if (hyn_proximity_data->suspend_flag && enable) {
}else{
hyn_proximity_enable_real(enable);
}
HYN_FUNC_EXIT();
return 0;
}
void hyn_proximity_suspend(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag++;
if (hyn_proximity_data->proximity_enable == 1) hyn_proximity_data->proximity_enable_lock = 1;
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_resume(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag = 0;
if (hyn_proximity_data->proximity_enable == 1){
if(hyn_proximity_data->proximity_enable_lock == 1){
hyn_proximity_data->proximity_enable_lock = 0;
PROXIMITY_DEBUG(" proximity_enable_lock. \n");
}
}
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_init(void)
{
int ret;
HYN_FUNC_ENTER();
/* malloc memory for global struct variable,init 0 */
hyn_proximity_data = kzalloc(sizeof(*hyn_proximity_data), GFP_KERNEL);
if (!hyn_proximity_data) {
PROXIMITY_DEBUG("proximity allocate memory for hyn_proximity_data fail");
return;
}
hyn_proximity_data->ps_input_dev = input_allocate_device();
if (!hyn_proximity_data->ps_input_dev)
{
PROXIMITY_DEBUG(" %s: input allocate device failed\n", __func__);
ret = -ENOMEM;
goto exit_input_dev_allocate_failed;
}
hyn_proximity_data->ps_input_dev->name = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->phys = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->id.bustype = BUS_I2C;
hyn_proximity_data->ps_input_dev->dev.parent = &hyn_ts_data->client->dev;
__set_bit(EV_ABS, hyn_proximity_data->ps_input_dev->evbit);
input_set_abs_params(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, 0, 1, 0, 0);
ret= input_register_device(hyn_proximity_data->ps_input_dev);
if (ret < 0)
{
PROXIMITY_DEBUG("%s: input device regist failed\n", __func__);
goto exit_input_register_failed;
}
hyn_create_proximity_sysfs(hyn_ts_data->client);
hyn_proximity_enable(0);
/* kernel-4.14 do not wake_lock */
//wake_lock_init(&hyn_proximity_data->proximity_lock, WAKE_LOCK_SUSPEND, "proximity wakelock");
#if MTK_PS_ENABLE
hyn_proximity_mtk_init();
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_init();
#endif
HYN_FUNC_EXIT();
return;
exit_input_dev_allocate_failed:
input_free_device(hyn_proximity_data->ps_input_dev );
exit_input_register_failed:
input_free_device(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if(hyn_proximity_data==NULL) return;
kfree(hyn_proximity_data);
//wake_lock_destroy(&hyn_proximity_data->proximity_lock); /* kernel-4.14 do not wake_lock */
HYN_FUNC_EXIT();
}
#endif
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,37 @@
#ifndef __HYNITRON_UPDATE_FIRMWARE_H__
#define __HYNITRON_UPDATE_FIRMWARE_H__
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/semaphore.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/syscalls.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/proc_fs.h>
int hyn_firmware_info(struct i2c_client * client);
int hyn_boot_update_fw(struct i2c_client * client);
int hyn_detect_main_iic(struct i2c_client *client);
int hyn_detect_bootloader(struct i2c_client *client);
void hyn_init_factory_test_init(struct i2c_client *client);
#if HYN_AUTO_FACTORY_TEST_EN
int hyn_factory_touch_test(void);
#endif
#if HYN_SYS_AUTO_SEARCH_FIRMWARE
int hyn_sys_auto_search_firmware(void);
#endif
#endif

View File

@ -0,0 +1 @@
{"buildTargets":[],"launchTargets":[],"customConfigurationProvider":{"workspaceBrowse":{"browsePath":[],"compilerArgs":[]},"fileIndex":[]}}

View File

@ -0,0 +1,3 @@
'make.exe' <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>Ҳ<EEA3AC><D2B2><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>еij<D0B5><C4B3><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>

View File

@ -0,0 +1,3 @@
{
"makefile.extensionOutputFolder": "./.vscode"
}

View File

@ -0,0 +1,4 @@
make.exe all --print-data-base --no-builtin-variables --no-builtin-rules --question
'make.exe' <20><><EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><DAB2><EFBFBD><EFBFBD>ⲿ<EFBFBD><E2B2BF><EFBFBD>Ҳ<EEA3AC><D2B2><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD>еij<D0B5><C4B3><EFBFBD>
<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>

View File

@ -0,0 +1,12 @@
#
# Touchscreen driver configuration
#
config CONFIG_TOUCHSCREEN_HYNITRON_TS
bool "hynitorn Ts for TOUCHSCREEN"
depends on I2C
default n
help
Say Y here if you have hynitorn touch panel.
If unsure, say N.

View File

@ -0,0 +1,16 @@
# Linux driver folder
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/hynitron
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/sensors-1.0/hwmon/include/
obj-y += hynitron_core.o
obj-y += hynitron_i2c.o
obj-y += hynitron_esd_check.o
obj-y += hynitron_tool_debug.o
obj-y += hynitron_update_firmware.o
obj-y += hynitron_gesture.o
obj-y += hynitron_proximity.o

View File

@ -0,0 +1,38 @@
Hynitron touch controller
The Hynitron controller is connected to host processor via i2c. The controller generates interrupts when the user touches the panel. The host controller is expected to read the touch coordinates over i2c and pass the coordinates to the rest of the system.
Required properties:
- compatible : should be "hynitron,hyn_ts"
- reg : i2c slave address of the device, should be <0x1a(mutcap) or 0x15(slefcap)>
- hynitron,irq-gpio : irq gpio, same as "interrupts" node.
- hynitron,reset-gpio : reset gpio,keep high voltage in normal mode.
- hynitron,max-touch-number: maximum number of touches support
- hynitron,display-coords : display resolution in pixels. A two tuple consisting of x_resolution, y_resolution.
Optional properties:
- hynitron,have-key : specify if virtual keys are supported
- hynitron,key-number : number of keys
- hynitron,key-code : virtual key codes mapping to the coords
- hynitron,key-y-coord : constant y coordinate of keys, depends on the y resolution
- hynitron,key-x-coord : constant x coordinates of keys, depends on the x resolution
Example:
i2c@f9927000 {
hynitron@1a{
compatible = "hynitron,hyn_ts";
reg = <0x1a>;
hynitron,reset-gpio = <&msm_gpio 12 0x01>;
hynitron,irq-gpio = <&msm_gpio 13 0x02>;
hynitron,max-touch-number = <5>;
hynitron,display-coords = <1080 1920>;
hynitron,have-key;
hynitron,key-number = <3>;
hynitron,key-code = <139 172 158>;
hynitron,key-y-coord = <2000 2000 2000>;
hynitron,key-x-coord = <200 600 800>;
};
};

View File

@ -0,0 +1,856 @@
/*
*Name : capacitive_hynitron_cst0xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
static unsigned char cst0xx_fw[] = {
0x00, 0x14, 0x80, 0x34, 0xc5, 0xfd,
0x75, 0x8c, 0x46, 0x75, 0x8d, 0x4a, 0x75, 0xa4, 0x82, 0x75, 0xa5, 0x82, 0xe4, 0xf5, 0x94, 0xf5,
0x95, 0x22, 0x02, 0x41, 0x77, 0x90, 0x04, 0xa9, 0xef, 0xf0, 0x22, 0x02, 0x41, 0xb2, 0x12, 0x45,
0x7c, 0xe0, 0xff, 0x22, 0x02, 0x2f, 0x7d, 0x75, 0x81, 0x95, 0x02, 0x44, 0x89, 0x02, 0x40, 0xf6,
0x02, 0x14, 0x27, 0xe7, 0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x46, 0xe7, 0x09, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x3e, 0x88, 0x82, 0x8c, 0x83, 0xe7, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x32, 0xe3,
0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x78, 0xe3, 0x09, 0xf2, 0x08, 0xdf, 0xfa, 0x80, 0x70, 0x88,
0x82, 0x8c, 0x83, 0xe3, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x64, 0x89, 0x82, 0x8a, 0x83, 0xe0,
0xa3, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x58, 0x89, 0x82, 0x8a, 0x83, 0xe0, 0xa3, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x4c, 0x80, 0xd2, 0x80, 0xfa, 0x80, 0xc6, 0x80, 0xd4, 0x80, 0x69, 0x80, 0xf2, 0x80,
0x33, 0x80, 0x10, 0x80, 0xa6, 0x80, 0xea, 0x80, 0x9a, 0x80, 0xa8, 0x80, 0xda, 0x80, 0xe2, 0x80,
0xca, 0x80, 0x33, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe4, 0x93, 0xa3, 0xc8, 0xc5, 0x82, 0xc8,
0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xdf, 0xe9,
0xde, 0xe7, 0x80, 0x0d, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf6, 0x08, 0xdf, 0xf9, 0xec,
0xfa, 0xa9, 0xf0, 0xed, 0xfb, 0x22, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe0, 0xa3, 0xc8, 0xc5,
0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc,
0xdf, 0xea, 0xde, 0xe8, 0x80, 0xdb, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf2, 0x08, 0xdf,
0xf9, 0x80, 0xcc, 0x88, 0xf0, 0xef, 0x60, 0x01, 0x0e, 0x4e, 0x60, 0xc3, 0x88, 0xf0, 0xed, 0x24,
0x02, 0xb4, 0x04, 0x00, 0x50, 0xb9, 0xf5, 0x82, 0xeb, 0x24, 0x02, 0xb4, 0x04, 0x00, 0x50, 0xaf,
0x23, 0x23, 0x45, 0x82, 0x23, 0x90, 0x14, 0x83, 0x73, 0xbb, 0x01, 0x0c, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe6, 0x22,
0xbb, 0xfe, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0x22, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83,
0x3a, 0xf5, 0x83, 0xe4, 0x93, 0x22, 0xbb, 0x01, 0x06, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0x22, 0x50,
0x02, 0xf7, 0x22, 0xbb, 0xfe, 0x01, 0xf3, 0x22, 0xf8, 0xbb, 0x01, 0x0d, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xc8, 0xf6,
0x22, 0xbb, 0xfe, 0x05, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0x22, 0xef, 0x8d, 0xf0, 0xa4, 0xa8, 0xf0,
0xcf, 0x8c, 0xf0, 0xa4, 0x28, 0xce, 0x8d, 0xf0, 0xa4, 0x2e, 0xfe, 0x22, 0xbc, 0x00, 0x0b, 0xbe,
0x00, 0x29, 0xef, 0x8d, 0xf0, 0x84, 0xff, 0xad, 0xf0, 0x22, 0xe4, 0xcc, 0xf8, 0x75, 0xf0, 0x08,
0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xec, 0x33, 0xfc, 0xee, 0x9d, 0xec, 0x98, 0x40, 0x05, 0xfc,
0xee, 0x9d, 0xfe, 0x0f, 0xd5, 0xf0, 0xe9, 0xe4, 0xce, 0xfd, 0x22, 0xed, 0xf8, 0xf5, 0xf0, 0xee,
0x84, 0x20, 0xd2, 0x1c, 0xfe, 0xad, 0xf0, 0x75, 0xf0, 0x08, 0xef, 0x2f, 0xff, 0xed, 0x33, 0xfd,
0x40, 0x07, 0x98, 0x50, 0x06, 0xd5, 0xf0, 0xf2, 0x22, 0xc3, 0x98, 0xfd, 0x0f, 0xd5, 0xf0, 0xea,
0x22, 0xc2, 0xd5, 0xec, 0x30, 0xe7, 0x09, 0xb2, 0xd5, 0xe4, 0xc3, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc,
0xee, 0x30, 0xe7, 0x15, 0xb2, 0xd5, 0xe4, 0xc3, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x12, 0x15, 0x9c,
0xc3, 0xe4, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc, 0x80, 0x03, 0x12, 0x15, 0x9c, 0x30, 0xd5, 0x07, 0xc3,
0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0xc5, 0xf0, 0xf8, 0xa3, 0xe0, 0x28, 0xf0, 0xc5, 0xf0,
0xf8, 0xe5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xe0, 0x38, 0xf0, 0x22, 0xbb, 0x01, 0x0a,
0x89, 0x82, 0x8a, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x06, 0x87, 0xf0, 0x09, 0xe7,
0x19, 0x22, 0xbb, 0xfe, 0x07, 0xe3, 0xf5, 0xf0, 0x09, 0xe3, 0x19, 0x22, 0x89, 0x82, 0x8a, 0x83,
0xe4, 0x93, 0xf5, 0xf0, 0x74, 0x01, 0x93, 0x22, 0xbb, 0x01, 0x10, 0xe5, 0x82, 0x29, 0xf5, 0x82,
0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82,
0xf8, 0x86, 0xf0, 0x08, 0xe6, 0x22, 0xbb, 0xfe, 0x0a, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0xf5, 0xf0,
0x08, 0xe2, 0x22, 0xe5, 0x83, 0x2a, 0xf5, 0x83, 0xe9, 0x93, 0xf5, 0xf0, 0xa3, 0xe9, 0x93, 0x22,
0xf8, 0xbb, 0x01, 0x11, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0,
0xe5, 0xf0, 0xa3, 0xf0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf6, 0x08, 0xa6, 0xf0, 0x22,
0xbb, 0xfe, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0xe5, 0xf0, 0x08, 0xf2, 0x22, 0xef, 0x2b, 0xff,
0xee, 0x3a, 0xfe, 0xed, 0x39, 0xfd, 0xec, 0x38, 0xfc, 0x22, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a,
0xfe, 0xed, 0x99, 0xfd, 0xec, 0x98, 0xfc, 0x22, 0xe8, 0x8f, 0xf0, 0xa4, 0xcc, 0x8b, 0xf0, 0xa4,
0x2c, 0xfc, 0xe9, 0x8e, 0xf0, 0xa4, 0x2c, 0xfc, 0x8a, 0xf0, 0xed, 0xa4, 0x2c, 0xfc, 0xea, 0x8e,
0xf0, 0xa4, 0xcd, 0xa8, 0xf0, 0x8b, 0xf0, 0xa4, 0x2d, 0xcc, 0x38, 0x25, 0xf0, 0xfd, 0xe9, 0x8f,
0xf0, 0xa4, 0x2c, 0xcd, 0x35, 0xf0, 0xfc, 0xeb, 0x8e, 0xf0, 0xa4, 0xfe, 0xa9, 0xf0, 0xeb, 0x8f,
0xf0, 0xa4, 0xcf, 0xc5, 0xf0, 0x2e, 0xcd, 0x39, 0xfe, 0xe4, 0x3c, 0xfc, 0xea, 0xa4, 0x2d, 0xce,
0x35, 0xf0, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0x75, 0xf0, 0x08, 0x75, 0x82, 0x00, 0xef, 0x2f, 0xff,
0xee, 0x33, 0xfe, 0xcd, 0x33, 0xcd, 0xcc, 0x33, 0xcc, 0xc5, 0x82, 0x33, 0xc5, 0x82, 0x9b, 0xed,
0x9a, 0xec, 0x99, 0xe5, 0x82, 0x98, 0x40, 0x0c, 0xf5, 0x82, 0xee, 0x9b, 0xfe, 0xed, 0x9a, 0xfd,
0xec, 0x99, 0xfc, 0x0f, 0xd5, 0xf0, 0xd6, 0xe4, 0xce, 0xfb, 0xe4, 0xcd, 0xfa, 0xe4, 0xcc, 0xf9,
0xa8, 0x82, 0x22, 0xb8, 0x00, 0xc1, 0xb9, 0x00, 0x59, 0xba, 0x00, 0x2d, 0xec, 0x8b, 0xf0, 0x84,
0xcf, 0xce, 0xcd, 0xfc, 0xe5, 0xf0, 0xcb, 0xf9, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe,
0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xeb, 0x33, 0xfb, 0x10, 0xd7, 0x03, 0x99, 0x40, 0x04, 0xeb,
0x99, 0xfb, 0x0f, 0xd8, 0xe5, 0xe4, 0xf9, 0xfa, 0x22, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33,
0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xc9, 0x33, 0xc9, 0x10, 0xd7, 0x05, 0x9b, 0xe9, 0x9a,
0x40, 0x07, 0xec, 0x9b, 0xfc, 0xe9, 0x9a, 0xf9, 0x0f, 0xd8, 0xe0, 0xe4, 0xc9, 0xfa, 0xe4, 0xcc,
0xfb, 0x22, 0x75, 0xf0, 0x10, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xcc, 0x33,
0xcc, 0xc8, 0x33, 0xc8, 0x10, 0xd7, 0x07, 0x9b, 0xec, 0x9a, 0xe8, 0x99, 0x40, 0x0a, 0xed, 0x9b,
0xfd, 0xec, 0x9a, 0xfc, 0xe8, 0x99, 0xf8, 0x0f, 0xd5, 0xf0, 0xda, 0xe4, 0xcd, 0xfb, 0xe4, 0xcc,
0xfa, 0xe4, 0xc8, 0xf9, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea, 0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42,
0xf0, 0xec, 0x64, 0x80, 0xc8, 0x64, 0x80, 0x98, 0x45, 0xf0, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea,
0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42, 0xf0, 0xe8, 0x9c, 0x45, 0xf0, 0x22, 0xe8, 0x60, 0x0f, 0xef,
0xc3, 0x33, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xd8, 0xf1, 0x22, 0xe6,
0xfc, 0x08, 0xe6, 0xfd, 0x08, 0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x22, 0xe4, 0x93, 0xfc, 0x74, 0x01,
0x93, 0xfd, 0x74, 0x02, 0x93, 0xfe, 0x74, 0x03, 0x93, 0xff, 0x22, 0xe6, 0xfb, 0x08, 0xe6, 0xf9,
0x08, 0xe6, 0xfa, 0x08, 0xe6, 0xcb, 0xf8, 0x22, 0xec, 0xf6, 0x08, 0xed, 0xf6, 0x08, 0xee, 0xf6,
0x08, 0xef, 0xf6, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xe4, 0x93, 0xf6, 0x08, 0x74, 0x01, 0x93, 0xf6,
0x08, 0x74, 0x02, 0x93, 0xf6, 0x08, 0x74, 0x03, 0x93, 0xf6, 0x74, 0x04, 0x73, 0xa4, 0x25, 0x82,
0xf5, 0x82, 0xe5, 0xf0, 0x35, 0x83, 0xf5, 0x83, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93,
0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0d, 0xa3, 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82,
0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xef, 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xec,
0x8e, 0xf0, 0xa4, 0xcc, 0xc5, 0xf0, 0xcc, 0xcd, 0xf8, 0xef, 0xa4, 0xce, 0xc5, 0xf0, 0x2d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe8, 0xa4, 0x2e, 0xc8, 0xc5, 0xf0, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xef, 0xa4,
0xff, 0xe5, 0xf0, 0x28, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0xef, 0x4e, 0x60, 0x12,
0xef, 0x60, 0x01, 0x0e, 0xed, 0xbb, 0x01, 0x0b, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0xa3, 0xdf, 0xfc,
0xde, 0xfa, 0x22, 0x89, 0xf0, 0x50, 0x07, 0xf7, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0xbb, 0xfe,
0xfc, 0xf3, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0x12, 0x26, 0x15, 0xe5, 0x08, 0x24, 0x04, 0x12,
0x24, 0xd1, 0x12, 0x39, 0xbd, 0x12, 0x24, 0xbb, 0x12, 0x26, 0x1f, 0x12, 0x24, 0xcd, 0x12, 0x39,
0xbd, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0x12, 0x24, 0xc6,
0x54, 0xfb, 0xf2, 0xe5, 0x09, 0x30, 0xe0, 0x17, 0x12, 0x26, 0x29, 0x60, 0x12, 0x12, 0x26, 0x30,
0x70, 0x0d, 0x75, 0x2b, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe4, 0xf2, 0x02, 0x1b, 0x26, 0xe4,
0xf5, 0x2b, 0x12, 0x25, 0xe3, 0x02, 0x1b, 0x26, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0x75, 0x2e,
0x00, 0xf5, 0x2f, 0x12, 0x26, 0x30, 0xff, 0x70, 0x16, 0x12, 0x26, 0x29, 0xd3, 0x94, 0x01, 0x40,
0x0e, 0x12, 0x25, 0xd3, 0xc3, 0x94, 0x20, 0x50, 0x31, 0xe2, 0x24, 0x04, 0xf2, 0x80, 0x2b, 0x12,
0x26, 0x29, 0xfe, 0x70, 0x30, 0xef, 0xd3, 0x94, 0x01, 0x40, 0x2a, 0x12, 0x24, 0xc6, 0xff, 0x13,
0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x1e, 0xef, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x16, 0x12,
0x25, 0xd3, 0xc3, 0x94, 0x08, 0x50, 0x03, 0xe2, 0x04, 0xf2, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2,
0x54, 0xfd, 0xf2, 0x80, 0x2e, 0xee, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x02, 0xf2, 0x12, 0x26,
0x30, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x01, 0xf2, 0x12, 0x24, 0xc6, 0x30, 0xe0, 0x14, 0xc3,
0x13, 0x30, 0xe0, 0x0f, 0x12, 0x25, 0xe3, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2, 0x54, 0xfd, 0xf2,
0x44, 0x04, 0xf2, 0x12, 0x25, 0xd3, 0x70, 0x02, 0x04, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24,
0x98, 0xe5, 0x08, 0x24, 0x05, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5, 0x31, 0x18, 0xe2, 0x9e, 0xf5, 0x30,
0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5,
0x33, 0x18, 0xe2, 0x9e, 0xf5, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x1a,
0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe5, 0x30, 0xf2, 0x08, 0xe5, 0x31, 0xf2, 0xe5, 0x08, 0x24, 0x11,
0xf8, 0xe5, 0x32, 0xf2, 0x08, 0xe5, 0x33, 0xf2, 0x80, 0x51, 0xaf, 0x31, 0xae, 0x30, 0x12, 0x1b,
0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x50, 0x1f,
0xaf, 0x33, 0xae, 0x32, 0x12, 0x1b, 0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3,
0xed, 0x9f, 0xec, 0x9e, 0x50, 0x09, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0xf5, 0x32, 0xf5, 0x33, 0xe5,
0x08, 0x24, 0x10, 0xf8, 0xe2, 0x25, 0x31, 0xf2, 0x18, 0xe2, 0x35, 0x30, 0xf2, 0xe5, 0x08, 0x24,
0x12, 0xf8, 0xe2, 0x25, 0x33, 0xf2, 0x18, 0xe2, 0x35, 0x32, 0xf2, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x25, 0xd3, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0x8e, 0x2e, 0x8f, 0x2f, 0xe5, 0x08, 0x24, 0x11,
0x12, 0x24, 0x98, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x0f, 0x12, 0x24,
0x98, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x24,
0xb4, 0x74, 0x15, 0x93, 0xf5, 0x2b, 0xac, 0x2e, 0xad, 0x2f, 0xae, 0x2c, 0xaf, 0x2d, 0x12, 0x15,
0x9c, 0xee, 0x70, 0x42, 0xef, 0x14, 0x60, 0x0c, 0x14, 0x60, 0x23, 0x24, 0x02, 0x70, 0x37, 0x75,
0x2b, 0xff, 0x80, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5,
0x2b, 0x75, 0xf0, 0x08, 0xa4, 0xff, 0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0x80, 0x18, 0x12, 0x24,
0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0xff,
0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0xe5, 0x2b, 0xf4, 0x60, 0x36, 0xe5, 0x2b, 0x60, 0x0d, 0x78,
0x92, 0xe6, 0xff, 0x60, 0x07, 0xe5, 0x2b, 0x8f, 0xf0, 0xa4, 0xf5, 0x2b, 0x12, 0x24, 0xe4, 0x24,
0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a,
0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a, 0x80,
0x11, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0x12, 0x24, 0xbb, 0xe5, 0x08, 0x24, 0x37, 0x12,
0x24, 0x98, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x22, 0x12, 0x46, 0x5f, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0x8d, 0x29,
0xe4, 0xf5, 0x2a, 0xd2, 0xb8, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x90, 0x04, 0xa5, 0xe0, 0x6f, 0x60,
0x28, 0x78, 0x95, 0xe6, 0xb4, 0x01, 0x22, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4,
0x78, 0x95, 0xf6, 0xf5, 0xeb, 0x12, 0x45, 0x2d, 0x7b, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12, 0x43,
0x72, 0x90, 0x04, 0xff, 0xe0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x4b, 0xe0, 0xb4, 0x03, 0x0d,
0x12, 0x45, 0x2d, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x7f, 0x02, 0x12, 0x14, 0x15, 0x90, 0x04, 0x66,
0xe0, 0xff, 0x60, 0x09, 0x12, 0x46, 0x89, 0xe4, 0x90, 0x04, 0x66, 0xf0, 0x22, 0x90, 0x04, 0xff,
0xe0, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0xe5, 0x44, 0x20, 0xe0, 0x03, 0x02, 0x1c, 0x99, 0xe5, 0x29,
0x70, 0x07, 0xe5, 0x45, 0x70, 0x03, 0x02, 0x1c, 0x99, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d,
0xe6, 0xe5, 0x29, 0x60, 0x0e, 0xe5, 0x45, 0x60, 0x05, 0x75, 0x2b, 0x03, 0x80, 0x0c, 0x75, 0x2b,
0x01, 0x80, 0x07, 0xe5, 0x45, 0x60, 0x03, 0x75, 0x2b, 0x02, 0xe5, 0x29, 0x7f, 0x00, 0x60, 0x02,
0x7f, 0x01, 0x90, 0x03, 0xa8, 0xef, 0xf0, 0xe5, 0x2b, 0x7f, 0x80, 0xb4, 0x01, 0x02, 0x7f, 0x00,
0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x2b, 0xb4, 0x02, 0x04, 0x7f, 0x40, 0x80, 0x05, 0x90, 0x03,
0xa9, 0xe0, 0xff, 0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x29, 0x45, 0x45, 0xf5, 0x2c, 0x30, 0xe0,
0x06, 0xa3, 0x74, 0x64, 0xf0, 0x80, 0x18, 0xe5, 0x2c, 0x30, 0xe1, 0x08, 0x90, 0x03, 0xaa, 0x74,
0x3c, 0xf0, 0x80, 0x0b, 0xe5, 0x2c, 0x30, 0xe2, 0x06, 0x90, 0x03, 0xaa, 0x74, 0x14, 0xf0, 0xe4,
0x90, 0x03, 0xab, 0xf0, 0xa3, 0x74, 0x8c, 0xf0, 0x12, 0x44, 0xf3, 0x85, 0x29, 0x45, 0xe5, 0x45,
0x7f, 0xff, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x44, 0x22, 0xe5, 0x44, 0x20, 0xe1, 0x03, 0x02, 0x1d,
0xdb, 0x90, 0x00, 0x05, 0x12, 0x42, 0xf1, 0x70, 0x11, 0x90, 0x00, 0x0b, 0x12, 0x15, 0x29, 0x70,
0x09, 0xe5, 0x44, 0x64, 0x02, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0x75, 0x2c, 0x03, 0x12, 0x40, 0x18,
0xef, 0x64, 0x01, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4, 0x90, 0x03, 0xa8, 0xf0, 0x90, 0x00, 0x04,
0x12, 0x42, 0xf1, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0x90, 0x00, 0x0a, 0x12, 0x15,
0x29, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0xe4, 0xf5, 0x2b, 0x8b, 0x2d, 0x8a, 0x2e,
0x89, 0x2f, 0xe5, 0x2b, 0xc3, 0x94, 0x02, 0x40, 0x03, 0x02, 0x1d, 0xba, 0xab, 0x2d, 0xaa, 0x2e,
0xa9, 0x2f, 0x90, 0x00, 0x05, 0x12, 0x15, 0x29, 0xff, 0x70, 0x03, 0x02, 0x1d, 0xaa, 0x90, 0x00,
0x04, 0x12, 0x15, 0x29, 0x70, 0x10, 0x12, 0x42, 0xd5, 0xe0, 0x54, 0x3f, 0x44, 0x40, 0xfe, 0x12,
0x42, 0xd5, 0xee, 0xf0, 0x80, 0x11, 0xef, 0xb4, 0x01, 0x07, 0x12, 0x42, 0xd5, 0xe4, 0xf0, 0x80,
0x06, 0x12, 0x42, 0xd5, 0x74, 0x80, 0xf0, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x60, 0x65, 0x12,
0x43, 0x04, 0x12, 0x42, 0xd9, 0xc0, 0x83, 0xc0, 0x82, 0xe0, 0xfd, 0xab, 0x2d, 0xaa, 0x2e, 0xa9,
0x2f, 0x12, 0x16, 0x3d, 0xfb, 0xaa, 0xf0, 0xea, 0xff, 0xed, 0x4f, 0xd0, 0x82, 0xd0, 0x83, 0xf0,
0xaf, 0x03, 0x12, 0x42, 0xfb, 0x12, 0x42, 0xd9, 0xef, 0xf0, 0xab, 0x2d, 0xaa, 0x2e, 0x90, 0x00,
0x02, 0x12, 0x16, 0x68, 0xe5, 0xf0, 0xff, 0xe5, 0x2b, 0xc4, 0x54, 0xf0, 0x4f, 0x12, 0x42, 0xfa,
0x12, 0x42, 0xd9, 0xef, 0xf0, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x12, 0x42, 0xfa, 0x12, 0x42,
0xd9, 0xef, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9, 0x74, 0x10, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9,
0xe4, 0xf0, 0x80, 0x06, 0x74, 0x06, 0x25, 0x2c, 0xf5, 0x2c, 0x05, 0x2b, 0x74, 0x06, 0x25, 0x2f,
0xf5, 0x2f, 0xe4, 0x35, 0x2e, 0xf5, 0x2e, 0x02, 0x1c, 0xf2, 0xe5, 0x2c, 0xc3, 0x94, 0x20, 0x50,
0x0a, 0x12, 0x42, 0xd5, 0x74, 0xff, 0xf0, 0x05, 0x2c, 0x80, 0xef, 0x12, 0x44, 0xf3, 0x90, 0x03,
0xa8, 0xe0, 0x7f, 0xff, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x44, 0x22, 0xab, 0x26, 0xaa, 0x27, 0xa9,
0x28, 0xad, 0x29, 0x12, 0x3e, 0x41, 0x22, 0x12, 0x40, 0x18, 0xef, 0x64, 0x01, 0x22, 0x15, 0x4d,
0x15, 0x4d, 0xc2, 0x99, 0x78, 0x58, 0xe6, 0x12, 0x18, 0x99, 0x1f, 0xcb, 0x01, 0x1e, 0x13, 0x02,
0x1e, 0x33, 0x03, 0x1f, 0xe9, 0x04, 0x1f, 0xdb, 0x0b, 0x1e, 0x24, 0x0c, 0x1f, 0x35, 0x0d, 0x00,
0x00, 0x1f, 0xe2, 0x12, 0x1f, 0xee, 0x75, 0x99, 0x1f, 0xe4, 0xf5, 0xa1, 0x12, 0x2f, 0x42, 0x76,
0x0c, 0x02, 0x1f, 0xe9, 0x78, 0x66, 0xe6, 0x78, 0x58, 0x60, 0x04, 0x76, 0x03, 0x80, 0xc5, 0x76,
0x04, 0x80, 0xc1, 0xe4, 0xf5, 0x87, 0xe5, 0x1e, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x1e, 0x12, 0x2e,
0xa0, 0xef, 0x56, 0x60, 0x11, 0xe5, 0x1f, 0x54, 0x07, 0x93, 0xff, 0xe5, 0x1f, 0x12, 0x2e, 0xa0,
0xef, 0x56, 0x60, 0x02, 0x80, 0x20, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80, 0x03,
0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x70, 0xc6, 0xf5, 0xe2, 0x78,
0x58, 0x76, 0x04, 0x02, 0x1f, 0xe9, 0xe5, 0x1e, 0x12, 0x2e, 0xaa, 0xe0, 0xff, 0x13, 0x13, 0x54,
0x3f, 0xfe, 0x78, 0x5c, 0xe6, 0xfd, 0x54, 0x10, 0x44, 0xa0, 0xfc, 0x4e, 0xf5, 0xf4, 0x75, 0xf0,
0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xad, 0xe0, 0xfe, 0x13, 0x13, 0x54, 0x3f, 0x4c, 0xf5, 0xf6, 0xee,
0x54, 0x03, 0x25, 0xe0, 0x25, 0xe0, 0xfe, 0xef, 0x54, 0x03, 0x4e, 0xf5, 0xe3, 0xed, 0x30, 0xe0,
0x45, 0x78, 0x66, 0xe6, 0x64, 0x01, 0x70, 0x3e, 0xa8, 0x4d, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d,
0xe6, 0xfe, 0xc3, 0x9f, 0x50, 0x14, 0xe4, 0xf5, 0x87, 0x7d, 0x06, 0x12, 0x2e, 0xc2, 0x2e, 0x12,
0x2e, 0x77, 0x12, 0x39, 0x0c, 0xa8, 0x4d, 0x06, 0x80, 0xe1, 0x53, 0xf4, 0xef, 0x53, 0xf6, 0xef,
0x78, 0x5f, 0xe6, 0xf5, 0x99, 0xe5, 0x1e, 0x12, 0x2e, 0x8c, 0x78, 0x61, 0x12, 0x2e, 0x82, 0xe0,
0x2e, 0xf5, 0xf7, 0x18, 0x80, 0x2c, 0x7d, 0x06, 0x12, 0x2e, 0x68, 0x12, 0x39, 0x0c, 0x7d, 0x06,
0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0x78, 0x5a, 0xe6, 0xf5, 0x99,
0x75, 0xf0, 0x11, 0xe5, 0x1e, 0x12, 0x2e, 0x8f, 0x08, 0x12, 0x2e, 0x82, 0xe0, 0x2e, 0xf5, 0xf7,
0x78, 0x59, 0xe6, 0x44, 0x50, 0xf5, 0xa1, 0xe4, 0xf5, 0xa2, 0x75, 0xa3, 0x80, 0x12, 0x2f, 0x42,
0x76, 0x0d, 0x02, 0x1f, 0xe9, 0x78, 0x5e, 0xe6, 0x7f, 0x02, 0x60, 0x02, 0x7f, 0x05, 0xa8, 0x4d,
0xa6, 0x07, 0xe4, 0xf5, 0xf4, 0xf5, 0xf6, 0x78, 0x5c, 0xe6, 0x30, 0xe0, 0x2a, 0x78, 0x66, 0xe6,
0x64, 0x01, 0x70, 0x23, 0xa8, 0x4d, 0x08, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d, 0x08, 0xe6, 0xfe,
0xc3, 0x9f, 0x50, 0x28, 0xe4, 0xf5, 0x87, 0x12, 0x2e, 0xbe, 0x2e, 0x12, 0x2e, 0x77, 0x12, 0x39,
0x0c, 0xa8, 0x4d, 0x08, 0x06, 0x80, 0xe1, 0xa8, 0x4d, 0xe6, 0xfd, 0x12, 0x2e, 0x68, 0x12, 0x39,
0x0c, 0x12, 0x2e, 0xbe, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0xe5, 0x1e, 0x12, 0x2e,
0xe2, 0xe5, 0x93, 0xf0, 0xa3, 0xe5, 0x92, 0xf0, 0x75, 0xf0, 0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xe5,
0xe5, 0x9b, 0xf0, 0xa3, 0xe5, 0x9a, 0xf0, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80,
0x03, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x60, 0x08, 0x18, 0xe6,
0x78, 0x58, 0xf6, 0x02, 0x1d, 0xf4, 0xe4, 0xf5, 0xe2, 0x80, 0x17, 0x12, 0x1f, 0xee, 0x75, 0x99,
0x03, 0x75, 0xa1, 0x02, 0x12, 0x2f, 0x42, 0x76, 0x0b, 0x80, 0x0e, 0x78, 0x58, 0x76, 0x02, 0x02,
0x1d, 0xf4, 0x78, 0x58, 0x76, 0x04, 0x02, 0x1d, 0xf4, 0x05, 0x4d, 0x05, 0x4d, 0x22, 0x78, 0x5d,
0xe6, 0xf5, 0xf5, 0xf5, 0xf7, 0x18, 0xe6, 0x54, 0x10, 0x44, 0x80, 0xf5, 0xf4, 0xf5, 0xf6, 0x7d,
0x06, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e,
0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x7d, 0x06, 0xe5,
0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1f, 0xf5, 0x82,
0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xf5,
0x36, 0x12, 0x24, 0xb4, 0x74, 0x0d, 0x93, 0xfe, 0x74, 0x0e, 0x93, 0xff, 0x74, 0x03, 0x93, 0xfa,
0x74, 0x04, 0x93, 0xfb, 0x2f, 0xff, 0xea, 0x3e, 0xfe, 0xe4, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15,
0x9c, 0x8e, 0x37, 0x8f, 0x38, 0xe5, 0x36, 0x70, 0x3e, 0x75, 0x2b, 0x01, 0x12, 0x25, 0x1d, 0xe4,
0xf5, 0x30, 0xf5, 0x31, 0x78, 0x88, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x87, 0x12, 0x25, 0x93,
0x78, 0x8c, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8b, 0x12, 0x25, 0x88, 0x74, 0x09, 0x93, 0xfc,
0x74, 0x0a, 0x12, 0x25, 0x29, 0x78, 0x90, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8f, 0x12, 0x24,
0xfe, 0x12, 0x26, 0x41, 0x02, 0x21, 0xaa, 0x78, 0x91, 0xe6, 0x14, 0x65, 0x36, 0x70, 0x3b, 0xf5,
0x2b, 0x12, 0x25, 0x1d, 0x8a, 0x30, 0x8b, 0x31, 0x12, 0x25, 0x06, 0x24, 0x80, 0x12, 0x24, 0x98,
0x12, 0x25, 0x06, 0x24, 0x7f, 0x12, 0x24, 0xfd, 0x12, 0x26, 0x41, 0x12, 0x25, 0x06, 0x24, 0x84,
0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x87, 0x12, 0x24, 0xb4, 0x74, 0x0b,
0x93, 0xfc, 0x74, 0x0c, 0x12, 0x25, 0x29, 0x02, 0x21, 0x9a, 0x12, 0x25, 0x5d, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x37, 0xc3, 0x13, 0xfe, 0xe5, 0x38, 0x13, 0x2d, 0xf5, 0x31, 0xec, 0x3e, 0xf5, 0x30,
0x12, 0x25, 0x06, 0x24, 0x84, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x92,
0x12, 0x25, 0x06, 0x24, 0x8c, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x8b, 0x12, 0x25, 0x87,
0xd3, 0xe5, 0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x40, 0x38, 0xe5, 0x36, 0xb4, 0x01, 0x25,
0xe5, 0x38, 0xae, 0x37, 0x78, 0x02, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0x7c, 0x00,
0x7d, 0x05, 0x12, 0x15, 0x9c, 0xaa, 0x06, 0xab, 0x07, 0x12, 0x25, 0x5d, 0xef, 0x2b, 0xf5, 0x31,
0xee, 0x3a, 0x12, 0x25, 0x1b, 0xe4, 0xf5, 0x2b, 0x12, 0x26, 0x02, 0x85, 0x2c, 0x2e, 0x85, 0x2d,
0x2f, 0x80, 0x37, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xb5, 0x36, 0x1b, 0x12, 0x25, 0x5d, 0xaa, 0x06,
0xab, 0x07, 0xae, 0x37, 0xaf, 0x38, 0x7c, 0x00, 0x7d, 0x05, 0x12, 0x15, 0x9c, 0xeb, 0x2f, 0xf5,
0x31, 0xea, 0x3e, 0x12, 0x25, 0x1b, 0x75, 0x2b, 0x01, 0xe4, 0x85, 0x2d, 0x35, 0x85, 0x2c, 0x34,
0xf5, 0x33, 0xf5, 0x32, 0x85, 0x2e, 0x2e, 0x85, 0x2f, 0x2f, 0x12, 0x25, 0x06, 0x24, 0x88, 0x12,
0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x87, 0x12, 0x25, 0x92, 0xae, 0x2c, 0xaf, 0x2d, 0xe4, 0xfc,
0xfd, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x29, 0xae,
0x2e, 0xaf, 0x2f, 0xe4, 0xfc, 0xfd, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x1a, 0xae, 0x34,
0xaf, 0x35, 0xc3, 0xe5, 0x2d, 0x9f, 0xf5, 0x2d, 0xe5, 0x2c, 0x9e, 0xf5, 0x2c, 0xc3, 0xe5, 0x2f,
0x9f, 0xf5, 0x2f, 0xe5, 0x2e, 0x9e, 0xf5, 0x2e, 0xe4, 0x12, 0x26, 0x02, 0x7f, 0x80, 0xfe, 0xfd,
0xfc, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0x12, 0x24, 0xd8, 0xae, 0x37, 0xaf, 0x38,
0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xe8, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5,
0x2c, 0x35, 0x2e, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73,
0xef, 0x24, 0x40, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xe4, 0x7b, 0x80,
0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33, 0x8c, 0x32, 0xe5, 0x2b,
0x60, 0x16, 0xe4, 0xfc, 0xfd, 0xe5, 0x35, 0x25, 0x31, 0xff, 0xe5, 0x34, 0x35, 0x30, 0xfe, 0xed,
0x35, 0x33, 0xfd, 0xec, 0x35, 0x32, 0x80, 0x12, 0xc3, 0xe5, 0x31, 0x95, 0x35, 0xff, 0xe5, 0x30,
0x95, 0x34, 0xfe, 0xe4, 0x95, 0x33, 0xfd, 0xe4, 0x95, 0x32, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33,
0xf5, 0x32, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xe4, 0xfb, 0x78, 0x68, 0xe6, 0xff, 0xeb, 0xc3, 0x9f,
0x40, 0x03, 0x02, 0x24, 0x89, 0xeb, 0x12, 0x2e, 0xec, 0xff, 0xeb, 0x12, 0x2e, 0xa0, 0xef, 0x56,
0x70, 0x03, 0x02, 0x24, 0x85, 0xe4, 0xf5, 0x87, 0x78, 0x64, 0xe6, 0xfa, 0x20, 0xe2, 0x03, 0x02,
0x23, 0x90, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0xe4, 0xfe, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x4c, 0xe0, 0xfc, 0xa3, 0xe0, 0x24, 0x00, 0xf5, 0x2e, 0xee, 0x3c, 0xf5, 0x2d, 0x12, 0x2e,
0xdb, 0x74, 0x06, 0x93, 0xff, 0x60, 0x5d, 0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0x2f, 0xff,
0xee, 0x3c, 0xfe, 0xd3, 0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b, 0xf8,
0xe2, 0x44, 0x04, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x06, 0x2b, 0xf8, 0xe2, 0x54, 0xfb,
0xf2, 0x12, 0x2e, 0xdb, 0x74, 0x06, 0x93, 0x7e, 0x00, 0x25, 0x2e, 0xff, 0xee, 0x35, 0x2d, 0xfe,
0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b,
0xf8, 0xe2, 0x44, 0x08, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x10, 0x2b, 0xf8, 0xe2, 0x54,
0xf7, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x04, 0xf2, 0x78, 0x5c, 0xe6, 0x30,
0xe0, 0x16, 0x12, 0x2f, 0x76, 0xeb, 0xc3, 0x9f, 0x40, 0x06, 0x78, 0x60, 0xe6, 0xff, 0x80, 0x04,
0x78, 0x59, 0xe6, 0xff, 0x8f, 0x2c, 0x80, 0x05, 0x78, 0x59, 0xe6, 0xf5, 0x2c, 0xe5, 0x2c, 0x25,
0xe0, 0x24, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x48, 0xf5, 0x83, 0xe4, 0x93, 0xfe, 0x74, 0x01, 0x93,
0xff, 0x7c, 0x00, 0x7d, 0x0a, 0x12, 0x15, 0x9c, 0x7c, 0x00, 0x7d, 0x09, 0x12, 0x15, 0x8a, 0xd3,
0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x40, 0x0e, 0xea, 0x44, 0x20, 0x78, 0x64, 0xf6, 0x74, 0xd6,
0x2b, 0xf8, 0xe2, 0x44, 0x10, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0x12, 0x2f, 0x3a,
0x12, 0x2e, 0xdb, 0x74, 0x08, 0x93, 0x25, 0xe0, 0xf5, 0x2e, 0x74, 0x07, 0x93, 0x33, 0xf5, 0x2d,
0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0xfd, 0x30, 0xe0, 0x19, 0xe5, 0x2e, 0xae, 0x2d, 0x78, 0x02, 0xce,
0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3, 0xe5, 0x2e, 0x9f, 0xf5, 0x2e, 0xe5, 0x2d, 0x9e,
0xf5, 0x2d, 0xe5, 0x2d, 0xc3, 0x13, 0xfe, 0xe5, 0x2e, 0x13, 0xff, 0xeb, 0x12, 0x2e, 0x54, 0xe0,
0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0x2f, 0xff, 0xe5, 0x83, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0xd3, 0x9f, 0xe5, 0x83,
0x9e, 0x40, 0x48, 0x74, 0xd6, 0x2b, 0xf8, 0xed, 0x44, 0x02, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0x25, 0x2e, 0xff, 0xe5, 0x2d, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x13, 0x78, 0x64,
0xe6, 0x44, 0x02, 0xf6, 0x44, 0x08, 0xf6, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x01, 0xf2, 0x80,
0x12, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x54, 0xfe, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2,
0x54, 0xfd, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x57, 0x12, 0x2e, 0xf3, 0xeb, 0x12, 0x2e,
0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x1f, 0x75, 0xf0, 0x11, 0xeb,
0x12, 0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0xc3, 0xed, 0x9f, 0xff, 0xec, 0x9e, 0xf8, 0xeb,
0x25, 0xe0, 0x24, 0x86, 0xc8, 0xf2, 0x08, 0xef, 0xf2, 0x80, 0x0a, 0xeb, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0x0b, 0x02, 0x22, 0x79, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8, 0xee,
0xf2, 0x08, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x06, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x78,
0x37, 0xe2, 0xfe, 0x08, 0xe2, 0x78, 0x07, 0xff, 0xc3, 0xe2, 0x9f, 0xff, 0x18, 0xe2, 0x9e, 0xfe,
0x22, 0x12, 0x18, 0x68, 0x85, 0x0f, 0x82, 0x85, 0x0e, 0x83, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8,
0xee, 0xf2, 0x08, 0xef, 0xf2, 0x22, 0xe5, 0x08, 0x24, 0x0a, 0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24,
0x06, 0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xfd, 0x22, 0x12, 0x16, 0xe8, 0xa8, 0x04, 0xa9, 0x05, 0xaa,
0x06, 0xab, 0x07, 0x22, 0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x24,
0x11, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x22, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2f,
0xff, 0x18, 0xe2, 0x3e, 0xfe, 0x22, 0xe5, 0x36, 0x25, 0xe0, 0x25, 0xe0, 0x22, 0x74, 0x01, 0x93,
0xfe, 0x74, 0x02, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x02, 0x18, 0x5b, 0xf5, 0x30, 0xe5, 0x38, 0x25,
0x38, 0xf5, 0x38, 0xe5, 0x37, 0x33, 0xf5, 0x37, 0x22, 0x93, 0xfd, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x15, 0x8a, 0x7c, 0x00, 0x7d, 0x14, 0x12, 0x15, 0x9c, 0xef, 0x25, 0x2f, 0xf5, 0x2f, 0xee, 0x35,
0x2e, 0xf5, 0x2e, 0x22, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x18, 0x5b, 0x12, 0x16, 0xe8, 0xe4,
0x7b, 0x02, 0xfa, 0xf9, 0xf8, 0x22, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15, 0x03, 0xaf, 0x36, 0x7e,
0x00, 0xac, 0x37, 0xad, 0x38, 0x02, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe2, 0x22, 0x7e,
0x00, 0x7f, 0x06, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x78, 0x79, 0x12, 0x18, 0x3f, 0x78,
0x75, 0x12, 0x18, 0x5b, 0x02, 0x16, 0xcd, 0xf8, 0xe2, 0x2f, 0xf5, 0x2f, 0x18, 0xe2, 0x3e, 0xf5,
0x2e, 0x22, 0xf8, 0xe2, 0x2f, 0xf5, 0x2d, 0x18, 0xe2, 0x3e, 0xf5, 0x2c, 0x22, 0xe5, 0x2a, 0x75,
0xf0, 0x42, 0xa4, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xd3, 0xe5,
0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x22, 0x78, 0x37, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xc3,
0x78, 0x49, 0x22, 0x7b, 0xfe, 0x7e, 0x00, 0x7f, 0x0a, 0x02, 0x15, 0x03, 0xe5, 0x08, 0x24, 0x3a,
0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0xe2, 0x22, 0xfe, 0x78, 0x75, 0xe4, 0xfc, 0xfd,
0x02, 0x18, 0x68, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0x74, 0x01, 0xf2, 0x22, 0xf8, 0xe2, 0x2d, 0xfd,
0x18, 0xe2, 0x3c, 0xcd, 0xc3, 0x9f, 0x22, 0x74, 0x2d, 0x25, 0x2c, 0xf8, 0xa6, 0x06, 0x78, 0x7b,
0xe6, 0x22, 0x85, 0x2f, 0x35, 0x85, 0x2e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xd3, 0xeb, 0x95,
0x2e, 0xea, 0x95, 0x2d, 0x22, 0xe5, 0x08, 0x24, 0x15, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5,
0x08, 0x24, 0x22, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5, 0x08, 0x24, 0x02, 0xf8, 0xe2, 0x22,
0xe5, 0x08, 0x24, 0x03, 0xf8, 0xe2, 0x22, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x00, 0xf8, 0xe2,
0x22, 0xe4, 0x8f, 0x35, 0x8e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xc3, 0x74, 0x04, 0x93, 0x9f,
0xff, 0x74, 0x03, 0x93, 0x22, 0xe4, 0x78, 0x64, 0xf6, 0x18, 0xe6, 0x70, 0x03, 0x02, 0x27, 0x19,
0x14, 0x70, 0x03, 0x02, 0x27, 0xf6, 0x14, 0x60, 0x53, 0x14, 0x60, 0x03, 0x02, 0x28, 0x12, 0x12,
0x28, 0x17, 0x12, 0x3a, 0x6a, 0x12, 0x22, 0x77, 0x78, 0x64, 0xe6, 0x30, 0xe1, 0x04, 0x78, 0x67,
0x76, 0x28, 0x12, 0x30, 0xbe, 0x78, 0x5c, 0xe6, 0x20, 0xe0, 0x03, 0x02, 0x28, 0x16, 0x78, 0x68,
0xe6, 0xff, 0x24, 0xd4, 0xf8, 0xe2, 0x20, 0xe0, 0x1f, 0x74, 0xd5, 0x2f, 0xf8, 0xe2, 0x20, 0xe0,
0x17, 0x78, 0x64, 0xe6, 0x30, 0xe3, 0x11, 0x05, 0x1d, 0xe5, 0x1d, 0xd3, 0x94, 0x14, 0x40, 0x03,
0x18, 0x76, 0x02, 0xe4, 0x78, 0x64, 0xf6, 0x22, 0xe4, 0xf5, 0x1d, 0x22, 0x12, 0x28, 0x17, 0x12,
0x43, 0x0c, 0xe4, 0xf5, 0x2b, 0xe5, 0x2b, 0xc3, 0x78, 0x68, 0x96, 0x50, 0x47, 0xe5, 0x2b, 0x12,
0x2e, 0xec, 0xff, 0xe5, 0x2b, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x34, 0x12, 0x2e, 0x47, 0xe0,
0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x00, 0x12, 0x2e, 0x39, 0xe0, 0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x02,
0x12, 0x2e, 0x39, 0x12, 0x2e, 0xf3, 0xe5, 0x2b, 0x90, 0x01, 0x04, 0x12, 0x2e, 0x3f, 0xe0, 0xfe,
0xa3, 0xe0, 0xff, 0xe5, 0x2b, 0x90, 0x01, 0x0d, 0x12, 0x2e, 0xd5, 0xee, 0xf0, 0xa3, 0xef, 0xf0,
0x05, 0x2b, 0x80, 0xb1, 0x78, 0x63, 0x76, 0x03, 0x22, 0xe4, 0xf5, 0x2b, 0x78, 0x67, 0xf6, 0x78,
0x64, 0xf6, 0x7e, 0x02, 0x7f, 0xa8, 0xfd, 0x7b, 0x01, 0x7a, 0x00, 0x79, 0xfe, 0x12, 0x18, 0xec,
0x7f, 0x50, 0x7a, 0x00, 0x79, 0x86, 0x12, 0x2f, 0x55, 0x7f, 0x28, 0x7a, 0x00, 0x79, 0xd6, 0x12,
0x2f, 0x55, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x78, 0x68, 0xf6, 0x90, 0x48, 0x36, 0xe4, 0x93,
0xfe, 0x74, 0x01, 0x93, 0xff, 0x12, 0x2e, 0xdb, 0x74, 0x05, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x18,
0xbf, 0xe4, 0x7b, 0xc8, 0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x78, 0x4e, 0xa6, 0x06, 0x08, 0xa6,
0x07, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x2c, 0xe4, 0xf5, 0x1e, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xf5,
0x1f, 0x12, 0x2f, 0x4a, 0x50, 0x46, 0x12, 0x2e, 0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e,
0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01, 0x12, 0x44, 0x05, 0x05, 0x1e, 0x05, 0x1f, 0x05,
0x2b, 0x80, 0xde, 0xe4, 0xf5, 0x1e, 0x75, 0x1f, 0x01, 0x12, 0x2f, 0x4a, 0x50, 0x1e, 0x12, 0x2e,
0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01,
0x12, 0x44, 0x05, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x05, 0x2b, 0x80, 0xdd, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe0, 0x0b, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x24, 0x02, 0x78, 0x68, 0xf6, 0xef, 0x54,
0x02, 0x44, 0x91, 0x78, 0x62, 0xf6, 0x78, 0x58, 0x76, 0x04, 0x78, 0x65, 0x76, 0x02, 0x12, 0x40,
0xac, 0x78, 0x63, 0x76, 0x01, 0x22, 0x78, 0x65, 0x76, 0x01, 0x12, 0x3c, 0xd3, 0x78, 0x65, 0x76,
0x02, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x78, 0x63, 0x76,
0x02, 0x22, 0xe4, 0x78, 0x63, 0xf6, 0x22, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x22, 0x8b, 0x26,
0x8a, 0x27, 0x89, 0x28, 0x7e, 0x00, 0x7f, 0x0c, 0x7d, 0x00, 0x12, 0x18, 0xec, 0x7a, 0x00, 0x79,
0x04, 0x12, 0x25, 0x6f, 0x7a, 0x00, 0x79, 0x46, 0x12, 0x25, 0x6f, 0xe5, 0x0c, 0x14, 0x60, 0x54,
0x04, 0x60, 0x03, 0x02, 0x29, 0xc1, 0xe4, 0xf5, 0x0d, 0xff, 0x12, 0x46, 0xdd, 0x12, 0x46, 0xe2,
0xef, 0x64, 0x03, 0x60, 0x08, 0xe4, 0xf5, 0x87, 0x12, 0x26, 0x55, 0x80, 0xf0, 0x7b, 0xfe, 0x7a,
0x00, 0x79, 0x15, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x46, 0x9b, 0x7b,
0xfe, 0x7a, 0x00, 0x79, 0x57, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x64, 0x12, 0x46,
0x9b, 0x7e, 0x00, 0x7f, 0x84, 0x7d, 0x00, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x00, 0x12, 0x18, 0xec,
0x75, 0x0c, 0x01, 0x22, 0x12, 0x26, 0x55, 0x78, 0x64, 0xe6, 0xf5, 0x29, 0xaf, 0x09, 0xef, 0x13,
0x13, 0x54, 0x3f, 0x30, 0xe0, 0x08, 0xe5, 0x29, 0x30, 0xe4, 0x03, 0x02, 0x29, 0xc1, 0xe5, 0x29,
0x20, 0xe3, 0x03, 0x02, 0x29, 0x49, 0x12, 0x34, 0x48, 0xaf, 0x0a, 0x12, 0x3d, 0xce, 0x8f, 0x0a,
0xaf, 0x0b, 0x12, 0x3d, 0xce, 0x8f, 0x0b, 0x75, 0x2e, 0xfe, 0x75, 0x2f, 0x00, 0x75, 0x30, 0x86,
0x7b, 0x00, 0x7a, 0x00, 0x79, 0x0a, 0x12, 0x46, 0xb4, 0xaf, 0x09, 0xef, 0xc3, 0x13, 0x30, 0xe0,
0x05, 0x12, 0x31, 0xf8, 0x80, 0x08, 0xe4, 0x78, 0x92, 0xf6, 0x08, 0xf6, 0x08, 0xf6, 0xe4, 0xf5,
0x2a, 0x74, 0x0a, 0x25, 0x2a, 0xf8, 0xe6, 0xff, 0x12, 0x25, 0x9d, 0x24, 0x00, 0xf8, 0xef, 0xf2,
0xf4, 0x60, 0x30, 0xaf, 0x2a, 0x12, 0x29, 0xc5, 0x12, 0x25, 0x9d, 0x24, 0x04, 0x12, 0x24, 0xbf,
0xaf, 0x2a, 0x12, 0x20, 0x3c, 0x12, 0x25, 0x9d, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0x9d,
0x24, 0x09, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25, 0x9d, 0x24, 0x04, 0xf9, 0xe4, 0xfa, 0x7b, 0xfe,
0x12, 0x46, 0xad, 0x05, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x40, 0xb5, 0x12, 0x2c, 0xce, 0xe5,
0x29, 0x30, 0xe5, 0x0b, 0x75, 0x0d, 0x01, 0x80, 0x06, 0xe5, 0x0d, 0x60, 0x02, 0x80, 0x72, 0x75,
0x08, 0x00, 0xe4, 0xf5, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x50, 0x3c, 0xe4, 0xf5, 0x87, 0x12,
0x3c, 0x49, 0x12, 0x38, 0x1e, 0x12, 0x25, 0x68, 0x60, 0x05, 0x12, 0x19, 0x18, 0x80, 0x0d, 0x12,
0x24, 0xe4, 0x12, 0x25, 0xe5, 0x74, 0x84, 0x25, 0x2a, 0xf8, 0xe4, 0xf2, 0x12, 0x35, 0x4c, 0x12,
0x25, 0xa4, 0xe5, 0x08, 0x24, 0x35, 0xf8, 0x7c, 0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0x05, 0x2a,
0x74, 0x42, 0x25, 0x08, 0xf5, 0x08, 0x80, 0xbd, 0xa8, 0x28, 0xac, 0x27, 0xad, 0x26, 0x7b, 0xfe,
0x7a, 0x00, 0x79, 0x04, 0x12, 0x25, 0x56, 0xe5, 0x28, 0x24, 0x06, 0xf9, 0xe4, 0x35, 0x27, 0xa8,
0x01, 0xfc, 0xad, 0x26, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x46, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15,
0x03, 0xe4, 0xf5, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xfe, 0x70, 0x04, 0xf5, 0x2b, 0x80, 0x1f, 0x78,
0x91, 0xe6, 0xfd, 0x14, 0xb5, 0x06, 0x09, 0xed, 0x25, 0xe0, 0x24, 0xfa, 0xf5, 0x2b, 0x80, 0x0e,
0x74, 0x84, 0x2f, 0xf8, 0x74, 0x03, 0xf2, 0xee, 0x25, 0xe0, 0x24, 0xfe, 0xf5, 0x2b, 0xef, 0x75,
0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8, 0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8,
0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03, 0xf8, 0xe4, 0xf2, 0xfe, 0xe5, 0x2b, 0x2e,
0xfd, 0x24, 0xd6, 0xf8, 0xe2, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8,
0xe2, 0x04, 0xf2, 0x74, 0xd6, 0x2d, 0xf8, 0xe2, 0x13, 0x13, 0x54, 0x3f, 0x30, 0xe0, 0x0b, 0xef,
0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8, 0xe2, 0x04, 0xf2, 0xe5, 0x2b, 0x2e, 0x24, 0xd6, 0xf8,
0xe2, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03,
0xf8, 0xe2, 0x04, 0xf2, 0x0e, 0xbe, 0x06, 0xb5, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8a, 0x12, 0x24,
0x98, 0xe5, 0x2b, 0x12, 0x24, 0xf9, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x24, 0xfd, 0x78,
0x93, 0xe6, 0xfa, 0x08, 0xe6, 0xfb, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a, 0x12, 0x25, 0xda, 0xe5,
0x2b, 0x25, 0xe0, 0x24, 0x8c, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x89, 0x12, 0x24,
0xfd, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x91, 0xf8, 0xe2, 0x2f, 0xff, 0x18, 0xe2, 0x3e, 0xcf, 0xc3,
0x9b, 0xcf, 0x9a, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x79, 0x12, 0x24, 0xb1, 0x74, 0x07, 0x93, 0xfe,
0x74, 0x08, 0x78, 0x79, 0x12, 0x25, 0x44, 0x12, 0x16, 0xe8, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06,
0xc0, 0x07, 0x12, 0x24, 0xb4, 0x78, 0x79, 0x12, 0x25, 0x0d, 0x12, 0x16, 0xe8, 0xd0, 0x03, 0xd0,
0x02, 0xd0, 0x01, 0xd0, 0x00, 0x12, 0x16, 0xcd, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07,
0x12, 0x24, 0xb4, 0x74, 0x05, 0x93, 0xfe, 0x74, 0x06, 0x78, 0x75, 0x12, 0x25, 0x44, 0x12, 0x24,
0xd8, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x16, 0xda, 0x78, 0x7d, 0x12, 0x18,
0x68, 0x78, 0x7d, 0x12, 0x18, 0x3f, 0xec, 0x33, 0x50, 0x0b, 0x78, 0x75, 0x12, 0x18, 0x74, 0x00,
0x00, 0x00, 0x01, 0x80, 0x48, 0x12, 0x25, 0x7a, 0x12, 0x25, 0x4f, 0x12, 0x17, 0x73, 0x78, 0x7d,
0x12, 0x25, 0x81, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x25, 0x7a, 0x12, 0x24,
0xdb, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x24,
0xb1, 0x78, 0x75, 0x12, 0x25, 0x0d, 0xd3, 0x12, 0x18, 0x1b, 0x40, 0x11, 0x12, 0x24, 0xb4, 0x74,
0x02, 0x93, 0x24, 0xff, 0xff, 0x74, 0x01, 0x93, 0x34, 0xff, 0x12, 0x25, 0xda, 0x78, 0x75, 0x12,
0x18, 0x3f, 0x22, 0xe4, 0xf5, 0x10, 0x90, 0x04, 0xa9, 0xe0, 0x70, 0x03, 0x02, 0x2c, 0x35, 0x14,
0x70, 0x03, 0x02, 0x2c, 0x55, 0x14, 0x70, 0x03, 0x02, 0x2c, 0x8a, 0x24, 0xfe, 0x60, 0x2c, 0x04,
0x60, 0x03, 0x02, 0x2c, 0x92, 0x90, 0xff, 0x11, 0xe4, 0xf0, 0x90, 0xff, 0x14, 0xf0, 0xa3, 0xf0,
0xa3, 0xf0, 0xa3, 0xf0, 0xa3, 0xf0, 0x75, 0x14, 0x47, 0x75, 0x15, 0x5c, 0x12, 0x2c, 0xb5, 0x12,
0x2c, 0xc4, 0x90, 0x04, 0xa9, 0x74, 0x04, 0xf0, 0xe4, 0xf5, 0x10, 0x12, 0x2c, 0xc4, 0xe4, 0xf5,
0x10, 0xfb, 0x7a, 0x00, 0x79, 0x69, 0xfd, 0x12, 0x1b, 0x88, 0xe5, 0x11, 0x60, 0x72, 0xe4, 0xf5,
0x25, 0xf5, 0x24, 0xf5, 0x23, 0xf5, 0x22, 0xf5, 0x21, 0x85, 0x15, 0x82, 0x85, 0x14, 0x83, 0x74,
0x02, 0x93, 0xff, 0xe5, 0x21, 0xc3, 0x9f, 0x50, 0x30, 0xaf, 0x21, 0x12, 0x14, 0x1e, 0xef, 0xd3,
0x94, 0x32, 0x40, 0x21, 0xe4, 0x7f, 0x01, 0xfe, 0xfd, 0xfc, 0xa9, 0x21, 0xa8, 0x01, 0x12, 0x18,
0x2c, 0xe5, 0x25, 0x4f, 0xf5, 0x25, 0xe5, 0x24, 0x4e, 0xf5, 0x24, 0xe5, 0x23, 0x4d, 0xf5, 0x23,
0xe5, 0x22, 0x4c, 0xf5, 0x22, 0x05, 0x21, 0x80, 0xc0, 0x75, 0x13, 0x02, 0xe5, 0x13, 0x70, 0x02,
0x80, 0x16, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0xff, 0x12, 0x46, 0x12, 0x8e, 0x14, 0x8f, 0x15,
0xe5, 0x15, 0x45, 0x14, 0x60, 0x02, 0x80, 0x6a, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x80, 0x67,
0x75, 0x11, 0x10, 0x80, 0x62, 0xe4, 0xf5, 0x87, 0x12, 0x2c, 0xb5, 0xaf, 0x15, 0xae, 0x14, 0x12,
0x45, 0x64, 0xe4, 0xfd, 0xff, 0x12, 0x45, 0xa9, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x90, 0x04, 0xa9,
0x74, 0x01, 0xf0, 0x80, 0x42, 0xe4, 0xf5, 0x21, 0xf5, 0x22, 0xf5, 0x87, 0xf5, 0x10, 0xfb, 0x7a,
0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x78, 0x6d, 0xe6, 0x60, 0x07, 0x78, 0x73, 0xe6, 0x60, 0x02,
0x80, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x33, 0x31, 0x8f, 0x21, 0x7b, 0x00, 0x7a,
0x00, 0x79, 0x69, 0xad, 0x22, 0x12, 0x1b, 0x88, 0x80, 0x0d, 0xe4, 0xf5, 0xe2, 0x75, 0x10, 0x05,
0x80, 0x05, 0xe4, 0x90, 0x04, 0xa9, 0xf0, 0xe5, 0x10, 0x60, 0x19, 0xe4, 0xf5, 0x87, 0x90, 0x04,
0xa9, 0xe0, 0xb4, 0x02, 0x04, 0xd2, 0xf9, 0x80, 0x02, 0xd2, 0xf8, 0xe4, 0xf5, 0x87, 0xf5, 0x87,
0xf5, 0x87, 0x80, 0xe3, 0x22, 0xaf, 0x15, 0xae, 0x14, 0x12, 0x3b, 0x10, 0xaf, 0x15, 0xae, 0x14,
0x12, 0x44, 0xaf, 0x22, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x22, 0x78, 0x09,
0xe2, 0x60, 0x0d, 0x78, 0x4b, 0xe2, 0x7f, 0x01, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x30, 0x80, 0x0b,
0x78, 0x4b, 0xe2, 0x7f, 0x00, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x30, 0x78, 0x3a, 0xe2, 0xff, 0x60,
0x0d, 0x78, 0x7c, 0xe2, 0x7e, 0x01, 0x60, 0x02, 0x7e, 0x02, 0x8e, 0x31, 0x80, 0x0b, 0x78, 0x7c,
0xe2, 0x7e, 0x00, 0x60, 0x02, 0x7e, 0x01, 0x8e, 0x31, 0xe4, 0xf5, 0x2b, 0xe5, 0x30, 0x64, 0x01,
0x70, 0x43, 0xe5, 0x31, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0xb4, 0x01, 0x11, 0xef, 0x60,
0x03, 0x02, 0x2d, 0xf4, 0x78, 0x7c, 0xe2, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5,
0x31, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x78, 0x79,
0x12, 0x24, 0xa1, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x25, 0xae, 0x50, 0x03, 0x02,
0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5, 0x30, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31,
0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0x64, 0x01, 0x70, 0x3d, 0x78, 0x3a, 0xe2, 0x60, 0x0b,
0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x12, 0x25, 0xb8, 0x80, 0x1c, 0x78, 0x79, 0xe2, 0xfe, 0x08,
0xe2, 0x78, 0x49, 0x12, 0x24, 0xa7, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x78, 0x79, 0xe2,
0xfe, 0x08, 0xe2, 0xff, 0xc3, 0x78, 0x07, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f,
0x2f, 0x12, 0x25, 0xae, 0x40, 0x4e, 0x80, 0x49, 0xe5, 0x31, 0x64, 0x02, 0x70, 0x46, 0x78, 0x79,
0x12, 0x25, 0xba, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x24, 0x9f,
0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x25, 0xb8,
0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x78, 0x79, 0x12, 0x24, 0xa1, 0x12,
0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2f, 0xd0, 0xe0, 0x3e, 0xf5, 0x2e, 0x12, 0x25, 0xae, 0x40,
0x03, 0x75, 0x2b, 0x01, 0xe5, 0x2b, 0x60, 0x38, 0x78, 0x75, 0x7c, 0x00, 0x7d, 0x00, 0x7a, 0x00,
0x79, 0x00, 0x12, 0x25, 0xc3, 0x78, 0x00, 0x7c, 0x00, 0x7d, 0xfe, 0x7a, 0x00, 0x79, 0x42, 0x12,
0x25, 0xc3, 0x78, 0x42, 0x7c, 0x00, 0x7d, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x12, 0x25,
0xc5, 0x78, 0x84, 0xe2, 0xff, 0x78, 0x75, 0xf6, 0x78, 0x85, 0xe2, 0x18, 0xf2, 0x08, 0xef, 0xf2,
0x22, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x22, 0xff, 0x75, 0xf0, 0x11, 0xe5, 0x2b, 0x12,
0x18, 0x8d, 0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2b, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x0b, 0x02,
0x18, 0x8d, 0xe5, 0x2c, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x02, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x75,
0xf0, 0x11, 0x90, 0x01, 0x00, 0x02, 0x18, 0x8d, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35,
0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e, 0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93,
0xff, 0x22, 0xe0, 0xff, 0xe6, 0xfe, 0xef, 0x2e, 0xf5, 0xf5, 0xe5, 0x1f, 0x75, 0xf0, 0x11, 0x90,
0x00, 0xff, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x54, 0x07, 0x90, 0x48, 0x24, 0x93, 0xfe, 0xe5, 0x2c,
0x13, 0x13, 0x13, 0x54, 0x1f, 0x24, 0x50, 0xf8, 0x22, 0xef, 0x75, 0xf0, 0x11, 0x90, 0x00, 0xfe,
0x02, 0x18, 0x8d, 0x90, 0x01, 0x06, 0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x02, 0x18, 0x8d, 0xa8, 0x4d,
0xe6, 0xfd, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x22,
0xf2, 0xeb, 0x90, 0x01, 0x04, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0x85, 0x1c, 0x82, 0x85, 0x1b,
0x83, 0x22, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x09, 0x02, 0x18, 0x8d, 0xef, 0x54, 0x07, 0x90, 0x48,
0x24, 0x93, 0x22, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x75, 0xf0, 0x11, 0x22, 0x78, 0x68, 0xe6, 0xfe,
0xef, 0xc3, 0x9e, 0x22, 0xc3, 0x74, 0x08, 0x93, 0x9f, 0x74, 0x07, 0x93, 0x9e, 0x22, 0xe5, 0x2c,
0x90, 0x01, 0x08, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0xed, 0x33, 0x95, 0xe0, 0xfc, 0xed, 0x2f,
0xec, 0x3e, 0xc3, 0x64, 0x80, 0x94, 0x80, 0x22, 0xe5, 0x2e, 0x94, 0x00, 0xe5, 0x2d, 0x64, 0x80,
0x94, 0x80, 0x22, 0x85, 0x27, 0x82, 0x85, 0x26, 0x83, 0x22, 0xe5, 0x2d, 0xf0, 0xa3, 0xe5, 0x2e,
0xf0, 0x22, 0x78, 0x62, 0xe6, 0xf5, 0x91, 0x78, 0x58, 0x22, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xff,
0xe5, 0x2b, 0xc3, 0x9f, 0x22, 0x7e, 0x00, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x05, 0x1e,
0x05, 0x1e, 0x05, 0x1f, 0x22, 0xe0, 0xfe, 0xad, 0x2c, 0x74, 0x01, 0xa8, 0x05, 0x08, 0x22, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x9f, 0x22, 0x78, 0x68, 0xe6, 0x24, 0xfe, 0xff, 0x22, 0xc0, 0xe0, 0xc0,
0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02,
0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0xe8, 0x54, 0x3d, 0x70, 0x03,
0x02, 0x30, 0xa1, 0x85, 0xe8, 0x3d, 0x75, 0xe8, 0x00, 0xe5, 0x3d, 0x54, 0x38, 0x60, 0x07, 0x78,
0x8c, 0x76, 0x00, 0x75, 0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe2, 0x07, 0x78, 0x8c, 0x76, 0x00, 0x75,
0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe0, 0xd3, 0xe5, 0x4a, 0x70, 0x03, 0x02, 0x30, 0x5e, 0x14, 0x60,
0x6c, 0x14, 0x60, 0x4b, 0x14, 0x70, 0xc3, 0x85, 0xec, 0x3d, 0x75, 0xef, 0x01, 0x78, 0x8c, 0xe6,
0x70, 0x09, 0xaf, 0x3d, 0x08, 0xf6, 0x08, 0xa6, 0x07, 0x80, 0x13, 0x78, 0x8e, 0xe6, 0x7f, 0x00,
0x18, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xad, 0x3d, 0xee, 0x18, 0xf6, 0xed, 0x08, 0xf6, 0x78, 0x8c,
0x06, 0xe6, 0xc3, 0x18, 0x96, 0x40, 0x93, 0x75, 0x4a, 0x02, 0x78, 0x8d, 0xe6, 0xfe, 0x08, 0xe6,
0xff, 0x08, 0xee, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xff, 0x12, 0x46, 0xeb, 0x02, 0x2f, 0x9a, 0x85,
0xec, 0x3d, 0x12, 0x46, 0xa4, 0x70, 0x01, 0x06, 0x14, 0xff, 0xad, 0x3d, 0x12, 0x40, 0x62, 0xef,
0x70, 0x06, 0x75, 0xef, 0x01, 0x02, 0x2f, 0x9a, 0x75, 0x4a, 0x00, 0x80, 0x5e, 0xe5, 0x3d, 0x30,
0xe1, 0x09, 0x75, 0xef, 0x00, 0x75, 0x4a, 0x00, 0x02, 0x2f, 0x9a, 0x12, 0x46, 0xa4, 0x70, 0x01,
0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x02, 0x02, 0x2f, 0x9a, 0x85, 0xec,
0x3d, 0xe5, 0x3d, 0xc3, 0x13, 0x65, 0x4b, 0x70, 0x32, 0xe5, 0x3d, 0x30, 0xe0, 0x24, 0x78, 0x8d,
0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x08, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x18, 0x12, 0x46, 0xa6, 0x70,
0x01, 0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x03, 0x75, 0x4a, 0x01, 0x02,
0x2f, 0x9a, 0x75, 0xef, 0x01, 0x75, 0x4a, 0x03, 0x02, 0x2f, 0x9a, 0x75, 0xef, 0x00, 0x02, 0x2f,
0x9a, 0xc2, 0x9c, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0,
0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0x78, 0x67,
0xe6, 0x60, 0x01, 0x16, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3, 0x78, 0x68, 0x96, 0x40, 0x03, 0x02,
0x31, 0xf7, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x70,
0x03, 0x02, 0x31, 0xf2, 0x12, 0x2e, 0x52, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x5d, 0x12,
0x2f, 0x6f, 0xf5, 0x2e, 0xec, 0x9e, 0xf5, 0x2d, 0x90, 0x01, 0x07, 0x12, 0x2e, 0xb6, 0xe0, 0xf5,
0x2f, 0xe4, 0xf5, 0x87, 0x78, 0x67, 0xe6, 0x60, 0x09, 0xd3, 0x12, 0x2f, 0x28, 0x40, 0x03, 0x02,
0x31, 0xf2, 0xaf, 0x2e, 0xae, 0x2d, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50,
0x0d, 0x12, 0x2f, 0x28, 0x40, 0x04, 0x05, 0x2f, 0x80, 0x5a, 0x15, 0x2f, 0x80, 0x56, 0x12, 0x2e,
0xb3, 0xe0, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0xef, 0x25, 0x2e, 0xf5, 0x2e, 0xee, 0x35, 0x2d, 0xf5,
0x2d, 0xd3, 0xe5, 0x2e, 0x94, 0x78, 0x12, 0x2f, 0x2c, 0x40, 0x09, 0x12, 0x2e, 0x52, 0xe4, 0x75,
0xf0, 0x01, 0x80, 0x1a, 0xe5, 0x2e, 0x24, 0x78, 0xe4, 0x35, 0x2d, 0xc3, 0x64, 0x80, 0x94, 0x80,
0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x50, 0x11, 0x12, 0x2e, 0x57, 0x74, 0xff, 0xf5, 0xf0, 0x12, 0x16,
0x27, 0x12, 0x2e, 0xb3, 0xe4, 0xf0, 0x80, 0x09, 0x90, 0x01, 0x06, 0x12, 0x18, 0x8d, 0xe5, 0x2e,
0xf0, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0xdb, 0x74, 0x04, 0x93, 0xff, 0xd3, 0x64, 0x80, 0xf8, 0xe5,
0x2f, 0x64, 0x80, 0x98, 0x50, 0x0c, 0xef, 0x33, 0x95, 0xe0, 0xfe, 0xad, 0x2f, 0x12, 0x2f, 0x19,
0x50, 0x13, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0x5d, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x52,
0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2c, 0x90, 0x01, 0x07, 0x12, 0x2f, 0x13, 0xe5, 0x2f, 0xf0,
0x78, 0x67, 0xe6, 0x70, 0x2d, 0x12, 0x2e, 0x52, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x90, 0x01, 0x0d,
0x12, 0x18, 0x8d, 0x12, 0x2f, 0x6f, 0xff, 0xec, 0x9e, 0xfe, 0x12, 0x46, 0x5f, 0x7c, 0x00, 0x7d,
0x02, 0x12, 0x15, 0xf1, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50, 0x06, 0x78, 0x64, 0xe6, 0x44,
0x10, 0xf6, 0x05, 0x2c, 0x02, 0x30, 0xc7, 0x22, 0xe4, 0xf5, 0x2c, 0xf5, 0x2d, 0xf5, 0x2e, 0xf5,
0x2f, 0x78, 0x92, 0xf6, 0xe5, 0x0a, 0xb4, 0xff, 0x09, 0xe5, 0x0b, 0xf4, 0x60, 0x04, 0xe5, 0x0b,
0x80, 0x12, 0xe5, 0x0a, 0xf4, 0x70, 0x03, 0x02, 0x33, 0x30, 0xe5, 0x0b, 0xf4, 0x60, 0x03, 0x02,
0x33, 0x30, 0xe5, 0x0a, 0x25, 0xe0, 0xf5, 0x2b, 0xe5, 0x2b, 0xd3, 0x94, 0x02, 0x40, 0x64, 0x74,
0xd2, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xd3, 0x25, 0x2b, 0xf8, 0xe2, 0x30, 0xe0,
0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f,
0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0xd1,
0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f, 0x12, 0x25, 0xec, 0xf5, 0x2d, 0xed, 0x9e, 0xf5, 0x2c, 0xe5,
0x2d, 0xae, 0x2c, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee, 0xc4, 0xf8,
0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2c, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2d, 0x78, 0x92, 0x74,
0x08, 0x26, 0xf6, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xff, 0xe4, 0x34, 0xff, 0xfe, 0xef, 0x25, 0xe0,
0xff, 0xee, 0x33, 0xfe, 0xc3, 0xe5, 0x2b, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x50,
0x64, 0x74, 0xda, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xdb, 0x25, 0x2b, 0xf8, 0xe2,
0x30, 0xe0, 0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0,
0x24, 0x8f, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12,
0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x25, 0xec, 0xf5, 0x2f, 0xed, 0x9e, 0xf5,
0x2e, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee,
0xc4, 0xf8, 0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2e, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2f, 0x78,
0x92, 0x74, 0x08, 0x26, 0xf6, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5, 0x2c, 0x35, 0x2e, 0xfe, 0x7c,
0x00, 0x7d, 0x03, 0x12, 0x15, 0x8a, 0xee, 0xc3, 0x13, 0x79, 0x93, 0xf7, 0xef, 0x13, 0x09, 0xf7,
0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0xe4, 0xf5, 0x29, 0xf5, 0x2a, 0xf5, 0x2b, 0x85, 0x49,
0x82, 0x85, 0x48, 0x83, 0xe4, 0x93, 0xff, 0xe5, 0x29, 0xc3, 0x9f, 0x40, 0x03, 0x02, 0x34, 0x12,
0x12, 0x46, 0x26, 0x74, 0x01, 0x93, 0xf5, 0x2c, 0x12, 0x46, 0x20, 0x74, 0x02, 0x93, 0xf5, 0x2d,
0x12, 0x46, 0x20, 0x74, 0x04, 0x93, 0xfc, 0x74, 0x05, 0x93, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x86, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xd3, 0x9d, 0xee, 0x9c, 0x40, 0x6f, 0x7c, 0x00, 0x7d,
0x05, 0x12, 0x15, 0x8a, 0xe5, 0x2d, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x24, 0x01, 0xfd, 0x18,
0xe2, 0x34, 0x00, 0xfc, 0x12, 0x15, 0x9c, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x46, 0x20, 0x74, 0x03,
0x93, 0x30, 0xe7, 0x2b, 0x54, 0x7f, 0xc3, 0x95, 0x2f, 0xff, 0xe4, 0x95, 0x2e, 0xfe, 0x12, 0x46,
0x5f, 0xc3, 0x74, 0x03, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x40, 0x2e, 0xaf, 0x29,
0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x80, 0x1d, 0x12,
0x46, 0x20, 0x74, 0x03, 0x93, 0xc3, 0x95, 0x2f, 0xe4, 0x95, 0x2e, 0x50, 0x0f, 0xaf, 0x29, 0x74,
0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x12, 0x46, 0x20, 0x74,
0x01, 0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x20, 0xe0, 0x0f, 0x12, 0x46, 0x20, 0x74, 0x02,
0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x30, 0xe0, 0x03, 0x75, 0x2b, 0x01, 0x05, 0x29, 0x02,
0x33, 0x3e, 0x90, 0x04, 0xa7, 0xe0, 0x65, 0x2a, 0x60, 0x0a, 0xe5, 0x2a, 0xf0, 0xe4, 0x90, 0x04,
0xa6, 0xf0, 0x80, 0x14, 0x90, 0x04, 0xa6, 0xe0, 0x04, 0xf0, 0xc3, 0x94, 0x03, 0x40, 0x09, 0xe0,
0x14, 0xf0, 0x90, 0x04, 0xa8, 0xe5, 0x2a, 0xf0, 0x90, 0x04, 0xa8, 0xe0, 0xab, 0x26, 0xaa, 0x27,
0xa9, 0x28, 0x12, 0x15, 0x56, 0xaf, 0x2b, 0x22, 0xe4, 0xf5, 0x2b, 0xff, 0xf5, 0x2c, 0x78, 0x7b,
0xf6, 0x08, 0xf6, 0x7e, 0xff, 0xe5, 0x2b, 0xc3, 0x78, 0x91, 0x96, 0x40, 0x03, 0x02, 0x34, 0xea,
0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x25,
0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2d, 0xf5, 0x31, 0x18, 0xe2, 0x3c, 0xf5, 0x30, 0x85, 0x1c, 0x82,
0x85, 0x1b, 0x83, 0x78, 0x7b, 0xe6, 0xfc, 0x08, 0xe6, 0xfd, 0x74, 0x08, 0x93, 0x2d, 0xfb, 0x74,
0x07, 0x93, 0x3c, 0xfa, 0xd3, 0xe5, 0x31, 0x9b, 0xe5, 0x30, 0x9a, 0x40, 0x05, 0x7f, 0x01, 0x18,
0x80, 0x3c, 0x85, 0x1c, 0x82, 0x85, 0x1b, 0x83, 0x74, 0x08, 0x93, 0x25, 0x31, 0xfb, 0x74, 0x07,
0x93, 0x35, 0x30, 0xfa, 0xd3, 0xed, 0x9b, 0xec, 0x9a, 0x40, 0x2a, 0xef, 0x60, 0x1e, 0xe4, 0xff,
0x12, 0x25, 0xf7, 0xfc, 0x08, 0xe6, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24, 0x75, 0xf8, 0xa6, 0x04,
0x08, 0xa6, 0x05, 0x05, 0x2c, 0xe5, 0x2c, 0xc3, 0x94, 0x03, 0x50, 0x0e, 0x78, 0x7b, 0xa6, 0x30,
0x08, 0xa6, 0x31, 0xae, 0x2b, 0x05, 0x2b, 0x02, 0x34, 0x55, 0xef, 0x60, 0x1c, 0xe5, 0x2c, 0xc3,
0x94, 0x02, 0x50, 0x15, 0x12, 0x25, 0xf7, 0xfe, 0x08, 0xe6, 0xff, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x75, 0xf8, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x05, 0x2c, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x75,
0x36, 0xff, 0x12, 0x35, 0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b,
0xf8, 0xe6, 0xff, 0x8f, 0x0a, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x85, 0x2b, 0x36, 0x12, 0x35,
0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b, 0xf8, 0xe6, 0xff, 0x8f,
0x0b, 0x22, 0xad, 0x2c, 0x12, 0x42, 0x28, 0x8f, 0x2b, 0xe5, 0x2b, 0x22, 0xe5, 0x08, 0x24, 0x04,
0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x36, 0xf9, 0xe3, 0xb5, 0x07, 0x19, 0x19, 0xe3, 0xb5, 0x06,
0x14, 0x12, 0x24, 0x94, 0xe5, 0x08, 0x24, 0x38, 0xf9, 0xe3, 0x6f, 0x70, 0x03, 0x19, 0xe3, 0x6e,
0x70, 0x03, 0x02, 0x36, 0x1d, 0x12, 0x25, 0xcc, 0x70, 0x78, 0xe5, 0x08, 0x24, 0x0d, 0x12, 0x24,
0xf1, 0x24, 0x09, 0xf8, 0x74, 0x01, 0x12, 0x24, 0x93, 0xe5, 0x08, 0x24, 0x3e, 0xf8, 0x12, 0x24,
0xa8, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5,
0x08, 0x24, 0x3c, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0,
0x3e, 0xfe, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xc3, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80,
0x98, 0x40, 0x65, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24,
0xd1, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x3d, 0x12,
0x24, 0xd1, 0x12, 0x24, 0xb4, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0xe5, 0x08, 0x24, 0x06,
0x80, 0x26, 0x12, 0x25, 0x68, 0x60, 0x05, 0x74, 0x04, 0xf2, 0x80, 0x2c, 0x74, 0x02, 0xf2, 0xe5,
0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24, 0xbf, 0xe5, 0x08, 0x24,
0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3d, 0x12, 0x24, 0xbf, 0x80, 0x0b, 0x12, 0x25, 0x68,
0x7f, 0x00, 0x60, 0x02, 0x7f, 0x03, 0xef, 0xf2, 0x12, 0x25, 0x68, 0x60, 0x03, 0xb4, 0x02, 0x04,
0x7f, 0x00, 0x80, 0x02, 0x7f, 0x01, 0xe5, 0x08, 0x24, 0x08, 0xf8, 0xef, 0xf2, 0x22, 0xae, 0x07,
0x12, 0x46, 0xc9, 0x12, 0x14, 0x00, 0x12, 0x46, 0x92, 0x12, 0x44, 0x61, 0x75, 0xa9, 0x40, 0x75,
0x89, 0xc0, 0x75, 0x8b, 0x20, 0xe4, 0xf5, 0x88, 0xc2, 0xaf, 0x75, 0xfe, 0x3d, 0x85, 0xff, 0x27,
0x7f, 0x01, 0x12, 0x46, 0x75, 0x85, 0x95, 0x23, 0x85, 0x94, 0x24, 0xac, 0x23, 0xad, 0x24, 0xaf,
0x06, 0x7e, 0x00, 0x12, 0x18, 0xbf, 0xef, 0x24, 0x80, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe4, 0xfb, 0x7a, 0x01, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8e, 0x23, 0x8f, 0x24,
0x85, 0x24, 0x94, 0xe5, 0x23, 0xf5, 0x95, 0xe4, 0xf5, 0x22, 0x75, 0x21, 0x80, 0xe5, 0x21, 0x42,
0x22, 0xe5, 0x22, 0xd3, 0x95, 0x27, 0x50, 0x35, 0xaf, 0x22, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95,
0x24, 0xf5, 0x26, 0xee, 0x95, 0x23, 0xf5, 0x25, 0xaf, 0x26, 0xfe, 0x12, 0x46, 0x5f, 0xc3, 0xef,
0x94, 0x05, 0xee, 0x64, 0x80, 0x94, 0x80, 0x50, 0x05, 0x75, 0x28, 0x01, 0x80, 0x1f, 0xd3, 0xe5,
0x26, 0x94, 0x00, 0xe5, 0x25, 0x64, 0x80, 0x94, 0x80, 0x40, 0x07, 0x80, 0x00, 0xe5, 0x21, 0xf4,
0x52, 0x22, 0xe5, 0x21, 0xc3, 0x13, 0xf5, 0x21, 0xd3, 0x94, 0x02, 0x50, 0xb0, 0xc2, 0xb8, 0xe5,
0x28, 0x70, 0x3a, 0xe5, 0x22, 0x24, 0x04, 0xff, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95, 0x24, 0xff,
0xee, 0x95, 0x23, 0xfe, 0x12, 0x46, 0x5f, 0x8e, 0x29, 0x8f, 0x2a, 0xaf, 0x26, 0xae, 0x25, 0x12,
0x46, 0x5f, 0x8e, 0x25, 0x8f, 0x26, 0xc3, 0xe5, 0x26, 0x95, 0x2a, 0xe5, 0x29, 0x64, 0x80, 0xf8,
0xe5, 0x25, 0x64, 0x80, 0x98, 0x50, 0x06, 0x75, 0xfe, 0xbd, 0x85, 0x22, 0xff, 0x02, 0x44, 0x33,
0x8f, 0x3e, 0xe5, 0x3e, 0x70, 0x10, 0x90, 0x04, 0xff, 0xe0, 0xfe, 0xb4, 0xfe, 0x05, 0x78, 0x81,
0xe6, 0xff, 0x22, 0xaf, 0x06, 0x22, 0x15, 0x3e, 0x90, 0x04, 0xff, 0xe0, 0xb4, 0x04, 0x05, 0xaf,
0x3e, 0x02, 0x14, 0x1e, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x06, 0x70, 0x12, 0xe5, 0x3e, 0x30, 0xe0,
0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e, 0xc3, 0x13, 0xff, 0x12, 0x46, 0x47, 0x80, 0x18, 0x90, 0x04,
0xff, 0xe0, 0x64, 0x07, 0x70, 0x18, 0xe5, 0x3e, 0x30, 0xe0, 0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e,
0xc3, 0x13, 0xff, 0x12, 0x46, 0x3b, 0x8e, 0x46, 0x8f, 0x47, 0xe5, 0x46, 0xff, 0x22, 0x90, 0x04,
0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x04, 0xef, 0xb4, 0xfe, 0x08, 0x74, 0x81, 0x25, 0x3e, 0xf8,
0xe6, 0xff, 0x22, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x02, 0x70, 0x70, 0x05, 0x3e, 0xe5, 0x3e, 0xb4,
0x01, 0x03, 0x7f, 0x01, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x10, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x20,
0x50, 0x08, 0xe5, 0x3e, 0x90, 0x13, 0xe0, 0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x20, 0x40,
0x1d, 0xe5, 0x3e, 0x94, 0x30, 0x50, 0x17, 0xe5, 0x3e, 0x24, 0xe0, 0xff, 0xe4, 0x34, 0xff, 0xfe,
0x74, 0x63, 0x2f, 0xf5, 0x82, 0x74, 0x42, 0x3e, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x22, 0xe5, 0x3e,
0xc3, 0x94, 0x30, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x50, 0x50, 0x08, 0xe5, 0x3e, 0x90, 0x42, 0x3c,
0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x50, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x90, 0x50, 0x08,
0xe5, 0x3e, 0x90, 0x42, 0x28, 0x93, 0xff, 0x22, 0x7f, 0x00, 0x22, 0x7f, 0x00, 0x22, 0x12, 0x25,
0x68, 0x60, 0x6e, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe2, 0xf9, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xfe,
0x12, 0x24, 0xb4, 0x74, 0x1f, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x06,
0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xfb, 0xc3, 0x9f, 0xea, 0x9e, 0x40, 0x1a, 0xe9, 0x24, 0x01, 0xff,
0xe4, 0x33, 0xfe, 0x74, 0x1e, 0x93, 0xfd, 0x12, 0x15, 0x8a, 0x12, 0x26, 0x4b, 0x9e, 0xfe, 0xd3,
0xeb, 0x9f, 0xea, 0x9e, 0x40, 0x32, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25,
0xcc, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98,
0x12, 0x24, 0xbb, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0x80,
0x1b, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe4, 0xf2, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0x7d,
0x01, 0x12, 0x3b, 0xb3, 0x12, 0x24, 0x8a, 0xe4, 0xfd, 0x12, 0x3b, 0xb3, 0xe5, 0x08, 0x24, 0x06,
0x12, 0x24, 0xbf, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xff, 0x7e, 0x00, 0xe5, 0x08, 0x24, 0x04,
0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xc3, 0x9f, 0xec, 0x9e, 0x40, 0x33, 0x12, 0x24, 0xcd, 0xc3, 0x9f,
0xec, 0x9e, 0x40, 0x2a, 0x74, 0x02, 0x93, 0x9f, 0xff, 0x74, 0x01, 0x93, 0x9e, 0xfe, 0xe5, 0x08,
0x24, 0x04, 0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xd3, 0x9f, 0xea, 0x9e, 0x50, 0x11, 0x74, 0x19, 0x93,
0xff, 0x12, 0x26, 0x4b, 0x94, 0x00, 0xfe, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x40, 0x07, 0x12, 0x24,
0xc6, 0x54, 0xf7, 0xf2, 0x22, 0x12, 0x24, 0xc6, 0x44, 0x08, 0xf2, 0x22, 0x15, 0x4d, 0xa8, 0x4d,
0xa6, 0x05, 0x15, 0x4d, 0xa8, 0x4d, 0xa6, 0x07, 0xe5, 0x4d, 0x24, 0xfb, 0xf5, 0x4d, 0x24, 0x05,
0xf8, 0xe6, 0xff, 0x54, 0x07, 0x90, 0x48, 0x1c, 0x93, 0xa8, 0x4d, 0xf6, 0xf4, 0xa8, 0x4d, 0x08,
0xf6, 0xef, 0xc4, 0x54, 0x0f, 0xa8, 0x4d, 0x08, 0x08, 0xf6, 0x12, 0x43, 0x61, 0xb4, 0x02, 0x11,
0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xd3, 0x94, 0x03, 0x40, 0x07, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe4,
0xf6, 0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xff, 0x90, 0x48, 0x10, 0x93, 0x24, 0x00, 0xfd, 0xe4, 0x34,
0xff, 0xfc, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xa6, 0x04, 0x08, 0xa6, 0x05, 0xef, 0xd3, 0x94, 0x03,
0x50, 0x13, 0x12, 0x43, 0x61, 0x30, 0xe2, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06, 0x12,
0x43, 0x3f, 0x08, 0x56, 0xf0, 0x12, 0x43, 0x68, 0x70, 0x01, 0x16, 0x12, 0x43, 0x61, 0xff, 0x30,
0xe1, 0x07, 0x12, 0x43, 0x50, 0x46, 0xf0, 0x80, 0x06, 0x12, 0x43, 0x50, 0x08, 0x56, 0xf0, 0x12,
0x43, 0x68, 0x70, 0x01, 0x16, 0xef, 0x30, 0xe0, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06,
0x12, 0x43, 0x3f, 0x08, 0x56, 0xf0, 0xe5, 0x4d, 0x24, 0x07, 0xf5, 0x4d, 0x22, 0x8c, 0x37, 0x8d,
0x38, 0x8b, 0x34, 0x8a, 0x35, 0x89, 0x36, 0x90, 0x00, 0x0c, 0x12, 0x15, 0x29, 0x70, 0x24, 0xf5,
0x39, 0x12, 0x45, 0xbd, 0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39,
0xb4, 0x06, 0xee, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x90, 0x00, 0x0c, 0x74, 0x06, 0x12, 0x15,
0x68, 0x80, 0x35, 0xe4, 0xf5, 0x39, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5,
0x39, 0x90, 0x00, 0x02, 0x12, 0x18, 0x8d, 0x12, 0x16, 0x68, 0xff, 0xae, 0xf0, 0x12, 0x45, 0xc3,
0xee, 0x8f, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x05, 0xd9, 0x12, 0x45, 0xbd,
0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0xe4, 0xf5, 0x39, 0xf5, 0x3b, 0xf5, 0x3c, 0xf5,
0x3a, 0x12, 0x45, 0xbd, 0x12, 0x16, 0x68, 0xfd, 0xac, 0xf0, 0xe5, 0x39, 0x90, 0x48, 0x3c, 0x93,
0xfb, 0xff, 0x7e, 0x00, 0x12, 0x15, 0x8a, 0xef, 0x25, 0x3c, 0xf5, 0x3c, 0xee, 0x35, 0x3b, 0xf5,
0x3b, 0xeb, 0x25, 0x3a, 0xf5, 0x3a, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x06, 0xd4, 0xe5, 0x3a, 0xfd,
0x7c, 0x00, 0xae, 0x3b, 0xaf, 0x3c, 0x12, 0x15, 0x9c, 0x22, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3,
0x78, 0x68, 0x96, 0x40, 0x03, 0x02, 0x3b, 0x06, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c,
0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x7a, 0x12, 0x2f, 0x0e, 0xe0, 0xf5, 0x2d, 0xe5, 0x2c, 0x12,
0x2e, 0x5f, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x12, 0x2e, 0x4c, 0x12, 0x2f, 0x6f, 0xf5, 0x2f, 0xec,
0x9e, 0xf5, 0x2e, 0xe4, 0xf5, 0x87, 0xaf, 0x2f, 0xae, 0x2e, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb,
0x12, 0x2f, 0x04, 0x50, 0x3d, 0xe5, 0x2f, 0x94, 0x00, 0xe5, 0x2e, 0x64, 0x80, 0x94, 0x80, 0x40,
0x12, 0x74, 0x03, 0x93, 0x05, 0x2d, 0xd3, 0x64, 0x80, 0xf8, 0xe5, 0x2d, 0x64, 0x80, 0x98, 0x40,
0x2a, 0x80, 0x14, 0x12, 0x2e, 0xdb, 0x74, 0x03, 0x93, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0x15, 0x2d,
0xad, 0x2d, 0x12, 0x2f, 0x19, 0x50, 0x14, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x01, 0xf6,
0x80, 0x09, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x04, 0xf6, 0x12, 0x2f, 0x0e, 0xe5, 0x2d,
0xf0, 0x05, 0x2c, 0x02, 0x3a, 0x6d, 0x78, 0x64, 0xe6, 0x30, 0xe0, 0x03, 0x44, 0x04, 0xf6, 0x22,
0x8e, 0x26, 0x8f, 0x27, 0xe4, 0x78, 0x63, 0xf6, 0x85, 0x26, 0x1b, 0x85, 0x27, 0x1c, 0xe5, 0x27,
0x24, 0x31, 0xff, 0xe4, 0x35, 0x26, 0xfa, 0xa9, 0x07, 0x7b, 0xff, 0x78, 0x59, 0x7c, 0x00, 0x7d,
0x00, 0x7e, 0x00, 0x7f, 0x09, 0x12, 0x15, 0x03, 0x7e, 0x00, 0x7f, 0x08, 0x7d, 0xff, 0x7b, 0x00,
0x7a, 0x00, 0x79, 0x50, 0x12, 0x18, 0xec, 0x12, 0x2f, 0x33, 0x74, 0x31, 0x93, 0x24, 0xf7, 0x78,
0x59, 0xf6, 0x12, 0x2f, 0x33, 0x74, 0x38, 0x93, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0xe4, 0x78, 0x66,
0xf6, 0x43, 0xfa, 0x90, 0x75, 0xe5, 0x99, 0x53, 0xaa, 0xfd, 0xe5, 0x91, 0x20, 0xe0, 0xfb, 0xc2,
0x99, 0x12, 0x2f, 0x33, 0xe4, 0x93, 0xf5, 0x28, 0xf4, 0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12,
0x3f, 0xc9, 0xe4, 0xfd, 0x12, 0x3b, 0x9f, 0x12, 0x2f, 0x33, 0x74, 0x01, 0x93, 0xf5, 0x28, 0xf4,
0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12, 0x3f, 0xc9, 0x7d, 0x01, 0x12, 0x3b, 0x9f, 0x22, 0xaf,
0x28, 0x12, 0x44, 0x05, 0x7d, 0x02, 0xaf, 0x28, 0x12, 0x39, 0x0c, 0x7d, 0x07, 0xaf, 0x28, 0x12,
0x39, 0x0c, 0x22, 0xab, 0x07, 0xaa, 0x06, 0xeb, 0x4a, 0x70, 0x03, 0xfe, 0xff, 0x22, 0xed, 0x60,
0x19, 0x12, 0x24, 0xb4, 0x74, 0x01, 0x93, 0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x02, 0x93, 0x13, 0xf5,
0x2e, 0x74, 0x1d, 0x93, 0xf5, 0x2b, 0x74, 0x1c, 0x80, 0x17, 0x12, 0x24, 0xb4, 0x74, 0x03, 0x93,
0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x04, 0x93, 0x13, 0xf5, 0x2e, 0x74, 0x1f, 0x93, 0xf5, 0x2b, 0x74,
0x1e, 0x93, 0xf5, 0x2c, 0xc3, 0x12, 0x26, 0x0e, 0x50, 0x2c, 0xc3, 0xe5, 0x2e, 0x9b, 0xff, 0xe5,
0x2d, 0x9a, 0xfe, 0xab, 0x2b, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xaa, 0x06, 0xab, 0x07,
0x12, 0x26, 0x0d, 0x40, 0x06, 0x7a, 0x00, 0x7b, 0x01, 0x80, 0x29, 0xc3, 0xe5, 0x2e, 0x9b, 0xfb,
0xe5, 0x2d, 0x9a, 0xfa, 0x80, 0x1e, 0x12, 0x26, 0x0d, 0x40, 0x19, 0xeb, 0x95, 0x2e, 0xff, 0xea,
0x95, 0x2d, 0xfe, 0xab, 0x2c, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xe5, 0x2e, 0x2f, 0xfb,
0xe5, 0x2d, 0x3e, 0xfa, 0xae, 0x02, 0xaf, 0x03, 0x22, 0x12, 0x25, 0x68, 0x60, 0x22, 0xe5, 0x08,
0x24, 0x34, 0xf8, 0xe2, 0x70, 0x1a, 0x12, 0x26, 0x15, 0x12, 0x46, 0xd0, 0x12, 0x26, 0x1f, 0x12,
0x46, 0xd0, 0x12, 0x24, 0xb4, 0x74, 0x20, 0x93, 0xff, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xef, 0xf2,
0xe5, 0x08, 0x24, 0x31, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0x12, 0x24, 0xa8, 0x12,
0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x2f, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24,
0x05, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0, 0x3e, 0xfe,
0xe5, 0x08, 0x24, 0x13, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xa4, 0xe5, 0x08, 0x24, 0x2f, 0xf8, 0x7c,
0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2, 0x60, 0x14, 0x7e, 0x00,
0x7f, 0x06, 0x7d, 0x00, 0x12, 0x25, 0xa4, 0x12, 0x18, 0xec, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2,
0x14, 0xf2, 0x22, 0x75, 0x2c, 0x05, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x0f,
0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x05, 0x12, 0x2e, 0xa9, 0xe4, 0xf0, 0x0f, 0x80, 0xec, 0x78,
0x59, 0xe6, 0xf5, 0x2d, 0x76, 0x05, 0xe4, 0xf5, 0x87, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x18, 0x12,
0x2e, 0x95, 0xee, 0x56, 0x60, 0x0e, 0x12, 0x2e, 0xa9, 0x12, 0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0x4e, 0xf0, 0x0f, 0x80, 0xe3, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12,
0x2e, 0xfc, 0x50, 0x2a, 0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x20, 0xef, 0x12, 0x2e, 0x49, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x78, 0x4f, 0x96, 0xec, 0x18, 0x96, 0x50, 0x0f, 0x12, 0x2e, 0xa9, 0x12,
0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xf4, 0x5e, 0xf0, 0x0f, 0x80, 0xd1, 0xae, 0x2c,
0x15, 0x2c, 0xee, 0x70, 0xa1, 0x78, 0x59, 0xa6, 0x2d, 0x22, 0x8e, 0x34, 0x8f, 0x35, 0x8c, 0x36,
0x8d, 0x37, 0x8b, 0x38, 0xae, 0x36, 0xaf, 0x37, 0xad, 0x38, 0x7c, 0x00, 0x12, 0x18, 0xbf, 0x12,
0x24, 0xdb, 0xae, 0x34, 0xaf, 0x35, 0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xcd, 0x12, 0x24, 0xdb, 0xe5,
0x38, 0xc3, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0xfe, 0x12, 0x16, 0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xe5,
0x38, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06,
0x12, 0x17, 0x73, 0xe5, 0x35, 0x45, 0x34, 0x60, 0x24, 0xef, 0x4e, 0x70, 0x20, 0xd3, 0xe5, 0x37,
0x94, 0x02, 0xe5, 0x36, 0x94, 0x00, 0x40, 0x11, 0xe5, 0x35, 0x25, 0x37, 0xff, 0xe5, 0x34, 0x35,
0x36, 0xc3, 0x13, 0xfe, 0xef, 0x13, 0xff, 0x80, 0x04, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xab, 0x07,
0xbb, 0xff, 0x03, 0x7f, 0xff, 0x22, 0xeb, 0x70, 0x0c, 0x12, 0x24, 0xb4, 0x74, 0x11, 0x93, 0xf5,
0x2b, 0x74, 0x12, 0x80, 0x1d, 0x78, 0x91, 0xe6, 0x14, 0xb5, 0x03, 0x0c, 0x12, 0x24, 0xb4, 0x74,
0x13, 0x93, 0xf5, 0x2b, 0x74, 0x14, 0x80, 0x0a, 0x12, 0x24, 0xb4, 0x74, 0x0f, 0x93, 0xf5, 0x2b,
0x74, 0x10, 0x93, 0xf5, 0x2c, 0x78, 0x3a, 0xe2, 0x70, 0x05, 0x78, 0x7c, 0xe2, 0x60, 0x14, 0xe5,
0x2c, 0x25, 0xe0, 0xff, 0xe5, 0x2b, 0x33, 0xfe, 0x7c, 0x00, 0x7d, 0x03, 0x12, 0x15, 0x9c, 0x8e,
0x2b, 0x8f, 0x2c, 0xeb, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0x98, 0xeb, 0x25, 0xe0,
0x12, 0x24, 0xf9, 0xc3, 0xef, 0x95, 0x2c, 0xee, 0x95, 0x2b, 0xaf, 0x03, 0x50, 0x02, 0x7f, 0xff,
0x22, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x05, 0xef, 0x64, 0xfe, 0x70, 0x61, 0xd2,
0xb8, 0xc2, 0xaf, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x70, 0x03, 0xed, 0x60, 0x04, 0x7f, 0x01,
0x80, 0x02, 0x7f, 0x00, 0x78, 0x82, 0xa6, 0x07, 0x90, 0x00, 0x0a, 0x12, 0x15, 0x29, 0x60, 0x04,
0x7f, 0x02, 0x80, 0x04, 0x78, 0x82, 0xe6, 0xff, 0x78, 0x82, 0xa6, 0x07, 0x12, 0x16, 0x3d, 0x08,
0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x78, 0x85, 0xa6, 0xf0, 0x08, 0xf6,
0x90, 0x00, 0x06, 0x12, 0x16, 0x68, 0x78, 0x87, 0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x08, 0x12,
0x16, 0x68, 0x78, 0x89, 0xa6, 0xf0, 0x08, 0xf6, 0x78, 0x81, 0xa6, 0x05, 0xd2, 0xaf, 0xc2, 0xb8,
0x22, 0xef, 0x12, 0x18, 0x99, 0x3e, 0xd4, 0x00, 0x3e, 0xda, 0x01, 0x3e, 0xe0, 0x02, 0x3e, 0xe6,
0x03, 0x3e, 0xee, 0x04, 0x3e, 0xf4, 0x05, 0x3e, 0xfa, 0x06, 0x3f, 0x00, 0x07, 0x3f, 0x08, 0x08,
0x00, 0x00, 0x3f, 0x0e, 0x78, 0x5d, 0xa6, 0x05, 0x80, 0x37, 0x78, 0x5a, 0xa6, 0x05, 0x80, 0x31,
0x78, 0x5c, 0xa6, 0x05, 0x80, 0x2b, 0xed, 0x24, 0xf7, 0x78, 0x59, 0xf6, 0x80, 0x23, 0x78, 0x5b,
0xa6, 0x05, 0x80, 0x1d, 0x78, 0x5e, 0xa6, 0x05, 0x80, 0x17, 0x78, 0x5f, 0xa6, 0x05, 0x80, 0x11,
0xed, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0x80, 0x09, 0x78, 0x61, 0xa6, 0x05, 0x80, 0x03, 0x7f, 0x01,
0x22, 0x7f, 0x00, 0x22, 0x8c, 0x2f, 0x8d, 0x30, 0x78, 0x75, 0x12, 0x25, 0xdd, 0x7e, 0x00, 0xe5,
0x30, 0x2b, 0xff, 0xee, 0x35, 0x2f, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x75, 0x12, 0x18, 0x5b, 0x12,
0x24, 0xd8, 0xe5, 0x2f, 0xc3, 0x13, 0xfe, 0xe5, 0x30, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x16,
0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xae, 0x2f, 0xaf, 0x30, 0xab, 0x07, 0xaa, 0x06, 0xe4, 0xf9, 0xf8,
0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x18, 0x68, 0x78, 0x75, 0x12, 0x18,
0x3f, 0xd3, 0xef, 0x95, 0x30, 0xee, 0x95, 0x2f, 0x40, 0x0a, 0xe5, 0x30, 0x24, 0xff, 0xff, 0xe5,
0x2f, 0x34, 0xff, 0xfe, 0x22, 0xef, 0x12, 0x18, 0x99, 0x3f, 0x98, 0x00, 0x3f, 0x9d, 0x01, 0x3f,
0xa2, 0x02, 0x3f, 0xa7, 0x03, 0x3f, 0xab, 0x04, 0x3f, 0xb0, 0x05, 0x3f, 0xb5, 0x06, 0x3f, 0xba,
0x07, 0x3f, 0xc1, 0x08, 0x00, 0x00, 0x3f, 0xc6, 0x78, 0x5d, 0xe6, 0xff, 0x22, 0x78, 0x5a, 0xe6,
0xff, 0x22, 0x78, 0x5c, 0xe6, 0xff, 0x22, 0x78, 0x59, 0x80, 0x11, 0x78, 0x5b, 0xe6, 0xff, 0x22,
0x78, 0x5e, 0xe6, 0xff, 0x22, 0x78, 0x5f, 0xe6, 0xff, 0x22, 0x78, 0x60, 0xe6, 0x24, 0x09, 0xff,
0x22, 0x78, 0x61, 0xe6, 0xff, 0x22, 0x7f, 0x00, 0x22, 0xef, 0x54, 0x07, 0xfe, 0x74, 0x01, 0xa8,
0x06, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xfe, 0xef, 0xc4, 0x54, 0x0f, 0xff, 0xbf, 0x01,
0x0c, 0xed, 0x60, 0x04, 0xee, 0x42, 0xb8, 0x22, 0xee, 0xf4, 0x52, 0xb8, 0x22, 0xef, 0x90, 0x48,
0x04, 0x93, 0x24, 0x00, 0xfb, 0xe4, 0x34, 0xff, 0xf5, 0x29, 0x8b, 0x2a, 0xed, 0x60, 0x0a, 0x85,
0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0, 0x4e, 0xf0, 0x22, 0x85, 0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0,
0xff, 0xee, 0xf4, 0xfe, 0xef, 0x5e, 0xf0, 0x22, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0x78, 0x95, 0xe6,
0x70, 0x24, 0x12, 0x46, 0xe7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05, 0x31, 0xe5, 0x31, 0x70,
0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xe7, 0xef, 0x60,
0x1e, 0xd2, 0xaf, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xd7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05,
0x31, 0xe5, 0x31, 0x70, 0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x7f,
0x00, 0x22, 0x8e, 0x3e, 0x8f, 0x3f, 0x8d, 0x40, 0x85, 0x3f, 0x41, 0xe5, 0x41, 0x70, 0x10, 0x90,
0x04, 0xff, 0xe5, 0x40, 0xf0, 0xb4, 0xee, 0x07, 0xe4, 0xfd, 0x7f, 0x01, 0x12, 0x45, 0xa9, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x1d, 0xe5, 0x41, 0xb4, 0xa5, 0x0a, 0xe5, 0x40, 0xb4, 0x03, 0x05, 0x7f,
0x02, 0x12, 0x14, 0x15, 0xe5, 0x41, 0xb4, 0xc0, 0x06, 0x90, 0x04, 0x66, 0xe5, 0x40, 0xf0, 0x7f,
0x00, 0x22, 0xad, 0x40, 0xaf, 0x3f, 0xae, 0x3e, 0x12, 0x43, 0xa5, 0x22, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe7, 0x05, 0x53, 0xaa, 0xfd, 0x80, 0x03, 0x43, 0xaa, 0x02, 0xe4, 0xf5, 0x1e, 0x78, 0x68,
0xe6, 0xfe, 0xc3, 0x13, 0x78, 0x66, 0xf6, 0xef, 0x30, 0xe6, 0x05, 0xe6, 0xf5, 0x1f, 0x80, 0x03,
0x75, 0x1f, 0x01, 0x78, 0x5e, 0xe6, 0xf5, 0xe2, 0x78, 0x65, 0xe6, 0x78, 0x58, 0xf6, 0x12, 0x1d,
0xee, 0x78, 0x5c, 0xe6, 0x30, 0xe7, 0x0e, 0xe4, 0xf5, 0x87, 0x30, 0x99, 0xfd, 0x12, 0x1d, 0xee,
0x78, 0x66, 0xe6, 0x70, 0xf2, 0x22, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0,
0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0,
0x06, 0xc0, 0x07, 0xc2, 0x9f, 0xe5, 0x10, 0x60, 0x02, 0x15, 0x10, 0x12, 0x46, 0xea, 0xd0, 0x07,
0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0,
0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xe4, 0xf5, 0x45, 0x75, 0x44, 0xff, 0x90,
0x04, 0xff, 0xf0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x66, 0xf0, 0xd2, 0xb8, 0x43, 0xbf, 0x01,
0x7d, 0x03, 0x7f, 0x10, 0x12, 0x39, 0x0c, 0x78, 0x95, 0x76, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12,
0x44, 0xd4, 0x7c, 0x04, 0x7d, 0xff, 0xe4, 0xff, 0x12, 0x45, 0x49, 0x7c, 0x03, 0x7d, 0xa6, 0x7f,
0x01, 0x12, 0x45, 0x49, 0x02, 0x44, 0xf3, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0,
0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05,
0xc0, 0x06, 0xc0, 0x07, 0x12, 0x46, 0x53, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0,
0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0,
0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0,
0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12,
0x1d, 0xee, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01,
0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xad, 0x07, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x2d, 0xed, 0xc3, 0x94, 0x00, 0x40, 0x0e, 0xed, 0x94, 0xff, 0x50, 0x09,
0x74, 0xa6, 0x2d, 0x12, 0x42, 0xd9, 0xe0, 0xff, 0x22, 0xed, 0xc3, 0x94, 0xff, 0x40, 0x08, 0xed,
0x94, 0x20, 0x50, 0x03, 0x7f, 0xff, 0x22, 0xed, 0x64, 0xa3, 0x60, 0x03, 0xbd, 0x80, 0x06, 0x7f,
0x00, 0x22, 0x02, 0x37, 0x30, 0x7f, 0x00, 0x22, 0x8d, 0x35, 0xe4, 0xff, 0xf5, 0x37, 0xf5, 0x38,
0x7e, 0xff, 0xef, 0xc3, 0x95, 0x35, 0x50, 0x28, 0xef, 0x65, 0x36, 0x60, 0x19, 0x12, 0x16, 0x3d,
0xfd, 0xac, 0xf0, 0xd3, 0x95, 0x38, 0xec, 0x95, 0x37, 0x40, 0x0b, 0xed, 0x24, 0x20, 0xf5, 0x38,
0xe4, 0x3c, 0xf5, 0x37, 0xae, 0x07, 0x0f, 0x74, 0x02, 0x29, 0xf9, 0xe4, 0x3a, 0xfa, 0x80, 0xd2,
0xaf, 0x06, 0x22, 0x76, 0x31, 0x30, 0x2e, 0x31, 0x38, 0x2e, 0x34, 0x00, 0x4a, 0x61, 0x6e, 0x20,
0x31, 0x38, 0x20, 0x32, 0x30, 0x31, 0x38, 0x00, 0x41, 0x50, 0x5f, 0x31, 0x37, 0x30, 0x35, 0x30,
0x37, 0x31, 0x5f, 0x43, 0x53, 0x54, 0x30, 0x31, 0x36, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x5f,
0x43, 0x4f, 0x42, 0x5f, 0x42, 0x41, 0x54, 0x5f, 0x44, 0x5a, 0x30, 0x39, 0x00, 0x8f, 0x19, 0x8e,
0x18, 0x8d, 0x17, 0x8c, 0x16, 0xe4, 0xf5, 0x1a, 0xe5, 0x1a, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0xcc,
0xf5, 0x82, 0xe4, 0x34, 0x47, 0xf5, 0x83, 0x12, 0x18, 0x4b, 0xab, 0x19, 0xaa, 0x18, 0xa9, 0x17,
0xa8, 0x16, 0xc3, 0x12, 0x18, 0x1b, 0x70, 0x03, 0x7f, 0x02, 0x22, 0x05, 0x1a, 0xe5, 0x1a, 0xb4,
0x0e, 0xd6, 0x7f, 0x02, 0x22, 0x74, 0xa6, 0x25, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x03, 0xf5, 0x83,
0x22, 0xff, 0xae, 0x30, 0xe4, 0xfc, 0xfd, 0x7b, 0x60, 0x7a, 0xea, 0xf9, 0xf8, 0xc3, 0x02, 0x18,
0x05, 0xab, 0x26, 0xaa, 0x27, 0xa9, 0x28, 0x02, 0x15, 0x29, 0xff, 0xae, 0x2c, 0x05, 0x2c, 0x74,
0xa6, 0x2e, 0x22, 0xf0, 0xaf, 0x2c, 0x05, 0x2c, 0x74, 0xa6, 0x2f, 0x22, 0xe4, 0xf5, 0x87, 0x78,
0x66, 0xe6, 0x70, 0xf8, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x24, 0x12, 0x2e, 0xeb, 0xfe, 0xef, 0x12,
0x2e, 0xa0, 0xee, 0x56, 0x60, 0x15, 0xef, 0x12, 0x2e, 0xe2, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0x75,
0xf0, 0x11, 0xef, 0x12, 0x2e, 0x4c, 0xec, 0xf0, 0xa3, 0xed, 0xf0, 0x0f, 0x80, 0xd7, 0x22, 0xe5,
0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfe, 0x08, 0xe6, 0xf5, 0x82, 0x8e, 0x83, 0xe0, 0xa8, 0x4d, 0x22,
0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfc, 0x08, 0xe6, 0xf5, 0x82, 0x8c, 0x83, 0xe0, 0xa8, 0x4d,
0x22, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe6, 0x22, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0x08, 0xe6, 0x16,
0x18, 0x22, 0x8d, 0x4b, 0x78, 0x8b, 0xa6, 0x03, 0x53, 0xbc, 0x3f, 0x53, 0xbe, 0x3f, 0x43, 0xbd,
0xc0, 0x43, 0xbf, 0xc0, 0xe4, 0xf5, 0x4a, 0x43, 0xfa, 0x02, 0x78, 0x8d, 0xf6, 0x08, 0xf6, 0x78,
0x8c, 0xf6, 0xf5, 0xe8, 0xf5, 0xeb, 0x8f, 0xed, 0xe5, 0x4b, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xe9,
0x61, 0x43, 0xaa, 0x10, 0x22, 0x8d, 0x42, 0x8f, 0x43, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x01, 0x70,
0x22, 0xe5, 0x43, 0xc3, 0x94, 0xc0, 0x40, 0x0a, 0x74, 0x40, 0x25, 0x43, 0xf5, 0x43, 0xff, 0x02,
0x45, 0xa9, 0xe5, 0x43, 0xc3, 0x94, 0x80, 0x40, 0x0a, 0xe5, 0x43, 0x24, 0x80, 0xff, 0xad, 0x42,
0x02, 0x3e, 0xb1, 0x7f, 0x00, 0x22, 0xe4, 0xf5, 0xfb, 0x75, 0xf2, 0xff, 0x75, 0xfc, 0x30, 0xef,
0x42, 0xfc, 0xc2, 0xaf, 0xe4, 0xf5, 0xa9, 0xf5, 0xaa, 0x75, 0xfe, 0x3d, 0xaf, 0xff, 0x75, 0xfe,
0xbd, 0xef, 0x04, 0x54, 0xfc, 0xf5, 0xff, 0x75, 0xfe, 0x39, 0xaf, 0xff, 0x75, 0xfe, 0xb9, 0xef,
0x44, 0x03, 0xf5, 0xff, 0x22, 0xef, 0xc4, 0x54, 0x0f, 0x24, 0x10, 0xfb, 0xe4, 0x34, 0xff, 0x8b,
0x82, 0xf5, 0x83, 0xef, 0x54, 0x07, 0xff, 0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0xff, 0xed, 0x60, 0x04, 0xe0, 0x4f, 0xf0, 0x22, 0xe0, 0xfe, 0xef, 0xf4, 0xff, 0xee,
0x5f, 0xf0, 0x22, 0xe4, 0xf5, 0xf3, 0xf5, 0xfc, 0xf5, 0x8c, 0xf5, 0x8d, 0xf5, 0x8e, 0xf5, 0x8f,
0xf5, 0xa4, 0xf5, 0xa5, 0xf5, 0xa6, 0xf5, 0xa7, 0xf5, 0x9f, 0xf5, 0xad, 0xf5, 0xab, 0x53, 0xbc,
0xfb, 0x53, 0xbd, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbf, 0xfb, 0x53, 0xbb, 0xfb, 0x53, 0xba, 0xfb,
0x22, 0x75, 0x8f, 0x20, 0x75, 0x97, 0xff, 0x75, 0x9f, 0x01, 0xe4, 0xf5, 0xa7, 0x53, 0xad, 0xf0,
0x43, 0xad, 0x07, 0x53, 0xab, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbd, 0xfb, 0x43, 0xbc, 0x04, 0x43,
0xbf, 0x04, 0x43, 0xbb, 0x04, 0x43, 0xba, 0x04, 0x22, 0x7f, 0x02, 0x12, 0x43, 0xd6, 0x7f, 0xa5,
0x12, 0x36, 0x3e, 0x7f, 0x03, 0x12, 0x43, 0xd6, 0x7f, 0x01, 0x12, 0x46, 0x2e, 0x43, 0xaa, 0x80,
0xd2, 0xab, 0x12, 0x45, 0x93, 0xd2, 0xaf, 0xe4, 0xf5, 0x87, 0x12, 0x2b, 0x63, 0x80, 0xf8, 0xe4,
0xf5, 0x0c, 0x8f, 0x82, 0x8e, 0x83, 0x74, 0x4f, 0x93, 0x78, 0x91, 0xf6, 0xef, 0x24, 0x4f, 0xf5,
0x0f, 0xe4, 0x3e, 0xf5, 0x0e, 0xe5, 0x09, 0x44, 0x01, 0xf5, 0x09, 0x54, 0xfd, 0xf5, 0x09, 0x44,
0x04, 0xf5, 0x09, 0x22, 0x43, 0xbd, 0xc0, 0x43, 0xbf, 0xc0, 0x43, 0xfa, 0x02, 0xe4, 0xf5, 0xe9,
0x53, 0xaa, 0xef, 0xf5, 0xe8, 0x8f, 0xed, 0xed, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xeb, 0x80, 0x75,
0xe9, 0x69, 0x22, 0x78, 0x95, 0xe6, 0x70, 0x02, 0xd2, 0xaf, 0xc2, 0xb8, 0xe4, 0xfe, 0xff, 0xe4,
0xf5, 0x87, 0x0f, 0xbf, 0x00, 0x01, 0x0e, 0xbe, 0x04, 0xf5, 0xbf, 0xb0, 0xf2, 0xd2, 0xb8, 0x22,
0x12, 0x46, 0x7f, 0x75, 0x94, 0xff, 0x75, 0x95, 0xff, 0x75, 0x97, 0xff, 0x75, 0x4c, 0x01, 0x43,
0x8c, 0x01, 0x43, 0x8e, 0x01, 0x43, 0x8f, 0x01, 0xe5, 0x4c, 0x70, 0xfc, 0x22, 0x53, 0xbc, 0x3f,
0x53, 0xbe, 0x3f, 0x53, 0xbd, 0x3f, 0x53, 0xbf, 0x3f, 0xe4, 0xf5, 0xeb, 0xf5, 0xe8, 0xf5, 0xe9,
0xf5, 0xed, 0x53, 0xaa, 0xef, 0x53, 0xfa, 0xfd, 0x22, 0xe4, 0xf5, 0xe9, 0xef, 0xaf, 0x05, 0xae,
0x04, 0x70, 0x05, 0x90, 0xff, 0x00, 0x80, 0x03, 0x90, 0xff, 0x02, 0xef, 0xf0, 0xee, 0xa3, 0xf0,
0x75, 0xe9, 0x69, 0x22, 0xef, 0x24, 0x3a, 0xf5, 0x49, 0xe4, 0x3e, 0xf5, 0x48, 0x7e, 0x00, 0x7f,
0x03, 0x7d, 0x00, 0x7b, 0x01, 0x7a, 0x04, 0x79, 0xa6, 0x02, 0x18, 0xec, 0x90, 0x00, 0xfe, 0x75,
0xf0, 0x11, 0xef, 0x02, 0x18, 0x8d, 0x75, 0xf0, 0x11, 0xef, 0x12, 0x18, 0x8d, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0x75, 0x13, 0x02, 0x75, 0x11, 0x10, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0x12,
0x41, 0x39, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x22, 0xef, 0x14, 0x60, 0x08, 0x04, 0x70, 0x0a,
0x8d, 0x09, 0x7f, 0x00, 0x22, 0x8d, 0x0c, 0x7f, 0x00, 0x22, 0x7f, 0x01, 0x22, 0xab, 0x34, 0xaa,
0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5, 0x39, 0xa4, 0xf5, 0x82, 0x85, 0xf0, 0x83, 0x22, 0xef,
0xc3, 0x94, 0x40, 0x50, 0x0a, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0xf4, 0x56, 0xf6, 0x22,
0xef, 0xc3, 0x94, 0x28, 0x50, 0x08, 0x12, 0x45, 0x7c, 0xed, 0xf0, 0x7f, 0x00, 0x22, 0x7f, 0x01,
0x22, 0xc2, 0xaf, 0x75, 0xfe, 0xbd, 0x8f, 0xff, 0x7f, 0x01, 0x12, 0x46, 0x75, 0xaf, 0x94, 0xae,
0x95, 0x22, 0xef, 0xc3, 0x94, 0x40, 0x50, 0x09, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0x46,
0xf6, 0x22, 0xef, 0x24, 0xfe, 0x70, 0x05, 0x7e, 0x46, 0x7f, 0xec, 0x22, 0xe4, 0xfe, 0xff, 0x22,
0x85, 0x49, 0x82, 0x85, 0x48, 0x83, 0x75, 0xf0, 0x05, 0xe5, 0x29, 0x02, 0x18, 0x8d, 0x75, 0x87,
0xc5, 0x53, 0xf1, 0xf8, 0xef, 0x42, 0xf1, 0x43, 0xf8, 0x08, 0x22, 0xef, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x90, 0x01, 0x00, 0x12, 0x45, 0x7f, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0xe4, 0xf5, 0x88, 0xf5, 0x4c, 0x12, 0x46, 0x7f, 0x43, 0x8c, 0x80, 0x22, 0xee,
0x30, 0xe7, 0x07, 0xc3, 0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0x75, 0xf0, 0x11, 0xef, 0x12,
0x2e, 0x8f, 0xed, 0xf0, 0x22, 0xd2, 0xaf, 0x12, 0x45, 0x10, 0xdf, 0xfb, 0xc2, 0xaf, 0x22, 0x53,
0x8c, 0xfe, 0x53, 0x8e, 0xfe, 0x53, 0x8f, 0xfe, 0x22, 0xef, 0xc4, 0x54, 0xf0, 0xf5, 0x11, 0x7f,
0x00, 0x22, 0xe4, 0xf5, 0x8e, 0xf5, 0x96, 0x75, 0xa6, 0xf2, 0x22, 0x7e, 0x00, 0x7f, 0x0d, 0x7d,
0x00, 0x02, 0x18, 0xec, 0x78, 0x8f, 0x08, 0x06, 0xe6, 0x18, 0x86, 0x06, 0x22, 0x8b, 0x2b, 0x8a,
0x2c, 0x89, 0x2d, 0x22, 0x8b, 0x2b, 0x8a, 0x2c, 0x89, 0x2d, 0x22, 0x90, 0x01, 0x0b, 0x12, 0x45,
0x86, 0x22, 0x90, 0x01, 0x02, 0x12, 0x45, 0x86, 0x22, 0xe4, 0xf5, 0xf3, 0x43, 0xfc, 0x30, 0x22,
0x90, 0x00, 0x0c, 0xe4, 0x02, 0x15, 0x68, 0xe5, 0xe8, 0x54, 0x40, 0xff, 0x22, 0x78, 0x63, 0xa6,
0x07, 0x22, 0x78, 0x63, 0xe6, 0xff, 0x22, 0xaf, 0x4a, 0x22, 0x22, 0x22, 0x47, 0x70, 0x08, 0x02,
0x0f, 0x78, 0x14, 0x00, 0x32, 0x83, 0x77, 0x71, 0x76, 0x72, 0x75, 0x73, 0x74, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3f, 0x0f,
0x02, 0x64, 0x00, 0x5f, 0x0e, 0x0f, 0x00, 0x0a, 0x0b, 0x1e, 0x00, 0xa0, 0x0b, 0x0a, 0x1e, 0x00,
0xa0, 0x0c, 0x0b, 0x1e, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xef, 0x00, 0xef,
0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x8c, 0x00, 0xa0, 0x00, 0xa0,
0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x47, 0x70, 0x1c, 0x00,
0x0f, 0x64, 0x00, 0x00, 0x32, 0x65, 0x64, 0x66, 0x63, 0x67, 0x62, 0x52, 0x61, 0x53, 0x60, 0x54,
0x77, 0x56, 0x76, 0x57, 0x75, 0x41, 0x74, 0x42, 0x73, 0x43, 0x72, 0x44, 0x71, 0x45, 0x70, 0x46,
0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x28,
0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x90, 0x01, 0x90,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0xb0, 0xb8, 0xc0, 0xc8, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x50, 0x58,
0xb6, 0xbe, 0xc6, 0xce, 0x23, 0x2b, 0x33, 0x3b, 0x43, 0x4b, 0x53, 0x5b, 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x01, 0xff, 0x03, 0xff,
0x07, 0xff, 0x0f, 0xff, 0x1f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#endif /*CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__*/

View File

@ -0,0 +1,401 @@
/*
*Name : capacitive_hynitron_cst2xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
static unsigned char cst2xx_fw[] = {
0xA8,0xC5,0x77,0xA2,0x25,0x01,0x00,0xA3,0x46,0x9A,0x18,0x23,0xBE,0xFF,0xFF,0xE7,
0x40,0x01,0x88,0x06,0x38,0xF7,0x47,0x8A,0x18,0x23,0x80,0x07,0xC8,0xE7,0x63,0x7A,
0x42,0x7A,0xA0,0x01,0x01,0x03,0x37,0x2A,0xE8,0x01,0x39,0x09,0xE8,0x43,0x45,0x01,
0x80,0x66,0x40,0x31,0x89,0xD6,0x47,0x8B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0xC2,
0x04,0x82,0x1C,0x0A,0x07,0x8B,0xB9,0xFF,0xFF,0x3F,0x3E,0x7F,0x85,0x07,0xC8,0x8F,
0x38,0x67,0x07,0x00,0xF8,0x00,0x06,0x42,0x78,0x00,0x06,0x01,0x78,0x00,0x03,0x01,
0x68,0xFB,0x01,0x00,0xAF,0xC5,0x47,0xFA,0xE8,0x03,0x44,0x01,0x87,0x1E,0xB8,0xFF,
0xF8,0xFF,0x44,0x01,0x89,0xB6,0x19,0x89,0x47,0xDA,0x57,0xD2,0x0E,0xD8,0xC4,0x20,
0xD2,0x01,0x1F,0xE9,0xCA,0x8B,0x0E,0xD8,0x68,0xC2,0x37,0x09,0xC0,0x00,0x4E,0x01,
0x8B,0x56,0x58,0x3B,0x31,0x8A,0x88,0x01,0xBC,0x01,0xF9,0x5B,0xD5,0xFB,0x11,0xDA,
0x98,0x3E,0xF0,0x4B,0x30,0x48,0xA8,0x26,0x4D,0x72,0xCF,0x01,0xD0,0x4B,0x48,0x01,
0x87,0xFE,0x48,0x62,0xFB,0x1B,0xC8,0x01,0x58,0xA9,0x82,0x2E,0xFA,0x1B,0x5C,0xA9,
0x8A,0x8E,0xC0,0x9B,0x58,0x21,0x88,0x76,0x14,0x01,0xB8,0x13,0xB8,0x13,0xA0,0x53,
0x04,0x59,0xAD,0x43,0xA9,0x53,0x42,0x4B,0x59,0x03,0x83,0x01,0xCC,0x03,0x04,0x32,
0x19,0x8A,0x05,0x4B,0xEA,0xC5,0xC7,0x83,0x47,0x41,0x88,0xDE,0x00,0x59,0xA5,0x43,
0xEA,0xC5,0x0F,0xA9,0xB9,0x0B,0x44,0x4B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0x82,
0x00,0x82,0x1C,0x0A,0x00,0x4B,0x01,0x01,0x4E,0xB2,0x56,0xCA,0xC8,0x01,0xC1,0x5B,
0x58,0x59,0x8D,0x0E,0xC0,0x43,0x00,0x1F,0xE4,0x00,0x92,0x05,0x17,0x82,0x9C,0xB6,
0xBA,0xFF,0xFF,0x57,0x43,0x4B,0x59,0x03,0x84,0x01,0xC9,0x03,0x05,0x32,0x1C,0x8A,
0x07,0x4B,0xE9,0xC5,0xAE,0x85,0x41,0x5A,0xE8,0x0B,0x4C,0x01,0x8E,0x4E,0xF8,0x08,
0xCE,0xC9,0xFF,0x4B,0x48,0x29,0xC8,0x26,0x01,0x07,0xF8,0x85,0xC0,0x0B,0x4A,0x01,
0x80,0xDE,0xEF,0x0B,0x18,0x09,0x38,0x48,0x48,0x01,0xD0,0xA6,0x65,0x2A,0x1E,0x1B,
0x50,0x2A,0x46,0x8B,0x29,0x41,0x18,0x4A,0x00,0x8B,0xE8,0x0B,0x10,0x79,0x07,0x8A,
0xA8,0x0B,0x00,0x07,0xF8,0x85,0xE9,0x0B,0x37,0x48,0xAE,0xDE,0x0D,0x01,0x18,0x0B,
0xE8,0x0B,0x18,0xCA,0xAA,0x0B,0xE8,0x0B,0x38,0x48,0xAC,0x4E,0x61,0xBA,0x45,0x0B,
0x51,0xA2,0x95,0x01,0x59,0x93,0x92,0x01,0xCC,0x93,0x04,0x9A,0x19,0xCA,0x00,0x0B,
0xEF,0x0B,0x12,0xE9,0x02,0x8A,0xA8,0x0B,0xEB,0x85,0xA9,0x85,0x6D,0x6A,0xED,0x01,
0xD0,0x43,0x41,0x01,0x81,0x3E,0x31,0x62,0xA0,0x01,0x36,0x49,0x5D,0x03,0x0B,0xB0,
0xCC,0x00,0x54,0x03,0x40,0x01,0x80,0xF6,0xBD,0xFF,0xF7,0xD7,0x0F,0x01,0x40,0xF9,
0x8B,0xD6,0x58,0x03,0x84,0x01,0xEB,0x13,0xFF,0x00,0xC7,0xC9,0x80,0x13,0x14,0x11,
0xAA,0x13,0x82,0x0B,0x00,0x01,0x10,0x79,0x2C,0x39,0x59,0xFA,0x08,0x68,0x05,0x37,
0x0A,0x21,0x19,0x0A,0xC2,0x48,0xCE,0x48,0xA2,0x53,0xE4,0x00,0x93,0x05,0x5E,0x0B,
0xD4,0x4B,0x16,0x0A,0xC3,0xA6,0xEF,0x85,0x47,0xF1,0x87,0xE6,0x47,0x01,0x80,0xD6,
0x5C,0x13,0xCB,0x90,0x52,0x9B,0xF4,0x00,0x14,0x09,0x00,0x12,0x17,0x9A,0x80,0x96,
0x93,0x4B,0xE9,0x85,0xAC,0x85,0x41,0x8A,0x44,0x23,0x48,0x72,0x11,0x09,0x88,0x01,
0x58,0x4B,0x32,0x9A,0x8C,0x01,0xC9,0x6B,0x00,0x5A,0x1D,0xE2,0x00,0x23,0x48,0x1B,
0xC8,0x6B,0x34,0xA2,0x05,0x62,0x1D,0x1A,0x0A,0x1B,0x48,0x1B,0xC8,0x6B,0x34,0xA2,
0x05,0x62,0x1D,0x1A,0x0E,0x1B,0x42,0x1B,0xCC,0x4B,0x04,0x52,0x1E,0x9A,0x00,0x1B,
0xEF,0x85,0xA9,0xC5,0x53,0x2A,0x5C,0xFA,0xDE,0x01,0xF1,0xC3,0x42,0x01,0x80,0x86,
0x08,0x01,0x20,0x01,0x28,0x91,0x31,0xC2,0x80,0x01,0x82,0x04,0x5F,0x33,0xCA,0x83,
0x40,0x01,0x80,0x06,0x28,0x41,0x01,0x01,0x00,0x47,0x38,0x01,0xF8,0xBA,0x7E,0x51,
0xDA,0x0E,0xE0,0x48,0x94,0x4D,0xE4,0x90,0xE4,0x00,0x92,0x05,0x17,0x42,0x9D,0xA6,
0x44,0x82,0xC3,0x01,0x48,0x51,0x90,0x4E,0x48,0x31,0x98,0x16,0xF2,0xCB,0x36,0x48,
0x8B,0x26,0x48,0x62,0xCE,0x01,0xC7,0x4B,0x48,0x09,0xC8,0x46,0xF4,0xCB,0x4E,0x01,
0x88,0x06,0x20,0x09,0x0E,0x09,0xB4,0xCB,0x0E,0xA1,0xB8,0x0B,0x06,0x5F,0xF8,0x0B,
0x48,0x01,0x80,0x16,0xF6,0x48,0xBA,0x0B,0x06,0x2F,0xF0,0xC3,0x40,0x09,0x8C,0x06,
0x24,0x09,0x00,0x01,0xB0,0xC3,0x66,0x01,0x83,0x9E,0x60,0x02,0x41,0x03,0xB1,0x01,
0xC8,0x93,0x2D,0x09,0x34,0x4A,0x01,0x8A,0x19,0x42,0x00,0x03,0x07,0x41,0xB9,0xF7,
0xD9,0x4F,0x40,0x03,0xCA,0x04,0x58,0x4B,0x8C,0x01,0xC9,0x4B,0x05,0x6A,0x1C,0x42,
0x07,0x03,0xE9,0xC5,0x3B,0x82,0xAB,0x85,0x02,0x01,0x28,0xE9,0x08,0x68,0x0B,0x01,
0x51,0x8A,0x1A,0x79,0x08,0xD8,0xC4,0xA0,0xC9,0x20,0xB3,0x0B,0x40,0x21,0x90,0x1E,
0x05,0x20,0xC2,0x20,0xC1,0x20,0x07,0x0C,0x40,0x11,0x90,0x1E,0x05,0x20,0xC4,0x20,
0xC5,0x20,0x07,0x0B,0xE6,0x00,0x92,0x05,0x47,0x41,0x98,0x66,0x41,0x2A,0xC2,0x01,
0xF8,0x13,0x30,0x1A,0xDA,0x01,0xB3,0xD3,0x55,0x4A,0x9A,0x01,0x18,0xD3,0x32,0x12,
0x64,0x42,0xD2,0x01,0x12,0xA3,0x62,0x42,0x12,0xA3,0x64,0x42,0x12,0xA3,0x66,0x42,
0x1A,0xA3,0x60,0x42,0x18,0xA3,0x12,0x09,0xBC,0x13,0xBA,0x0B,0xBF,0x13,0x16,0x11,
0xBE,0x13,0xB0,0x0B,0x44,0x22,0x02,0xC3,0x86,0x07,0xD8,0xDF,0x87,0x07,0xD8,0x3F,
0xBE,0xFF,0xEF,0x57,0xBE,0xFF,0xEF,0x67,0x07,0xE1,0xB9,0xFF,0xF7,0xCF,0xB8,0xFF,
0xE8,0x5F,0x06,0x19,0x84,0x07,0xD8,0xE7,0xB9,0xFF,0xFF,0xE7,0x85,0x07,0xD8,0xAF,
0xEB,0x85,0xAB,0x85,0x69,0x5A,0xE9,0x43,0x31,0x09,0x18,0x82,0xA9,0x43,0x31,0x62,
0xA3,0x01,0x01,0x7F,0xBC,0xFF,0xEF,0x27,0xBC,0xFF,0xEF,0x37,0xEE,0x43,0x39,0x00,
0x81,0x36,0x00,0xE1,0xBF,0xFF,0xEF,0xE7,0x4A,0x12,0x01,0xA9,0xC8,0x01,0xBC,0x43,
0xBB,0xFF,0xEF,0xF7,0x59,0x03,0x83,0x01,0xC0,0x03,0x42,0x01,0x87,0x0E,0xB8,0xFF,
0xEB,0xDF,0x5B,0x03,0x08,0x09,0xE1,0x4A,0x48,0x48,0x80,0x36,0x4B,0xCA,0x80,0x01,
0xCC,0x01,0xC7,0x4B,0xEC,0x03,0x16,0x0A,0x88,0x5E,0x81,0x07,0xD0,0xD7,0x81,0x07,
0xF8,0x17,0x80,0x07,0xF8,0x47,0x49,0x9A,0x06,0x01,0xC8,0x01,0x80,0x43,0x52,0x9A,
0x43,0x8B,0x58,0x03,0x84,0x01,0xC9,0x1B,0x34,0x82,0x01,0xC2,0x18,0x0A,0x00,0x8B,
0xB8,0xFF,0xFF,0xBF,0x41,0x5A,0xC0,0x01,0xF0,0x03,0x36,0x00,0xA7,0x0E,0xB8,0xFF,
0xEF,0xDF,0xBA,0xFF,0xF8,0x3F,0x83,0x07,0xDF,0x8F,0xBE,0xFF,0xEF,0xCF,0xBA,0xFF,
0xE8,0xDF,0x82,0x07,0xEF,0x67,0xBF,0xFF,0xEF,0xFF,0xBA,0xFF,0xEF,0x0F,0xBB,0xFF,
0xF0,0x27,0x05,0xDF,0x78,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0xF8,0x00,0x06,0x42,
0xC8,0x65,0x04,0x00,0x18,0x00,0x02,0x42,0x00,0x00,0x00,0x42,0x38,0xE0,0x06,0x01,
0xA0,0x03,0x04,0x00,0xB8,0x13,0x01,0x00,0xB8,0xA3,0x01,0x00,0xB8,0xA3,0x06,0x00,
0xB0,0x83,0x07,0x00,0xB8,0x83,0x00,0x00,0x20,0x4B,0x07,0x00,0xBF,0xFF,0xEF,0x17,
0xBA,0xFF,0xF7,0x47,0xE8,0x43,0x45,0x31,0x8B,0x66,0xEC,0x85,0x3F,0x18,0x14,0xF9,
0x74,0xD8,0x06,0xD2,0x38,0x48,0x74,0x48,0x00,0xCA,0x44,0x01,0xD0,0x5E,0x38,0x00,
0x78,0x00,0xC0,0x41,0x47,0x18,0x44,0xE2,0x00,0xD8,0xC4,0xC0,0x4C,0x1B,0x1E,0x9A,
0x1E,0x5A,0x08,0x1B,0x3C,0x82,0x43,0x18,0x44,0xC2,0x07,0xD8,0xC0,0xC0,0x40,0x1B,
0x18,0x9A,0x1C,0x5A,0x03,0x1B,0x38,0x82,0xAC,0x85,0x87,0xBD,0x63,0xA2,0x5F,0x03,
0xC0,0x0B,0x88,0x9C,0xE4,0x13,0xE2,0x0B,0x88,0x0C,0xC8,0x2B,0x44,0x8A,0x37,0x22,
0x40,0x8A,0x87,0xB4,0xF8,0x03,0x1E,0x01,0x40,0x09,0x88,0x66,0x0F,0x01,0x70,0x6A,
0xF0,0x71,0x00,0x27,0xC5,0xB8,0x9B,0xDB,0xA2,0x9A,0xE3,0x48,0x93,0x4D,0x5A,0x03,
0xCC,0x03,0x10,0x42,0xE7,0xB6,0x0F,0x1B,0x13,0x1B,0x11,0x1B,0x06,0x01,0x18,0x02,
0x0B,0x03,0x5D,0x03,0xCF,0x0B,0x40,0x12,0x80,0x01,0x81,0xAC,0xA0,0x0B,0x08,0x01,
0x40,0x02,0xC7,0x71,0x01,0x70,0x3C,0x89,0x19,0x01,0xC0,0xB0,0x0F,0xF8,0xCD,0xB0,
0x13,0x9B,0x3D,0x19,0xC3,0x30,0x0A,0xF8,0xCB,0xB0,0xA7,0x9B,0xE2,0x48,0x92,0x4D,
0x4F,0x11,0xD8,0x7E,0xCE,0xB4,0xF8,0x4B,0x4B,0x29,0xC8,0xCE,0x45,0xAA,0x06,0x48,
0xC0,0x71,0xC0,0x40,0x02,0x48,0xC3,0x18,0x4A,0xA2,0xC6,0xD8,0x9A,0x24,0xC0,0x00,
0x83,0x1C,0x30,0x02,0x58,0x7A,0x9E,0x71,0x08,0x01,0x88,0x44,0x48,0x82,0x8E,0x84,
0x88,0x7C,0x30,0xCA,0xC8,0xE1,0x88,0x14,0x0C,0x01,0x30,0x62,0x00,0x37,0xF2,0x24,
0x0B,0x01,0xF0,0x8A,0xF8,0x1C,0x88,0xA4,0x35,0x01,0xF8,0xF2,0xD8,0x48,0x94,0x4D,
0x48,0xF9,0xEF,0x06,0x08,0xF9,0xFF,0xA4,0xCB,0xF0,0x85,0xB0,0x70,0xF9,0xEF,0x06,
0x30,0xF9,0xFF,0x14,0x80,0xF3,0xF1,0x14,0xE0,0xB0,0xB3,0x14,0xC4,0x3B,0x10,0xBA,
0x9C,0x46,0x10,0x8A,0xD8,0x36,0x40,0xF4,0xDB,0x48,0xC6,0x88,0x90,0x4D,0x00,0xCC,
0x80,0x48,0x04,0x37,0x10,0x8A,0xDC,0x16,0x00,0x70,0x04,0xF4,0x00,0x0F,0x30,0x01,
0x04,0xF4,0x10,0x8A,0xD8,0x0E,0x30,0x09,0xB3,0x44,0x40,0x70,0x28,0x32,0xEB,0x26,
0xF4,0x84,0x10,0x72,0xE8,0x2E,0x88,0x84,0x00,0x1F,0xF0,0x7C,0x10,0x72,0xEC,0x06,
0x88,0x7C,0x80,0x0B,0xE4,0x00,0xE2,0xD8,0xCC,0x24,0xE0,0x48,0x88,0x24,0xC8,0x1C,
0xE0,0x48,0x8C,0x1C,0x32,0x0A,0xE3,0x48,0x94,0x4D,0x32,0x62,0x2D,0x62,0xDD,0xB6,
0xC8,0x44,0x48,0x01,0x80,0xA6,0x08,0x01,0x18,0x01,0x98,0x74,0xDC,0x0C,0xC0,0xD8,
0x40,0xD8,0x9A,0x94,0xDA,0x0C,0x30,0xD8,0x70,0xD8,0x98,0x8C,0x1C,0x01,0x30,0xE2,
0x98,0x3C,0x98,0x34,0x9A,0x2C,0xF0,0x00,0xF2,0x58,0x93,0xDD,0x9A,0x4C,0x00,0x0F,
0x03,0xAF,0x35,0x1A,0x04,0xD8,0x32,0xE2,0xDA,0x3C,0x00,0xD8,0x98,0x3C,0xD8,0x34,
0x00,0xD8,0x9A,0x34,0xDA,0x2C,0x00,0xD8,0x98,0x2C,0xF0,0x4C,0x45,0x58,0x13,0x9A,
0xE8,0x26,0xC0,0x1B,0xF4,0x84,0xD8,0xD8,0x80,0x1B,0x00,0x1F,0xC0,0x1B,0xF0,0x7C,
0xD8,0xD8,0x84,0x1B,0xF8,0x4C,0xC0,0x1B,0x77,0x55,0xA8,0x9A,0xC4,0x1B,0x10,0x9A,
0xDA,0xDE,0xE0,0x48,0x90,0x4D,0xF2,0x74,0xC1,0xB0,0x97,0xB5,0xB3,0x74,0x30,0x32,
0x39,0x09,0x18,0xF2,0x30,0xA2,0xF5,0x94,0x10,0x9A,0xDD,0x76,0xF1,0x3C,0x18,0xF2,
0xB0,0x3C,0xF0,0x0C,0x10,0x9A,0xDD,0x46,0xF1,0x34,0x18,0xF2,0xB0,0x34,0xF0,0x8C,
0x10,0x9A,0xDD,0x16,0xD9,0x2C,0x18,0xDA,0x9A,0x2C,0xF0,0x00,0xDA,0x4C,0xF0,0xD8,
0x90,0xDD,0x9A,0x4C,0xD8,0x4C,0x58,0x01,0xD0,0xDE,0xC5,0xAC,0xA0,0x0B,0xD2,0xAC,
0xD0,0x40,0xA3,0x83,0x36,0x02,0x1B,0x02,0x0B,0x03,0x35,0x02,0x10,0x03,0xC5,0x3C,
0x08,0x03,0xC7,0x34,0x10,0x03,0xC1,0x2C,0x10,0x03,0x33,0x01,0x00,0x07,0xC2,0x74,
0xBE,0xFF,0xDF,0xD7,0x90,0x05,0x80,0x74,0x4D,0x52,0x03,0x80,0xCA,0x71,0xC0,0x00,
0x0C,0x89,0x09,0x48,0xC4,0x00,0x52,0x13,0x40,0x55,0x08,0x01,0x18,0x01,0x98,0x04,
0x30,0xE2,0x04,0xD7,0x38,0x98,0x86,0x86,0xC0,0x1B,0xF8,0x74,0xD8,0xD8,0x96,0xDD,
0x58,0x01,0xE8,0x3E,0x80,0x1B,0xF8,0x04,0xC6,0xD8,0x97,0xDD,0x9A,0x04,0xE0,0x48,
0x90,0x4D,0x02,0x27,0x18,0x01,0x80,0x1B,0x00,0x0F,0x18,0x01,0x82,0x1B,0x40,0x90,
0xE3,0x00,0x32,0x1A,0xE2,0xD8,0x92,0xDD,0x35,0xE2,0x2C,0x62,0xDB,0x16,0xE7,0xB0,
0x90,0xB5,0xC3,0x04,0x82,0x74,0x40,0x9A,0x00,0x98,0xC5,0x71,0x38,0x89,0xC1,0xD8,
0x0E,0xF8,0xCD,0xD8,0x13,0xD3,0x14,0x19,0xCA,0x00,0x0C,0x90,0xC2,0x00,0xA4,0x0B,
0x48,0x21,0xD8,0x0E,0x75,0x09,0xD8,0xD6,0x02,0x01,0x48,0x52,0x38,0x89,0xC9,0x71,
0x0C,0xF8,0x05,0x10,0xC6,0x90,0xCA,0x98,0xE4,0x10,0x02,0xB0,0xC7,0xB0,0xCB,0xB0,
0x55,0xEB,0x54,0xB3,0x1C,0xAA,0x15,0xEB,0x18,0x19,0xC3,0x40,0x0E,0xD8,0xC2,0x00,
0xE4,0x1B,0xE2,0x2B,0xDA,0xD8,0xA2,0x1B,0x90,0x85,0x42,0x09,0xD9,0x4E,0x4F,0xF2,
0x02,0x09,0x88,0x01,0x83,0x43,0x50,0x03,0x10,0x21,0x40,0x01,0x80,0x16,0x00,0x29,
0x80,0x53,0x00,0xFF,0x50,0x03,0x41,0x01,0x80,0x16,0x00,0x21,0x80,0x53,0x00,0xCF,
0x48,0x03,0x47,0x01,0x80,0x1E,0x00,0x19,0x10,0x19,0x80,0x53,0x05,0x97,0x50,0x03,
0x40,0x01,0x88,0x2E,0x5A,0x03,0xEB,0x53,0x80,0x01,0xD9,0x03,0x10,0x12,0x9C,0x0E,
0x00,0x11,0x00,0x3F,0x41,0x62,0x81,0x01,0xE8,0x03,0x40,0x01,0x80,0x0E,0x00,0x11,
0x00,0x07,0x00,0x09,0xC4,0x53,0xE0,0x98,0x83,0x5B,0x5A,0x1B,0xE3,0xEB,0x3E,0x68,
0xA2,0x0E,0xF0,0x90,0x81,0x53,0xE8,0x13,0x2C,0x29,0x10,0x12,0x94,0x0E,0x80,0x6B,
0x04,0xE7,0x10,0x12,0xC8,0x46,0x40,0x09,0x8F,0x16,0x10,0x81,0x80,0x53,0x04,0xAF,
0xD4,0x90,0x00,0xAA,0x80,0x6B,0x04,0x8F,0x40,0x19,0xC8,0x0E,0x10,0x19,0x00,0x07,
0x94,0x15,0xC2,0x6B,0x68,0x01,0x80,0x16,0xF4,0x68,0x83,0x6B,0x02,0x37,0xC0,0xCB,
0xF2,0x90,0x1A,0x8A,0xD4,0x9C,0xC0,0x48,0xD4,0xB4,0xB8,0x8B,0xA8,0x03,0x81,0xBD,
0xEF,0x85,0xAF,0x85,0x80,0x5D,0x44,0x72,0x82,0x54,0x58,0x03,0xC8,0x23,0xE0,0x0B,
0x8E,0x44,0xE0,0x0B,0x30,0x48,0xA8,0x1E,0x84,0x01,0xC5,0x03,0x41,0x01,0x80,0x1E,
0x4D,0x42,0x00,0x00,0xCA,0x71,0xC0,0x00,0x00,0x08,0x53,0x42,0xC4,0x08,0xC2,0x48,
0xC0,0x10,0x04,0x01,0x18,0x01,0x00,0x9F,0x68,0x07,0x00,0x07,0x20,0x07,0x00,0x07,
0x78,0x00,0x05,0x01,0x18,0x70,0x03,0x01,0x70,0x00,0x04,0x01,0x20,0xE0,0x03,0x00,
0x78,0xF8,0x07,0x00,0x00,0x5C,0x00,0x9C,0xE4,0x48,0xE4,0x90,0xE2,0x00,0x92,0x05,
0x17,0x02,0xDD,0xBE,0x87,0x5D,0xE8,0x85,0x40,0xFA,0xC7,0x03,0x6F,0xFA,0x0F,0x43,
0x08,0x01,0x00,0x11,0xBB,0xFF,0xDF,0xA7,0x42,0xE2,0x87,0x01,0x43,0x0B,0x30,0x5A,
0x11,0xCC,0x58,0x4B,0x13,0xCC,0x5A,0x4B,0x15,0xCC,0x5C,0x4B,0x17,0xCC,0x46,0x4B,
0x1F,0xCC,0x48,0xBA,0x42,0x53,0x18,0xD4,0x4C,0x53,0x1F,0xD4,0x17,0x89,0x00,0x53,
0x13,0x19,0x18,0x53,0x40,0x53,0x18,0x11,0x18,0xD2,0x04,0x53,0x40,0x0B,0x18,0xCA,
0x07,0x0B,0x40,0x82,0x0E,0x69,0xF9,0x13,0x44,0x7A,0x0F,0x48,0xC0,0x08,0x8A,0x4C,
0x0A,0x09,0x0B,0x48,0xC0,0x28,0x52,0x09,0x88,0xBE,0xC2,0x54,0x5D,0x03,0x82,0x01,
0x50,0x04,0x86,0x1C,0x44,0x2A,0x5F,0x0B,0x90,0x75,0xB6,0x14,0x08,0x01,0x88,0x0C,
0x42,0x12,0x1F,0x33,0xEA,0x4B,0x43,0x48,0x03,0x48,0xAA,0x4B,0x0C,0x41,0x00,0x0B,
0x47,0x0B,0x10,0xF9,0x90,0x21,0x18,0x8A,0x00,0x0B,0x00,0x07,0xFB,0x85,0xE9,0x43,
0x3F,0x00,0x86,0xDE,0x4F,0xE2,0x06,0x00,0xC6,0x00,0x4A,0xE2,0xC0,0x38,0xC2,0x54,
0x5E,0x03,0xDA,0x0B,0x37,0xC2,0xB9,0xFF,0xDE,0x3F,0x49,0xCA,0x10,0x01,0x00,0x01,
0x02,0x67,0x00,0x18,0x37,0xE2,0xF4,0xDA,0x10,0x5A,0xD4,0x0E,0x33,0x0A,0xD3,0xCA,
0x10,0x9A,0xEC,0x0E,0x35,0x12,0xD3,0xD2,0xE2,0x00,0x92,0x05,0x17,0x02,0xDD,0x86,
0xC4,0x1C,0xE0,0x00,0x10,0x0A,0x9C,0x36,0xC0,0x0C,0x40,0x01,0x8B,0x9E,0x40,0x80,
0x40,0x08,0xC2,0x70,0x00,0x3F,0xC0,0x1C,0xF4,0x00,0x14,0x12,0xE0,0x5E,0x00,0x09,
0x83,0x0C,0xE0,0xB0,0x90,0xB5,0x77,0x01,0x80,0x16,0xC0,0x14,0x15,0x32,0x9C,0xBE,
0x70,0x01,0x88,0x06,0x30,0x09,0xC0,0x4C,0x90,0x33,0xC0,0x4C,0xD5,0x0B,0x40,0xDA,
0x18,0x0B,0x32,0x01,0x00,0xAF,0xC2,0x44,0x10,0x32,0xD4,0x5E,0xEA,0x43,0x43,0x00,
0x03,0x00,0xAA,0x43,0x40,0xAA,0x0D,0x41,0x00,0x0B,0x44,0x0B,0x10,0xF9,0x97,0x21,
0x18,0x8A,0x00,0x0B,0x4D,0xA2,0x05,0x00,0xC3,0x08,0x02,0x00,0x50,0x9A,0xC5,0x40,
0xC4,0x00,0xC4,0x48,0x70,0x01,0x88,0x66,0x15,0x01,0x78,0x8A,0x00,0x37,0x18,0x01,
0x00,0x1C,0x00,0x7C,0xE4,0x00,0xE4,0x48,0xE2,0x90,0x92,0x95,0x17,0x12,0xDD,0xB6,
0x05,0x07,0x59,0x4A,0x06,0x10,0xC7,0x90,0x5E,0x42,0xC5,0x90,0x30,0xA2,0x1C,0x01,
0x03,0x9F,0x30,0x3A,0x15,0x01,0xF0,0xD2,0x3E,0x01,0xF8,0x3A,0x10,0xBA,0xD4,0x06,
0x00,0x14,0x38,0x01,0xFC,0x7A,0x16,0xBA,0xE8,0x06,0x00,0x54,0xE4,0x00,0xE4,0x48,
0x34,0x12,0xE3,0x90,0x32,0xA2,0xE4,0xD8,0x95,0xDD,0x12,0x1A,0xD8,0x4E,0xC7,0x44,
0x10,0x32,0x84,0x8E,0xEE,0x43,0x3B,0x00,0x84,0xE6,0x4F,0xBA,0x02,0x00,0xC7,0x00,
0x4A,0xB2,0xC4,0x00,0xCA,0x54,0x58,0x4B,0xDF,0x4B,0xBE,0xFF,0xD3,0xEF,0xE4,0xB0,
0x90,0xB5,0xC3,0x44,0x15,0x32,0xEC,0x36,0x43,0x62,0x34,0x5A,0x52,0xCC,0x80,0x01,
0x04,0x0B,0x40,0x52,0x50,0xCC,0x1A,0x0B,0x52,0xCC,0x1C,0x0B,0x54,0xCC,0x1E,0x0B,
0x5E,0xCC,0x00,0x0B,0x4A,0x32,0x5C,0xD4,0x04,0x53,0x58,0xCC,0x08,0x0B,0x3E,0x0F,
0x4C,0x12,0x8C,0x01,0x48,0x53,0x18,0x21,0x18,0xD2,0x08,0x53,0x4A,0x53,0x18,0x01,
0x18,0xD2,0x08,0x53,0x4C,0x5B,0x10,0x01,0x18,0x9A,0x08,0x5B,0x48,0x0A,0x1C,0x01,
0x02,0x5B,0x40,0x5B,0x1A,0x9A,0x00,0x5B,0x48,0xFA,0x43,0x53,0x18,0x01,0x19,0xD2,
0x03,0x53,0x48,0xB2,0x8E,0x01,0x02,0x43,0x38,0x82,0xAB,0x85,0x08,0x09,0x00,0x31,
0xBE,0xFF,0xE7,0x27,0x08,0x11,0x00,0x21,0xBE,0xFF,0xE7,0x07,0x00,0x09,0x80,0x07,
0xE0,0x57,0x04,0x31,0x84,0x07,0xE0,0x3F,0x00,0x21,0x80,0x07,0xE3,0x27,0xB4,0x15,
0xEB,0x85,0x48,0x82,0x06,0x89,0xC8,0x01,0x08,0x43,0x02,0x01,0xE6,0x00,0x92,0x05,
0x47,0x51,0x98,0xDE,0x02,0x81,0x08,0x43,0x02,0x61,0x0B,0x43,0x3F,0x82,0xAB,0xC5,
0x42,0x12,0x43,0x0B,0x14,0x01,0x1E,0x8A,0x02,0x0B,0x42,0x0B,0x10,0x01,0x1A,0x8A,
0x03,0x0B,0x42,0x22,0x44,0x0B,0x2A,0x01,0x1A,0x4A,0x01,0x0B,0x4B,0x02,0x43,0x12,
0xE2,0x48,0x0E,0x0B,0x24,0x01,0x00,0x23,0x40,0x0B,0x42,0x0B,0x18,0x4A,0x01,0x0B,
0x00,0x09,0x80,0x07,0xE3,0xC7,0xB2,0x15,0x01,0x01,0x09,0x01,0x72,0x9A,0x52,0xDA,
0x7A,0xDA,0xB2,0x01,0x1A,0x42,0x58,0x92,0xDE,0x01,0x1A,0xC3,0xFA,0x85,0x01,0xA3,
0x19,0x21,0x00,0x9B,0x10,0xD8,0x02,0x9B,0xF8,0x85,0x01,0xA3,0x02,0xA3,0x41,0x9B,
0x95,0xDD,0x14,0xDA,0x94,0x06,0x18,0x42,0x40,0x48,0x4A,0x01,0x8A,0x56,0x47,0x72,
0x45,0x0B,0x18,0x4A,0x02,0x0B,0x08,0x23,0x40,0x72,0x0A,0x11,0x03,0x0B,0xB0,0x95,
0x4A,0x12,0x42,0x43,0x14,0x01,0x1E,0x82,0x07,0x43,0xEA,0xC5,0xAC,0x85,0x87,0x3D,
0x72,0x4A,0x42,0x52,0x58,0x03,0xCA,0x0B,0x8E,0x1C,0xC0,0x03,0x80,0x14,0x28,0x01,
0x40,0xE2,0x81,0x34,0x03,0xCF,0x01,0x40,0xF4,0xA2,0xC9,0x00,0x38,0xA1,0x80,0x2C,
0xF8,0x3A,0xC6,0x34,0xFD,0x03,0x14,0x02,0xD3,0x86,0x00,0xC0,0x10,0x02,0xD5,0x6E,
0x88,0x00,0x09,0x81,0xD1,0x48,0x30,0x02,0xBA,0xFF,0xC7,0x87,0xC8,0x00,0x96,0x05,
0x10,0x02,0xDD,0x0E,0xF1,0x20,0x93,0x05,0xCC,0x2C,0x10,0x44,0xC7,0x2C,0x80,0xF9,
0x80,0x09,0x20,0xC1,0x80,0x24,0xF8,0x22,0x3E,0x21,0xF8,0x3A,0xC4,0x34,0xF8,0x03,
0x10,0x02,0xD5,0x86,0x05,0xC0,0x13,0x02,0xD1,0x6E,0x88,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xFF,0xC6,0x9F,0xC9,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,
0x90,0x05,0xC9,0x24,0x03,0x44,0xE4,0x68,0x90,0x6D,0xC7,0x1C,0x16,0x2A,0x9C,0x16,
0x3A,0x01,0x00,0xBF,0x30,0xC2,0x09,0xA1,0x19,0x42,0xF2,0xA2,0xC8,0x28,0x04,0x11,
0xF0,0x42,0x81,0x0C,0xC4,0x34,0xF8,0x03,0x10,0x02,0xD5,0x8E,0xC2,0x0C,0x00,0x00,
0x10,0x02,0xD5,0x6E,0x88,0x08,0x01,0x81,0xD1,0x08,0x32,0x02,0xB8,0xFF,0xC7,0x77,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x93,0x05,0x01,0x44,
0x21,0x91,0xF8,0x62,0x01,0x81,0xF0,0x42,0x80,0x0C,0xC0,0x34,0xFD,0x03,0x14,0x02,
0xD0,0x76,0xC1,0x0C,0x05,0x00,0x12,0x02,0xD1,0x56,0x89,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xF7,0xF8,0x9F,0x07,0xDF,0x60,0x00,0x01,0x01,0x00,0x01,0x00,0x42,
0x18,0x00,0x04,0x42,0x70,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,
0xF8,0xFB,0x07,0x00,0x00,0x00,0x06,0x42,0x10,0x00,0x00,0x42,0x08,0x01,0x00,0x42,
0x58,0x98,0x02,0x00,0x08,0x07,0x04,0x07,0x38,0xE0,0x06,0x01,0x78,0x00,0x05,0x01,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x91,0x05,0x11,0x44,
0xE7,0xF8,0x93,0xFD,0xC4,0x14,0x10,0x3A,0x98,0x26,0x85,0x3D,0xEF,0x85,0xAF,0xBD,
0x80,0xF5,0x04,0x01,0x80,0x84,0x80,0x7C,0x7B,0xFA,0x5F,0xC3,0xC8,0x23,0x00,0x01,
0x80,0x74,0x80,0x6C,0x81,0x64,0x08,0x89,0x50,0xEA,0x0F,0x48,0x42,0xDA,0xC7,0x88,
0xFF,0x03,0x96,0xF9,0x90,0x29,0x8D,0xE4,0x40,0x09,0x88,0x96,0xC3,0xFC,0x18,0x02,
0xC0,0x18,0xCC,0xE4,0xC0,0x28,0xC2,0xF4,0x08,0x01,0x00,0x47,0x40,0x34,0x80,0xF3,
0x41,0x34,0x80,0x73,0xE3,0xD8,0xE2,0x68,0xE2,0x00,0xE4,0x48,0x95,0x4D,0x12,0x0A,
0xD8,0xA6,0x2F,0x01,0x30,0x72,0xA9,0x9C,0xC0,0xF4,0x80,0x14,0x44,0x2D,0x30,0x32,
0xC3,0xFC,0x18,0x02,0x84,0xDC,0xC0,0x00,0x80,0xD4,0x80,0x24,0x4D,0xCB,0x55,0xC3,
0x30,0x22,0x04,0x01,0x00,0x2F,0xD1,0x14,0xD8,0x24,0x40,0x94,0xC6,0xDB,0xD0,0x90,
0x93,0x95,0x30,0x9A,0x06,0xD4,0x38,0x58,0x80,0x26,0xD8,0x9C,0xC0,0x90,0x96,0x95,
0x90,0x9C,0x00,0x3F,0x36,0x1A,0x3B,0xD8,0x82,0x16,0xC8,0x90,0x90,0xAD,0x00,0x0F,
0xC8,0x90,0x94,0xB5,0x34,0x92,0xE3,0x90,0x30,0xB2,0xD4,0x14,0xE0,0x90,0x94,0x14,
0xD2,0x24,0xE0,0x90,0x92,0x24,0x40,0x48,0x32,0x12,0x43,0x90,0x32,0xA2,0xE4,0x00,
0x95,0x05,0x12,0x02,0xDE,0xBE,0x46,0x82,0x80,0x01,0x81,0xCC,0xE0,0x0B,0x48,0x01,
0xE8,0x26,0xC0,0x9C,0xBA,0xF7,0xFF,0xD7,0x90,0x05,0x80,0x9C,0xC2,0xCC,0xE0,0x0B,
0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,0x80,0x68,0x03,0x1F,0x37,0x42,0xB9,0xF7,
0xF8,0x6F,0x92,0x2D,0xC4,0xCC,0xE0,0x0B,0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,
0x80,0xB0,0x03,0x1F,0x37,0x82,0xB9,0xF7,0xF8,0x0F,0x92,0x35,0xC0,0xF4,0x48,0x2D,
0x30,0x72,0xCC,0xD4,0x8D,0x24,0x48,0xCB,0x8D,0x94,0x50,0xCB,0x8B,0x8C,0x58,0xD3,
0xE6,0x8B,0x3E,0x48,0x87,0x66,0x48,0xCB,0x31,0x62,0x54,0xCB,0x8B,0x84,0x50,0xCB,
0x88,0x7C,0xE8,0x8B,0x8A,0x74,0xE8,0x8B,0x8C,0x6C,0xE8,0x8B,0x88,0x64,0x00,0x0F,
0x0C,0x01,0x30,0x62,0xC2,0x8B,0x42,0x48,0x8D,0xB4,0x50,0x8A,0xC9,0xDC,0x90,0xC1,
0xC0,0x48,0x8C,0x1C,0x08,0x01,0x88,0xBC,0x00,0x17,0xCC,0x94,0x38,0x48,0x86,0x0E,
0xC8,0x9C,0x00,0x2F,0xCE,0x8C,0x38,0x48,0x81,0x0E,0x30,0x4A,0x01,0x07,0x30,0x8A,
0x48,0x01,0xE8,0x66,0x30,0x9A,0x13,0x01,0xF0,0xD2,0x54,0x01,0xEC,0x3E,0x10,0x52,
0xD0,0x06,0x30,0x8A,0x42,0x14,0xD0,0x88,0x90,0x5D,0x00,0x1C,0x03,0xB7,0x31,0x9A,
0x14,0x01,0xF0,0xD2,0x51,0x01,0xD0,0x7E,0x48,0x01,0xD0,0x2E,0x10,0x52,0xEC,0x06,
0x30,0x8A,0x40,0x14,0xD0,0x88,0x02,0x0C,0x1E,0x01,0xF0,0x1A,0x36,0x0A,0x3B,0x48,
0x80,0x26,0xC9,0x24,0xC0,0x4B,0x88,0xC4,0xD0,0x48,0x96,0x4D,0xD6,0x7C,0x38,0x90,
0x80,0x3E,0xD0,0x64,0x10,0x8A,0xEC,0xCE,0xD0,0x64,0xC8,0xC4,0xD0,0x48,0x04,0x0C,
0x00,0xA7,0xD0,0x84,0x38,0x90,0x86,0x3E,0xD4,0x6C,0x10,0x8A,0xE8,0x76,0xD0,0x6C,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x4F,0xD4,0x74,0x10,0x8A,0xE8,0x36,0xD0,0x74,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x0F,0x1E,0x01,0xF0,0x1A,0xC8,0x1C,0xD0,0xB4,
0xC6,0x4B,0xC0,0x90,0x10,0x8A,0xEC,0x66,0xC8,0xFC,0x10,0x09,0x06,0x52,0xBC,0x98,
0xC8,0x04,0x99,0x0C,0x90,0x04,0x40,0x7B,0x41,0x4B,0x1A,0xD2,0x19,0x5A,0xC8,0x04,
0x08,0x66,0xC8,0x1C,0xE0,0x48,0x8A,0x1C,0xE0,0x00,0xCC,0x24,0xE0,0x48,0x8A,0x24,
0x34,0x8A,0xE3,0x48,0x30,0x72,0xCC,0x94,0x40,0x48,0x8A,0x94,0xCA,0x8C,0x40,0x48,
0x8B,0x8C,0x30,0x0A,0x48,0x01,0x80,0x3E,0x44,0x48,0x32,0x62,0xCA,0x84,0x40,0x48,
0x88,0x84,0xC8,0x7C,0x40,0x48,0x8A,0x7C,0xCA,0xBC,0xE0,0x48,0x90,0x4D,0x8A,0xBC,
0xCD,0xBC,0x10,0x0A,0xD3,0x06,0x38,0xC7,0xE8,0xD4,0xC8,0xE4,0xC2,0xDC,0xC0,0x30,
0xF8,0xF4,0x00,0x01,0x80,0xBC,0x00,0xEF,0x0B,0x01,0xF0,0xCA,0x89,0xAC,0xC0,0x43,
0xC0,0x8B,0x89,0xA4,0xC8,0xAC,0xC0,0x40,0xCA,0xA4,0xC0,0x00,0x0F,0x19,0xB8,0xF7,
0xF0,0xEF,0x93,0x05,0x80,0x83,0xC9,0xAC,0x80,0x4B,0xC9,0xA4,0x04,0x50,0xC2,0x48,
0xC4,0x40,0x80,0x00,0x03,0xC4,0xE1,0x68,0xE5,0xB0,0xE3,0xF8,0xC2,0xBC,0xE0,0x00,
0x90,0x05,0x82,0xBC,0xC5,0xBC,0x10,0x02,0xD9,0xF6,0x86,0x0D,0xE9,0x85,0xAF,0x85,
0x42,0x8A,0x5A,0x03,0xC0,0x23,0xCE,0x1B,0x40,0x92,0x12,0x01,0x00,0x67,0x08,0x01,
0x00,0x37,0xC0,0x2B,0x35,0x68,0x75,0x68,0x82,0x2B,0xE0,0x00,0xE6,0x48,0x92,0x4D,
0x17,0xCA,0x9C,0xB6,0xE6,0x90,0x92,0x95,0x17,0x12,0x9D,0x86,0xEB,0x85,0xA9,0x85,
0x48,0x32,0x1A,0x01,0x8E,0x01,0x81,0x5B,0x88,0x5B,0x30,0x42,0x80,0x01,0xEF,0x13,
0xEA,0x23,0x38,0x90,0x7A,0x90,0x06,0x90,0x29,0xE9,0x07,0x62,0x18,0xA2,0xA8,0x23,
0xEF,0x13,0x20,0xD9,0x00,0x12,0xA9,0x13,0x63,0xDA,0x59,0x03,0x84,0x01,0xC1,0x03,
0x40,0x01,0x80,0x06,0x88,0x5B,0x04,0x01,0xBF,0xDF,0xEF,0x07,0x42,0xBA,0x81,0x01,
0xE8,0x03,0x42,0x51,0x98,0x16,0x00,0x09,0xBE,0xDF,0xEF,0xC7,0x59,0x03,0x83,0x01,
0xC0,0x03,0x44,0x01,0x87,0x0E,0xB8,0xD7,0xFF,0xB7,0xBF,0xD7,0xFF,0x0F,0xBC,0xFF,
0xFB,0xB7,0xED,0x85,0xAC,0x85,0x87,0x8D,0x40,0x5A,0x81,0x7C,0x5C,0x0B,0xCA,0x73,
0xC8,0x43,0x80,0x54,0x00,0x01,0x80,0x2C,0x40,0x42,0x11,0x01,0xC6,0x01,0x19,0x92,
0x84,0x74,0x28,0x13,0x29,0x13,0x8E,0x01,0xD8,0x43,0x80,0x64,0x29,0x01,0x40,0x12,
0xC0,0x01,0x82,0x6C,0x00,0xF7,0xC4,0x64,0x45,0x00,0x12,0x42,0xC0,0x1E,0xC0,0x7C,
0x48,0x03,0x46,0x01,0x80,0xF6,0xC3,0x6C,0x0C,0x01,0x10,0x0B,0x10,0x0B,0x8E,0x34,
0x88,0x3C,0xC0,0x74,0x6C,0x0B,0x6E,0x03,0x88,0x4C,0x80,0x44,0x20,0x01,0x00,0x4F,
0xC0,0x4C,0xC8,0x44,0x3A,0x10,0x46,0x48,0x1A,0x8A,0x40,0x00,0x88,0x44,0x80,0x4C,
0xE7,0x20,0x93,0x25,0xC6,0x44,0x38,0x00,0x8D,0x0E,0x10,0xA2,0x9D,0x86,0x17,0xA2,
0x80,0xE6,0x43,0x72,0x80,0x01,0x81,0x23,0x41,0x6A,0x08,0x19,0xCC,0x00,0x08,0x48,
0xC0,0x00,0x7A,0x6A,0xC7,0x03,0x08,0xC3,0x30,0x12,0x09,0x01,0x07,0x09,0xB8,0xE7,
0xC9,0xAF,0x32,0x0A,0x07,0x11,0xB8,0xE7,0xC0,0x5F,0x43,0x42,0x42,0x0B,0x3A,0x48,
0xA8,0xE6,0x47,0x0B,0x10,0x11,0x00,0x5F,0x78,0x00,0x05,0x01,0x70,0x00,0x04,0x01,
0x18,0x00,0x03,0x01,0x50,0xA0,0x05,0x01,0x00,0x01,0x00,0x42,0x18,0x00,0x04,0x42,
0x18,0x8A,0x00,0x0B,0x05,0x41,0x00,0xC3,0x47,0xC3,0x09,0xF9,0x88,0x19,0x18,0x42,
0x00,0xC3,0x69,0x01,0x88,0x56,0xC0,0x7C,0x40,0x03,0x46,0x01,0x80,0x0E,0x80,0x2C,
0x05,0x0F,0x40,0xB2,0x80,0x2C,0xC0,0x7C,0x44,0x03,0x3C,0x02,0xC5,0x54,0x48,0xA2,
0x1A,0x02,0x03,0x00,0xC5,0x00,0x4A,0x9A,0xC1,0x38,0x02,0x57,0xC6,0x44,0x38,0x00,
0x80,0xD6,0x00,0x09,0x00,0x02,0x85,0x5C,0x01,0x07,0xF8,0x85,0x08,0x01,0x88,0x1C,
0xC0,0x5C,0xD0,0x6C,0x84,0x14,0x50,0x9B,0x50,0x93,0x06,0xC2,0x30,0x52,0x88,0x0C,
0x82,0x04,0x00,0x4A,0x00,0x82,0x1A,0x42,0x80,0x7E,0x57,0x35,0x31,0x0A,0x31,0xC2,
0xD8,0x2C,0x00,0x07,0x04,0xD7,0x38,0xC2,0xC2,0x54,0x00,0x00,0xC8,0x38,0xC6,0x4C,
0xCE,0x44,0x38,0x10,0x40,0x48,0x1A,0x8A,0x40,0x00,0x8A,0x44,0x83,0x4C,0xE0,0x20,
0x95,0x25,0x17,0xA2,0x98,0x96,0xC6,0x74,0xD0,0x3C,0xC8,0x34,0x2C,0x13,0x2E,0x0B,
0xE7,0x68,0x93,0x6D,0xC4,0x64,0x10,0x2A,0x92,0x06,0x38,0xE7,0x07,0x01,0xB8,0xE7,
0xC0,0x2F,0x82,0x8D,0xEF,0x85,0xAF,0xC5,0x68,0x9A,0x34,0x01,0x8F,0x73,0xEB,0x60,
0x07,0x11,0xA0,0xC9,0xAF,0x03,0xBD,0xFF,0xFD,0xAF,0xA9,0x33,0x5E,0x03,0xCB,0x0B,
0x48,0x01,0x80,0x66,0x84,0x01,0x7E,0x6A,0x47,0x04,0x06,0xC3,0x03,0x09,0x88,0x43,
0xBB,0xE7,0xCF,0xAF,0x8B,0x73,0x5B,0x03,0x84,0x01,0x46,0x04,0x00,0xC3,0x0F,0x01,
0x37,0x42,0xB8,0xDF,0xFC,0xEF,0x4E,0x22,0xCE,0x01,0xF9,0x43,0x40,0x41,0x96,0x0E,
0xE6,0x00,0xBA,0x43,0xEF,0xC5,0xAF,0x85,0x84,0x6D,0x44,0x0A,0x82,0x64,0x58,0x03,
0xC8,0x0B,0x88,0x2C,0xC0,0x0B,0x8E,0x24,0x49,0xCA,0x8B,0xC1,0x8B,0x5C,0x50,0xEA,
0x91,0x54,0x18,0x79,0xE0,0xDA,0x98,0x44,0x18,0x29,0xB3,0xEA,0x60,0xB2,0x3B,0x01,
0x18,0x3B,0xB9,0x3C,0x10,0x3B,0xBF,0x34,0x1C,0x01,0x30,0xF2,0x58,0xB2,0x33,0x01,
0xAA,0x3B,0xC1,0x3B,0x40,0xF8,0xBB,0x1C,0x3E,0x11,0xFE,0x3A,0x80,0xC0,0x83,0x14,
0x31,0x3A,0xF9,0x01,0xF8,0xC3,0x47,0x29,0xC0,0xB6,0x00,0x01,0x1D,0xC4,0x1B,0xC4,
0x30,0x22,0x04,0x77,0x00,0x01,0x00,0x2F,0x40,0xBC,0x80,0x7B,0xE4,0x48,0xE2,0x90,
0xE3,0x38,0x92,0xC5,0xFD,0x2C,0x10,0xC2,0xDB,0xB6,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xFC,0x24,0x2F,0xE2,0xDD,0x6E,0xC4,0x5C,0x30,0x22,0xD0,0x54,0x00,0x01,
0x82,0x4C,0x00,0x67,0x0A,0x01,0x00,0x1F,0x30,0x02,0xC3,0x03,0x46,0xBC,0xD8,0x00,
0x90,0x05,0x00,0x84,0xFB,0x64,0x58,0xFB,0xBD,0x01,0xC1,0xFB,0x78,0x11,0x98,0x8E,
0x10,0x42,0xD5,0x7E,0xEB,0x3B,0xE1,0xF8,0xAB,0x3B,0x31,0xBA,0xC5,0xF8,0x31,0xF2,
0x34,0x3A,0x10,0x1A,0xD8,0x06,0x30,0xFA,0x30,0xDA,0x31,0x3A,0x10,0x32,0xE4,0x06,
0x31,0xBA,0x31,0xF2,0xFD,0x1C,0x10,0xC2,0xEB,0x6E,0xE8,0x3B,0x78,0x09,0x88,0x0E,
0x3B,0x09,0xAC,0x3B,0xFD,0x44,0x10,0xC2,0xE8,0xA6,0x00,0x09,0xFC,0x3C,0x00,0x42,
0x18,0xC2,0x81,0x3C,0x00,0x77,0xF8,0x14,0x10,0xC2,0xD5,0x5E,0xE8,0x3B,0x7B,0x09,
0x8C,0x0E,0x38,0x09,0xAD,0x3B,0x13,0x42,0xD0,0x26,0x00,0x09,0xFC,0x34,0x00,0x42,
0x18,0xC2,0x81,0x34,0xE3,0x90,0x34,0x02,0xE4,0x00,0x32,0x22,0xE2,0x48,0x92,0x4D,
0xC4,0x2C,0x10,0x0A,0xD8,0xC6,0xC5,0x4C,0xE2,0x00,0x92,0x05,0x80,0x4C,0xC8,0x24,
0xC4,0x4C,0x10,0x42,0xD8,0x76,0xC5,0x64,0x59,0x03,0x82,0x01,0xC0,0x03,0x44,0x11,
0x99,0x46,0xEA,0x03,0x42,0x11,0xC8,0x2E,0xF6,0x00,0x94,0x05,0x84,0x04,0xC8,0xC8,
0x32,0x82,0xD3,0x00,0xCF,0x04,0xB8,0xF7,0xE0,0x4F,0x94,0x05,0x80,0x0C,0x00,0x01,
0x13,0x04,0x0B,0xE9,0x08,0x48,0x10,0x01,0xF4,0x54,0x30,0x22,0x00,0x0F,0x19,0x01,
0x00,0xC7,0x00,0x01,0xF5,0x82,0x11,0x42,0xD0,0x8E,0xF8,0x0C,0xD8,0x00,0xAE,0x06,
0x10,0x02,0x92,0x05,0x34,0x3A,0x10,0x0A,0xE0,0x06,0x30,0x7A,0x30,0xCA,0x31,0x3A,
0x10,0x12,0xDC,0x06,0x31,0xBA,0x30,0xD2,0x51,0x3C,0xC3,0xC0,0x15,0x04,0xE3,0xB0,
0xE2,0xD8,0x92,0xDD,0xC4,0x2C,0x10,0x1A,0xDB,0x1E,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xDC,0x24,0x2E,0xE2,0xDC,0xD6,0x54,0x04,0xC3,0x48,0xD4,0x00,0x92,0x05,
0xCF,0x04,0xB8,0xF7,0xE3,0x4F,0x12,0x04,0xC0,0x0C,0x40,0x01,0xD2,0x06,0x10,0x02,
0x10,0x04,0x01,0x17,0x01,0x01,0x10,0x04,0x10,0x04,0xC3,0x3C,0x18,0x03,0xC1,0x34,
0x10,0x03,0x87,0x6D,0xEE,0x85,0x37,0x10,0x70,0x90,0x0E,0x09,0x02,0x8A,0x4C,0x00,
0x54,0x52,0x00,0x00,0xC0,0x00,0x04,0x0B,0x38,0x82,0x03,0x00,0xB0,0x69,0x01,0x00,
0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,0x70,0x00,0x05,0x01,0x00,0x01,0x00,0x42,
0x78,0x00,0x05,0x01,0x38,0xE0,0x06,0x01,0xE7,0xC7,0xF8,0xFF,0x08,0x07,0x00,0x07,
0x61,0x28,0x79,0x68,0x50,0x50,0x00,0x78,0x21,0x10,0x50,0x00,0x00,0x00,0x08,0x08,
0x40,0x40,0x28,0x84,0x58,0xB0,0x18,0x28,0xF3,0x50,0xC0,0x23,0xC0,0x83,0x17,0x40,
0x08,0x80,0x00,0x00,0x60,0xC0,0x00,0x28,0x20,0x30,0xA0,0xA0,0x18,0x60,0xF0,0xF0,
0x20,0xE3,0x41,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x20,0x40,0x08,0x10,0x20,0x40,
0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x17,0x17,0xA7,0xB0,0x47,0x61,0x0F,0x60,0x08,0x08,0x10,0x10,
0x20,0x20,0x60,0x60,0x00,0x80,0x90,0x98,0x10,0x08,0x60,0x08,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xF0,0x60,0xE0,0xF1,0xA0,0x00,
0xF0,0x40,0x1E,0x00,0x20,0x10,0x84,0x80,0x00,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x40,0x00,0x00,0xA0,0x05,0x40,0x00,0x40,0x0E,0x10,0x12,0xC0,0x02,0x80,
0x07,0x00,0xF8,0xA7,0x0C,0x18,0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x60,0x66,0x06,0x00,0x40,0x44,0x04,0x00,0x80,0x20,0x01,0x42,0x80,0x20,0x01,0x42,
0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,
0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,
0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,0x80,0xA0,0x03,0x42,0x80,0xA0,0x03,0x42,
0x80,0xA0,0x03,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,
0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,
0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x08,0x01,0x01,0x42,0x08,0x41,0x01,0x42,0x08,0x81,0x01,0x42,0x08,0xC1,0x01,0x42,
0x08,0x01,0x02,0x42,0x08,0x41,0x02,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x41,0x00,0x42,
0x08,0x81,0x00,0x42,0x08,0xC1,0x00,0x42,0x08,0xC1,0x01,0x42,0x08,0x81,0x01,0x42,
0x08,0x41,0x01,0x42,0x08,0x01,0x01,0x42,0x08,0xC1,0x00,0x42,0x08,0x81,0x00,0x42,
0x08,0x41,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0xF8,0xFF,0x07,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x08,0xF8,0x0F,0xF8,0x07,0xFF,0xFF,0x07,0xF8,0x08,0xF8,0x0F,0x00,
0x08,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xB0,0x3B,0xC0,
0x0A,0x18,0x19,0x28,0x02,0x28,0x53,0xB0,0x09,0xC0,0x03,0x08,0x00,0x00,0x00,0x00,
0x52,0x08,0x51,0x18,0x54,0xB0,0x3A,0x08,0x03,0x08,0x51,0x38,0x54,0x18,0x51,0x38,
0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x04,0x00,0x50,0x38,
0x54,0x18,0x51,0x38,0x50,0x90,0x01,0x00,0x51,0x38,0x54,0x18,0x00,0x00,0x00,0x00,
0x03,0x00,0x50,0x28,0x52,0x38,0x34,0x88,0x00,0x38,0x00,0x28,0x0B,0x40,0x51,0xB0,
0x50,0x90,0x00,0x00,0x01,0x00,0x50,0xA0,0x53,0xB0,0x0A,0xC0,0x00,0x08,0x01,0x00,
0x51,0x38,0x53,0x18,0x54,0x08,0x55,0x38,0x53,0x90,0x51,0x38,0x54,0x18,0x51,0x38,
0x55,0x90,0x51,0x08,0x00,0x08,0xF8,0x07,0x00,0xF8,0x0F,0x00,0x10,0x10,0x08,0x10,
0x10,0x10,0x08,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x10,0x08,0x08,0x10,0x10,
0x08,0x08,0x08,0x08,0x7F,0x00,0x7F,0x00,0x06,0x80,0x51,0x56,0xFD,0x18,0x00,0x0B,
0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,0xE0,0x0F,0xE0,0x0F,0x30,0x00,0xCA,0xCA,
0x03,0x1F,0xA1,0x60,0x06,0x49,0xDD,0xCC
};
#endif /*CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__*/

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
static unsigned char cst2xxse_fw[] = {
0x6c,0x03,0x00,0x20,0x61,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xf9,0x00,0x00,0x00,0xfb,0x00,0x00,0x00,0x1b,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4b,0x01,0x00,0x00,0x00,0xf0,0x02,0xf8,0x00,0xf0,0x40,0xf8,0x0c,0xa0,0x30,0xc8,
0x08,0x38,0x24,0x18,0x2d,0x18,0xa2,0x46,0x67,0x1e,0xab,0x46,0x54,0x46,0x5d,0x46,
0xac,0x42,0x01,0xd1,0x00,0xf0,0x32,0xf8,0x7e,0x46,0x0f,0x3e,0x0f,0xcc,0xb6,0x46,
0x01,0x26,0x33,0x42,0x00,0xd0,0xfb,0x1a,0xa2,0x46,0xab,0x46,0x33,0x43,0x18,0x47,
0x80,0x12,0x00,0x00,0xa0,0x12,0x00,0x00,0x10,0x3a,0x02,0xd3,0x78,0xc8,0x78,0xc1,
0xfa,0xd8,0x52,0x07,0x01,0xd3,0x30,0xc8,0x30,0xc1,0x01,0xd5,0x04,0x68,0x0c,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3a,0x01,0xd3,
0x78,0xc1,0xfb,0xd8,0x52,0x07,0x00,0xd3,0x30,0xc1,0x00,0xd5,0x0b,0x60,0x70,0x47,
0x1f,0xb5,0xc0,0x46,0xc0,0x46,0x1f,0xbd,0x10,0xb5,0x10,0xbd,0x00,0xf0,0x3c,0xff,
0x11,0x46,0xff,0xf7,0xf5,0xff,0x00,0xf0,0x03,0xf9,0x00,0xf0,0x54,0xff,0xff,0xf7,
0xf3,0xff,0x00,0xf0,0x5b,0xff,0x00,0x00,0xfe,0xe7,0x1d,0x49,0x48,0x88,0x48,0x80,
0x1c,0x48,0x02,0x7c,0xff,0x2a,0x02,0xd2,0x02,0x7c,0x52,0x1c,0x02,0x74,0x00,0x7c,
0x18,0x28,0x01,0xd2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8a,0x79,0x15,0x48,
0x20,0x30,0x80,0x6b,0x43,0x7a,0x9a,0x43,0x8a,0x71,0x40,0x7a,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xb5,0x0f,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0d,0xf0,0xec,0xfe,0x10,0xbd,0x10,0xb5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xd5,0x02,0x78,0x80,0x21,0x0a,0x43,0x02,0x70,0x07,0x4a,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xbd,0x00,0xf0,0xf9,0xfb,0x10,0xbd,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0a,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xb5,0x63,0x48,0x63,0x4c,0x80,0x6b,0x01,0x46,0x80,0x30,0x03,0x7f,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2b,0x06,0xd0,0x1b,0x02,0x13,0x43,0x63,0x81,0xff,0x22,
0x23,0x32,0x62,0x80,0x03,0xe0,0x62,0x81,0xff,0x22,0x03,0x32,0x62,0x80,0xa0,0x31,
0x89,0x8a,0xe1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7a,
0xc0,0x79,0x09,0x02,0x01,0x43,0x53,0x48,0x20,0x38,0xc1,0x81,0x10,0xbd,0x10,0xb5,
0x4f,0x48,0x51,0x49,0x81,0x63,0x01,0x46,0x50,0x4a,0x40,0x39,0xca,0x61,0x50,0x4a,
0x0a,0x62,0x50,0x4a,0x4a,0x62,0x50,0x4a,0x8a,0x62,0x50,0x4a,0xca,0x62,0x50,0x49,
0xc1,0x63,0x50,0x49,0x41,0x60,0x50,0x49,0x81,0x60,0x50,0x49,0xc1,0x60,0x50,0x49,
0x01,0x61,0x50,0x49,0x41,0x61,0x43,0x49,0xf0,0x20,0x60,0x39,0x88,0x75,0x48,0x48,
0xa8,0x21,0x40,0x30,0x01,0x73,0x00,0x24,0xc4,0x72,0x0d,0xf0,0xe5,0xfe,0x0d,0xf0,
0xdf,0xfe,0x3c,0x20,0x0d,0xf0,0xd8,0xfe,0x0d,0xf0,0xd2,0xfe,0x0d,0xf0,0xcc,0xfe,
0x00,0xf0,0xeb,0xf9,0x0d,0xf0,0xc4,0xfe,0x00,0xf0,0x51,0xfa,0x42,0x48,0x04,0x70,
0x44,0x80,0x84,0x80,0xc4,0x80,0x10,0xbd,0x70,0xb5,0x31,0x4c,0x20,0x78,0x01,0x21,
0x08,0x43,0x20,0x70,0x3d,0x4d,0x47,0xe0,0x0d,0xf0,0xae,0xfe,0x28,0x7a,0x00,0x28,
0x03,0xd0,0x2b,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x0d,0xf0,0xa1,0xfe,0x20,0x78,
0xc0,0x07,0x01,0xd0,0x55,0x20,0x68,0x70,0x0d,0xf0,0x96,0xfe,0xa0,0x6b,0x20,0x30,
0x40,0x78,0x00,0x28,0x01,0xd0,0x0d,0xf0,0x8b,0xfe,0xa0,0x6b,0x21,0x21,0x09,0x5c,
0x09,0x09,0x06,0xd0,0x1e,0x49,0x60,0x30,0xa0,0x39,0x89,0x7b,0xc0,0x7a,0x81,0x42,
0x1e,0xd1,0x0d,0xf0,0x79,0xfe,0x0d,0xf0,0x73,0xfe,0x0d,0xf0,0x6d,0xfe,0x00,0xf0,
0x68,0xf9,0xa0,0x78,0x00,0x28,0x02,0xd0,0xa0,0x78,0x02,0x28,0x01,0xd1,0x00,0xf0,
0x18,0xfa,0x0d,0xf0,0x5d,0xfe,0x0d,0xf0,0x53,0xfe,0x0d,0xf0,0x4d,0xfe,0x20,0x48,
0x0d,0xf0,0x46,0xfe,0x0d,0xf0,0x40,0xfe,0x0d,0xf0,0x3a,0xfe,0x00,0xf0,0xc1,0xf9,
0x00,0xf0,0xdd,0xf8,0x00,0xf0,0xa6,0xf8,0xa0,0x78,0x06,0x28,0xb4,0xd1,0x70,0xbd,
0x10,0xb5,0xff,0xf7,0x6c,0xff,0x06,0x4c,0xa0,0x78,0x00,0x28,0x04,0xd0,0x06,0x28,
0xfa,0xd1,0x0d,0xf0,0x11,0xfe,0xf7,0xe7,0xff,0xf7,0x9e,0xff,0xf4,0xe7,0x00,0x00,
0xb0,0x0a,0x00,0x20,0x80,0x10,0x00,0x40,0xc4,0x0f,0x00,0x00,0xf6,0x11,0x00,0x00,
0x08,0x12,0x00,0x00,0xe4,0x12,0x00,0x00,0xc4,0x11,0x00,0x00,0xe4,0x11,0x00,0x00,
0x08,0x00,0x00,0x20,0x89,0x03,0x00,0x00,0x91,0x03,0x00,0x00,0xcd,0x07,0x00,0x00,
0x4d,0x0a,0x00,0x00,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x5c,0x00,0x00,0x20,
0x83,0x05,0x00,0x00,0x0b,0x49,0x0a,0x48,0xc8,0x60,0xbf,0xf3,0x40,0x8f,0xfe,0xe7,
0x10,0xb5,0xff,0xf7,0xc5,0xff,0x10,0xbd,0x0f,0xb5,0x00,0x90,0x01,0x91,0x01,0x98,
0x02,0x90,0x00,0x98,0x03,0x90,0x68,0x46,0x0f,0xc8,0x04,0xb0,0x00,0xbd,0x00,0x00,
0x04,0x00,0xfa,0x05,0x00,0xed,0x00,0xe0,0x10,0xb5,0x00,0xf0,0x42,0xfd,0x10,0xbd,
0x10,0xb5,0x00,0xf0,0x3e,0xfd,0x08,0x46,0x10,0xbd,0x00,0x00,0xf0,0xb5,0x00,0x21,
0x0a,0x24,0xff,0x48,0xc0,0x7c,0x01,0x28,0x3c,0xd1,0xfe,0x4d,0xfe,0x4b,0x3e,0xe0,
0x24,0x20,0xfe,0x4a,0x48,0x43,0x86,0x18,0x17,0x20,0x80,0x01,0x30,0x18,0x02,0x7c,
0x01,0x2a,0x32,0xd1,0xc2,0x7b,0x03,0x2a,0x2f,0xd1,0x42,0x7c,0x05,0x2a,0x2c,0xd9,
0x1a,0x88,0x52,0x1c,0x92,0xb2,0x1a,0x80,0x01,0x2a,0x04,0xd1,0x82,0x8b,0x2a,0x80,
0xf3,0x4f,0xc2,0x8b,0x3a,0x80,0x82,0x8b,0x2f,0x88,0xd2,0x1b,0x12,0xb2,0xf0,0x4f,
0xc0,0x8b,0x3f,0x88,0xc0,0x1b,0x07,0xb2,0x2f,0x20,0x40,0x01,0x30,0x18,0x02,0x26,
0x86,0x5f,0x0f,0x36,0x1e,0x2e,0x0e,0xd8,0x04,0x26,0x86,0x5f,0xf6,0x1d,0x0e,0x2e,
0x09,0xd8,0x0f,0x32,0x1e,0x2a,0x06,0xd8,0xff,0x1d,0x0e,0x2f,0x03,0xd8,0xe5,0x49,
0x01,0x20,0x08,0x70,0xf0,0xbd,0x00,0x20,0x18,0x80,0x49,0x1c,0xc9,0xb2,0xa1,0x42,
0xbe,0xd3,0xf0,0xbd,0x30,0xb5,0xda,0x48,0x80,0x30,0x00,0xe0,0x30,0xbf,0x01,0x7c,
0x00,0x29,0xfb,0xd0,0xd6,0x48,0xa0,0x30,0x01,0x78,0x09,0x07,0x15,0xd5,0xda,0x4b,
0x01,0x22,0x1a,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,0x01,0x78,
0xef,0x24,0x21,0x40,0x01,0x70,0x00,0xe0,0x30,0xbf,0x01,0x78,0xc9,0x06,0xfb,0xd5,
0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xd0,0x4a,0x50,0x68,0x40,0x1c,
0x50,0x60,0xcf,0x49,0x03,0x0e,0x8b,0x72,0x03,0x0c,0x4b,0x72,0x03,0x0a,0x0b,0x72,
0xc8,0x71,0x10,0x7a,0x00,0x28,0x01,0xd0,0x30,0xbf,0xfd,0xe7,0x30,0xbd,0xf8,0xb5,
0xbf,0x4c,0xa0,0x34,0xa0,0x78,0x00,0x28,0x03,0xd0,0x0d,0xf0,0x45,0xfd,0x00,0x28,
0x3b,0xd1,0xbb,0x4a,0xc2,0x49,0xd0,0x7c,0x00,0x25,0xc0,0x4b,0x40,0x39,0x00,0x28,
0x0a,0xd1,0xa7,0x6b,0x10,0x46,0x40,0x30,0x20,0x37,0x86,0x7d,0x3f,0x7a,0xbe,0x42,
0x07,0xd3,0x00,0x7c,0x00,0x06,0x04,0xd5,0xb1,0x48,0x60,0x30,0x40,0x78,0x00,0x28,
0x24,0xd0,0x58,0x78,0x55,0x28,0x05,0xd0,0x18,0x78,0x55,0x28,0x1d,0xd1,0x50,0x7b,
0x06,0x28,0x1a,0xd1,0x1d,0x70,0x5d,0x70,0x0d,0x70,0xab,0x20,0x88,0x71,0x4d,0x71,
0xad,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,0x20,0x31,0x8a,0x79,0x31,0x46,
0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,0xfd,0xff,0x28,0x78,0xa1,0x6b,
0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,0xf8,0xbd,0x55,0x20,0x18,0x70,
0x00,0x20,0xa4,0x4a,0x0b,0x78,0xab,0x2b,0x03,0xd0,0x40,0x1c,0x80,0xb2,0x90,0x42,
0xf8,0xd3,0xe1,0x63,0x0d,0xf0,0xfc,0xfc,0x9a,0x4e,0x35,0x70,0xff,0xf7,0x26,0xff,
0x30,0x78,0x00,0x28,0xe9,0xd1,0x98,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,
0x20,0x31,0x8a,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,
0xd2,0xff,0x28,0x78,0xa1,0x6b,0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,
0xf8,0xbd,0xf8,0xb5,0x86,0x48,0xa0,0x30,0x80,0x6b,0x05,0x79,0xc0,0x78,0x00,0x90,
0x00,0x26,0x36,0xe0,0x00,0x20,0x00,0x21,0x32,0x46,0x6a,0x43,0x53,0x00,0x83,0x4a,
0x9b,0x18,0x5f,0x22,0xd2,0x00,0x9a,0x18,0x14,0x46,0x00,0x23,0x07,0xe0,0x17,0x88,
0x38,0x18,0x00,0xb2,0x49,0x1c,0x09,0xb2,0x92,0x1c,0x5b,0x1c,0xdb,0xb2,0xab,0x42,
0xf5,0xd3,0x00,0xf0,0x26,0xfc,0x00,0xb2,0x00,0x21,0x16,0xe0,0x00,0x28,0x0b,0xdd,
0x00,0x22,0xa2,0x5e,0x82,0x42,0x02,0xdb,0x12,0x1a,0x22,0x80,0x0a,0xe0,0x00,0x2a,
0x08,0xdd,0x01,0x22,0x22,0x80,0x05,0xe0,0x00,0x22,0xa2,0x5e,0x82,0x42,0x01,0xdc,
0x12,0x1a,0x22,0x80,0xa4,0x1c,0x49,0x1c,0xc9,0xb2,0xa9,0x42,0xe6,0xd3,0x76,0x1c,
0xf6,0xb2,0x00,0x98,0x86,0x42,0xc5,0xd3,0xf8,0xbd,0x30,0xb5,0x6a,0x48,0x20,0x38,
0x84,0x78,0x63,0x49,0x01,0x22,0xa0,0x31,0x89,0x6b,0x13,0x46,0x20,0x31,0x8d,0x79,
0xab,0x40,0x9c,0x43,0x84,0x70,0x44,0x78,0x8d,0x79,0x13,0x46,0xab,0x40,0x9c,0x43,
0x44,0x70,0x03,0x78,0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x70,0x03,0x79,
0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8d,0x79,0x14,0x46,
0xac,0x40,0xa3,0x43,0x43,0x71,0xc3,0x78,0x89,0x79,0x8a,0x40,0x13,0x43,0xc3,0x70,
0x30,0xbd,0x70,0xb5,0x4e,0x4d,0x60,0x35,0x68,0x78,0x00,0x28,0x27,0xd0,0x2c,0x46,
0x40,0x34,0xa0,0x6b,0xff,0x30,0xc1,0x30,0x80,0x6b,0x00,0x28,0x1f,0xd0,0x0d,0xf0,
0x63,0xfc,0x00,0x21,0xff,0x28,0x1b,0xd1,0xa0,0x6b,0x60,0x30,0x82,0x7a,0x44,0x48,
0x82,0x73,0x02,0x22,0x03,0x46,0x20,0x33,0x5a,0x70,0x41,0x73,0x00,0x20,0x0f,0x22,
0x17,0x25,0x42,0x4b,0xad,0x01,0x06,0xe0,0x24,0x21,0x41,0x43,0xc9,0x18,0x49,0x19,
0x8a,0x73,0x40,0x1c,0xc0,0xb2,0xa1,0x6b,0xc9,0x7a,0x81,0x42,0xf4,0xd8,0x70,0xbd,
0xfe,0x28,0xfc,0xd0,0x00,0x28,0xfa,0xd0,0xa2,0x6b,0xff,0x32,0xc1,0x32,0x93,0x6b,
0x40,0x1e,0x01,0x22,0x82,0x40,0x13,0x42,0xf1,0xd0,0x69,0x70,0x70,0xbd,0x37,0x49,
0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x35,0x4a,0xd0,0x72,0x08,0x72,
0x70,0x47,0xf8,0xb5,0x34,0x4a,0x32,0x4b,0xd8,0x7a,0x00,0x28,0x4f,0xd0,0x00,0x21,
0x00,0x25,0x32,0x24,0x26,0x48,0xa0,0x30,0x00,0x90,0x86,0x6b,0xf0,0x79,0x00,0x28,
0x00,0xd0,0x28,0x24,0x00,0x20,0x08,0xe0,0x00,0x27,0xd7,0x5f,0x0a,0x2f,0x01,0xdb,
0x49,0x1c,0x89,0xb2,0x92,0x1c,0x40,0x1c,0x80,0xb2,0xa0,0x42,0xf4,0xd3,0x23,0x4a,
0x0a,0x29,0x08,0xd2,0x06,0x29,0x02,0xd3,0xd8,0x7a,0x40,0x06,0x03,0xd1,0x18,0x48,
0xc0,0x7b,0x01,0x28,0x08,0xd9,0xd8,0x7a,0x80,0x28,0x00,0xd1,0x01,0x25,0x81,0x20,
0xd8,0x72,0x14,0x20,0x90,0x70,0x0b,0xe0,0x90,0x78,0x00,0x28,0x02,0xd0,0x40,0x1e,
0x90,0x70,0x05,0xe0,0xd8,0x7a,0x81,0x28,0x00,0xd1,0x01,0x25,0x80,0x20,0xd8,0x72,
0x00,0x2d,0x14,0xd0,0x10,0x4c,0x20,0x3c,0x20,0x78,0x20,0x36,0xb2,0x79,0x01,0x25,
0x29,0x46,0x91,0x40,0x08,0x43,0x20,0x70,0x28,0x20,0x0c,0xf0,0xc4,0xfe,0x20,0x78,
0x00,0x99,0x89,0x6b,0x20,0x31,0x89,0x79,0x8d,0x40,0xa8,0x43,0x20,0x70,0xf8,0xbd,
0x10,0x0a,0x00,0x20,0x02,0x00,0x00,0x20,0x06,0x00,0x00,0x20,0x70,0x03,0x00,0x20,
0x04,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x10,0x00,0x40,0x5c,0x00,0x00,0x20,
0x48,0x00,0x00,0x20,0x7c,0x92,0x00,0x00,0x68,0x06,0x00,0x20,0xf8,0xb5,0x0d,0x46,
0x07,0x9f,0x06,0x9e,0x11,0x46,0xfe,0x4a,0x90,0x6b,0x40,0x30,0x00,0x2d,0x07,0xd0,
0x00,0x2e,0x02,0xd0,0x1e,0x24,0x04,0x57,0x09,0xe0,0x1d,0x24,0x04,0x57,0x06,0xe0,
0x00,0x2f,0x02,0xd0,0x1c,0x24,0x04,0x57,0x01,0xe0,0x1b,0x24,0x04,0x57,0x00,0x20,
0x18,0x5e,0x00,0x28,0x00,0xda,0x40,0x42,0xc0,0x01,0x0b,0x46,0x00,0x21,0x52,0x68,
0x59,0x5e,0x90,0x47,0x7f,0x28,0x00,0xdd,0x7f,0x20,0xff,0x21,0x01,0x31,0x00,0x2e,
0x01,0xd0,0x00,0x2d,0x03,0xd1,0x00,0x2f,0x02,0xd0,0x00,0x2d,0x00,0xd1,0x08,0x1a,
0x00,0x19,0x88,0x42,0x01,0xdd,0x08,0x46,0xb1,0xe7,0x00,0x28,0xaf,0xda,0x00,0x20,
0xad,0xe7,0xf0,0xb5,0x87,0xb0,0xe3,0x4e,0xe1,0x48,0x80,0x6b,0x01,0x79,0x03,0x91,
0xc0,0x78,0x02,0x90,0x00,0x25,0xde,0x48,0xa0,0x38,0x06,0x90,0x39,0xe0,0x68,0x00,
0x34,0x5e,0x80,0x19,0x14,0x27,0x05,0x90,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,
0x10,0xda,0x78,0x00,0xa0,0x42,0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,
0x00,0xf0,0xc7,0xfa,0xc0,0x19,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,
0x05,0x99,0x88,0x82,0x05,0x98,0xff,0x30,0x01,0x30,0x18,0x24,0x04,0x90,0x04,0x5f,
0x04,0x27,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,0x10,0xda,0x78,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0xaa,0xfa,0xc0,0x19,
0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x04,0x99,0x88,0x80,0x6d,0x1c,
0xed,0xb2,0x03,0x98,0x85,0x42,0xc2,0xd3,0x00,0x27,0x3a,0xe0,0x38,0x46,0x14,0x21,
0x48,0x43,0x34,0x5e,0x85,0x19,0x02,0x20,0x28,0x5e,0x01,0x90,0x06,0x98,0x80,0x7a,
0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,0x0d,0xda,0x21,0x11,0x10,0x20,
0x41,0x1a,0x20,0x46,0x00,0xf0,0x85,0xfa,0x01,0x99,0x40,0x18,0x00,0xb2,0xa0,0x42,
0x01,0xdb,0x64,0x1e,0x20,0xb2,0x68,0x80,0x12,0x24,0x2c,0x5f,0x10,0x20,0x28,0x5e,
0x01,0x90,0x06,0x98,0x80,0x7a,0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0x6a,0xfa,0x01,0x99,
0x40,0x18,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x28,0x82,0x7f,0x1c,
0xff,0xb2,0x02,0x98,0x87,0x42,0xc1,0xd3,0x07,0xb0,0xf0,0xbd,0x70,0x47,0xf8,0xb5,
0x9d,0x4c,0xa3,0x88,0xcf,0x20,0x03,0x40,0x1d,0x21,0x9c,0x48,0x89,0x01,0x42,0x18,
0x35,0x21,0x49,0x01,0x45,0x18,0x0d,0x21,0xc9,0x01,0x40,0x18,0x98,0x4f,0xd6,0x6b,
0x81,0x6b,0x01,0x2b,0x1a,0xd0,0x05,0x2b,0x09,0xd0,0x00,0x22,0x09,0x2b,0x5b,0xd1,
0x6a,0x75,0xe2,0x88,0xd2,0x07,0x02,0xd1,0x10,0x20,0xa0,0x80,0xff,0xe6,0xb9,0x42,
0x02,0xd1,0xa5,0x20,0xe0,0x80,0x06,0xe0,0x72,0x5c,0xe2,0x80,0x49,0x1c,0x81,0x63,
0x51,0x29,0x00,0xd3,0x87,0x63,0x14,0x20,0xa0,0x80,0xf0,0xe6,0x6b,0x7d,0x02,0x2b,
0x32,0xd2,0x00,0x2b,0x04,0xd1,0x87,0x49,0xd1,0x63,0xe1,0x88,0x81,0x63,0x35,0xe0,
0xe3,0x88,0x09,0x02,0xc9,0x18,0x8e,0xb2,0xd1,0x21,0x09,0x02,0x71,0x1a,0x20,0x29,
0x10,0xd8,0xf0,0xb2,0x08,0xf0,0x20,0xf8,0x7f,0x48,0x86,0x42,0x26,0xd1,0x01,0x20,
0x0d,0xf0,0xf2,0xfa,0x76,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x7b,0x49,0x01,0x20,
0x08,0x72,0x1b,0xe0,0x7a,0x49,0x71,0x18,0x23,0x29,0x04,0xd8,0x81,0x63,0xef,0x20,
0x40,0x01,0xd0,0x63,0x12,0xe0,0x0d,0x21,0x09,0x03,0x71,0x1a,0x50,0x29,0x01,0xd8,
0x81,0x63,0x0b,0xe0,0x87,0x63,0x09,0xe0,0xb9,0x42,0x07,0xd0,0xe2,0x88,0x72,0x54,
0x81,0x6b,0x49,0x1c,0x81,0x63,0x51,0x29,0x00,0xd3,0x87,0x63,0x68,0x7d,0x40,0x1c,
0x68,0x75,0x10,0x20,0xa0,0x80,0xaa,0xe6,0xa2,0x80,0xa8,0xe6,0xf7,0xb5,0xa0,0xb0,
0x0d,0x46,0x00,0x20,0x0f,0x90,0x0e,0x90,0x5d,0x48,0x1f,0x90,0x80,0x6b,0x04,0x79,
0x81,0x79,0x49,0x1e,0xc9,0xb2,0x0d,0x91,0x00,0x21,0x0c,0x91,0x0b,0x91,0x0a,0x91,
0x41,0x78,0x49,0x00,0x18,0x91,0xb2,0x21,0x41,0x5e,0x17,0x91,0x54,0x48,0x91,0x22,
0xa0,0x38,0xc1,0x7a,0x55,0x48,0x92,0x00,0x82,0x18,0x1e,0x92,0x02,0x46,0x28,0x32,
0xdc,0x30,0x1d,0x92,0x1c,0x90,0x01,0x29,0x18,0xd1,0x28,0x46,0x1c,0x99,0x60,0x43,
0x46,0x18,0x1e,0x99,0x42,0x18,0x1d,0x99,0x47,0x18,0x20,0x98,0x00,0x21,0x0b,0xe0,
0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,0x3b,0x70,0x76,0x1c,0x80,0x1c,
0x52,0x1c,0x7f,0x1c,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xf1,0xdb,0x00,0x20,0x12,0x90,
0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xa8,0x84,0x46,0x28,0x46,0x60,0x43,
0x1c,0x99,0x1b,0x90,0x47,0x18,0x1a,0x97,0x1f,0x98,0xc2,0x69,0x1f,0x98,0xc3,0x6a,
0x00,0x21,0x23,0xe0,0x02,0x98,0x3e,0x78,0x00,0x88,0x80,0x1b,0x00,0xb2,0x66,0x46,
0x30,0x80,0xd6,0x07,0x04,0xd0,0x14,0x9e,0x80,0x19,0x00,0xb2,0x14,0x90,0x0a,0xe0,
0xde,0x07,0x04,0xd0,0x13,0x9e,0x80,0x19,0x00,0xb2,0x13,0x90,0x03,0xe0,0x12,0x9e,
0x80,0x19,0x00,0xb2,0x12,0x90,0x60,0x46,0x80,0x1c,0x84,0x46,0x02,0x98,0x80,0x1c,
0x02,0x90,0x7f,0x1c,0x52,0x08,0x5b,0x08,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xd9,0xdb,
0x23,0x4e,0x20,0x36,0x31,0x7d,0x00,0x29,0x05,0xdd,0x1f,0x98,0x42,0x68,0x14,0x98,
0x90,0x47,0x00,0xb2,0x14,0x90,0x71,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,
0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x13,0x98,0x90,0x47,
0x00,0xb2,0x13,0x90,0xb1,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,0x12,0x98,
0x40,0x10,0x12,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x12,0x98,0x90,0x47,0x00,0xb2,
0x12,0x90,0x20,0x98,0x05,0xa9,0x8c,0x46,0x1a,0x99,0x04,0x91,0x1f,0x99,0xc9,0x69,
0x11,0x91,0x1f,0x99,0xc9,0x6a,0x10,0x91,0x1f,0x99,0x8a,0x6b,0xd1,0x7c,0xc9,0x07,
0x20,0xd0,0x1f,0x99,0x09,0x6a,0x1f,0x9b,0x5b,0x6a,0x0f,0x93,0x1f,0x9b,0x9b,0x6a,
0x0e,0x93,0x13,0x7d,0x0c,0x93,0x53,0x7d,0x0b,0x93,0x92,0x7d,0x0a,0x92,0x12,0xe0,
0xb0,0x0a,0x00,0x20,0x68,0x06,0x00,0x20,0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,
0xff,0xff,0x00,0x00,0x08,0x00,0x00,0x20,0x0e,0xd1,0x00,0x00,0x5c,0x00,0x00,0x20,
0x10,0x2e,0xff,0xff,0x00,0x21,0x1d,0x9b,0x1b,0x9a,0xd2,0x18,0x03,0x92,0x00,0x22,
0x19,0x92,0x9a,0xe0,0x11,0x9a,0xd2,0x07,0x01,0xd0,0x14,0x9a,0x05,0xe0,0x10,0x9a,
0xd2,0x07,0x01,0xd0,0x13,0x9a,0x00,0xe0,0x12,0x9a,0x00,0x2a,0x0c,0xdd,0x66,0x46,
0x00,0x23,0xf3,0x5e,0x00,0x2b,0x07,0xdd,0x93,0x42,0x00,0xda,0x1a,0x46,0x03,0x88,
0x9a,0x1a,0x13,0xb2,0x03,0x80,0x32,0xe0,0x66,0x46,0x00,0x23,0xf3,0x5e,0x00,0x2b,
0x2b,0xda,0x00,0x2a,0x05,0xda,0x93,0x42,0x00,0xdd,0x1a,0x46,0x03,0x88,0x9a,0x1a,
0x02,0x80,0x00,0x23,0xc3,0x5e,0xca,0x07,0x21,0xd0,0x04,0x9a,0x12,0x78,0x17,0x46,
0xd2,0x1a,0x12,0xb2,0x0e,0x9e,0xf6,0x07,0x06,0xd0,0x0a,0x9e,0xb2,0x42,0x16,0xdd,
0x0a,0x9e,0xba,0x1b,0x02,0x80,0x12,0xe0,0x0f,0x9e,0xf6,0x07,0x06,0xd0,0x0b,0x9e,
0xb2,0x42,0x0c,0xdd,0x0b,0x9e,0xba,0x1b,0x02,0x80,0x08,0xe0,0x0c,0x9e,0xb2,0x42,
0x05,0xdd,0x0c,0x9e,0xba,0x1b,0x02,0x80,0x01,0xe0,0x00,0x23,0xc3,0x5e,0x03,0x9a,
0x12,0x78,0xd2,0x1a,0x12,0xb2,0x18,0x9b,0x9a,0x42,0x02,0xda,0x17,0x9b,0x9a,0x42,
0x26,0xdc,0x01,0x22,0xaa,0x40,0xd3,0x17,0x22,0x9e,0x01,0x93,0x00,0x92,0x37,0x68,
0x76,0x68,0x3a,0x43,0x33,0x43,0x22,0x9e,0x0c,0xc6,0x00,0x2d,0x09,0xd0,0x6f,0x1e,
0x01,0x26,0xbe,0x40,0xf7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9a,0x1f,0x43,
0xc0,0xc2,0x0d,0x9a,0x95,0x42,0x0b,0xd2,0x6b,0x1c,0x01,0x22,0x9a,0x40,0xd3,0x17,
0x22,0x9f,0x01,0x93,0x00,0x92,0xc0,0xcf,0x32,0x43,0x22,0x9e,0x3b,0x43,0x0c,0xc6,
0x03,0x9a,0x52,0x1c,0x03,0x92,0x80,0x1c,0x04,0x9a,0x52,0x1c,0x04,0x92,0x62,0x46,
0x92,0x1c,0x94,0x46,0x11,0x9a,0x52,0x08,0x11,0x92,0x10,0x9a,0x52,0x08,0x10,0x92,
0x00,0x29,0x06,0xd0,0x49,0x08,0x0f,0x9a,0x52,0x08,0x0f,0x92,0x0e,0x9a,0x52,0x08,
0x0e,0x92,0x19,0x9a,0x52,0x1c,0x52,0xb2,0x19,0x92,0x19,0x9a,0xa2,0x42,0x00,0xda,
0x60,0xe7,0x1a,0x9d,0x1e,0x99,0x1b,0x98,0x47,0x18,0x20,0x9e,0x1f,0x98,0x80,0x6b,
0x80,0x30,0x00,0x7e,0x01,0x28,0x1c,0xd1,0x00,0x23,0x16,0xe0,0x00,0x22,0xb2,0x5e,
0x28,0x78,0x39,0x78,0x38,0x70,0x2a,0x70,0x88,0x42,0x02,0xdd,0x84,0x46,0x08,0x46,
0x61,0x46,0x82,0x42,0x01,0xdc,0x30,0x80,0x02,0xe0,0x8a,0x42,0x00,0xdb,0x31,0x80,
0x6d,0x1c,0x7f,0x1c,0xb6,0x1c,0x5b,0x1c,0x5b,0xb2,0xa3,0x42,0xe6,0xdb,0x23,0xb0,
0xf0,0xbd,0x02,0x28,0x25,0xd1,0x00,0x20,0x19,0x90,0x1e,0xe0,0x00,0x21,0x71,0x5e,
0x16,0x91,0x28,0x78,0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,
0x1f,0x99,0x4a,0x68,0x03,0x21,0x90,0x47,0x00,0xb2,0x38,0x70,0x16,0x99,0x29,0x70,
0x15,0x99,0x4a,0x00,0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6d,0x1c,0x7f,0x1c,
0xb6,0x1c,0x19,0x98,0x40,0x1c,0x40,0xb2,0x19,0x90,0x19,0x98,0xa0,0x42,0xdd,0xdb,
0xd5,0xe7,0x00,0x20,0x08,0xe0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6d,0x1c,
0x7f,0x1c,0xb6,0x1c,0x40,0x1c,0x40,0xb2,0xa0,0x42,0xf4,0xdb,0xc7,0xe7,0x00,0x22,
0x03,0x09,0x8b,0x42,0x2c,0xd3,0x03,0x0a,0x8b,0x42,0x11,0xd3,0x00,0x23,0x9c,0x46,
0x4e,0xe0,0x03,0x46,0x0b,0x43,0x3c,0xd4,0x00,0x22,0x43,0x08,0x8b,0x42,0x31,0xd3,
0x03,0x09,0x8b,0x42,0x1c,0xd3,0x03,0x0a,0x8b,0x42,0x01,0xd3,0x94,0x46,0x3f,0xe0,
0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,0x52,0x41,0x83,0x09,0x8b,0x42,
0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,0x8b,0x42,0x01,0xd3,0x4b,0x01,
0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,0x0b,0x01,0xc0,0x1a,0x52,0x41,
0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,0x52,0x41,0x83,0x08,0x8b,0x42,
0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,
0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,
0x5d,0xe0,0xca,0x0f,0x00,0xd0,0x49,0x42,0x03,0x10,0x00,0xd3,0x40,0x42,0x53,0x40,
0x00,0x22,0x9c,0x46,0x03,0x09,0x8b,0x42,0x2d,0xd3,0x03,0x0a,0x8b,0x42,0x12,0xd3,
0xfc,0x22,0x89,0x01,0x12,0xba,0x03,0x0a,0x8b,0x42,0x0c,0xd3,0x89,0x01,0x92,0x11,
0x8b,0x42,0x08,0xd3,0x89,0x01,0x92,0x11,0x8b,0x42,0x04,0xd3,0x89,0x01,0x3a,0xd0,
0x92,0x11,0x00,0xe0,0x89,0x09,0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,
0x52,0x41,0x83,0x09,0x8b,0x42,0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,
0x8b,0x42,0x01,0xd3,0x4b,0x01,0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,
0x0b,0x01,0xc0,0x1a,0x52,0x41,0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,
0x52,0x41,0x83,0x08,0x8b,0x42,0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0xd9,0xd2,
0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,
0x01,0x46,0x63,0x46,0x52,0x41,0x5b,0x10,0x10,0x46,0x01,0xd3,0x40,0x42,0x00,0x2b,
0x00,0xd5,0x49,0x42,0x70,0x47,0x63,0x46,0x5b,0x10,0x00,0xd3,0x40,0x42,0x01,0xb5,
0x00,0x20,0xc0,0x46,0xc0,0x46,0x02,0xbd,0x75,0x46,0x00,0xf0,0x23,0xf8,0xae,0x46,
0x05,0x00,0x69,0x46,0x53,0x46,0xc0,0x08,0xc0,0x00,0x85,0x46,0x18,0xb0,0x20,0xb5,
0xff,0xf7,0xfa,0xf9,0x60,0xbc,0x00,0x27,0x49,0x08,0xb6,0x46,0x00,0x26,0xc0,0xc5,
0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0x40,0x3d,
0x49,0x00,0x8d,0x46,0x70,0x47,0x04,0x46,0xc0,0x46,0xc0,0x46,0x20,0x46,0xff,0xf7,
0xa6,0xf8,0x00,0x00,0x00,0x48,0x70,0x47,0x68,0x00,0x00,0x20,0x02,0x48,0x03,0x49,
0xab,0xbe,0x70,0x47,0x0d,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,
0x70,0x47,0x00,0x00,0x25,0x0c,0x28,0x0f,0x0a,0x0a,0x0f,0x00,0x02,0x02,0x60,0x06,
0x00,0x00,0x01,0x01,0x08,0x08,0x10,0x85,0x1d,0x0e,0x07,0x03,0x0a,0x1e,0x64,0x50,
0xa0,0x50,0x08,0x02,0x16,0x01,0x00,0x00,0x10,0x0a,0x02,0x00,0x06,0x04,0x14,0x14,
0x0a,0x06,0x28,0x1e,0x3c,0x64,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x08,0x04,
0x02,0x01,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x04,
0x08,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x01,0x01,0x01,0xd8,0xe2,0xf6,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x02,0x02,0x02,0x06,0x0d,0x10,0x00,0x14,0x0a,
0x01,0x02,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x1e,0x1e,0x3c,0x00,0x14,
0xc8,0x14,0x00,0x03,0x84,0x04,0x02,0x02,0x5a,0x00,0x5a,0x01,0x02,0x08,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0xb4,0x00,0x09,0x00,0x90,0x01,0x02,0x01,
0x68,0x01,0x20,0x00,0x00,0x00,0xf4,0xff,0x33,0x01,0x03,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x44,0x44,0x00,0x00,0x25,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,
0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x21,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xff,0xff,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0xff,0x00,0xff,0xff,0xff,0xff,0x00,
0xff,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0x63,0x65,0x07,0x56,0xaa,0x78,0xa1,0x21,0x00,
0x00,0x00,0x00,0x00,0x21,0xaa,0x43,0xaa,0x56,0xaa,0x81,0xa7,0x21,0x00,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xa1,
0x71,0x06,0x87,0xaa,0x23,0xaa,0x87,0xaa,0x32,0xaa,0x00,0x00,0x87,0xaa,0x23,0xaa,
0x00,0x00,0x00,0x00,0x00,0x00,0x65,0xaa,0x87,0xaa,0x51,0xa6,0x47,0x06,0x45,0x00,
0x28,0xa1,0x76,0xaa,0x12,0xa8,0x00,0x00,0x00,0x00,0x34,0xaa,0x56,0xaa,0x78,0xa1,
0x21,0x00,0x00,0x00,0x67,0xaa,0x23,0xaa,0xa1,0xaa,0x87,0xaa,0x32,0xaa,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0xa1,0xaa,0x21,0xaa,0x56,0xaa,0x81,0xa7,0x21,0xaa,
0x00,0x00,0x34,0xaa,0x65,0xaa,0x87,0xaa,0x51,0x46,0x47,0x03,0xa8,0xaa,0x21,0xaa,
0x43,0xaa,0x56,0xaa,0x81,0xa7,0x34,0xaa,0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0xa3,
0x23,0xa4,0x21,0xa8,0x87,0xa6,0x32,0xa4,0x78,0x21,0x76,0xa5,0x23,0xa1,0x45,0x63,
0x65,0x07,0x00,0x00,0x01,0x00,0x00,0xff,0xff,0x00,0x00,0x01,0x02,0x02,0x02,0x01,
0x02,0x02,0x01,0x01,0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,
0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0xfc,0x1d,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x00,0x00,0x98,0x00,0x00,0x00,
0x04,0x1e,0x00,0x00,0x08,0x00,0x00,0x20,0xe8,0x0a,0x00,0x00,0xb4,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0f,0x00,0x0a,0x00,0x00,0x04,0x00,0x00,0xdc,0x5f,0xca,0xca,
0x99,0x1b,0x1a,0x00,0xb8,0x42,0xa8,0x00,0x02,0x00,0x01,0x02,0xda,0xe6,0xb3,0x1f
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
static unsigned char cst3xxse_fw[] = {
0x6C,0x03,0x00,0x20,0x7D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF9,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x1B,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4B,0x01,0x00,0x00,0x00,0xF0,0x02,0xF8,0x00,0xF0,0x40,0xF8,0x0C,0xA0,0x30,0xC8,
0x08,0x38,0x24,0x18,0x2D,0x18,0xA2,0x46,0x67,0x1E,0xAB,0x46,0x54,0x46,0x5D,0x46,
0xAC,0x42,0x01,0xD1,0x00,0xF0,0x32,0xF8,0x7E,0x46,0x0F,0x3E,0x0F,0xCC,0xB6,0x46,
0x01,0x26,0x33,0x42,0x00,0xD0,0xFB,0x1A,0xA2,0x46,0xAB,0x46,0x33,0x43,0x18,0x47,
0xDC,0x15,0x00,0x00,0xFC,0x15,0x00,0x00,0x10,0x3A,0x02,0xD3,0x78,0xC8,0x78,0xC1,
0xFA,0xD8,0x52,0x07,0x01,0xD3,0x30,0xC8,0x30,0xC1,0x01,0xD5,0x04,0x68,0x0C,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3A,0x01,0xD3,
0x78,0xC1,0xFB,0xD8,0x52,0x07,0x00,0xD3,0x30,0xC1,0x00,0xD5,0x0B,0x60,0x70,0x47,
0x1F,0xB5,0xC0,0x46,0xC0,0x46,0x1F,0xBD,0x10,0xB5,0x10,0xBD,0x01,0xF0,0xEB,0xF8,
0x11,0x46,0xFF,0xF7,0xF5,0xFF,0x00,0xF0,0x12,0xF9,0x01,0xF0,0x03,0xF9,0xFF,0xF7,
0xF3,0xFF,0x01,0xF0,0x09,0xF9,0x00,0x00,0xFE,0xE7,0x1D,0x49,0x48,0x88,0x48,0x80,
0x1C,0x48,0x02,0x7C,0xFF,0x2A,0x02,0xD2,0x02,0x7C,0x52,0x1C,0x02,0x74,0x00,0x7C,
0x18,0x28,0x01,0xD2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8A,0x79,0x15,0x48,
0x20,0x30,0x80,0x6B,0x43,0x7A,0x9A,0x43,0x8A,0x71,0x40,0x7A,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xB5,0x0F,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0D,0xF0,0xEC,0xFE,0x10,0xBD,0x10,0xB5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xD5,0x02,0x78,0x80,0x21,0x0A,0x43,0x02,0x70,0x07,0x4A,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xBD,0x00,0xF0,0x8A,0xFB,0x10,0xBD,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0A,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xB5,0x6A,0x48,0x6A,0x4C,0x80,0x6B,0x01,0x46,0x80,0x30,0x03,0x7F,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2B,0x06,0xD0,0x1B,0x02,0x13,0x43,0x63,0x81,0xFF,0x22,
0x23,0x32,0x62,0x80,0x03,0xE0,0x62,0x81,0xFF,0x22,0x03,0x32,0x62,0x80,0xA0,0x31,
0x89,0x8A,0xE1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7A,
0xC0,0x79,0x09,0x02,0x01,0x43,0x5A,0x48,0x20,0x38,0xC1,0x81,0x10,0xBD,0x10,0xB5,
0x56,0x48,0x58,0x49,0x81,0x63,0x01,0x46,0x57,0x4A,0x40,0x39,0xCA,0x61,0x57,0x4A,
0x0A,0x62,0x57,0x4A,0x4A,0x62,0x57,0x4A,0x8A,0x62,0x57,0x4A,0xCA,0x62,0x57,0x49,
0xC1,0x63,0x57,0x49,0x41,0x60,0x57,0x49,0x81,0x60,0x57,0x49,0xC1,0x60,0x57,0x49,
0x01,0x61,0x57,0x49,0x41,0x61,0x57,0x49,0x00,0x20,0x08,0x80,0x48,0x49,0x01,0x20,
0x60,0x39,0x88,0x75,0x50,0x21,0x4D,0x48,0x00,0xF0,0x9C,0xFF,0x0D,0xF0,0xE4,0xFE,
0x0D,0xF0,0xDE,0xFE,0x3C,0x20,0x0D,0xF0,0xD7,0xFE,0x0D,0xF0,0xD1,0xFE,0x0D,0xF0,
0xCB,0xFE,0x00,0xF0,0x60,0xF9,0x0D,0xF0,0xC3,0xFE,0x00,0xF0,0xEA,0xF9,0x10,0xBD,
0x70,0xB5,0x3A,0x4C,0x20,0x78,0x01,0x25,0x28,0x43,0x20,0x70,0x46,0x4E,0x5A,0xE0,
0x0D,0xF0,0xB2,0xFE,0x30,0x7A,0x00,0x28,0x03,0xD0,0x34,0x49,0x18,0x20,0x20,0x39,
0x08,0x74,0x0D,0xF0,0xA5,0xFE,0x20,0x78,0xC0,0x07,0x01,0xD0,0x55,0x20,0x70,0x70,
0x0D,0xF0,0x9A,0xFE,0xA0,0x6B,0x20,0x30,0x40,0x78,0x00,0x28,0x01,0xD0,0x0D,0xF0,
0x8F,0xFE,0xA0,0x6B,0x21,0x21,0x09,0x5C,0x09,0x09,0x06,0xD0,0x27,0x49,0x60,0x30,
0xA0,0x39,0x89,0x7B,0xC0,0x7A,0x81,0x42,0x31,0xD1,0x0D,0xF0,0x7D,0xFE,0x0D,0xF0,
0x77,0xFE,0x22,0x49,0x02,0x20,0x80,0x39,0x48,0x76,0x0D,0xF0,0x6D,0xFE,0x00,0xF0,
0xFA,0xF8,0x00,0xF0,0x45,0xFA,0xA0,0x78,0x00,0x28,0x02,0xD0,0xA0,0x78,0x02,0x28,
0x0E,0xD1,0x1A,0x48,0x40,0x38,0x40,0x78,0x00,0x28,0x09,0xD1,0x18,0x4A,0x80,0x3A,
0x10,0x78,0xA1,0x6B,0x20,0x31,0x8B,0x79,0x29,0x46,0x99,0x40,0x88,0x43,0x10,0x70,
0x0D,0xF0,0x4E,0xFE,0x0D,0xF0,0x44,0xFE,0x0D,0xF0,0x3E,0xFE,0x1F,0x48,0x0D,0xF0,
0x37,0xFE,0x0D,0xF0,0x31,0xFE,0x00,0xF0,0x62,0xFE,0x00,0xF0,0x28,0xF9,0x00,0xF0,
0x8F,0xF8,0x00,0xF0,0x59,0xF8,0xA0,0x78,0x06,0x28,0xA1,0xD1,0x70,0xBD,0x10,0xB5,
0xFF,0xF7,0x5D,0xFF,0x05,0x4C,0xA0,0x78,0x00,0x28,0x04,0xD0,0x06,0x28,0xFA,0xD1,
0x0D,0xF0,0x02,0xFE,0xF7,0xE7,0xFF,0xF7,0x8B,0xFF,0xF4,0xE7,0xB0,0x0A,0x00,0x20,
0x80,0x10,0x00,0x40,0x20,0x13,0x00,0x00,0x52,0x15,0x00,0x00,0x64,0x15,0x00,0x00,
0x40,0x16,0x00,0x00,0x20,0x15,0x00,0x00,0x40,0x15,0x00,0x00,0x04,0x00,0x00,0x20,
0xA5,0x03,0x00,0x00,0xAD,0x03,0x00,0x00,0xD7,0x06,0x00,0x00,0xE1,0x09,0x00,0x00,
0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x58,0x00,0x00,0x20,0xA7,0x04,0x00,0x00,
0x0B,0x49,0x0A,0x48,0xC8,0x60,0xBF,0xF3,0x40,0x8F,0xFE,0xE7,0x10,0xB5,0xFF,0xF7,
0xC6,0xFF,0x10,0xBD,0x0F,0xB5,0x00,0x90,0x01,0x91,0x01,0x98,0x02,0x90,0x00,0x98,
0x03,0x90,0x68,0x46,0x0F,0xC8,0x04,0xB0,0x00,0xBD,0x00,0x00,0x04,0x00,0xFA,0x05,
0x00,0xED,0x00,0xE0,0x10,0xB5,0x00,0xF0,0xE3,0xFE,0x10,0xBD,0x10,0xB5,0x00,0xF0,
0xDF,0xFE,0x08,0x46,0x10,0xBD,0x00,0x00,0x30,0xB5,0xFF,0x48,0x00,0xE0,0x30,0xBF,
0x01,0x7C,0x00,0x29,0xFB,0xD0,0xFC,0x48,0x20,0x30,0x01,0x78,0x09,0x07,0x15,0xD5,
0xFA,0x4B,0x01,0x22,0x1A,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,
0x01,0x78,0xEF,0x24,0x21,0x40,0x01,0x70,0x00,0xE0,0x30,0xBF,0x01,0x78,0xC9,0x06,
0xFB,0xD5,0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xF0,0x4A,0x50,0x68,
0x40,0x1C,0x50,0x60,0xEF,0x49,0x03,0x0E,0x8B,0x72,0x03,0x0C,0x4B,0x72,0x03,0x0A,
0x0B,0x72,0xC8,0x71,0x10,0x7A,0x00,0x28,0x01,0xD0,0x30,0xBF,0xFD,0xE7,0x30,0xBD,
0x70,0xB5,0xE5,0x4C,0x20,0x34,0xA0,0x78,0x00,0x28,0x03,0xD0,0x0D,0xF0,0x84,0xFD,
0x00,0x28,0x37,0xD1,0xE0,0x48,0x80,0x38,0xC0,0x7C,0x00,0x28,0x0A,0xD1,0xDE,0x48,
0xA1,0x6B,0x40,0x38,0x20,0x31,0x82,0x7D,0x09,0x7A,0x8A,0x42,0x2A,0xD3,0x00,0x7C,
0x00,0x06,0x27,0xD5,0xD8,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x22,0xD1,0xD8,0x49,
0x55,0x20,0x08,0x70,0xD5,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x00,0x20,0xD1,0x4A,0xD2,0x49,
0x40,0x3A,0x13,0x78,0xAB,0x2B,0x03,0xD0,0x40,0x1C,0x80,0xB2,0x88,0x42,0xF8,0xD3,
0xE2,0x63,0x0D,0xF0,0x55,0xFD,0x28,0x78,0xA1,0x6B,0x20,0x31,0x89,0x79,0x8E,0x40,
0x30,0x43,0x28,0x70,0x70,0xBD,0x70,0xB5,0x00,0x22,0x00,0x20,0x17,0x25,0xC7,0x4C,
0x6D,0x01,0x1D,0x23,0xDB,0x43,0x41,0x00,0x09,0x19,0x4E,0x19,0x18,0x21,0x71,0x5E,
0x99,0x42,0x01,0xDB,0xFF,0x29,0x01,0xD1,0x52,0x1C,0x92,0xB2,0x40,0x1C,0x80,0xB2,
0xB4,0x28,0xF0,0xD3,0x04,0x2A,0x0D,0xD3,0xB7,0x48,0x14,0x21,0x80,0x38,0x40,0x7B,
0x00,0xF0,0x3C,0xFE,0x01,0x29,0x05,0xD1,0xB3,0x48,0x20,0x30,0x01,0x78,0x01,0x22,
0x11,0x43,0x01,0x70,0x70,0xBD,0x30,0xB5,0xB0,0x48,0x20,0x38,0x84,0x78,0xAE,0x49,
0x01,0x22,0x20,0x31,0x89,0x6B,0x13,0x46,0x20,0x31,0x8D,0x79,0xAB,0x40,0x9C,0x43,
0x84,0x70,0x44,0x78,0x8D,0x79,0x13,0x46,0xAB,0x40,0x9C,0x43,0x44,0x70,0x03,0x78,
0x8D,0x79,0x14,0x46,0xAC,0x40,0x23,0x43,0x03,0x70,0x03,0x79,0x8D,0x79,0x14,0x46,
0xAC,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8D,0x79,0x14,0x46,0xAC,0x40,0xA3,0x43,
0x43,0x71,0xC3,0x78,0x89,0x79,0x8A,0x40,0x13,0x43,0xC3,0x70,0x30,0xBD,0xF8,0xB5,
0x99,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x28,0xD0,0x97,0x4C,0x20,0x34,0xA0,0x6B,
0xFF,0x30,0xC1,0x30,0x80,0x6B,0x00,0x28,0x20,0xD0,0x0D,0xF0,0xED,0xFC,0xFF,0x28,
0x1D,0xD1,0xA0,0x6B,0x60,0x30,0x81,0x7A,0x20,0x46,0xA0,0x38,0x81,0x73,0x02,0x21,
0x02,0x46,0x20,0x32,0x51,0x70,0x00,0x21,0x41,0x73,0x00,0x20,0x0F,0x22,0x17,0x25,
0x8E,0x4B,0xAD,0x01,0x06,0xE0,0x24,0x21,0x41,0x43,0xC9,0x18,0x49,0x19,0x8A,0x73,
0x40,0x1C,0xC0,0xB2,0xA1,0x6B,0xC9,0x7A,0x81,0x42,0xF4,0xD8,0xF8,0xBD,0xFE,0x28,
0xFC,0xD0,0x00,0x28,0xFA,0xD0,0x41,0x1E,0x20,0x29,0xF7,0xD2,0x80,0x21,0x08,0x43,
0x80,0x49,0x08,0x73,0x7D,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x7D,0x27,0xFF,0x00,0x38,0x46,
0x0C,0xF0,0x99,0xFF,0x38,0x46,0x0C,0xF0,0x96,0xFF,0x38,0x46,0x0C,0xF0,0x93,0xFF,
0x38,0x46,0x0C,0xF0,0x90,0xFF,0x38,0x46,0x0C,0xF0,0x8D,0xFF,0x28,0x78,0xA1,0x6B,
0x20,0x31,0x89,0x79,0x8E,0x40,0x30,0x43,0x28,0x70,0x38,0x46,0x0C,0xF0,0x83,0xFF,
0xF8,0xBD,0x6B,0x49,0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x08,0x72,
0x6B,0x49,0x08,0x80,0x70,0x47,0xF8,0xB5,0x6A,0x4A,0x66,0x4B,0xD8,0x7A,0x00,0x28,
0x50,0xD0,0x00,0x21,0x00,0x25,0x3C,0x24,0x5F,0x48,0x20,0x30,0x00,0x90,0x86,0x6B,
0xF0,0x79,0x00,0x28,0x00,0xD0,0x32,0x24,0x00,0x20,0x08,0xE0,0x00,0x27,0xD7,0x5F,
0x0A,0x2F,0x01,0xDB,0x49,0x1C,0x89,0xB2,0x92,0x1C,0x40,0x1C,0x80,0xB2,0xA0,0x42,
0xF4,0xD3,0x57,0x4A,0x0A,0x29,0x09,0xD2,0x06,0x29,0x02,0xD3,0xD8,0x7A,0x40,0x06,
0x04,0xD1,0x51,0x48,0x80,0x38,0xC0,0x7B,0x01,0x28,0x08,0xD9,0xD8,0x7A,0x80,0x28,
0x00,0xD1,0x01,0x25,0x81,0x20,0xD8,0x72,0x14,0x20,0x90,0x70,0x0B,0xE0,0x90,0x78,
0x00,0x28,0x02,0xD0,0x40,0x1E,0x90,0x70,0x05,0xE0,0xD8,0x7A,0x81,0x28,0x00,0xD1,
0x01,0x25,0x80,0x20,0xD8,0x72,0x00,0x2D,0x14,0xD0,0x44,0x4C,0x20,0x3C,0x20,0x78,
0x20,0x36,0xB2,0x79,0x01,0x25,0x29,0x46,0x91,0x40,0x88,0x43,0x20,0x70,0x28,0x20,
0x0C,0xF0,0x29,0xFF,0x20,0x78,0x00,0x99,0x89,0x6B,0x20,0x31,0x89,0x79,0x8D,0x40,
0x28,0x43,0x20,0x70,0xF8,0xBD,0xF8,0xB5,0x0D,0x46,0x07,0x9F,0x06,0x9E,0x11,0x46,
0x35,0x4A,0x20,0x32,0x90,0x6B,0x40,0x30,0x00,0x2D,0x07,0xD0,0x00,0x2E,0x02,0xD0,
0x1E,0x24,0x04,0x57,0x09,0xE0,0x1D,0x24,0x04,0x57,0x06,0xE0,0x00,0x2F,0x02,0xD0,
0x1C,0x24,0x04,0x57,0x01,0xE0,0x1B,0x24,0x04,0x57,0x00,0x20,0x18,0x5E,0x00,0x28,
0x00,0xDA,0x40,0x42,0xC0,0x01,0x0B,0x46,0x00,0x21,0x52,0x68,0x59,0x5E,0x90,0x47,
0x7F,0x28,0x00,0xDD,0x7F,0x20,0x00,0x2E,0x01,0xD0,0x00,0x2D,0x03,0xD1,0x00,0x2F,
0x04,0xD0,0x00,0x2D,0x02,0xD1,0xFF,0x21,0x01,0x31,0x08,0x1A,0x00,0x19,0xF8,0xBD,
0xF0,0xB5,0x87,0xB0,0x23,0x4E,0x1C,0x48,0x20,0x30,0x80,0x6B,0x01,0x79,0x03,0x91,
0xC0,0x78,0x02,0x90,0x00,0x25,0x18,0x48,0x80,0x38,0x06,0x90,0x4A,0xE0,0x68,0x00,
0x34,0x5E,0x80,0x19,0x14,0x27,0x05,0x90,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,
0x10,0xDA,0x78,0x00,0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,
0x00,0xF0,0xF6,0xFC,0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,
0x05,0x99,0x88,0x82,0x05,0x98,0xFF,0x30,0x41,0x30,0x14,0x24,0x04,0x90,0x04,0x5F,
0x00,0x27,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,0x21,0xDA,0x78,0x00,0xA0,0x42,
0x1E,0xDA,0x20,0x11,0x10,0x21,0x0F,0xE0,0x90,0x0A,0x00,0x20,0x20,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x44,0x00,0x00,0x20,0x7C,0x92,0x00,0x00,0x70,0x03,0x00,0x20,
0x02,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x09,0x1A,0x20,0x46,0x00,0xF0,0xC8,0xFC,
0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x04,0x99,0x08,0x80,
0x6D,0x1C,0xED,0xB2,0x03,0x98,0x85,0x42,0xB1,0xD3,0x00,0x27,0x3A,0xE0,0x38,0x46,
0x14,0x21,0x48,0x43,0x34,0x5E,0x85,0x19,0x02,0x20,0x28,0x5E,0x01,0x90,0x06,0x98,
0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,0xA0,0x42,0x0D,0xDA,0x21,0x11,
0x10,0x20,0x41,0x1A,0x20,0x46,0x00,0xF0,0xA3,0xFC,0x01,0x99,0x40,0x18,0x00,0xB2,
0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x68,0x80,0x12,0x24,0x2C,0x5F,0x10,0x20,
0x28,0x5E,0x01,0x90,0x06,0x98,0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,
0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,0x00,0xF0,0x88,0xFC,
0x01,0x99,0x40,0x18,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x28,0x82,
0x7F,0x1C,0xFF,0xB2,0x02,0x98,0x87,0x42,0xC1,0xD3,0x07,0xB0,0xF0,0xBD,0x70,0x47,
0xF8,0xB5,0xFF,0x4D,0xAB,0x88,0xCF,0x20,0x03,0x40,0x1D,0x21,0xFD,0x48,0x89,0x01,
0x41,0x18,0xCA,0x6B,0x94,0x46,0x35,0x22,0x52,0x01,0x86,0x18,0x0D,0x22,0xD2,0x01,
0x80,0x18,0x82,0x6B,0x01,0x2B,0x1C,0xD0,0x05,0x2B,0x09,0xD0,0x09,0x2B,0x7E,0xD1,
0x00,0x21,0x71,0x75,0xE9,0x88,0xC9,0x07,0x02,0xD1,0x10,0x20,0xA8,0x80,0xF8,0xBD,
0xF1,0x49,0x8A,0x42,0x02,0xD1,0xA5,0x20,0xE8,0x80,0x07,0xE0,0x63,0x46,0x9B,0x5C,
0xEB,0x80,0x52,0x1C,0x82,0x63,0x51,0x2A,0x00,0xD3,0x81,0x63,0x14,0x20,0xA8,0x80,
0xF8,0xBD,0x74,0x7D,0xE9,0x4B,0x02,0x2C,0x4F,0xD2,0x00,0x2C,0x04,0xD1,0xE8,0x4A,
0xCA,0x63,0xE9,0x88,0x81,0x63,0x6A,0xE0,0xEC,0x88,0x12,0x02,0x12,0x19,0x94,0xB2,
0xE4,0x4A,0x14,0x80,0x5A,0x78,0x01,0x2A,0x0C,0xD1,0xE3,0x4A,0x94,0x42,0x09,0xD1,
0xE2,0x4A,0x12,0x78,0x8B,0x6B,0x01,0x27,0x20,0x33,0x9B,0x79,0x9F,0x40,0xDF,0x4B,
0x3A,0x43,0x1A,0x70,0xD1,0x22,0x12,0x02,0xA2,0x1A,0x20,0x2A,0x11,0xD8,0xE0,0xB2,
0x08,0xF0,0x7A,0xF8,0xD8,0x48,0xC2,0x30,0x84,0x42,0x48,0xD1,0x01,0x20,0x0D,0xF0,
0x4B,0xFB,0xD2,0x49,0x18,0x20,0x20,0x31,0x08,0x74,0xD5,0x49,0x01,0x20,0x08,0x72,
0x3D,0xE0,0xD4,0x4A,0xA2,0x18,0x23,0x2A,0x04,0xD8,0x82,0x63,0xEF,0x20,0x40,0x01,
0xC8,0x63,0x34,0xE0,0xCF,0x4A,0x30,0x3A,0xA2,0x18,0x20,0x2A,0x04,0xD8,0x82,0x63,
0x77,0x20,0x80,0x01,0xC8,0x63,0x2A,0xE0,0x0D,0x21,0x09,0x03,0x61,0x1A,0x50,0x29,
0x01,0xD8,0x81,0x63,0x23,0xE0,0x81,0x63,0x21,0xE0,0xBF,0x4C,0xA2,0x42,0x1E,0xD0,
0xEC,0x88,0x67,0x46,0xBC,0x54,0xBF,0x4A,0xBF,0x4C,0x12,0x88,0xA2,0x42,0x0F,0xD1,
0x82,0x6B,0x4C,0x2A,0x0C,0xD1,0xC9,0x6B,0x8C,0x5C,0x80,0x2C,0x00,0xE0,0x14,0xE0,
0x02,0xD1,0x01,0x21,0x59,0x70,0x03,0xE0,0x89,0x5C,0x00,0x29,0x00,0xD1,0x59,0x70,
0x81,0x6B,0x49,0x1C,0x81,0x63,0x51,0x29,0x01,0xD3,0xAF,0x49,0x81,0x63,0x70,0x7D,
0x40,0x1C,0x70,0x75,0x10,0x20,0xA8,0x80,0xF8,0xBD,0x00,0x20,0xA8,0x80,0xF8,0xBD,
0xF7,0xB5,0xA0,0xB0,0x0D,0x46,0x00,0x20,0x0F,0x90,0x0E,0x90,0xA7,0x48,0x40,0x30,
0x1F,0x90,0x80,0x6B,0x04,0x79,0x81,0x79,0x49,0x1E,0xC9,0xB2,0x0D,0x91,0x00,0x21,
0x0C,0x91,0x0B,0x91,0x0A,0x91,0x41,0x78,0x49,0x00,0x18,0x91,0xB2,0x21,0x41,0x5E,
0x17,0x91,0x9E,0x48,0x91,0x22,0x60,0x38,0xC1,0x7A,0x9A,0x48,0x92,0x00,0x82,0x18,
0x1E,0x92,0x02,0x46,0x28,0x32,0xDC,0x30,0x1D,0x92,0x1C,0x90,0x01,0x29,0x18,0xD1,
0x28,0x46,0x1C,0x99,0x60,0x43,0x46,0x18,0x1E,0x99,0x42,0x18,0x1D,0x99,0x47,0x18,
0x20,0x98,0x00,0x21,0x0B,0xE0,0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,
0x3B,0x70,0x76,0x1C,0x80,0x1C,0x52,0x1C,0x7F,0x1C,0x49,0x1C,0x49,0xB2,0xA1,0x42,
0xF1,0xDB,0x00,0x20,0x12,0x90,0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xA8,
0x84,0x46,0x28,0x46,0x60,0x43,0x1C,0x99,0x1B,0x90,0x47,0x18,0x1A,0x97,0x1F,0x98,
0xC2,0x69,0x1F,0x98,0xC3,0x6A,0x00,0x21,0x23,0xE0,0x02,0x98,0x3E,0x78,0x00,0x88,
0x80,0x1B,0x00,0xB2,0x66,0x46,0x30,0x80,0xD6,0x07,0x04,0xD0,0x14,0x9E,0x80,0x19,
0x00,0xB2,0x14,0x90,0x0A,0xE0,0xDE,0x07,0x04,0xD0,0x13,0x9E,0x80,0x19,0x00,0xB2,
0x13,0x90,0x03,0xE0,0x12,0x9E,0x80,0x19,0x00,0xB2,0x12,0x90,0x60,0x46,0x80,0x1C,
0x84,0x46,0x02,0x98,0x80,0x1C,0x02,0x90,0x7F,0x1C,0x52,0x08,0x5B,0x08,0x49,0x1C,
0x49,0xB2,0xA1,0x42,0xD9,0xDB,0x6D,0x4E,0x60,0x36,0x31,0x7D,0x00,0x29,0x05,0xDD,
0x1F,0x98,0x42,0x68,0x14,0x98,0x90,0x47,0x00,0xB2,0x14,0x90,0x71,0x7D,0x00,0x29,
0x0B,0xDD,0x01,0x29,0x03,0xD1,0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xE0,0x1F,0x98,
0x42,0x68,0x13,0x98,0x90,0x47,0x00,0xB2,0x13,0x90,0xB1,0x7D,0x00,0x29,0x0B,0xDD,
0x01,0x29,0x03,0xD1,0x12,0x98,0x40,0x10,0x12,0x90,0x05,0xE0,0x1F,0x98,0x42,0x68,
0x12,0x98,0x90,0x47,0x00,0xB2,0x12,0x90,0x20,0x98,0x05,0xA9,0x8C,0x46,0x1A,0x99,
0x04,0x91,0x1F,0x99,0xC9,0x69,0x11,0x91,0x1F,0x99,0xC9,0x6A,0x10,0x91,0x1F,0x99,
0x8A,0x6B,0xD1,0x7C,0xC9,0x07,0x0E,0xD0,0x1F,0x99,0x09,0x6A,0x1F,0x9B,0x5B,0x6A,
0x0F,0x93,0x1F,0x9B,0x9B,0x6A,0x0E,0x93,0x13,0x7D,0x0C,0x93,0x53,0x7D,0x0B,0x93,
0x92,0x7D,0x0A,0x92,0x00,0xE0,0x00,0x21,0x1D,0x9B,0x1B,0x9A,0xD2,0x18,0x03,0x92,
0x00,0x22,0x19,0x92,0xAF,0xE0,0x11,0x9A,0xD2,0x07,0x01,0xD0,0x14,0x9A,0x05,0xE0,
0x10,0x9A,0xD2,0x07,0x01,0xD0,0x13,0x9A,0x00,0xE0,0x12,0x9A,0x00,0x2A,0x0C,0xDD,
0x66,0x46,0x00,0x23,0xF3,0x5E,0x00,0x2B,0x07,0xDD,0x93,0x42,0x00,0xDA,0x1A,0x46,
0x03,0x88,0x9A,0x1A,0x13,0xB2,0x03,0x80,0x32,0xE0,0x66,0x46,0x00,0x23,0xF3,0x5E,
0x00,0x2B,0x2B,0xDA,0x00,0x2A,0x05,0xDA,0x93,0x42,0x00,0xDD,0x1A,0x46,0x03,0x88,
0x9A,0x1A,0x02,0x80,0x00,0x23,0xC3,0x5E,0xCA,0x07,0x21,0xD0,0x04,0x9A,0x12,0x78,
0x17,0x46,0xD2,0x1A,0x12,0xB2,0x0E,0x9E,0xF6,0x07,0x06,0xD0,0x0A,0x9E,0xB2,0x42,
0x16,0xDD,0x0A,0x9E,0xBA,0x1B,0x02,0x80,0x12,0xE0,0x0F,0x9E,0xF6,0x07,0x06,0xD0,
0x0B,0x9E,0xB2,0x42,0x0C,0xDD,0x0B,0x9E,0xBA,0x1B,0x02,0x80,0x08,0xE0,0x0C,0x9E,
0xB2,0x42,0x05,0xDD,0x0C,0x9E,0xBA,0x1B,0x02,0x80,0x01,0xE0,0x00,0x23,0xC3,0x5E,
0x03,0x9A,0x12,0x78,0xD2,0x1A,0x12,0xB2,0x18,0x9B,0x9A,0x42,0x02,0xDA,0x17,0x9B,
0x9A,0x42,0x26,0xDC,0x01,0x22,0xAA,0x40,0xD3,0x17,0x22,0x9E,0x01,0x93,0x00,0x92,
0x37,0x68,0x76,0x68,0x3A,0x43,0x33,0x43,0x22,0x9E,0x0C,0xC6,0x00,0x2D,0x09,0xD0,
0x6F,0x1E,0x01,0x26,0xBE,0x40,0xF7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9A,
0x1F,0x43,0xC0,0xC2,0x0D,0x9A,0x95,0x42,0x0B,0xD2,0x6B,0x1C,0x01,0x22,0x9A,0x40,
0xD3,0x17,0x22,0x9F,0x01,0x93,0x00,0x92,0xC0,0xCF,0x32,0x43,0x22,0x9E,0x3B,0x43,
0x0C,0xC6,0x03,0x9A,0x52,0x1C,0x03,0x92,0x80,0x1C,0x04,0x9A,0x52,0x1C,0x13,0xE0,
0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,0xFF,0xFF,0x00,0x00,0x70,0x0A,0x00,0x20,
0x04,0x00,0x00,0x20,0x02,0x00,0x00,0x20,0x4C,0xD0,0x00,0x00,0x00,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x10,0x2E,0xFF,0xFF,0x04,0x92,0x62,0x46,0x92,0x1C,0x94,0x46,
0x11,0x9A,0x52,0x08,0x11,0x92,0x10,0x9A,0x52,0x08,0x10,0x92,0x00,0x29,0x06,0xD0,
0x49,0x08,0x0F,0x9A,0x52,0x08,0x0F,0x92,0x0E,0x9A,0x52,0x08,0x0E,0x92,0x19,0x9A,
0x52,0x1C,0x52,0xB2,0x19,0x92,0x19,0x9A,0xA2,0x42,0x00,0xDA,0x4B,0xE7,0x1A,0x9D,
0x1E,0x99,0x1B,0x98,0x47,0x18,0x20,0x9E,0x1F,0x98,0x80,0x6B,0x80,0x30,0x00,0x7E,
0x01,0x28,0x1C,0xD1,0x00,0x23,0x16,0xE0,0x00,0x22,0xB2,0x5E,0x28,0x78,0x39,0x78,
0x38,0x70,0x2A,0x70,0x88,0x42,0x02,0xDD,0x84,0x46,0x08,0x46,0x61,0x46,0x82,0x42,
0x01,0xDC,0x30,0x80,0x02,0xE0,0x8A,0x42,0x00,0xDB,0x31,0x80,0x6D,0x1C,0x7F,0x1C,
0xB6,0x1C,0x5B,0x1C,0x5B,0xB2,0xA3,0x42,0xE6,0xDB,0x23,0xB0,0xF0,0xBD,0x02,0x28,
0x25,0xD1,0x00,0x20,0x19,0x90,0x1E,0xE0,0x00,0x21,0x71,0x5E,0x16,0x91,0x28,0x78,
0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,0x1F,0x99,0x4A,0x68,
0x03,0x21,0x90,0x47,0x00,0xB2,0x38,0x70,0x16,0x99,0x29,0x70,0x15,0x99,0x4A,0x00,
0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,0x19,0x98,
0x40,0x1C,0x40,0xB2,0x19,0x90,0x19,0x98,0xA0,0x42,0xDD,0xDB,0xD5,0xE7,0x00,0x20,
0x08,0xE0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,
0x40,0x1C,0x40,0xB2,0xA0,0x42,0xF4,0xDB,0xC7,0xE7,0xF0,0xB5,0x85,0xB0,0xD8,0x4E,
0xB0,0x6B,0xC0,0x7A,0x00,0x90,0xD7,0x4C,0x04,0x94,0x1B,0x21,0xD6,0x48,0x89,0x01,
0x47,0x18,0x35,0x21,0x49,0x01,0x45,0x18,0x00,0x99,0x24,0x23,0xD3,0x4A,0x59,0x43,
0x08,0x18,0x80,0x18,0x03,0x90,0x4B,0xE0,0x20,0x78,0x0F,0x28,0x47,0xD0,0xE0,0x79,
0x01,0x06,0x33,0xD4,0x02,0x28,0x23,0xD1,0x0E,0x20,0x20,0x5E,0x02,0x90,0x10,0x20,
0x20,0x5E,0x01,0x90,0x09,0x21,0x20,0x46,0x08,0xF0,0xDC,0xFB,0x0E,0x21,0x61,0x5E,
0x02,0x98,0x08,0x1A,0x00,0xD5,0x40,0x42,0x01,0xB2,0x10,0x20,0x20,0x5E,0x01,0x9A,
0x80,0x1A,0x00,0xD5,0x40,0x42,0x40,0x18,0x00,0xB2,0xB1,0x6B,0xA0,0x31,0xC9,0x89,
0x89,0x08,0x81,0x42,0x09,0xDD,0x02,0x98,0xE0,0x81,0x01,0x98,0x20,0x82,0x04,0xE0,
0xE8,0x7C,0x02,0x28,0x01,0xD2,0x20,0x20,0xA0,0x70,0xFF,0x20,0x20,0x71,0x60,0x71,
0xE0,0x78,0x79,0x7E,0x88,0x42,0x01,0xD8,0x00,0x20,0xE0,0x71,0xE0,0x79,0x40,0x06,
0x40,0x0E,0xE0,0x71,0x00,0x28,0x01,0xD0,0x40,0x1E,0xE0,0x71,0xE0,0x79,0x00,0x28,
0x05,0xD1,0x60,0x78,0x80,0x08,0x80,0x00,0x60,0x70,0x00,0x20,0xA0,0x70,0x24,0x34,
0x03,0x98,0xA0,0x42,0xB0,0xD8,0x00,0x21,0x00,0x23,0xEB,0x74,0x04,0x98,0x10,0xE0,
0x02,0x78,0x00,0x9C,0xA2,0x42,0x0A,0xD2,0xC2,0x78,0x7C,0x7E,0x52,0x06,0x52,0x0E,
0xA2,0x42,0x04,0xD9,0x82,0x78,0x20,0x2A,0x01,0xD0,0x01,0x21,0x04,0xE0,0x83,0x70,
0x24,0x30,0x03,0x9A,0x82,0x42,0xEB,0xD8,0x00,0x29,0x2F,0xD0,0x04,0x98,0x2A,0xE0,
0x83,0x70,0x01,0x78,0x00,0x9A,0x91,0x42,0x24,0xD2,0xC1,0x78,0x7A,0x7E,0x49,0x06,
0x49,0x0E,0x91,0x42,0x1E,0xD9,0x01,0x21,0x81,0x70,0xE9,0x7C,0x49,0x1C,0xE9,0x74,
0x0E,0x22,0x82,0x5E,0x00,0x2A,0x01,0xDA,0xC3,0x81,0x06,0xE0,0xB1,0x6B,0xA0,0x31,
0x0C,0x88,0xA2,0x42,0x01,0xDD,0x09,0x88,0xC1,0x81,0x10,0x21,0x41,0x5E,0x00,0x29,
0x01,0xDA,0x03,0x82,0x06,0xE0,0xB2,0x6B,0xA0,0x32,0x54,0x88,0xA1,0x42,0x01,0xDD,
0x51,0x88,0x01,0x82,0x24,0x30,0x03,0x99,0x81,0x42,0xD1,0xD8,0x05,0xB0,0xF0,0xBD,
0xF0,0xB5,0x7F,0x4A,0x95,0x6B,0x2C,0x7F,0x62,0x00,0xFF,0x28,0x01,0xD1,0x00,0x20,
0xF0,0xBD,0x24,0x23,0x58,0x43,0x7C,0x4B,0x7C,0x4E,0xC0,0x18,0x80,0x19,0x06,0x26,
0x71,0x43,0xC9,0x18,0x79,0x4B,0x24,0x3B,0xC9,0x18,0x14,0x26,0x86,0x5F,0x00,0x2E,
0x00,0xDA,0x76,0x42,0x16,0x23,0xC3,0x5E,0x00,0x2B,0x00,0xDA,0x5B,0x42,0xF3,0x18,
0x73,0x4E,0xB3,0x42,0x00,0xD3,0x00,0x23,0x0E,0x27,0x0E,0x88,0xC7,0x5F,0xF6,0x1B,
0x00,0xD5,0x76,0x42,0x10,0x27,0x49,0x88,0xC7,0x5F,0xC9,0x1B,0x00,0xD5,0x49,0x42,
0x71,0x18,0x8C,0x42,0x29,0xD8,0x84,0x79,0x01,0x2C,0x05,0xD1,0x2D,0x27,0x7F,0x5D,
0xC6,0x79,0x7F,0x1E,0xBE,0x42,0x1E,0xDB,0x61,0x4E,0xB6,0x6B,0x80,0x36,0x01,0x2C,
0x08,0xD1,0xED,0x7E,0x9D,0x42,0x05,0xD3,0xC0,0x78,0x73,0x7B,0x98,0x42,0x01,0xD8,
0x0A,0x28,0x10,0xD2,0x01,0x2C,0x06,0xD1,0x91,0x42,0x04,0xD3,0x5D,0x4B,0x70,0x7B,
0x1B,0x88,0x98,0x42,0x07,0xD2,0x01,0x2C,0x02,0xD1,0x50,0x00,0x88,0x42,0x02,0xD9,
0xD0,0x00,0x88,0x42,0x01,0xD8,0x00,0x20,0xF0,0xBD,0x01,0x20,0xF0,0xBD,0xF0,0xB5,
0x85,0xB0,0x50,0x48,0x4E,0x49,0x04,0x91,0x89,0x78,0x05,0x29,0x7E,0xD0,0x52,0x4D,
0xA9,0x1D,0x01,0x91,0x89,0x1D,0x00,0x91,0x00,0x21,0xFF,0x22,0x0F,0x23,0x07,0xE0,
0x6A,0x54,0xC4,0x79,0x00,0x2C,0x00,0xD1,0x03,0x70,0x49,0x1C,0xC9,0xB2,0x24,0x30,
0x04,0x9C,0xA4,0x6B,0xE4,0x7A,0x8C,0x42,0xF2,0xD8,0x00,0x27,0x40,0x4E,0xA0,0x3E,
0xF0,0x7B,0x00,0x28,0x4A,0xD0,0x2A,0x46,0x03,0xA9,0x00,0x98,0x08,0xF0,0x52,0xFE,
0x07,0x46,0x00,0x2F,0x0C,0xD1,0x00,0x24,0x06,0xE0,0x22,0x46,0xFF,0x21,0x01,0x20,
0x08,0xF0,0x44,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xF5,0xD8,0x35,0xE0,
0x01,0x2F,0x0E,0xD1,0x2C,0x78,0x00,0x21,0x20,0x46,0xFF,0xF7,0x61,0xFF,0x00,0x28,
0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x00,0x22,0x21,0x46,0x08,0xF0,0x2E,0xFC,
0x24,0xE0,0xF4,0x7B,0x6B,0x46,0x1A,0x7B,0x23,0x46,0x01,0x99,0x00,0x98,0x08,0xF0,
0x37,0xFD,0x00,0x24,0x17,0xE0,0x01,0x98,0x00,0x5D,0xFF,0x28,0x02,0xD0,0x28,0x5C,
0x02,0x90,0x01,0xE0,0xFF,0x20,0x02,0x90,0x21,0x46,0x02,0x98,0xFF,0xF7,0x40,0xFF,
0x00,0x28,0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x22,0x46,0x02,0x99,0x08,0xF0,
0x0D,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xE4,0xD8,0x38,0x46,0xFF,0xF7,
0x7C,0xFE,0xF0,0x7B,0x1B,0x4C,0x00,0x28,0x06,0xD1,0x20,0x88,0x7D,0x21,0xC9,0x00,
0x88,0x42,0x01,0xD2,0x40,0x1C,0x20,0x80,0xF0,0x7C,0x00,0x28,0x06,0xD0,0x00,0x22,
0x00,0x20,0x17,0x26,0x10,0x4D,0xB6,0x01,0x04,0x99,0x00,0xE0,0x17,0xE0,0x89,0x6B,
0xCB,0x7A,0x0E,0xE0,0x24,0x21,0x41,0x43,0x49,0x19,0x89,0x19,0x0F,0x7C,0x01,0x2F,
0x05,0xD1,0xC9,0x7B,0x03,0x29,0x02,0xD1,0x52,0x1C,0xD2,0xB2,0x03,0xE0,0x40,0x1C,
0xC0,0xB2,0x83,0x42,0xEE,0xD8,0x00,0x2A,0x01,0xD1,0x00,0x20,0x20,0x80,0xFD,0xE6,
0xB0,0x0A,0x00,0x20,0x3E,0x09,0x00,0x20,0x70,0x03,0x00,0x20,0xCE,0x05,0x00,0x00,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x01,0xE0,0x04,0xC0,
0x09,0x1F,0x04,0x29,0xFB,0xD2,0x8B,0x07,0x01,0xD5,0x02,0x80,0x80,0x1C,0xC9,0x07,
0x00,0xD0,0x02,0x70,0x70,0x47,0x00,0x29,0x0B,0xD0,0xC3,0x07,0x02,0xD0,0x02,0x70,
0x40,0x1C,0x49,0x1E,0x02,0x29,0x04,0xD3,0x83,0x07,0x02,0xD5,0x02,0x80,0x80,0x1C,
0x89,0x1E,0xE3,0xE7,0x00,0x22,0xEE,0xE7,0x00,0x22,0xDF,0xE7,0x00,0x22,0x03,0x09,
0x8B,0x42,0x2C,0xD3,0x03,0x0A,0x8B,0x42,0x11,0xD3,0x00,0x23,0x9C,0x46,0x4E,0xE0,
0x03,0x46,0x0B,0x43,0x3C,0xD4,0x00,0x22,0x43,0x08,0x8B,0x42,0x31,0xD3,0x03,0x09,
0x8B,0x42,0x1C,0xD3,0x03,0x0A,0x8B,0x42,0x01,0xD3,0x94,0x46,0x3F,0xE0,0xC3,0x09,
0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,0x83,0x09,0x8B,0x42,0x01,0xD3,
0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,0x01,0xD3,0x4B,0x01,0xC0,0x1A,
0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,0xC0,0x1A,0x52,0x41,0xC3,0x08,
0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,0x83,0x08,0x8B,0x42,0x01,0xD3,
0x8B,0x00,0xC0,0x1A,0x52,0x41,0x43,0x08,0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,
0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,0x5D,0xE0,
0xCA,0x0F,0x00,0xD0,0x49,0x42,0x03,0x10,0x00,0xD3,0x40,0x42,0x53,0x40,0x00,0x22,
0x9C,0x46,0x03,0x09,0x8B,0x42,0x2D,0xD3,0x03,0x0A,0x8B,0x42,0x12,0xD3,0xFC,0x22,
0x89,0x01,0x12,0xBA,0x03,0x0A,0x8B,0x42,0x0C,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,
0x08,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,0x04,0xD3,0x89,0x01,0x3A,0xD0,0x92,0x11,
0x00,0xE0,0x89,0x09,0xC3,0x09,0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,
0x83,0x09,0x8B,0x42,0x01,0xD3,0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,
0x01,0xD3,0x4B,0x01,0xC0,0x1A,0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,
0xC0,0x1A,0x52,0x41,0xC3,0x08,0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,
0x83,0x08,0x8B,0x42,0x01,0xD3,0x8B,0x00,0xC0,0x1A,0x52,0x41,0xD9,0xD2,0x43,0x08,
0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,
0x63,0x46,0x52,0x41,0x5B,0x10,0x10,0x46,0x01,0xD3,0x40,0x42,0x00,0x2B,0x00,0xD5,
0x49,0x42,0x70,0x47,0x63,0x46,0x5B,0x10,0x00,0xD3,0x40,0x42,0x01,0xB5,0x00,0x20,
0xC0,0x46,0xC0,0x46,0x02,0xBD,0x75,0x46,0x00,0xF0,0x22,0xF8,0xAE,0x46,0x05,0x00,
0x69,0x46,0x53,0x46,0xC0,0x08,0xC0,0x00,0x85,0x46,0x18,0xB0,0x20,0xB5,0xFF,0xF7,
0x59,0xF8,0x60,0xBC,0x00,0x27,0x49,0x08,0xB6,0x46,0x00,0x26,0xC0,0xC5,0xC0,0xC5,
0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0x40,0x3D,0x49,0x00,
0x8D,0x46,0x70,0x47,0x04,0x46,0xC0,0x46,0xC0,0x46,0x20,0x46,0xFE,0xF7,0xF7,0xFE,
0x00,0x48,0x70,0x47,0x64,0x00,0x00,0x20,0x02,0x48,0x03,0x49,0xAB,0xBE,0x70,0x47,
0x0D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,0x70,0x47,0x00,0x00,
0x28,0x0D,0x28,0x12,0x0A,0x0A,0x12,0x00,0x02,0x04,0x40,0x06,0x00,0x00,0x01,0x01,
0x08,0x08,0x10,0x85,0x20,0x10,0x08,0x03,0x0A,0x1E,0x64,0x3C,0xF0,0x1E,0x08,0x02,
0x16,0x01,0x01,0x00,0x10,0x06,0x00,0x01,0x06,0x04,0x14,0x14,0x0A,0x06,0x28,0x1E,
0x3C,0x64,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,
0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x08,0x01,0x02,0x04,0x08,
0x01,0x02,0x04,0x08,0x01,0x01,0x01,0x01,0xD8,0xE2,0xF6,0xEC,0x1E,0xE2,0x0F,0x01,
0x01,0x01,0x02,0x02,0x02,0x02,0x0C,0x0A,0x10,0x00,0x14,0x0A,0x01,0x02,0x02,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x64,0x1E,0x64,0x00,0x14,0xC8,0x14,0x00,0x02,
0x83,0x04,0x02,0x02,0x5A,0x00,0x5A,0x01,0x02,0x06,0x01,0x01,0x00,0x00,0x00,0x00,
0x58,0x02,0x00,0x04,0xB4,0x00,0x0A,0x00,0x90,0x01,0x02,0x01,0x2C,0x01,0x20,0x00,
0x00,0x00,0xF3,0xFF,0x23,0x01,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x00,0xE3,0x38,0x00,0x00,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x60,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x60,0x10,0x00,0x40,
0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xFF,0xFF,0x00,0x80,0x00,0x00,0x00,0x00,
0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0A,0x00,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x00,0x01,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x01,0x00,0x01,
0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xA5,0x18,0xA7,
0x23,0xA1,0x45,0x63,0x65,0x07,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,0x00,0x00,
0x21,0xAA,0x43,0xAA,0x56,0xAA,0x81,0xA7,0x21,0x00,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xA1,0x71,0x06,0x87,0xAA,
0x23,0xAA,0x87,0xAA,0x32,0xAA,0x00,0x00,0x87,0xAA,0x23,0xAA,0x00,0x00,0x00,0x00,
0x00,0x00,0x65,0xAA,0x87,0xAA,0x51,0xA6,0x47,0x06,0x45,0x00,0x28,0xA1,0x76,0xAA,
0x12,0xA8,0x00,0x00,0x00,0x00,0x34,0xAA,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,
0x67,0xAA,0x23,0xAA,0xA1,0xAA,0x87,0xAA,0x32,0xAA,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0xA1,0xAA,0x21,0xAA,0x56,0xAA,0x81,0xA7,0x21,0xAA,0x00,0x00,0x34,0xAA,
0x65,0xAA,0x87,0xAA,0x51,0x46,0x47,0x03,0xA8,0xAA,0x21,0xAA,0x43,0xAA,0x56,0xAA,
0x81,0xA7,0x34,0xAA,0x76,0xA5,0x18,0xA7,0x23,0xA1,0x45,0xA3,0x23,0xA4,0x21,0xA8,
0x87,0xA6,0x32,0xA4,0x78,0x21,0x76,0xA5,0x23,0xA1,0x45,0x63,0x65,0x07,0x00,0x00,
0x01,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x02,0x02,0x01,0x01,
0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFC,0x1D,0x00,0x00,
0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,
0x04,0x00,0x00,0x20,0xEC,0x0A,0x00,0x00,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x5B,0x5A,0x35,0x35,0xA5,0xA5,0xCA,0xCA,0x88,0x77,0x66,0x55,
0x44,0x33,0x22,0x11,0x12,0x00,0x0A,0x00,0x58,0x02,0x00,0x04,0xDC,0x5F,0xCA,0xCA,
0x00,0x00,0x00,0x00,0x11,0x08,0x8E,0x32,0x06,0x00,0x00,0x01,0x4E,0x77,0xB0,0xE6,
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,248 @@
/**
*Name : hynitron_common.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_COMMON_H__
#define HYNITRON_COMMON_H__
#include "hynitron_config.h"
/*****************************************************************************
* Macro definitions using #define
*****************************************************************************/
#define HYN_DRIVER_VERSION "Hynitron TouchScreen Qualcomm Driver V2.1 20201222"
/************THE CHIP PRODUCT LINE SUPPORT********************/
#define HYN_CHIP_PRODUCT_LINE_MUT_CAP 1
#define HYN_CHIP_PRODUCT_LINE_SEL_CAP 2
/*************************************************************/
/************THE CHIP SERIES SUPPORT********************/
#define HYN_CHIP_CST0XX 10
#define HYN_CHIP_CST1XX 100
#define HYN_CHIP_CST1XXSE 101
#define HYN_CHIP_CST2XX 200
#define HYN_CHIP_CST2XXSE 201
#define HYN_CHIP_CST3XX 300
#define HYN_CHIP_CST3XXSE 301
#define HYN_CHIP_CST6XX 692
#define HYN_CHIP_CST7XX 700
#define HYN_CHIP_CST8XX 800
#define HYN_CHIP_CST9XX 900
/******************************************************/
/************THE CHIP TYPE OF SERIES SUPPORT********************/
#define CST016 16
#define CST026 26
#define CST036 36
#define CST126 126
#define CST128 128
#define CST128SE 129
#define CST130 130
#define CST140 140
#define CST148 148
#define CST226 226
#define CST226SE 168
#define CST237 237
#define CST240 240
#define CST326 326
#define CST328 328
#define CST328SE 329
#define CST340 340
#define CST348 348
#define CST356 356
#define CST6928S 692
#define CST716 716
#define CST726 726
#define CST736 736
#define CST816 816
#define CST826 826
#define CST836 836
#define CST912 912
#define CST918 918
/******************************************************/
#define FLAGBIT(x) (0x00000001 << (x))
#define FLAGBITS(x, y) ((0xFFFFFFFF >> (32 - (y) - 1)) << (x))
#define I2C_BUFFER_LENGTH_MAXINUM 256
#define FILE_NAME_LENGTH 128
#define ENABLE 1
#define DISABLE 0
#define REG_LEN_1B 1
#define REG_LEN_2B 2
/*register address*/
/********selfcap register address start *****************/
#define HYN_REG_CAP_POWER_MODE 0xA5
#define HYN_REG_CAP_POWER_MODE_SLEEP_VALUE 0x03
#define HYN_REG_CAP_FW_VER 0xA6
#define HYN_REG_CAP_VENDOR_ID 0xA8
#define HYN_REG_CAP_PROJECT_ID 0xA9
#define HYN_REG_CAP_CHIP_ID 0xAA
#define HYN_REG_CAP_CHIP_CHECKSUM 0xAC
#define HYN_REG_CAP_GESTURE_EN 0xD0
#define HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS 0xD3
#define HYN_REG_CAP_PROXIMITY_EN 0xB0
#define HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS 0x01
#define HYN_REG_CAP_ESD_SATURATE 0xE0
/********selfcap register address end *****************/
/********mutcap register address start *****************/
//Myabe change
#define HYN_REG_MUT_ESD_VALUE 0xD040
#define HYN_REG_MUT_ESD_CHECKSUM 0xD046
#define HYN_REG_MUT_PROXIMITY_EN 0xD04B
#define HYN_REG_MUT_PROXIMITY_OUTPUT_ADDRESS 0xD04B
#define HYN_REG_MUT_GESTURE_EN 0xD04C
#define HYN_REG_MUT_GESTURE_OUTPUT_ADDRESS 0xD04C
//workmode
#define HYN_REG_MUT_DEBUG_INFO_MODE 0xD101
#define HYN_REG_MUT_RESET_MODE 0xD102
#define HYN_REG_MUT_DEBUG_RECALIBRATION_MODE 0xD104
#define HYN_REG_MUT_DEEP_SLEEP_MODE 0xD105
#define HYN_REG_MUT_DEBUG_POINT_MODE 0xD108
#define HYN_REG_MUT_NORMAL_MODE 0xD109
#define HYN_REG_MUT_DEBUG_RAWDATA_MODE 0xD10A
#define HYN_REG_MUT_DEBUG_DIFF_MODE 0xD10D
#define HYN_REG_MUT_DEBUG_FACTORY_MODE 0xD119
#define HYN_REG_MUT_DEBUG_FACTORY_MODE_2 0xD120
//debug info
/****************HYN_REG_MUT_DEBUG_INFO_MODE address start***********/
#define HYN_REG_MUT_DEBUG_INFO_IC_CHECKSUM 0xD208
#define HYN_REG_MUT_DEBUG_INFO_FW_VERSION 0xD204
#define HYN_REG_MUT_DEBUG_INFO_IC_TYPE 0xD202
#define HYN_REG_MUT_DEBUG_INFO_PROJECT_ID 0xD200
#define HYN_REG_MUT_DEBUG_INFO_BOOT_TIME 0xD1FC
#define HYN_REG_MUT_DEBUG_INFO_RES_Y 0xD1FA
#define HYN_REG_MUT_DEBUG_INFO_RES_X 0xD1F8
#define HYN_REG_MUT_DEBUG_INFO_KEY_NUM 0xD1F7
#define HYN_REG_MUT_DEBUG_INFO_TP_NRX 0xD1F6
#define HYN_REG_MUT_DEBUG_INFO_TP_NTX 0xD1F4
/****************HYN_REG_MUT_DEBUG_INFO_MODE address end***********/
#define HYN_WORK_MODE_NORMAL 0
#define HYN_WORK_MODE_FACTORY 1
#define HYN_WORK_MODE_RAWDATA 2
#define HYN_WORK_MODE_DIFF 3
#define HYN_WORK_MODE_UPDATE 4
/********mutcap register address end *****************/
/************i2c communication********************/
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len);
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len) ;
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len);
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue);
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue);
int hyn_i2c_read(struct i2c_client *client, char *writebuf,int writelen, char *readbuf, int readlen);
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen);
/***************************************/
/************HYN_PSENSOR_EN********************/
#if HYN_PSENSOR_EN
extern int hyn_proximity_readdata(void);
extern void hyn_proximity_init(void);
extern void hyn_proximity_exit(void);
extern void hyn_proximity_suspend(void);
extern void hyn_proximity_resume(void);
#endif
/***************************************/
/************HYN_GESTURE_EN********************/
#if HYN_GESTURE_EN
extern int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client);
extern int hyn_gesture_exit(void);
extern int hyn_gesture_suspend(void);
extern int hyn_gesture_resume(void);
extern int hyn_gesture_readdata(void);
#endif
/***************************************/
/************HYN_ESDCHECK_EN********************/
#if HYN_ESDCHECK_EN
extern void hyn_create_esd_sysfs(struct i2c_client *client);
extern void hyn_esd_switch(s32 on);
extern void hyn_init_esd_protect(void);
extern void hyn_esd_resume(void);
extern void hyn_esd_suspend(void);
extern void hyn_esd_init(void);
extern void hyn_esd_exit(void);
#endif
/***************************************/
/* ADB functions */
#if HYN_SYSFS_NODE_EN
extern int hyn_create_sysfs(struct i2c_client *client);
extern void hyn_release_sysfs(struct i2c_client *client);
#endif
#if ANDROID_TOOL_SURPORT
extern int hynitron_proc_fs_init(void);
extern void hynitron_proc_fs_exit(void);
#endif
extern int hyn_reset_proc(int hdelayms);
void hyn_irq_disable(void);
void hyn_irq_enable(void);
#if HYN_DEBUG_EN
#define HYN_DEBUG_LEVEL 1
#if (HYN_DEBUG_LEVEL == 2)
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN][%s]"fmt"\n", __func__, ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info][%s]"fmt"\n",__func__, ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error][%s]"fmt"\n",__func__, ##args)
#else
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN]"fmt"\n", ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info]"fmt"\n", ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error]"fmt"\n", ##args)
#endif
#define HYN_FUNC_ENTER() printk(KERN_ERR "[HYN]%s: Enter\n", __func__)
#define HYN_FUNC_EXIT() printk(KERN_ERR "[HYN]%s: Exit(%d)\n", __func__, __LINE__)
#else
#define HYN_DEBUG(fmt, args...)
#define HYN_INFO(fmt, args...)
#define HYN_ERROR(fmt, args...)
#define HYN_FUNC_ENTER()
#define HYN_FUNC_EXIT()
#endif
#endif /*Hynitron_COMMON_H__*/

View File

@ -0,0 +1,95 @@
/**
*Name : hynitron_config.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CONFIG_H__
#define HYNITRON_CONFIG_H__
/*
* show debug log info
* enable it for debug, disable it for release
*/
#define HYN_DEBUG_EN 1
/*
* Linux MultiTouch Protocol
* 1: Protocol B(default), 0: Protocol A
*/
#define HYN_MT_PROTOCOL_B_EN 1
/*
* Report Pressure in multitouch
* 1:enable(default),0:disable
*/
#define HYN_REPORT_PRESSURE_EN 0
/*
* Switch Gesture wakeup in multitouch
* 1:enable,0:disable
*/
#define HYN_GESTURE_EN 0
/*
* Switch proximity detect in multitouch
* 1:enable,0:disable
*/
#define HYN_PSENSOR_EN 0
/*
* Switch esd detect in multitouch
* 1:enable,0:disable
*/
#define HYN_ESDCHECK_EN 0
/*
* Factory test support
* 1:enable,0:disable
* only support cst3xx.
*/
#define HYN_AUTO_FACTORY_TEST_EN 0
/*
* Update firmware support
* choose the right chiptype
* 1:enable,0:disable
*
*/
#define HYN_EN_AUTO_UPDATE 0
#define HYN_EN_AUTO_UPDATE_CST0xxSE 0
#define HYN_EN_AUTO_UPDATE_CST0xx 0
#define HYN_EN_AUTO_UPDATE_CST1xx 0
#define HYN_EN_AUTO_UPDATE_CST1xxSE 0
#define HYN_EN_AUTO_UPDATE_CST2xx 0
#define HYN_EN_AUTO_UPDATE_CST2xxSE 0
#define HYN_EN_AUTO_UPDATE_CST3xx 0
#define HYN_EN_AUTO_UPDATE_CST3xxSE 0
#define HYN_EN_AUTO_UPDATE_CST6xx 0
#define HYN_EN_AUTO_UPDATE_CST78xx 0
#define HYN_EN_AUTO_UPDATE_CST9xx 0
#define HYN_SYS_AUTO_SEARCH_FIRMWARE 0
/*
* Node for debug
* /proc/cst1xx_ts
* /sys/hynitron_debug
* 1:enable,0:disable
*
*/
#define ANDROID_TOOL_SURPORT 1
#define HYN_SYSFS_NODE_EN 1
#endif /*HYNITRON_CONFIG_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,277 @@
/**
*Name : hynitron_core.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CORE_H__
#define HYNITRON_CORE_H__
#include <linux/syscalls.h>
#include <linux/types.h>
#include <linux/version.h>
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/i2c.h>
#include <linux/vmalloc.h>
#include <linux/gpio.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/jiffies.h>
#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/earlysuspend.h>
#endif
#include <linux/version.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/kernel.h>
//#include <linux/rtpm_prio.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/wait.h>
#include <linux/time.h>
#include <linux/dma-mapping.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/of_irq.h>
//#include <linux/wakelock.h>
#include <linux/module.h>
#include <linux/ctype.h>
#include <linux/err.h>
#include <linux/irq.h>
//#include "wakelock.h"
#include <linux/sysfs.h>
#include <linux/init.h>
//#include <linux/spinlock.h>
#include <linux/firmware.h>
#include <linux/regulator/consumer.h>
#include <linux/fcntl.h>
#include <linux/cdev.h>
#include <linux/ioctl.h>
#include <linux/moduleparam.h>
#include <linux/platform_device.h>
#include <linux/miscdevice.h>
#include "hynitron_common.h"
//please config the chip series before using.
#define HYN_CHIP_TYPE_CONFIG CST340
#define HYN_IRQ_TRIGGER_RISING_CONFIG 0x01
#define HYN_MAIN_IIC_ADDR_CONFIG 0x1A
#define HYN_X_DISPLAY_DEFAULT 720
#define HYN_Y_DISPLAY_DEFAULT 1280
#define HYN_X_REVERT 0
#define HYN_Y_REVERT 0
#define HYN_XY_EXCHANGE 0
#define HYN_MAX_KEYS 3
#define HYN_MAX_POINTS 5
#define HYN_MAX_SELFCAP_ID 2
/**********************************************************/
#define HYN_RESET_SOFTWARE 0
#define HYN_UPDATE_FIRMWARE_FORCE 0
#define HYN_IIC_TRANSFER_LIMIT 0
/******************************************/
#define HYN_UPDATE_FIRMWARE_PATH_1 "/data"
#define HYN_UPDATE_FIRMWARE_PATH_2 "/sdcard"
#define HYN_UPDATE_FIRMWARE_FILTNAME_1 "hyn.bin"
#define HYN_COORDS_ARR_SIZE 2
#define HYN_TOUCH_STEP 6
#define HYN_TOUCH_X_H_POS 3
#define HYN_TOUCH_X_L_POS 4
#define HYN_TOUCH_Y_H_POS 5
#define HYN_TOUCH_Y_L_POS 6
#define HYN_TOUCH_EVENT_POS 3
#define HYN_TOUCH_ID_POS 5
#define HYN_TOUCH_POINT_NUM 2
#define HYN_TOUCH_XY_POS 7
#define HYN_TOUCH_MISC 8
#define POINT_READ_BUF (3 + HYN_TOUCH_STEP * HYN_MAX_POINTS)
#define HYN_SYSFS_ECHO_ON(buf) ((strnicmp(buf, "1", 1) == 0) || \
(strnicmp(buf, "on", 2) == 0))
#define HYN_SYSFS_ECHO_OFF(buf) ((strnicmp(buf, "0", 1) == 0) || \
(strnicmp(buf, "off", 3) == 0))
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hynitron_chip_type_array {
const u16 chip_type;
const u16 chip_series;
const u8 chip_product_line;
const u8 chip_boot_addr;
};
struct hynitron_fw_array {
char* name;
unsigned char *fw;
u16 project_id;
u16 module_id;
u16 chip_type;
u16 fw_length;
};
struct touch_info
{
int y[HYN_MAX_POINTS];
int x[HYN_MAX_POINTS];
int p[HYN_MAX_POINTS];
int id[HYN_MAX_POINTS];
int count;
};
/*touch event info*/
struct ts_event
{
u16 au16_x[HYN_MAX_POINTS]; /* x coordinate */
u16 au16_y[HYN_MAX_POINTS]; /* y coordinate */
u8 au8_touch_event[HYN_MAX_POINTS]; /* touch event: 0 -- down; 1-- up; 2 -- contact */
u8 au8_finger_id[HYN_MAX_POINTS]; /* touch ID */
u16 pressure[HYN_MAX_POINTS];
u16 area[HYN_MAX_POINTS];
u8 touch_point;
int touchs;
u8 touch_point_num;
};
struct hynitron_ts_platform_data{
int irq_gpio;
u32 irq_gpio_flags;
int reset_gpio;
u32 reset_gpio_flags;
u32 x_resolution;
u32 y_resolution;
u32 max_key_num;
u32 max_touch_num;
u32 key_x_coords[8]; // max support 8 keys
u32 key_y_coords[8];
u32 key_code[8];
//erobbing add for check if overturn axis of x and y
bool xy_exchange;
bool x_overturn;
bool y_overturn;
//end
bool have_key;
bool report_key_position;
bool i2c_pull_up;
bool enable_power_off;
bool enable_slot_report;
bool enable_esd;
};
struct hynitron_ts_data{
struct hynitron_ts_platform_data *pdata;
struct i2c_client *client;
struct device *dev;
struct input_dev *input_dev;
struct task_struct *thread_tpd;
struct hrtimer timer;
struct work_struct work;
struct workqueue_struct *hyn_workqueue;
//spinlock_t irq_lock;
u8 device_id;
u8 irq_is_disable;
s32 use_irq;
u8 int_trigger_type;
u8 sensor_tx;
u8 sensor_rx;
u8 hyn_irq_flag;
u8 report_flag;
u8 key_index;
u8 work_mode;
u8 hyn_esd_mode :1 ;
u8 hyn_esd_running :1 ;
u8 hyn_esd_i2c_lock_flag: 1;
s32 hyn_esd_pre_counter;
s32 hyn_esd_cur_counter;
s32 hyn_esd_work_cycle;
struct mutex hyn_esd_lock;
struct delayed_work hyn_esd_check_work;
struct workqueue_struct *hyn_esd_workqueue;
u16 chip_ic_type;
u16 chip_ic_series;
u8 chip_ic_product_line;
u32 chip_ic_checksum;
u32 chip_ic_checkcode;
u32 chip_ic_fw_version;
u16 chip_ic_project_id;
u16 chip_ic_module_id;
u16 chip_ic_workmode;
u8 chip_ic_bootloader_addr;
u8 chip_ic_main_addr;
u16 config_chip_type;
u16 config_chip_series;
u8 config_chip_product_line;
u8 fw_updating;
u8* fw_name;
u32 fw_length;
u8 *p_hynitron_upgrade_firmware;
u8 apk_upgrade_flag;
u8 apk_rdwr_flag;
bool in_glove_mode;
bool power_on;
// struct mutex report_mutex;
struct kobject *k_obj;
struct regulator *vdd;
struct regulator *vcc_i2c;
#if defined(CONFIG_FB)
struct notifier_block fb_notif;
struct work_struct resume_work;
#elif defined(CONFIG_HAS_EARLYSUSPEND)
struct early_suspend early_suspend;
#endif
struct pinctrl *ts_pinctrl;
struct pinctrl_state *gpio_state_active;
struct pinctrl_state *gpio_state_suspend;
};
extern struct hynitron_ts_data *hyn_ts_data ;
#endif /*HYNITRON_CORE_H__*/

View File

@ -0,0 +1,331 @@
/**
*Name : hynitron_esd_check.c
*Author : steven
*Version : V2.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
#if HYN_ESDCHECK_EN
#define SWITCH_ESD_OFF 0
#define SWITCH_ESD_ON 1
extern int hyn_reset_proc(int hdelayms);
/************************************************************************
* Name: hyn_esd_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = sprintf(buf,"ESD Mode: %d,ESD running = %d\n", hyn_ts_data->hyn_esd_mode,hyn_ts_data->hyn_esd_running);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (buf[0]==1)
{
HYN_INFO("[ESD]enable ESD");
hyn_ts_data->hyn_esd_mode = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[ESD]disable ESD");
hyn_ts_data->hyn_esd_mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = snprintf(buf, PAGE_SIZE, "ESD running: 0x%x\n", hyn_ts_data->hyn_esd_running);
count += snprintf(buf + count, PAGE_SIZE, "ESD pre_counter:0x%x\n", hyn_ts_data->hyn_esd_pre_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD cur_counter:0x%x\n", hyn_ts_data->hyn_esd_cur_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD work_cycle:0x%x\n", hyn_ts_data->hyn_esd_work_cycle);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
static DEVICE_ATTR (hyn_esd_mode, S_IRUGO|S_IWUSR, hyn_esd_show, hyn_esd_store);
/*
* read example: cat hyn_esd_buf ---read esd buf
*/
static DEVICE_ATTR (hyn_esd_buf, S_IRUGO|S_IWUSR, hyn_esd_buf_show, hyn_esd_buf_store);
static struct attribute *hyn_esd_mode_attrs[] =
{
&dev_attr_hyn_esd_mode.attr,
&dev_attr_hyn_esd_buf.attr,
NULL,
};
static struct attribute_group hyn_esd_group =
{
.attrs = hyn_esd_mode_attrs,
};
void hyn_create_esd_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_esd_group);
if ( ret != 0)
{
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_esd_group);
return;
}
HYN_FUNC_EXIT();
return;
}
static void hyn_esd_poweron_ic(unsigned int ms)
{
HYN_FUNC_ENTER();
hyn_reset_proc(10);
HYN_FUNC_EXIT();
}
void hyn_esd_suspend(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_OFF);
HYN_FUNC_EXIT();
}
void hyn_esd_resume(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_ON);
HYN_FUNC_EXIT();
}
void hyn_esd_switch(s32 on)
{
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode)
return;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (SWITCH_ESD_ON == on) { /* switch on esd check */
if (!hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 1;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector started!");
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
}
} else { /* switch off esd check */
if (hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 0;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector stopped!");
cancel_delayed_work(&hyn_ts_data->hyn_esd_check_work);
}
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
static void hyn_esd_check_func(struct work_struct *work)
{
int retry = 0;
int ret;
int check_sum;
unsigned char buf[8];
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode){
HYN_DEBUG("Esd protector hyn_esd_mode is disable !");
return;
}
if(!hyn_ts_data->work_mode!=0){
HYN_DEBUG("Esd protector work_mode is false !");
return;
}
if (!hyn_ts_data->hyn_esd_running) {
HYN_DEBUG("Esd protector hyn_esd_running is not running!");
return;
}
if((hyn_ts_data->hyn_esd_i2c_lock_flag != 0)||(hyn_ts_data->apk_rdwr_flag!=0)||(hyn_ts_data->fw_updating!=0))
goto END;
else hyn_ts_data->hyn_esd_i2c_lock_flag = 1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
while(retry++ < 5) {
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
if (ret > 0){
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR("hyn_esd_check_func iic read check_sum error.\n");
}else{
break;
}
}
mdelay(2);
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
}
if((retry==6)||(retry==0)|| (ret<0)){
HYN_ERROR("hyn_esd_check_func iic read esd data error,please check firmware,driver and hardware.\n");
goto END;
}
hyn_ts_data->hyn_esd_cur_counter = buf[3]+(buf[2]<<8)+(buf[1]<<16)+(buf[0]<<24);
if(((hyn_ts_data->hyn_esd_cur_counter-hyn_ts_data->hyn_esd_pre_counter)<20)
&&(hyn_ts_data->hyn_esd_pre_counter>400))
{
HYN_ERROR("hyn_esd_check_func hyn_esd_cur_counter is :0x%x. hyn_esd_pre_counter is:0x%x.------\n",hyn_ts_data->hyn_esd_cur_counter,hyn_ts_data->hyn_esd_pre_counter);
goto hyn_esd_check_init;
}
goto END;
hyn_esd_check_init:
HYN_ERROR("hyn_esd_check_func reset.\n");
hyn_esd_poweron_ic(10);
END:
hyn_ts_data->hyn_esd_i2c_lock_flag = 0;
hyn_ts_data->hyn_esd_pre_counter=hyn_ts_data->hyn_esd_cur_counter;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (hyn_ts_data->hyn_esd_running)
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
else
HYN_DEBUG(" Esd protector suspended!");
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
int hyn_esd_get_status(void)
{
u8 buf[7];
int ret=-1;
u16 check_sum=0;
HYN_FUNC_ENTER();
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR(" esd check sum error.\n ");
return -1;
}
HYN_FUNC_EXIT();
return 1;
}
void hyn_esd_init(void)
{
HYN_FUNC_ENTER();
if(hyn_esd_get_status() < 0) {
HYN_ERROR(" hyn_esd_get_status failed!");
return;
}
hyn_ts_data->hyn_esd_workqueue = create_singlethread_workqueue("hyn_esd_workqueue");
if (hyn_ts_data->hyn_esd_workqueue == NULL)
HYN_ERROR(" hyn_esd_workqueue failed!");
else{
hyn_init_esd_protect();
hyn_esd_switch(SWITCH_ESD_ON);
hyn_ts_data->hyn_esd_running=ENABLE;
}
hyn_create_esd_sysfs(hyn_ts_data->client);
HYN_FUNC_EXIT();
}
void hyn_init_esd_protect(void)
{
HYN_FUNC_ENTER();
hyn_ts_data->hyn_esd_work_cycle=1000;
hyn_ts_data->hyn_esd_mode=ENABLE;
HYN_DEBUG(" Clock ticks for an esd cycle: %d", hyn_ts_data->hyn_esd_work_cycle);
INIT_DELAYED_WORK(&hyn_ts_data->hyn_esd_check_work, hyn_esd_check_func);
mutex_init(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
void hyn_esd_exit(void)
{
HYN_FUNC_ENTER();
if (hyn_ts_data->hyn_esd_workqueue)
destroy_workqueue(hyn_ts_data->hyn_esd_workqueue);
HYN_FUNC_EXIT();
}
#endif

View File

@ -0,0 +1,635 @@
/**
*Name : cst0xx_getsure.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
#include "hynitron_config.h"
#if HYN_GESTURE_EN
#define HYN_GESTURE_CAP_CST8XX 0
/******************************************************************************
* Private constant and macro definitions using #define
*****************************************************************************/
#define KEY_GESTURE_U KEY_U
#define KEY_GESTURE_UP KEY_UP
#define KEY_GESTURE_DOWN KEY_DOWN
#define KEY_GESTURE_LEFT KEY_LEFT
#define KEY_GESTURE_RIGHT KEY_RIGHT
#define KEY_GESTURE_O KEY_O
#define KEY_GESTURE_E KEY_E
#define KEY_GESTURE_M KEY_M
#define KEY_GESTURE_L KEY_L
#define KEY_GESTURE_W KEY_W
#define KEY_GESTURE_S KEY_S
#define KEY_GESTURE_V KEY_V
#define KEY_GESTURE_C KEY_C
#define KEY_GESTURE_Z KEY_Z
#define KEY_GESTURE_DOUBLECLICK KEY_POWER
#if HYN_GESTURE_CAP_CST8XX
//cap
#define GESTURE_LEFT 0x20
#define GESTURE_RIGHT 0x21
#define GESTURE_UP 0x22
#define GESTURE_DOWN 0x23
#define GESTURE_DOUBLECLICK 0x24
#define GESTURE_O 0x30
#define GESTURE_W 0x31
#define GESTURE_M 0x32
#define GESTURE_E 0x33
#define GESTURE_S 0x46
#define GESTURE_V 0x54
#define GESTURE_Z 0x65
#define GESTURE_C 0x34
#else
//mut
#define GESTURE_LEFT 3
#define GESTURE_RIGHT 1
#define GESTURE_UP 2
#define GESTURE_DOWN 4
#define GESTURE_DOUBLECLICK 32
#define GESTURE_O 5
#define GESTURE_O_1 20
#define GESTURE_W 10
#define GESTURE_M 8
#define GESTURE_M_1 9
#define GESTURE_M_2 15
#define GESTURE_M_3 16
#define GESTURE_E 7
#define GESTURE_E_1 17
#define GESTURE_E_2 19
#define GESTURE_S 12
#define GESTURE_S_1 18
#define GESTURE_V 11
#define GESTURE_Z 13
#define GESTURE_C 6
#define GESTURE_C_1 14
#endif
#define HYN_GESTRUE_POINTS 255
#define HYN_GESTRUE_POINTS_HEADER 8
#define HYN_GESTURE_OUTPUT_ADRESS 0xD3
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hyn_gesture_st
{
u8 header[HYN_GESTRUE_POINTS_HEADER];
u16 coordinate_x[HYN_GESTRUE_POINTS];
u16 coordinate_y[HYN_GESTRUE_POINTS];
u16 report_key;
u8 gestrue_id;
u8 mode;
u8 active; /* 1-enter into gesture(suspend) 0-gesture disable or LCD on */
};
/*****************************************************************************
* Static variables
*****************************************************************************/
static struct hyn_gesture_st hyn_gesture_data;
/*****************************************************************************
* Global variable or extern global variabls/functions
*****************************************************************************/
/*****************************************************************************
* Static function prototypes
*****************************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
/* sysfs gesture node
* read example: cat hyn_gesture_mode ---read gesture mode
* write example:echo 01 > hyn_gesture_mode ---write gesture mode to 01
*
*/
static DEVICE_ATTR (hyn_gesture_mode, S_IRUGO|S_IWUSR, hyn_gesture_show, hyn_gesture_store);
/*
* read example: cat hyn_gesture_buf ---read gesture buf
*/
static DEVICE_ATTR (hyn_gesture_buf, S_IRUGO|S_IWUSR, hyn_gesture_buf_show, hyn_gesture_buf_store);
static struct attribute *hyn_gesture_mode_attrs[] =
{
&dev_attr_hyn_gesture_mode.attr,
&dev_attr_hyn_gesture_buf.attr,
NULL,
};
static struct attribute_group hyn_gesture_group =
{
.attrs = hyn_gesture_mode_attrs,
};
/************************************************************************
* Name: hyn_gesture_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "Gesture Mode: %s\n", hyn_gesture_data.mode ? "On" : "Off");
count += sprintf(buf + count, "Reg = %d\n", hyn_gesture_data.gestrue_id);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1){
HYN_INFO("[GESTURE]enable gesture");
hyn_gesture_data.mode = ENABLE;
}else if (buf[0]==0){
HYN_INFO("[GESTURE]disable gesture");
hyn_gesture_data.mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
int i = 0;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "Gesture ID: 0x%x\n", hyn_gesture_data.header[0]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture PointNum: %d\n", hyn_gesture_data.header[1]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture Point Buf:\n");
for (i = 0; i < hyn_gesture_data.header[1]; i++)
{
count += snprintf(buf + count, PAGE_SIZE, "%3d(%4d,%4d) ", i, hyn_gesture_data.coordinate_x[i], hyn_gesture_data.coordinate_y[i]);
if ((i + 1)%4 == 0)
count += snprintf(buf + count, PAGE_SIZE, "\n");
}
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/*****************************************************************************
* Name: hyn_create_gesture_sysfs
* Brief:
* Input:
* Output: None
* Return: 0-success or error
*****************************************************************************/
int hyn_create_gesture_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_gesture_group);
if ( ret != 0){
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_recovery
* Brief: recovery gesture state when reset
* Input:
* Output: None
* Return:
*****************************************************************************/
void hyn_gesture_recovery(struct i2c_client *client)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode && hyn_gesture_data.active)
{
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(client, buf, 3);
}else{
hyn_i2c_write_byte(client, HYN_REG_CAP_GESTURE_EN, ENABLE);
}
}
HYN_FUNC_EXIT();
}
/*****************************************************************************
* Name: hyn_check_gesture
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
static void hyn_check_gesture(struct input_dev *input_dev,int gesture_id)
{
unsigned int report_key = 0;
HYN_INFO("check_gesture ======================gesture_id==0x%x ================\n ",gesture_id);
HYN_FUNC_ENTER();
switch (gesture_id)
{
case GESTURE_O:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_O_1:
#endif
report_key = KEY_GESTURE_O;
break;
case GESTURE_W:
report_key = KEY_GESTURE_W;
break;
case GESTURE_M:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_M_1:
case GESTURE_M_2:
case GESTURE_M_3:
#endif
report_key = KEY_GESTURE_M;
break;
case GESTURE_E:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_E_1:
case GESTURE_E_2:
#endif
report_key = KEY_GESTURE_E;
break;
case GESTURE_C:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_C_1:
#endif
report_key = KEY_GESTURE_C;
break;
case GESTURE_S:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_S_1:
#endif
report_key = KEY_GESTURE_S;
break ;
case GESTURE_V:
report_key = KEY_GESTURE_V;
break;
case GESTURE_Z:
report_key = KEY_GESTURE_Z;
break;
case GESTURE_RIGHT:
report_key = KEY_GESTURE_RIGHT;
break ;
case GESTURE_DOWN:
report_key = KEY_GESTURE_DOWN;
break ;
case GESTURE_UP:
report_key = KEY_GESTURE_UP;
break ;
case GESTURE_LEFT:
report_key = KEY_GESTURE_LEFT;
break ;
case GESTURE_DOUBLECLICK:
report_key = KEY_GESTURE_DOUBLECLICK;
break ;
default:
break ;
}
HYN_INFO("check_gesture ======================report_key==0x%x ================\n ",report_key);
hyn_gesture_data.report_key=report_key;
/* report event key */
if (report_key != -1){
input_report_key(input_dev, report_key, 1);
input_sync(input_dev);
input_report_key(input_dev, report_key, 0);
input_sync(input_dev);
}
HYN_FUNC_EXIT();
}
/************************************************************************
* Name: hyn_gesture_readdata
* Brief: read data from TP register
* Input: no
* Output: no
* Return: fail <0
***********************************************************************/
int hyn_gesture_readdata(void)
{
u8 buf[HYN_GESTRUE_POINTS * 4] = { 0 };
int ret = -1;
int i = 0;
int gestrue_id = 0;
//int read_bytes = 0;
u8 pointnum = 0;
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode)
{
u8 state;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
ret=cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
gestrue_id = buf[0]&0x7f;
}else{
ret = hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
}
if (ret<0) HYN_ERROR("[HYN][Touch] read value fail");
if (state !=1) return -1;
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
/* init variable before read gesture point */
memset(hyn_gesture_data.header, 0, HYN_GESTRUE_POINTS_HEADER);
memset(hyn_gesture_data.coordinate_x, 0, HYN_GESTRUE_POINTS * sizeof(u16));
memset(hyn_gesture_data.coordinate_y, 0, HYN_GESTRUE_POINTS * sizeof(u16));
buf[0] = HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS;
ret = hyn_i2c_read(hyn_ts_data->client, buf, 1, buf, HYN_GESTRUE_POINTS_HEADER);
if (ret < 0){
HYN_ERROR("[GESTURE]Read gesture header data failed!!");
return ret;
}
gestrue_id = buf[0];
for (i = 0; i < pointnum; i++){
hyn_gesture_data.coordinate_x[i] = (((s16) buf[0 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[1 + (4 * i+8)])& 0xFF);
hyn_gesture_data.coordinate_y[i] = (((s16) buf[2 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[3 + (4 * i+8)]) & 0xFF);
}
}
hyn_gesture_data.gestrue_id=gestrue_id;
hyn_check_gesture(hyn_ts_data->input_dev, gestrue_id);
HYN_DEBUG("[GESTURE]gestrue_id:%d,report_key:%d", hyn_gesture_data.gestrue_id,hyn_gesture_data.report_key);
HYN_FUNC_EXIT();
return -1;
}
/*****************************************************************************
* Name: hyn_irq_set_low_trig
* Brief:
* Input:
* Output:
* Return:
*****************************************************************************/
void hyn_irq_gesture_mode(void)
{
int ret=0;
hyn_irq_disable();
ret = enable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]enable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,IRQF_TRIGGER_LOW|IRQF_NO_SUSPEND);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
void hyn_irq_normal_mode(void)
{
int ret=0;
hyn_irq_disable();
ret =disable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]disable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,hyn_ts_data->pdata->irq_gpio_flags);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
/*****************************************************************************
* Name: hyn_gesture_suspend
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_suspend(void)
{
u8 state = 0, i;
HYN_FUNC_ENTER();
//enter gesture scan
if (hyn_gesture_data.mode==0)
return -1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
for(i = 0; i < 3; i++)
{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
}
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
for(i = 0; i < 3; i++)
{
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
}
}
}
hyn_gesture_data.active = 1;
hyn_irq_gesture_mode();
HYN_DEBUG("[GESTURE]Enter into gesture(suspend) successfully!");
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_resume
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_resume(void)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode == 0){
HYN_DEBUG("gesture is disabled");
HYN_FUNC_EXIT();
return -1;
}
hyn_gesture_data.active = 0;
hyn_irq_normal_mode();
//stop gesture scan
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, DISABLE);
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_init
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client)
{
HYN_FUNC_ENTER();
input_set_capability(input_dev, EV_KEY, KEY_POWER);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_U);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_UP);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_DOWN);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_LEFT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_RIGHT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_O);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_E);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_M);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_L);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_W);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_S);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_V);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_Z);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_C);
__set_bit(KEY_GESTURE_RIGHT, input_dev->keybit);
__set_bit(KEY_GESTURE_LEFT, input_dev->keybit);
__set_bit(KEY_GESTURE_UP, input_dev->keybit);
__set_bit(KEY_GESTURE_DOWN, input_dev->keybit);
__set_bit(KEY_GESTURE_U, input_dev->keybit);
__set_bit(KEY_GESTURE_O, input_dev->keybit);
__set_bit(KEY_GESTURE_E, input_dev->keybit);
__set_bit(KEY_GESTURE_M, input_dev->keybit);
__set_bit(KEY_GESTURE_W, input_dev->keybit);
__set_bit(KEY_GESTURE_L, input_dev->keybit);
__set_bit(KEY_GESTURE_S, input_dev->keybit);
__set_bit(KEY_GESTURE_V, input_dev->keybit);
__set_bit(KEY_GESTURE_C, input_dev->keybit);
__set_bit(KEY_GESTURE_Z, input_dev->keybit);
hyn_create_gesture_sysfs(client);
hyn_gesture_data.mode = 1;
hyn_gesture_data.active = 0;
hyn_gesture_data.report_key = 0;
hyn_gesture_data.gestrue_id = 0;
HYN_FUNC_EXIT();
return 0;
}
/************************************************************************
* Name: hyn_gesture_exit
* Brief: remove sys
* Input: i2c info
* Output: no
* Return: no
***********************************************************************/
int hyn_gesture_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return -1;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
HYN_FUNC_EXIT();
return 0;
}
#endif

View File

@ -0,0 +1,250 @@
/**
*Name : cst0xx_i2c.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
static DEFINE_MUTEX(i2c_rw_access);
int hyn_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
// client->addr = (client->addr & I2C_MASK_FLAG) | I2C_WR_FLAG | I2C_RS_FLAG;
ret = i2c_master_recv(client, readbuf, readlen);
if(ret < 0){
HYN_ERROR("i2c_master_recv i2c read error.\n");
return ret;
}
return ret;
}
/*
*
*/
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
return ret;
}
/*
*
*/
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue)
{
u8 buf[2] = {0};
buf[0] = regaddr;
buf[1] = regvalue;
return hyn_i2c_write(client, buf, sizeof(buf));
}
/*
*
*/
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue)
{
return hyn_i2c_read(client, &regaddr, 1, regvalue, 1);
}
/*****************************************************************/
/*
*
*/
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char mbuf[600];
if (reg_len == 1){
mbuf[0] = reg;
memcpy(mbuf+1,buf,len);
}else{
mbuf[0] = reg>>8;
mbuf[1] = reg;
memcpy(mbuf+2,buf,len);
}
ret = hyn_i2c_write(hyn_ts_data->client,mbuf,len+reg_len);
if (ret < 0){
HYN_ERROR("%s i2c write error.\n", __func__);
}
return ret;
}
/*
*
*/
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char reg_buf[2];
if (reg_len == 1){
reg_buf[0] = reg;
}else{
reg_buf[0] = reg>>8;
reg_buf[1] = reg;
}
ret = hyn_i2c_read(hyn_ts_data->client,reg_buf,reg_len,buf,len);
if (ret < 0){
HYN_ERROR("f%s: i2c read error.\n",__func__);
}
return ret;
}
/*****************************************************************/
#ifdef HIGH_SPEED_IIC_TRANSFER
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags |= I2C_M_RD;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
/*******************************************************
Function:
read data from register.
Input:
buf: first two byte is register addr, then read data store into buf
len: length of data that to read
Output:
success: number of messages
fail: negative errno
*******************************************************/
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msgs[2];
int ret = -1;
int retries = 0;
msgs[0].flags = client->flags & I2C_M_TEN;
msgs[0].addr = client->addr;
msgs[0].len = 2;
msgs[0].buf = buf;
msgs[1].flags |= I2C_M_RD;
msgs[1].addr = client->addr;
msgs[1].len = len;
msgs[1].buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, msgs, 2);
if(ret == 2)
break;
retries++;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags = client->flags & I2C_M_TEN;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
#else
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_recv(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_send(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
ret = cst3xx_i2c_write(client, buf, 2);
ret = cst3xx_i2c_read(client, buf, len);
return ret;
}
#endif

View File

@ -0,0 +1,538 @@
#ifndef __HYNITRON_EX_FUN_H__
#define __HYNITRON_EX_FUN_H__
#include "hynitron_core.h"
#define MTK_PS_ENABLE 0
#define SPRD_PS_ENABLE 0
#define HYN_CAP_PROXIMITY_FARAWAY_VALUE 0xC0
#define HYN_CAP_PROXIMITY_NEAR_VALUE 0xE0
#define HYN_MUT_PROXIMITY_FARAWAY_VALUE 0x00
#define HYN_MUT_PROXIMITY_NEAR_VALUE 0x01
#if HYN_PSENSOR_EN
#if MTK_PS_ENABLE
#include <hwmsensor.h>
#include <hwmsen_dev.h>
#include <sensors_io.h>
#endif
#define TP_PS_DEVICE "ltr_558als"
#define TP_PS_INPUT_DEV "alps_pxy"
#define PROXIMITY_DEBUG(fmt,arg...) printk("<<hyn proximity>> "fmt"\n",##arg)
struct hynitron_ps_struct {
u8 proximity_enable ;
u8 proximity_enable_lock;
u8 proximity_detect_value ;
u8 suspend_flag;
/* kernel-4.14 do not wake_lock */
//struct wake_lock proximity_lock;
#if MTK_PS_ENABLE
struct hwmsen_object obj_ps;
#endif
struct class *firmware_class;
struct device *firmware_cmd_dev;
struct input_dev *ps_input_dev;
};
struct hynitron_ps_struct *hyn_proximity_data;
static int hyn_proximity_get_value(void);
/************************************************
MTK平台:
IC----hwmsen_attach(ID_PROXIMITY)----hwm_sensor_data
*************************************************/
#if MTK_PS_ENABLE
#define SENSOR_DELAY 0
#define SENSOR_ENABLE 0
#define SENSOR_GET_DATA 0
#define SENSOR_STATUS_ACCURACY_MEDIUM 0
void hyn_proximity_mtk_report(int proximity_value)
{
int err;
struct hwm_sensor_data sensor_data;
sensor_data.values[0] = proximity_value;
sensor_data.value_divide = 1;
sensor_data.status = SENSOR_STATUS_ACCURACY_MEDIUM;
if ((err = hwmsen_get_interrupt_data(ID_PROXIMITY, &sensor_data)))
{
PROXIMITY_DEBUG(" proxi call hwmsen_get_interrupt_data failed= %d\n", err);
}
}
static int hyn_proximiy_operate(void* self, uint32_t command, void* buff_in, int size_in,
void* buff_out, int size_out, int* actualout)
{
int err = 0;
int value;
PROXIMITY_DEBUG("[proxi]command = 0x%02X\n", command);
switch (command)
{
case SENSOR_DELAY:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Set delay parameter error!\n");
err = -EINVAL;
}
// Do nothing
break;
case SENSOR_ENABLE:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Enable sensor parameter error!\n");
err = -EINVAL;
}else{
value = *(int *)buff_in;
if(value){
if((hyn_proximity_enable(1) != 0)){
PROXIMITY_DEBUG("enable ps fail: %d\n", err);
return -1;
}
}else{
if((hyn_proximity_enable(0) != 0)){
PROXIMITY_DEBUG("disable ps fail: %d\n", err);
return -1;
}
}
}
break;
case SENSOR_GET_DATA:
if((buff_out == NULL)){
PROXIMITY_DEBUG("get sensor data parameter error!\n");
err = -EINVAL;
}else{
hyn_proximity_readdata();
}
break;
default:
PROXIMITY_DEBUG("proxmy sensor operate function no this parameter %d!\n", command);
err = -1;
break;
}
return err;
}
void hyn_proximity_mtk_init(void)
{
int ret;
hyn_ts_data->client->obj_ps.polling = 0;//interrupt mode
hyn_ts_data->client->obj_ps.sensor_operate = hyn_proximiy_operate;
if((ret = hwmsen_attach(ID_PROXIMITY, &hyn_ts_data->client->obj_ps))){
PROXIMITY_DEBUG("proxi_hyn attach fail = %d\n", ret);
}else{
PROXIMITY_DEBUG("proxi_hyn attach ok = %d\n", ret);
}
}
#endif
/************************************************
Spreadtrum平台:
IC----proximity-----
*************************************************/
#if SPRD_PS_ENABLE
static ssize_t show_proximity_sensor(struct device *dev, struct device_attribute *attr, char *buf)
{
PROXIMITY_DEBUG("show_proximity_sensor get prox state \n");
if (buf != NULL)
sprintf(buf, "proximity_enable is:%d, proximity_detect_value:%d.\n",hyn_proximity_data->proximity_enable ,hyn_proximity_data->proximity_detect_value);
return 0;
}
static ssize_t store_proximity_sensor(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
{
unsigned int on_off = simple_strtoul(buf, NULL, 10);
PROXIMITY_DEBUG("store_proximity_sensor buf=%d,size=%d,on_off=%d\n", *buf, size, on_off);
if(buf != NULL && size != 0){
if (0 == on_off)
hyn_proximity_enable(0);
else if (1 == on_off)
hyn_proximity_enable(1);
}
return size;
}
static DEVICE_ATTR(proximity, S_IRUGO | S_IWUSR, show_proximity_sensor, store_proximity_sensor);
void hyn_proximity_sprd_report(int proximity_value)
{
input_report_abs(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, proximity_value);
input_sync(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_sprd_init(void)
{
// node :/sys/class/sprd-tpd/device/proximity
hyn_ts_data->client->firmware_class = class_create(THIS_MODULE,"sprd-tpd");//client->name
if(IS_ERR(hyn_ts_data->client->firmware_class))
PROXIMITY_DEBUG("Failed to create class(firmware)!\n");
hyn_ts_data->client->firmware_cmd_dev = device_create(hyn_ts_data->client->firmware_class, NULL, 0, NULL, "device");//device
if(IS_ERR(hyn_ts_data->client->firmware_cmd_dev))
PROXIMITY_DEBUG("Failed to create device(firmware_cmd_dev)!\n");
if(device_create_file(hyn_ts_data->client->firmware_cmd_dev, &dev_attr_proximity) < 0){
PROXIMITY_DEBUG("Failed to create device file(%s)!\n", dev_attr_proximity.attr.name);
}
}
#endif
/************************************************************************
* Name: hyn_proximity_mode_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
u8 val = 0;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "proximity Mode: %s\n", hyn_proximity_data->proximity_enable ? "On" : "Off");
count += sprintf(buf + count, "Reg(0xD0) = %d\n", val);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_mode_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1)
{
HYN_INFO("[proximity]enable ");
hyn_proximity_data->proximity_enable = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[proximity]disable");
hyn_proximity_data->proximity_enable = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "proximity: 0x%x\n", hyn_proximity_data->proximity_enable);
count += snprintf(buf + count, PAGE_SIZE, "proximity: %d\n", hyn_proximity_data->proximity_detect_value);
count += snprintf(buf + count, PAGE_SIZE, "proximity Buf:\n");
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/* sysfs proximity node
* read example: cat hyn_proximity_mode ---read proximity mode
* write example:echo 01 > hyn_proximity_mode ---write proximity mode to 01
*
*/
static DEVICE_ATTR (hyn_proximity_mode, S_IRUGO|S_IWUSR, hyn_proximity_mode_show, hyn_proximity_mode_store);
/*
* read example: cat hyn_proximity_buf ---read proximity buf
*/
static DEVICE_ATTR (hyn_proximity_buf, S_IRUGO|S_IWUSR, hyn_proximity_buf_show, hyn_proximity_buf_store);
static struct attribute *hyn_proximity_mode_attrs[] =
{
&dev_attr_hyn_proximity_mode.attr,
&dev_attr_hyn_proximity_buf.attr,
NULL,
};
static struct attribute_group hyn_proximity_group =
{
.attrs = hyn_proximity_mode_attrs,
};
int hyn_create_proximity_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if ( ret != 0)
{
HYN_ERROR( "hyn_create_proximity_sysfs(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
int hyn_proximity_readdata(void)
{
int err;
HYN_FUNC_ENTER();
if (hyn_proximity_data->proximity_enable == 1)
{
err=hyn_proximity_get_value();
#if MTK_PS_ENABLE
hyn_proximity_mtk_report(hyn_proximity_data->proximity_detect_value);
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_report(hyn_proximity_data->proximity_detect_value);
#endif
}
HYN_FUNC_EXIT();
return err;
}
static int hyn_proximity_enable_real(int enable)
{
u8 state;
int ret = -1;
HYN_FUNC_ENTER();
if (enable){
state = ENABLE;
hyn_proximity_data->proximity_enable = ENABLE;
/* kernel-4.14 do not wake_lock */
//wake_lock(&hyn_proximity_data->proximity_lock);
PROXIMITY_DEBUG(" proximity function is on.\n");
}else{
if(hyn_proximity_data->suspend_flag) return 0;
state = DISABLE;
/* kernel-4.14 do not wake_lock */
//wake_unlock(&hyn_proximity_data->proximity_lock);
hyn_proximity_data->proximity_enable = DISABLE;
PROXIMITY_DEBUG(" proximity function is off.\n");
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
buf[2]=state<<7;
ret=cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
ret = hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_EN, state);
}
PROXIMITY_DEBUG("proximity write state is 0x%02X\n", state);
HYN_FUNC_EXIT();
return 0;
}
static int hyn_proximity_get_value(void)
{
u8 proximity_status=0;
HYN_FUNC_ENTER();
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
proximity_status=buf[0]&0x7f;
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_MUT_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_MUT_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS, &proximity_status);
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_CAP_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_CAP_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}
PROXIMITY_DEBUG("proximity_detect_value = %d\n", hyn_proximity_data->proximity_detect_value);
HYN_FUNC_EXIT();
return hyn_proximity_data->proximity_detect_value;
}
static int hyn_proximity_enable(int enable)
{
HYN_FUNC_ENTER();
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X.\n",hyn_proximity_data->suspend_flag,enable );
if (hyn_proximity_data->suspend_flag && enable) {
}else{
hyn_proximity_enable_real(enable);
}
HYN_FUNC_EXIT();
return 0;
}
void hyn_proximity_suspend(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag++;
if (hyn_proximity_data->proximity_enable == 1) hyn_proximity_data->proximity_enable_lock = 1;
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_resume(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag = 0;
if (hyn_proximity_data->proximity_enable == 1){
if(hyn_proximity_data->proximity_enable_lock == 1){
hyn_proximity_data->proximity_enable_lock = 0;
PROXIMITY_DEBUG(" proximity_enable_lock. \n");
}
}
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_init(void)
{
int ret;
HYN_FUNC_ENTER();
/* malloc memory for global struct variable,init 0 */
hyn_proximity_data = kzalloc(sizeof(*hyn_proximity_data), GFP_KERNEL);
if (!hyn_proximity_data) {
PROXIMITY_DEBUG("proximity allocate memory for hyn_proximity_data fail");
return;
}
hyn_proximity_data->ps_input_dev = input_allocate_device();
if (!hyn_proximity_data->ps_input_dev)
{
PROXIMITY_DEBUG(" %s: input allocate device failed\n", __func__);
ret = -ENOMEM;
goto exit_input_dev_allocate_failed;
}
hyn_proximity_data->ps_input_dev->name = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->phys = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->id.bustype = BUS_I2C;
hyn_proximity_data->ps_input_dev->dev.parent = &hyn_ts_data->client->dev;
__set_bit(EV_ABS, hyn_proximity_data->ps_input_dev->evbit);
input_set_abs_params(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, 0, 1, 0, 0);
ret= input_register_device(hyn_proximity_data->ps_input_dev);
if (ret < 0)
{
PROXIMITY_DEBUG("%s: input device regist failed\n", __func__);
goto exit_input_register_failed;
}
hyn_create_proximity_sysfs(hyn_ts_data->client);
hyn_proximity_enable(0);
/* kernel-4.14 do not wake_lock */
//wake_lock_init(&hyn_proximity_data->proximity_lock, WAKE_LOCK_SUSPEND, "proximity wakelock");
#if MTK_PS_ENABLE
hyn_proximity_mtk_init();
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_init();
#endif
HYN_FUNC_EXIT();
return;
exit_input_dev_allocate_failed:
input_free_device(hyn_proximity_data->ps_input_dev );
exit_input_register_failed:
input_free_device(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if(hyn_proximity_data==NULL) return;
kfree(hyn_proximity_data);
//wake_lock_destroy(&hyn_proximity_data->proximity_lock); /* kernel-4.14 do not wake_lock */
HYN_FUNC_EXIT();
}
#endif
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,37 @@
#ifndef __HYNITRON_UPDATE_FIRMWARE_H__
#define __HYNITRON_UPDATE_FIRMWARE_H__
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/semaphore.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/syscalls.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/proc_fs.h>
int hyn_firmware_info(struct i2c_client * client);
int hyn_boot_update_fw(struct i2c_client * client);
int hyn_detect_main_iic(struct i2c_client *client);
int hyn_detect_bootloader(struct i2c_client *client);
void hyn_init_factory_test_init(struct i2c_client *client);
#if HYN_AUTO_FACTORY_TEST_EN
int hyn_factory_touch_test(void);
#endif
#if HYN_SYS_AUTO_SEARCH_FIRMWARE
int hyn_sys_auto_search_firmware(void);
#endif
#endif

View File

@ -0,0 +1,12 @@
#
# Touchscreen driver configuration
#
config CONFIG_TOUCHSCREEN_HYNITRON_TS
bool "hynitorn Ts for TOUCHSCREEN"
depends on I2C
default n
help
Say Y here if you have hynitorn touch panel.
If unsure, say N.

View File

@ -0,0 +1,16 @@
# Linux driver folder
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/hynitron
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/sensors-1.0/hwmon/include/
obj-y += hynitron_core.o
obj-y += hynitron_i2c.o
obj-y += hynitron_esd_check.o
obj-y += hynitron_tool_debug.o
obj-y += hynitron_update_firmware.o
obj-y += hynitron_gesture.o
obj-y += hynitron_proximity.o

View File

@ -0,0 +1,37 @@
Hynitron touch controller
The Hynitron controller is connected to host processor via i2c. The controller generates interrupts when the user touches the panel. The host controller is expected to read the touch coordinates over i2c and pass the coordinates to the rest of the system.
Required properties:
- compatible : should be "hynitron,hyn_ts"
- reg : i2c slave address of the device, should be <0x1a(mutcap) or 0x15(slefcap)>
- hynitron,irq-gpio : irq gpio, same as "interrupts" node.
- hynitron,reset-gpio : reset gpio,keep high voltage in normal mode.
- hynitron,max-touch-number: maximum number of touches support
- hynitron,display-coords : display resolution in pixels. A two tuple consisting of x_resolution, y_resolution.
Optional properties:
- hynitron,have-key : specify if virtual keys are supported
- hynitron,key-number : number of keys
- hynitron,key-code : virtual key codes mapping to the coords
- hynitron,key-y-coord : constant y coordinate of keys, depends on the y resolution
- hynitron,key-x-coord : constant x coordinates of keys, depends on the x resolution
Example:
i2c@f9927000 {
hynitron@1a{
compatible = "hynitron,hyn_ts";
reg = <0x1a>;
hynitron,reset-gpio = <&gpio 12 0x01>;
hynitron,irq-gpio = <&gpio 13 0x02>;
hynitron,max-touch-number = <5>;
hynitron,display-coords = <1080 1920>;
hynitron,have-key;
hynitron,key-number = <3>;
hynitron,key-code = <139 172 158>;
hynitron,key-y-coord = <2000 2000 2000>;
hynitron,key-x-coord = <200 600 800>;
};
};

View File

@ -0,0 +1,856 @@
/*
*Name : capacitive_hynitron_cst0xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__
static unsigned char cst0xx_fw[] = {
0x00, 0x14, 0x80, 0x34, 0xc5, 0xfd,
0x75, 0x8c, 0x46, 0x75, 0x8d, 0x4a, 0x75, 0xa4, 0x82, 0x75, 0xa5, 0x82, 0xe4, 0xf5, 0x94, 0xf5,
0x95, 0x22, 0x02, 0x41, 0x77, 0x90, 0x04, 0xa9, 0xef, 0xf0, 0x22, 0x02, 0x41, 0xb2, 0x12, 0x45,
0x7c, 0xe0, 0xff, 0x22, 0x02, 0x2f, 0x7d, 0x75, 0x81, 0x95, 0x02, 0x44, 0x89, 0x02, 0x40, 0xf6,
0x02, 0x14, 0x27, 0xe7, 0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x46, 0xe7, 0x09, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x3e, 0x88, 0x82, 0x8c, 0x83, 0xe7, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x32, 0xe3,
0x09, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x78, 0xe3, 0x09, 0xf2, 0x08, 0xdf, 0xfa, 0x80, 0x70, 0x88,
0x82, 0x8c, 0x83, 0xe3, 0x09, 0xf0, 0xa3, 0xdf, 0xfa, 0x80, 0x64, 0x89, 0x82, 0x8a, 0x83, 0xe0,
0xa3, 0xf6, 0x08, 0xdf, 0xfa, 0x80, 0x58, 0x89, 0x82, 0x8a, 0x83, 0xe0, 0xa3, 0xf2, 0x08, 0xdf,
0xfa, 0x80, 0x4c, 0x80, 0xd2, 0x80, 0xfa, 0x80, 0xc6, 0x80, 0xd4, 0x80, 0x69, 0x80, 0xf2, 0x80,
0x33, 0x80, 0x10, 0x80, 0xa6, 0x80, 0xea, 0x80, 0x9a, 0x80, 0xa8, 0x80, 0xda, 0x80, 0xe2, 0x80,
0xca, 0x80, 0x33, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe4, 0x93, 0xa3, 0xc8, 0xc5, 0x82, 0xc8,
0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xdf, 0xe9,
0xde, 0xe7, 0x80, 0x0d, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf6, 0x08, 0xdf, 0xf9, 0xec,
0xfa, 0xa9, 0xf0, 0xed, 0xfb, 0x22, 0x89, 0x82, 0x8a, 0x83, 0xec, 0xfa, 0xe0, 0xa3, 0xc8, 0xc5,
0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc, 0xf0, 0xa3, 0xc8, 0xc5, 0x82, 0xc8, 0xcc, 0xc5, 0x83, 0xcc,
0xdf, 0xea, 0xde, 0xe8, 0x80, 0xdb, 0x89, 0x82, 0x8a, 0x83, 0xe4, 0x93, 0xa3, 0xf2, 0x08, 0xdf,
0xf9, 0x80, 0xcc, 0x88, 0xf0, 0xef, 0x60, 0x01, 0x0e, 0x4e, 0x60, 0xc3, 0x88, 0xf0, 0xed, 0x24,
0x02, 0xb4, 0x04, 0x00, 0x50, 0xb9, 0xf5, 0x82, 0xeb, 0x24, 0x02, 0xb4, 0x04, 0x00, 0x50, 0xaf,
0x23, 0x23, 0x45, 0x82, 0x23, 0x90, 0x14, 0x83, 0x73, 0xbb, 0x01, 0x0c, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe6, 0x22,
0xbb, 0xfe, 0x06, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0x22, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83,
0x3a, 0xf5, 0x83, 0xe4, 0x93, 0x22, 0xbb, 0x01, 0x06, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0x22, 0x50,
0x02, 0xf7, 0x22, 0xbb, 0xfe, 0x01, 0xf3, 0x22, 0xf8, 0xbb, 0x01, 0x0d, 0xe5, 0x82, 0x29, 0xf5,
0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0, 0x22, 0x50, 0x06, 0xe9, 0x25, 0x82, 0xc8, 0xf6,
0x22, 0xbb, 0xfe, 0x05, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0x22, 0xef, 0x8d, 0xf0, 0xa4, 0xa8, 0xf0,
0xcf, 0x8c, 0xf0, 0xa4, 0x28, 0xce, 0x8d, 0xf0, 0xa4, 0x2e, 0xfe, 0x22, 0xbc, 0x00, 0x0b, 0xbe,
0x00, 0x29, 0xef, 0x8d, 0xf0, 0x84, 0xff, 0xad, 0xf0, 0x22, 0xe4, 0xcc, 0xf8, 0x75, 0xf0, 0x08,
0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xec, 0x33, 0xfc, 0xee, 0x9d, 0xec, 0x98, 0x40, 0x05, 0xfc,
0xee, 0x9d, 0xfe, 0x0f, 0xd5, 0xf0, 0xe9, 0xe4, 0xce, 0xfd, 0x22, 0xed, 0xf8, 0xf5, 0xf0, 0xee,
0x84, 0x20, 0xd2, 0x1c, 0xfe, 0xad, 0xf0, 0x75, 0xf0, 0x08, 0xef, 0x2f, 0xff, 0xed, 0x33, 0xfd,
0x40, 0x07, 0x98, 0x50, 0x06, 0xd5, 0xf0, 0xf2, 0x22, 0xc3, 0x98, 0xfd, 0x0f, 0xd5, 0xf0, 0xea,
0x22, 0xc2, 0xd5, 0xec, 0x30, 0xe7, 0x09, 0xb2, 0xd5, 0xe4, 0xc3, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc,
0xee, 0x30, 0xe7, 0x15, 0xb2, 0xd5, 0xe4, 0xc3, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x12, 0x15, 0x9c,
0xc3, 0xe4, 0x9d, 0xfd, 0xe4, 0x9c, 0xfc, 0x80, 0x03, 0x12, 0x15, 0x9c, 0x30, 0xd5, 0x07, 0xc3,
0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0xc5, 0xf0, 0xf8, 0xa3, 0xe0, 0x28, 0xf0, 0xc5, 0xf0,
0xf8, 0xe5, 0x82, 0x15, 0x82, 0x70, 0x02, 0x15, 0x83, 0xe0, 0x38, 0xf0, 0x22, 0xbb, 0x01, 0x0a,
0x89, 0x82, 0x8a, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x06, 0x87, 0xf0, 0x09, 0xe7,
0x19, 0x22, 0xbb, 0xfe, 0x07, 0xe3, 0xf5, 0xf0, 0x09, 0xe3, 0x19, 0x22, 0x89, 0x82, 0x8a, 0x83,
0xe4, 0x93, 0xf5, 0xf0, 0x74, 0x01, 0x93, 0x22, 0xbb, 0x01, 0x10, 0xe5, 0x82, 0x29, 0xf5, 0x82,
0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe0, 0xf5, 0xf0, 0xa3, 0xe0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82,
0xf8, 0x86, 0xf0, 0x08, 0xe6, 0x22, 0xbb, 0xfe, 0x0a, 0xe9, 0x25, 0x82, 0xf8, 0xe2, 0xf5, 0xf0,
0x08, 0xe2, 0x22, 0xe5, 0x83, 0x2a, 0xf5, 0x83, 0xe9, 0x93, 0xf5, 0xf0, 0xa3, 0xe9, 0x93, 0x22,
0xf8, 0xbb, 0x01, 0x11, 0xe5, 0x82, 0x29, 0xf5, 0x82, 0xe5, 0x83, 0x3a, 0xf5, 0x83, 0xe8, 0xf0,
0xe5, 0xf0, 0xa3, 0xf0, 0x22, 0x50, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf6, 0x08, 0xa6, 0xf0, 0x22,
0xbb, 0xfe, 0x09, 0xe9, 0x25, 0x82, 0xc8, 0xf2, 0xe5, 0xf0, 0x08, 0xf2, 0x22, 0xef, 0x2b, 0xff,
0xee, 0x3a, 0xfe, 0xed, 0x39, 0xfd, 0xec, 0x38, 0xfc, 0x22, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a,
0xfe, 0xed, 0x99, 0xfd, 0xec, 0x98, 0xfc, 0x22, 0xe8, 0x8f, 0xf0, 0xa4, 0xcc, 0x8b, 0xf0, 0xa4,
0x2c, 0xfc, 0xe9, 0x8e, 0xf0, 0xa4, 0x2c, 0xfc, 0x8a, 0xf0, 0xed, 0xa4, 0x2c, 0xfc, 0xea, 0x8e,
0xf0, 0xa4, 0xcd, 0xa8, 0xf0, 0x8b, 0xf0, 0xa4, 0x2d, 0xcc, 0x38, 0x25, 0xf0, 0xfd, 0xe9, 0x8f,
0xf0, 0xa4, 0x2c, 0xcd, 0x35, 0xf0, 0xfc, 0xeb, 0x8e, 0xf0, 0xa4, 0xfe, 0xa9, 0xf0, 0xeb, 0x8f,
0xf0, 0xa4, 0xcf, 0xc5, 0xf0, 0x2e, 0xcd, 0x39, 0xfe, 0xe4, 0x3c, 0xfc, 0xea, 0xa4, 0x2d, 0xce,
0x35, 0xf0, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0x75, 0xf0, 0x08, 0x75, 0x82, 0x00, 0xef, 0x2f, 0xff,
0xee, 0x33, 0xfe, 0xcd, 0x33, 0xcd, 0xcc, 0x33, 0xcc, 0xc5, 0x82, 0x33, 0xc5, 0x82, 0x9b, 0xed,
0x9a, 0xec, 0x99, 0xe5, 0x82, 0x98, 0x40, 0x0c, 0xf5, 0x82, 0xee, 0x9b, 0xfe, 0xed, 0x9a, 0xfd,
0xec, 0x99, 0xfc, 0x0f, 0xd5, 0xf0, 0xd6, 0xe4, 0xce, 0xfb, 0xe4, 0xcd, 0xfa, 0xe4, 0xcc, 0xf9,
0xa8, 0x82, 0x22, 0xb8, 0x00, 0xc1, 0xb9, 0x00, 0x59, 0xba, 0x00, 0x2d, 0xec, 0x8b, 0xf0, 0x84,
0xcf, 0xce, 0xcd, 0xfc, 0xe5, 0xf0, 0xcb, 0xf9, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe,
0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xeb, 0x33, 0xfb, 0x10, 0xd7, 0x03, 0x99, 0x40, 0x04, 0xeb,
0x99, 0xfb, 0x0f, 0xd8, 0xe5, 0xe4, 0xf9, 0xfa, 0x22, 0x78, 0x18, 0xef, 0x2f, 0xff, 0xee, 0x33,
0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xc9, 0x33, 0xc9, 0x10, 0xd7, 0x05, 0x9b, 0xe9, 0x9a,
0x40, 0x07, 0xec, 0x9b, 0xfc, 0xe9, 0x9a, 0xf9, 0x0f, 0xd8, 0xe0, 0xe4, 0xc9, 0xfa, 0xe4, 0xcc,
0xfb, 0x22, 0x75, 0xf0, 0x10, 0xef, 0x2f, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xcc, 0x33,
0xcc, 0xc8, 0x33, 0xc8, 0x10, 0xd7, 0x07, 0x9b, 0xec, 0x9a, 0xe8, 0x99, 0x40, 0x0a, 0xed, 0x9b,
0xfd, 0xec, 0x9a, 0xfc, 0xe8, 0x99, 0xf8, 0x0f, 0xd5, 0xf0, 0xda, 0xe4, 0xcd, 0xfb, 0xe4, 0xcc,
0xfa, 0xe4, 0xc8, 0xf9, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea, 0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42,
0xf0, 0xec, 0x64, 0x80, 0xc8, 0x64, 0x80, 0x98, 0x45, 0xf0, 0x22, 0xeb, 0x9f, 0xf5, 0xf0, 0xea,
0x9e, 0x42, 0xf0, 0xe9, 0x9d, 0x42, 0xf0, 0xe8, 0x9c, 0x45, 0xf0, 0x22, 0xe8, 0x60, 0x0f, 0xef,
0xc3, 0x33, 0xff, 0xee, 0x33, 0xfe, 0xed, 0x33, 0xfd, 0xec, 0x33, 0xfc, 0xd8, 0xf1, 0x22, 0xe6,
0xfc, 0x08, 0xe6, 0xfd, 0x08, 0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x22, 0xe4, 0x93, 0xfc, 0x74, 0x01,
0x93, 0xfd, 0x74, 0x02, 0x93, 0xfe, 0x74, 0x03, 0x93, 0xff, 0x22, 0xe6, 0xfb, 0x08, 0xe6, 0xf9,
0x08, 0xe6, 0xfa, 0x08, 0xe6, 0xcb, 0xf8, 0x22, 0xec, 0xf6, 0x08, 0xed, 0xf6, 0x08, 0xee, 0xf6,
0x08, 0xef, 0xf6, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xe4, 0x93, 0xf6, 0x08, 0x74, 0x01, 0x93, 0xf6,
0x08, 0x74, 0x02, 0x93, 0xf6, 0x08, 0x74, 0x03, 0x93, 0xf6, 0x74, 0x04, 0x73, 0xa4, 0x25, 0x82,
0xf5, 0x82, 0xe5, 0xf0, 0x35, 0x83, 0xf5, 0x83, 0x22, 0xd0, 0x83, 0xd0, 0x82, 0xf8, 0xe4, 0x93,
0x70, 0x12, 0x74, 0x01, 0x93, 0x70, 0x0d, 0xa3, 0xa3, 0x93, 0xf8, 0x74, 0x01, 0x93, 0xf5, 0x82,
0x88, 0x83, 0xe4, 0x73, 0x74, 0x02, 0x93, 0x68, 0x60, 0xef, 0xa3, 0xa3, 0xa3, 0x80, 0xdf, 0xec,
0x8e, 0xf0, 0xa4, 0xcc, 0xc5, 0xf0, 0xcc, 0xcd, 0xf8, 0xef, 0xa4, 0xce, 0xc5, 0xf0, 0x2d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe8, 0xa4, 0x2e, 0xc8, 0xc5, 0xf0, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xef, 0xa4,
0xff, 0xe5, 0xf0, 0x28, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0x22, 0xef, 0x4e, 0x60, 0x12,
0xef, 0x60, 0x01, 0x0e, 0xed, 0xbb, 0x01, 0x0b, 0x89, 0x82, 0x8a, 0x83, 0xf0, 0xa3, 0xdf, 0xfc,
0xde, 0xfa, 0x22, 0x89, 0xf0, 0x50, 0x07, 0xf7, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0xbb, 0xfe,
0xfc, 0xf3, 0x09, 0xdf, 0xfc, 0xa9, 0xf0, 0x22, 0x12, 0x26, 0x15, 0xe5, 0x08, 0x24, 0x04, 0x12,
0x24, 0xd1, 0x12, 0x39, 0xbd, 0x12, 0x24, 0xbb, 0x12, 0x26, 0x1f, 0x12, 0x24, 0xcd, 0x12, 0x39,
0xbd, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0x12, 0x24, 0xc6,
0x54, 0xfb, 0xf2, 0xe5, 0x09, 0x30, 0xe0, 0x17, 0x12, 0x26, 0x29, 0x60, 0x12, 0x12, 0x26, 0x30,
0x70, 0x0d, 0x75, 0x2b, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe4, 0xf2, 0x02, 0x1b, 0x26, 0xe4,
0xf5, 0x2b, 0x12, 0x25, 0xe3, 0x02, 0x1b, 0x26, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0x75, 0x2e,
0x00, 0xf5, 0x2f, 0x12, 0x26, 0x30, 0xff, 0x70, 0x16, 0x12, 0x26, 0x29, 0xd3, 0x94, 0x01, 0x40,
0x0e, 0x12, 0x25, 0xd3, 0xc3, 0x94, 0x20, 0x50, 0x31, 0xe2, 0x24, 0x04, 0xf2, 0x80, 0x2b, 0x12,
0x26, 0x29, 0xfe, 0x70, 0x30, 0xef, 0xd3, 0x94, 0x01, 0x40, 0x2a, 0x12, 0x24, 0xc6, 0xff, 0x13,
0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x1e, 0xef, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x16, 0x12,
0x25, 0xd3, 0xc3, 0x94, 0x08, 0x50, 0x03, 0xe2, 0x04, 0xf2, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2,
0x54, 0xfd, 0xf2, 0x80, 0x2e, 0xee, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x02, 0xf2, 0x12, 0x26,
0x30, 0x60, 0x06, 0x12, 0x24, 0xc6, 0x44, 0x01, 0xf2, 0x12, 0x24, 0xc6, 0x30, 0xe0, 0x14, 0xc3,
0x13, 0x30, 0xe0, 0x0f, 0x12, 0x25, 0xe3, 0x12, 0x24, 0xc6, 0x54, 0xfe, 0xf2, 0x54, 0xfd, 0xf2,
0x44, 0x04, 0xf2, 0x12, 0x25, 0xd3, 0x70, 0x02, 0x04, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24,
0x98, 0xe5, 0x08, 0x24, 0x05, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5, 0x31, 0x18, 0xe2, 0x9e, 0xf5, 0x30,
0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0xc3, 0xe2, 0x9f, 0xf5,
0x33, 0x18, 0xe2, 0x9e, 0xf5, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x54, 0x3f, 0x20, 0xe0, 0x1a,
0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe5, 0x30, 0xf2, 0x08, 0xe5, 0x31, 0xf2, 0xe5, 0x08, 0x24, 0x11,
0xf8, 0xe5, 0x32, 0xf2, 0x08, 0xe5, 0x33, 0xf2, 0x80, 0x51, 0xaf, 0x31, 0xae, 0x30, 0x12, 0x1b,
0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x50, 0x1f,
0xaf, 0x33, 0xae, 0x32, 0x12, 0x1b, 0x7a, 0xce, 0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3,
0xed, 0x9f, 0xec, 0x9e, 0x50, 0x09, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0xf5, 0x32, 0xf5, 0x33, 0xe5,
0x08, 0x24, 0x10, 0xf8, 0xe2, 0x25, 0x31, 0xf2, 0x18, 0xe2, 0x35, 0x30, 0xf2, 0xe5, 0x08, 0x24,
0x12, 0xf8, 0xe2, 0x25, 0x33, 0xf2, 0x18, 0xe2, 0x35, 0x32, 0xf2, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x25, 0xd3, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0x8e, 0x2e, 0x8f, 0x2f, 0xe5, 0x08, 0x24, 0x11,
0x12, 0x24, 0x98, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x0f, 0x12, 0x24,
0x98, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x24,
0xb4, 0x74, 0x15, 0x93, 0xf5, 0x2b, 0xac, 0x2e, 0xad, 0x2f, 0xae, 0x2c, 0xaf, 0x2d, 0x12, 0x15,
0x9c, 0xee, 0x70, 0x42, 0xef, 0x14, 0x60, 0x0c, 0x14, 0x60, 0x23, 0x24, 0x02, 0x70, 0x37, 0x75,
0x2b, 0xff, 0x80, 0x32, 0x12, 0x24, 0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5,
0x2b, 0x75, 0xf0, 0x08, 0xa4, 0xff, 0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0x80, 0x18, 0x12, 0x24,
0xc6, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x09, 0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0xff,
0x80, 0x02, 0xaf, 0x2b, 0x8f, 0x2b, 0xe5, 0x2b, 0xf4, 0x60, 0x36, 0xe5, 0x2b, 0x60, 0x0d, 0x78,
0x92, 0xe6, 0xff, 0x60, 0x07, 0xe5, 0x2b, 0x8f, 0xf0, 0xa4, 0xf5, 0x2b, 0x12, 0x24, 0xe4, 0x24,
0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a,
0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0xd1, 0xab, 0x2b, 0x12, 0x3d, 0x5a, 0x80,
0x11, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0x12, 0x24, 0xbb, 0xe5, 0x08, 0x24, 0x37, 0x12,
0x24, 0x98, 0xe5, 0x08, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x22, 0x12, 0x46, 0x5f, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0x8d, 0x29,
0xe4, 0xf5, 0x2a, 0xd2, 0xb8, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x90, 0x04, 0xa5, 0xe0, 0x6f, 0x60,
0x28, 0x78, 0x95, 0xe6, 0xb4, 0x01, 0x22, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4,
0x78, 0x95, 0xf6, 0xf5, 0xeb, 0x12, 0x45, 0x2d, 0x7b, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12, 0x43,
0x72, 0x90, 0x04, 0xff, 0xe0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x4b, 0xe0, 0xb4, 0x03, 0x0d,
0x12, 0x45, 0x2d, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x7f, 0x02, 0x12, 0x14, 0x15, 0x90, 0x04, 0x66,
0xe0, 0xff, 0x60, 0x09, 0x12, 0x46, 0x89, 0xe4, 0x90, 0x04, 0x66, 0xf0, 0x22, 0x90, 0x04, 0xff,
0xe0, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0xe5, 0x44, 0x20, 0xe0, 0x03, 0x02, 0x1c, 0x99, 0xe5, 0x29,
0x70, 0x07, 0xe5, 0x45, 0x70, 0x03, 0x02, 0x1c, 0x99, 0x12, 0x1d, 0xe7, 0x70, 0x03, 0x02, 0x1d,
0xe6, 0xe5, 0x29, 0x60, 0x0e, 0xe5, 0x45, 0x60, 0x05, 0x75, 0x2b, 0x03, 0x80, 0x0c, 0x75, 0x2b,
0x01, 0x80, 0x07, 0xe5, 0x45, 0x60, 0x03, 0x75, 0x2b, 0x02, 0xe5, 0x29, 0x7f, 0x00, 0x60, 0x02,
0x7f, 0x01, 0x90, 0x03, 0xa8, 0xef, 0xf0, 0xe5, 0x2b, 0x7f, 0x80, 0xb4, 0x01, 0x02, 0x7f, 0x00,
0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x2b, 0xb4, 0x02, 0x04, 0x7f, 0x40, 0x80, 0x05, 0x90, 0x03,
0xa9, 0xe0, 0xff, 0x90, 0x03, 0xa9, 0xef, 0xf0, 0xe5, 0x29, 0x45, 0x45, 0xf5, 0x2c, 0x30, 0xe0,
0x06, 0xa3, 0x74, 0x64, 0xf0, 0x80, 0x18, 0xe5, 0x2c, 0x30, 0xe1, 0x08, 0x90, 0x03, 0xaa, 0x74,
0x3c, 0xf0, 0x80, 0x0b, 0xe5, 0x2c, 0x30, 0xe2, 0x06, 0x90, 0x03, 0xaa, 0x74, 0x14, 0xf0, 0xe4,
0x90, 0x03, 0xab, 0xf0, 0xa3, 0x74, 0x8c, 0xf0, 0x12, 0x44, 0xf3, 0x85, 0x29, 0x45, 0xe5, 0x45,
0x7f, 0xff, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x44, 0x22, 0xe5, 0x44, 0x20, 0xe1, 0x03, 0x02, 0x1d,
0xdb, 0x90, 0x00, 0x05, 0x12, 0x42, 0xf1, 0x70, 0x11, 0x90, 0x00, 0x0b, 0x12, 0x15, 0x29, 0x70,
0x09, 0xe5, 0x44, 0x64, 0x02, 0x60, 0x03, 0x02, 0x1d, 0xdb, 0x75, 0x2c, 0x03, 0x12, 0x40, 0x18,
0xef, 0x64, 0x01, 0x70, 0x03, 0x02, 0x1d, 0xe6, 0xe4, 0x90, 0x03, 0xa8, 0xf0, 0x90, 0x00, 0x04,
0x12, 0x42, 0xf1, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0x90, 0x00, 0x0a, 0x12, 0x15,
0x29, 0x60, 0x06, 0x90, 0x03, 0xa8, 0xe0, 0x04, 0xf0, 0xe4, 0xf5, 0x2b, 0x8b, 0x2d, 0x8a, 0x2e,
0x89, 0x2f, 0xe5, 0x2b, 0xc3, 0x94, 0x02, 0x40, 0x03, 0x02, 0x1d, 0xba, 0xab, 0x2d, 0xaa, 0x2e,
0xa9, 0x2f, 0x90, 0x00, 0x05, 0x12, 0x15, 0x29, 0xff, 0x70, 0x03, 0x02, 0x1d, 0xaa, 0x90, 0x00,
0x04, 0x12, 0x15, 0x29, 0x70, 0x10, 0x12, 0x42, 0xd5, 0xe0, 0x54, 0x3f, 0x44, 0x40, 0xfe, 0x12,
0x42, 0xd5, 0xee, 0xf0, 0x80, 0x11, 0xef, 0xb4, 0x01, 0x07, 0x12, 0x42, 0xd5, 0xe4, 0xf0, 0x80,
0x06, 0x12, 0x42, 0xd5, 0x74, 0x80, 0xf0, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x60, 0x65, 0x12,
0x43, 0x04, 0x12, 0x42, 0xd9, 0xc0, 0x83, 0xc0, 0x82, 0xe0, 0xfd, 0xab, 0x2d, 0xaa, 0x2e, 0xa9,
0x2f, 0x12, 0x16, 0x3d, 0xfb, 0xaa, 0xf0, 0xea, 0xff, 0xed, 0x4f, 0xd0, 0x82, 0xd0, 0x83, 0xf0,
0xaf, 0x03, 0x12, 0x42, 0xfb, 0x12, 0x42, 0xd9, 0xef, 0xf0, 0xab, 0x2d, 0xaa, 0x2e, 0x90, 0x00,
0x02, 0x12, 0x16, 0x68, 0xe5, 0xf0, 0xff, 0xe5, 0x2b, 0xc4, 0x54, 0xf0, 0x4f, 0x12, 0x42, 0xfa,
0x12, 0x42, 0xd9, 0xef, 0xf0, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x12, 0x42, 0xfa, 0x12, 0x42,
0xd9, 0xef, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9, 0x74, 0x10, 0x12, 0x43, 0x03, 0x12, 0x42, 0xd9,
0xe4, 0xf0, 0x80, 0x06, 0x74, 0x06, 0x25, 0x2c, 0xf5, 0x2c, 0x05, 0x2b, 0x74, 0x06, 0x25, 0x2f,
0xf5, 0x2f, 0xe4, 0x35, 0x2e, 0xf5, 0x2e, 0x02, 0x1c, 0xf2, 0xe5, 0x2c, 0xc3, 0x94, 0x20, 0x50,
0x0a, 0x12, 0x42, 0xd5, 0x74, 0xff, 0xf0, 0x05, 0x2c, 0x80, 0xef, 0x12, 0x44, 0xf3, 0x90, 0x03,
0xa8, 0xe0, 0x7f, 0xff, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x44, 0x22, 0xab, 0x26, 0xaa, 0x27, 0xa9,
0x28, 0xad, 0x29, 0x12, 0x3e, 0x41, 0x22, 0x12, 0x40, 0x18, 0xef, 0x64, 0x01, 0x22, 0x15, 0x4d,
0x15, 0x4d, 0xc2, 0x99, 0x78, 0x58, 0xe6, 0x12, 0x18, 0x99, 0x1f, 0xcb, 0x01, 0x1e, 0x13, 0x02,
0x1e, 0x33, 0x03, 0x1f, 0xe9, 0x04, 0x1f, 0xdb, 0x0b, 0x1e, 0x24, 0x0c, 0x1f, 0x35, 0x0d, 0x00,
0x00, 0x1f, 0xe2, 0x12, 0x1f, 0xee, 0x75, 0x99, 0x1f, 0xe4, 0xf5, 0xa1, 0x12, 0x2f, 0x42, 0x76,
0x0c, 0x02, 0x1f, 0xe9, 0x78, 0x66, 0xe6, 0x78, 0x58, 0x60, 0x04, 0x76, 0x03, 0x80, 0xc5, 0x76,
0x04, 0x80, 0xc1, 0xe4, 0xf5, 0x87, 0xe5, 0x1e, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x1e, 0x12, 0x2e,
0xa0, 0xef, 0x56, 0x60, 0x11, 0xe5, 0x1f, 0x54, 0x07, 0x93, 0xff, 0xe5, 0x1f, 0x12, 0x2e, 0xa0,
0xef, 0x56, 0x60, 0x02, 0x80, 0x20, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80, 0x03,
0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x70, 0xc6, 0xf5, 0xe2, 0x78,
0x58, 0x76, 0x04, 0x02, 0x1f, 0xe9, 0xe5, 0x1e, 0x12, 0x2e, 0xaa, 0xe0, 0xff, 0x13, 0x13, 0x54,
0x3f, 0xfe, 0x78, 0x5c, 0xe6, 0xfd, 0x54, 0x10, 0x44, 0xa0, 0xfc, 0x4e, 0xf5, 0xf4, 0x75, 0xf0,
0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xad, 0xe0, 0xfe, 0x13, 0x13, 0x54, 0x3f, 0x4c, 0xf5, 0xf6, 0xee,
0x54, 0x03, 0x25, 0xe0, 0x25, 0xe0, 0xfe, 0xef, 0x54, 0x03, 0x4e, 0xf5, 0xe3, 0xed, 0x30, 0xe0,
0x45, 0x78, 0x66, 0xe6, 0x64, 0x01, 0x70, 0x3e, 0xa8, 0x4d, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d,
0xe6, 0xfe, 0xc3, 0x9f, 0x50, 0x14, 0xe4, 0xf5, 0x87, 0x7d, 0x06, 0x12, 0x2e, 0xc2, 0x2e, 0x12,
0x2e, 0x77, 0x12, 0x39, 0x0c, 0xa8, 0x4d, 0x06, 0x80, 0xe1, 0x53, 0xf4, 0xef, 0x53, 0xf6, 0xef,
0x78, 0x5f, 0xe6, 0xf5, 0x99, 0xe5, 0x1e, 0x12, 0x2e, 0x8c, 0x78, 0x61, 0x12, 0x2e, 0x82, 0xe0,
0x2e, 0xf5, 0xf7, 0x18, 0x80, 0x2c, 0x7d, 0x06, 0x12, 0x2e, 0x68, 0x12, 0x39, 0x0c, 0x7d, 0x06,
0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0x78, 0x5a, 0xe6, 0xf5, 0x99,
0x75, 0xf0, 0x11, 0xe5, 0x1e, 0x12, 0x2e, 0x8f, 0x08, 0x12, 0x2e, 0x82, 0xe0, 0x2e, 0xf5, 0xf7,
0x78, 0x59, 0xe6, 0x44, 0x50, 0xf5, 0xa1, 0xe4, 0xf5, 0xa2, 0x75, 0xa3, 0x80, 0x12, 0x2f, 0x42,
0x76, 0x0d, 0x02, 0x1f, 0xe9, 0x78, 0x5e, 0xe6, 0x7f, 0x02, 0x60, 0x02, 0x7f, 0x05, 0xa8, 0x4d,
0xa6, 0x07, 0xe4, 0xf5, 0xf4, 0xf5, 0xf6, 0x78, 0x5c, 0xe6, 0x30, 0xe0, 0x2a, 0x78, 0x66, 0xe6,
0x64, 0x01, 0x70, 0x23, 0xa8, 0x4d, 0x08, 0xf6, 0x12, 0x2f, 0x76, 0xa8, 0x4d, 0x08, 0xe6, 0xfe,
0xc3, 0x9f, 0x50, 0x28, 0xe4, 0xf5, 0x87, 0x12, 0x2e, 0xbe, 0x2e, 0x12, 0x2e, 0x77, 0x12, 0x39,
0x0c, 0xa8, 0x4d, 0x08, 0x06, 0x80, 0xe1, 0xa8, 0x4d, 0xe6, 0xfd, 0x12, 0x2e, 0x68, 0x12, 0x39,
0x0c, 0x12, 0x2e, 0xbe, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x12, 0x39, 0x0c, 0xe5, 0x1e, 0x12, 0x2e,
0xe2, 0xe5, 0x93, 0xf0, 0xa3, 0xe5, 0x92, 0xf0, 0x75, 0xf0, 0x11, 0xe5, 0x1f, 0x12, 0x2e, 0xe5,
0xe5, 0x9b, 0xf0, 0xa3, 0xe5, 0x9a, 0xf0, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x04, 0x05, 0x1e, 0x80,
0x03, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x78, 0x66, 0x16, 0x78, 0x66, 0xe6, 0x60, 0x08, 0x18, 0xe6,
0x78, 0x58, 0xf6, 0x02, 0x1d, 0xf4, 0xe4, 0xf5, 0xe2, 0x80, 0x17, 0x12, 0x1f, 0xee, 0x75, 0x99,
0x03, 0x75, 0xa1, 0x02, 0x12, 0x2f, 0x42, 0x76, 0x0b, 0x80, 0x0e, 0x78, 0x58, 0x76, 0x02, 0x02,
0x1d, 0xf4, 0x78, 0x58, 0x76, 0x04, 0x02, 0x1d, 0xf4, 0x05, 0x4d, 0x05, 0x4d, 0x22, 0x78, 0x5d,
0xe6, 0xf5, 0xf5, 0xf5, 0xf7, 0x18, 0xe6, 0x54, 0x10, 0x44, 0x80, 0xf5, 0xf4, 0xf5, 0xf6, 0x7d,
0x06, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e,
0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x7d, 0x06, 0xe5,
0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1f, 0xf5, 0x82,
0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x12, 0x39, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xf5,
0x36, 0x12, 0x24, 0xb4, 0x74, 0x0d, 0x93, 0xfe, 0x74, 0x0e, 0x93, 0xff, 0x74, 0x03, 0x93, 0xfa,
0x74, 0x04, 0x93, 0xfb, 0x2f, 0xff, 0xea, 0x3e, 0xfe, 0xe4, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15,
0x9c, 0x8e, 0x37, 0x8f, 0x38, 0xe5, 0x36, 0x70, 0x3e, 0x75, 0x2b, 0x01, 0x12, 0x25, 0x1d, 0xe4,
0xf5, 0x30, 0xf5, 0x31, 0x78, 0x88, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x87, 0x12, 0x25, 0x93,
0x78, 0x8c, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8b, 0x12, 0x25, 0x88, 0x74, 0x09, 0x93, 0xfc,
0x74, 0x0a, 0x12, 0x25, 0x29, 0x78, 0x90, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x78, 0x8f, 0x12, 0x24,
0xfe, 0x12, 0x26, 0x41, 0x02, 0x21, 0xaa, 0x78, 0x91, 0xe6, 0x14, 0x65, 0x36, 0x70, 0x3b, 0xf5,
0x2b, 0x12, 0x25, 0x1d, 0x8a, 0x30, 0x8b, 0x31, 0x12, 0x25, 0x06, 0x24, 0x80, 0x12, 0x24, 0x98,
0x12, 0x25, 0x06, 0x24, 0x7f, 0x12, 0x24, 0xfd, 0x12, 0x26, 0x41, 0x12, 0x25, 0x06, 0x24, 0x84,
0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x87, 0x12, 0x24, 0xb4, 0x74, 0x0b,
0x93, 0xfc, 0x74, 0x0c, 0x12, 0x25, 0x29, 0x02, 0x21, 0x9a, 0x12, 0x25, 0x5d, 0xac, 0x06, 0xad,
0x07, 0xe5, 0x37, 0xc3, 0x13, 0xfe, 0xe5, 0x38, 0x13, 0x2d, 0xf5, 0x31, 0xec, 0x3e, 0xf5, 0x30,
0x12, 0x25, 0x06, 0x24, 0x84, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x83, 0x12, 0x25, 0x92,
0x12, 0x25, 0x06, 0x24, 0x8c, 0x12, 0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x8b, 0x12, 0x25, 0x87,
0xd3, 0xe5, 0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x40, 0x38, 0xe5, 0x36, 0xb4, 0x01, 0x25,
0xe5, 0x38, 0xae, 0x37, 0x78, 0x02, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0x7c, 0x00,
0x7d, 0x05, 0x12, 0x15, 0x9c, 0xaa, 0x06, 0xab, 0x07, 0x12, 0x25, 0x5d, 0xef, 0x2b, 0xf5, 0x31,
0xee, 0x3a, 0x12, 0x25, 0x1b, 0xe4, 0xf5, 0x2b, 0x12, 0x26, 0x02, 0x85, 0x2c, 0x2e, 0x85, 0x2d,
0x2f, 0x80, 0x37, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xb5, 0x36, 0x1b, 0x12, 0x25, 0x5d, 0xaa, 0x06,
0xab, 0x07, 0xae, 0x37, 0xaf, 0x38, 0x7c, 0x00, 0x7d, 0x05, 0x12, 0x15, 0x9c, 0xeb, 0x2f, 0xf5,
0x31, 0xea, 0x3e, 0x12, 0x25, 0x1b, 0x75, 0x2b, 0x01, 0xe4, 0x85, 0x2d, 0x35, 0x85, 0x2c, 0x34,
0xf5, 0x33, 0xf5, 0x32, 0x85, 0x2e, 0x2e, 0x85, 0x2f, 0x2f, 0x12, 0x25, 0x06, 0x24, 0x88, 0x12,
0x24, 0x98, 0x12, 0x25, 0x06, 0x24, 0x87, 0x12, 0x25, 0x92, 0xae, 0x2c, 0xaf, 0x2d, 0xe4, 0xfc,
0xfd, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x29, 0xae,
0x2e, 0xaf, 0x2f, 0xe4, 0xfc, 0xfd, 0xa8, 0x32, 0xc3, 0x12, 0x18, 0x1b, 0x50, 0x1a, 0xae, 0x34,
0xaf, 0x35, 0xc3, 0xe5, 0x2d, 0x9f, 0xf5, 0x2d, 0xe5, 0x2c, 0x9e, 0xf5, 0x2c, 0xc3, 0xe5, 0x2f,
0x9f, 0xf5, 0x2f, 0xe5, 0x2e, 0x9e, 0xf5, 0x2e, 0xe4, 0x12, 0x26, 0x02, 0x7f, 0x80, 0xfe, 0xfd,
0xfc, 0xab, 0x35, 0xaa, 0x34, 0xa9, 0x33, 0xa8, 0x32, 0x12, 0x24, 0xd8, 0xae, 0x37, 0xaf, 0x38,
0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xe8, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5,
0x2c, 0x35, 0x2e, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73,
0xef, 0x24, 0x40, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd, 0xe4, 0x3c, 0xfc, 0xe4, 0x7b, 0x80,
0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33, 0x8c, 0x32, 0xe5, 0x2b,
0x60, 0x16, 0xe4, 0xfc, 0xfd, 0xe5, 0x35, 0x25, 0x31, 0xff, 0xe5, 0x34, 0x35, 0x30, 0xfe, 0xed,
0x35, 0x33, 0xfd, 0xec, 0x35, 0x32, 0x80, 0x12, 0xc3, 0xe5, 0x31, 0x95, 0x35, 0xff, 0xe5, 0x30,
0x95, 0x34, 0xfe, 0xe4, 0x95, 0x33, 0xfd, 0xe4, 0x95, 0x32, 0x8f, 0x35, 0x8e, 0x34, 0x8d, 0x33,
0xf5, 0x32, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xe4, 0xfb, 0x78, 0x68, 0xe6, 0xff, 0xeb, 0xc3, 0x9f,
0x40, 0x03, 0x02, 0x24, 0x89, 0xeb, 0x12, 0x2e, 0xec, 0xff, 0xeb, 0x12, 0x2e, 0xa0, 0xef, 0x56,
0x70, 0x03, 0x02, 0x24, 0x85, 0xe4, 0xf5, 0x87, 0x78, 0x64, 0xe6, 0xfa, 0x20, 0xe2, 0x03, 0x02,
0x23, 0x90, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0xe4, 0xfe, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x4c, 0xe0, 0xfc, 0xa3, 0xe0, 0x24, 0x00, 0xf5, 0x2e, 0xee, 0x3c, 0xf5, 0x2d, 0x12, 0x2e,
0xdb, 0x74, 0x06, 0x93, 0xff, 0x60, 0x5d, 0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0x2f, 0xff,
0xee, 0x3c, 0xfe, 0xd3, 0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b, 0xf8,
0xe2, 0x44, 0x04, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x06, 0x2b, 0xf8, 0xe2, 0x54, 0xfb,
0xf2, 0x12, 0x2e, 0xdb, 0x74, 0x06, 0x93, 0x7e, 0x00, 0x25, 0x2e, 0xff, 0xee, 0x35, 0x2d, 0xfe,
0x12, 0x2e, 0xd1, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x74, 0xd6, 0x40, 0x0d, 0x2b,
0xf8, 0xe2, 0x44, 0x08, 0x12, 0x2e, 0xd0, 0x12, 0x2f, 0x3a, 0x80, 0x10, 0x2b, 0xf8, 0xe2, 0x54,
0xf7, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x04, 0xf2, 0x78, 0x5c, 0xe6, 0x30,
0xe0, 0x16, 0x12, 0x2f, 0x76, 0xeb, 0xc3, 0x9f, 0x40, 0x06, 0x78, 0x60, 0xe6, 0xff, 0x80, 0x04,
0x78, 0x59, 0xe6, 0xff, 0x8f, 0x2c, 0x80, 0x05, 0x78, 0x59, 0xe6, 0xf5, 0x2c, 0xe5, 0x2c, 0x25,
0xe0, 0x24, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x48, 0xf5, 0x83, 0xe4, 0x93, 0xfe, 0x74, 0x01, 0x93,
0xff, 0x7c, 0x00, 0x7d, 0x0a, 0x12, 0x15, 0x9c, 0x7c, 0x00, 0x7d, 0x09, 0x12, 0x15, 0x8a, 0xd3,
0xe5, 0x2e, 0x9f, 0xe5, 0x2d, 0x9e, 0x40, 0x0e, 0xea, 0x44, 0x20, 0x78, 0x64, 0xf6, 0x74, 0xd6,
0x2b, 0xf8, 0xe2, 0x44, 0x10, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x62, 0x12, 0x2f, 0x3a,
0x12, 0x2e, 0xdb, 0x74, 0x08, 0x93, 0x25, 0xe0, 0xf5, 0x2e, 0x74, 0x07, 0x93, 0x33, 0xf5, 0x2d,
0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0xfd, 0x30, 0xe0, 0x19, 0xe5, 0x2e, 0xae, 0x2d, 0x78, 0x02, 0xce,
0xc3, 0x13, 0xce, 0x13, 0xd8, 0xf9, 0xff, 0xc3, 0xe5, 0x2e, 0x9f, 0xf5, 0x2e, 0xe5, 0x2d, 0x9e,
0xf5, 0x2d, 0xe5, 0x2d, 0xc3, 0x13, 0xfe, 0xe5, 0x2e, 0x13, 0xff, 0xeb, 0x12, 0x2e, 0x54, 0xe0,
0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0x2f, 0xff, 0xe5, 0x83, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xf8, 0xa3, 0xe0, 0xf5, 0x82, 0x88, 0x83, 0xd3, 0x9f, 0xe5, 0x83,
0x9e, 0x40, 0x48, 0x74, 0xd6, 0x2b, 0xf8, 0xed, 0x44, 0x02, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12,
0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0x25, 0x2e, 0xff, 0xe5, 0x2d, 0x3e, 0xfe, 0x75, 0xf0, 0x11,
0xeb, 0x12, 0x2e, 0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x13, 0x78, 0x64,
0xe6, 0x44, 0x02, 0xf6, 0x44, 0x08, 0xf6, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x44, 0x01, 0xf2, 0x80,
0x12, 0x74, 0xd6, 0x2b, 0xf8, 0xe2, 0x54, 0xfe, 0xf2, 0x80, 0x08, 0x74, 0xd6, 0x2b, 0xf8, 0xe2,
0x54, 0xfd, 0xf2, 0x75, 0xf0, 0x11, 0xeb, 0x12, 0x2e, 0x57, 0x12, 0x2e, 0xf3, 0xeb, 0x12, 0x2e,
0x62, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0xd3, 0x9f, 0xec, 0x9e, 0x40, 0x1f, 0x75, 0xf0, 0x11, 0xeb,
0x12, 0x2e, 0x57, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0xc3, 0xed, 0x9f, 0xff, 0xec, 0x9e, 0xf8, 0xeb,
0x25, 0xe0, 0x24, 0x86, 0xc8, 0xf2, 0x08, 0xef, 0xf2, 0x80, 0x0a, 0xeb, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0x0b, 0x02, 0x22, 0x79, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8, 0xee,
0xf2, 0x08, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x06, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x78,
0x37, 0xe2, 0xfe, 0x08, 0xe2, 0x78, 0x07, 0xff, 0xc3, 0xe2, 0x9f, 0xff, 0x18, 0xe2, 0x9e, 0xfe,
0x22, 0x12, 0x18, 0x68, 0x85, 0x0f, 0x82, 0x85, 0x0e, 0x83, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf8,
0xee, 0xf2, 0x08, 0xef, 0xf2, 0x22, 0xe5, 0x08, 0x24, 0x0a, 0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24,
0x06, 0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xfd, 0x22, 0x12, 0x16, 0xe8, 0xa8, 0x04, 0xa9, 0x05, 0xaa,
0x06, 0xab, 0x07, 0x22, 0xe5, 0x08, 0x24, 0x0f, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x24,
0x11, 0xf8, 0xe4, 0xf2, 0x08, 0xf2, 0xe5, 0x08, 0x22, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2f,
0xff, 0x18, 0xe2, 0x3e, 0xfe, 0x22, 0xe5, 0x36, 0x25, 0xe0, 0x25, 0xe0, 0x22, 0x74, 0x01, 0x93,
0xfe, 0x74, 0x02, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x02, 0x18, 0x5b, 0xf5, 0x30, 0xe5, 0x38, 0x25,
0x38, 0xf5, 0x38, 0xe5, 0x37, 0x33, 0xf5, 0x37, 0x22, 0x93, 0xfd, 0xae, 0x2e, 0xaf, 0x2f, 0x12,
0x15, 0x8a, 0x7c, 0x00, 0x7d, 0x14, 0x12, 0x15, 0x9c, 0xef, 0x25, 0x2f, 0xf5, 0x2f, 0xee, 0x35,
0x2e, 0xf5, 0x2e, 0x22, 0x93, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x18, 0x5b, 0x12, 0x16, 0xe8, 0xe4,
0x7b, 0x02, 0xfa, 0xf9, 0xf8, 0x22, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15, 0x03, 0xaf, 0x36, 0x7e,
0x00, 0xac, 0x37, 0xad, 0x38, 0x02, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xe2, 0x22, 0x7e,
0x00, 0x7f, 0x06, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x78, 0x79, 0x12, 0x18, 0x3f, 0x78,
0x75, 0x12, 0x18, 0x5b, 0x02, 0x16, 0xcd, 0xf8, 0xe2, 0x2f, 0xf5, 0x2f, 0x18, 0xe2, 0x3e, 0xf5,
0x2e, 0x22, 0xf8, 0xe2, 0x2f, 0xf5, 0x2d, 0x18, 0xe2, 0x3e, 0xf5, 0x2c, 0x22, 0xe5, 0x2a, 0x75,
0xf0, 0x42, 0xa4, 0x22, 0xe5, 0x08, 0x24, 0x04, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xd3, 0xe5,
0x2d, 0x95, 0x2f, 0xe5, 0x2c, 0x95, 0x2e, 0x22, 0x78, 0x37, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xc3,
0x78, 0x49, 0x22, 0x7b, 0xfe, 0x7e, 0x00, 0x7f, 0x0a, 0x02, 0x15, 0x03, 0xe5, 0x08, 0x24, 0x3a,
0xf8, 0xe2, 0x22, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0xe2, 0x22, 0xfe, 0x78, 0x75, 0xe4, 0xfc, 0xfd,
0x02, 0x18, 0x68, 0xe5, 0x08, 0x24, 0x41, 0xf8, 0x74, 0x01, 0xf2, 0x22, 0xf8, 0xe2, 0x2d, 0xfd,
0x18, 0xe2, 0x3c, 0xcd, 0xc3, 0x9f, 0x22, 0x74, 0x2d, 0x25, 0x2c, 0xf8, 0xa6, 0x06, 0x78, 0x7b,
0xe6, 0x22, 0x85, 0x2f, 0x35, 0x85, 0x2e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xd3, 0xeb, 0x95,
0x2e, 0xea, 0x95, 0x2d, 0x22, 0xe5, 0x08, 0x24, 0x15, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5,
0x08, 0x24, 0x22, 0xf9, 0x7a, 0x00, 0x7b, 0xfe, 0x22, 0xe5, 0x08, 0x24, 0x02, 0xf8, 0xe2, 0x22,
0xe5, 0x08, 0x24, 0x03, 0xf8, 0xe2, 0x22, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x00, 0xf8, 0xe2,
0x22, 0xe4, 0x8f, 0x35, 0x8e, 0x34, 0xf5, 0x33, 0xf5, 0x32, 0x22, 0xc3, 0x74, 0x04, 0x93, 0x9f,
0xff, 0x74, 0x03, 0x93, 0x22, 0xe4, 0x78, 0x64, 0xf6, 0x18, 0xe6, 0x70, 0x03, 0x02, 0x27, 0x19,
0x14, 0x70, 0x03, 0x02, 0x27, 0xf6, 0x14, 0x60, 0x53, 0x14, 0x60, 0x03, 0x02, 0x28, 0x12, 0x12,
0x28, 0x17, 0x12, 0x3a, 0x6a, 0x12, 0x22, 0x77, 0x78, 0x64, 0xe6, 0x30, 0xe1, 0x04, 0x78, 0x67,
0x76, 0x28, 0x12, 0x30, 0xbe, 0x78, 0x5c, 0xe6, 0x20, 0xe0, 0x03, 0x02, 0x28, 0x16, 0x78, 0x68,
0xe6, 0xff, 0x24, 0xd4, 0xf8, 0xe2, 0x20, 0xe0, 0x1f, 0x74, 0xd5, 0x2f, 0xf8, 0xe2, 0x20, 0xe0,
0x17, 0x78, 0x64, 0xe6, 0x30, 0xe3, 0x11, 0x05, 0x1d, 0xe5, 0x1d, 0xd3, 0x94, 0x14, 0x40, 0x03,
0x18, 0x76, 0x02, 0xe4, 0x78, 0x64, 0xf6, 0x22, 0xe4, 0xf5, 0x1d, 0x22, 0x12, 0x28, 0x17, 0x12,
0x43, 0x0c, 0xe4, 0xf5, 0x2b, 0xe5, 0x2b, 0xc3, 0x78, 0x68, 0x96, 0x50, 0x47, 0xe5, 0x2b, 0x12,
0x2e, 0xec, 0xff, 0xe5, 0x2b, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x34, 0x12, 0x2e, 0x47, 0xe0,
0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x00, 0x12, 0x2e, 0x39, 0xe0, 0xfe, 0xa3, 0xe0, 0x90, 0x01, 0x02,
0x12, 0x2e, 0x39, 0x12, 0x2e, 0xf3, 0xe5, 0x2b, 0x90, 0x01, 0x04, 0x12, 0x2e, 0x3f, 0xe0, 0xfe,
0xa3, 0xe0, 0xff, 0xe5, 0x2b, 0x90, 0x01, 0x0d, 0x12, 0x2e, 0xd5, 0xee, 0xf0, 0xa3, 0xef, 0xf0,
0x05, 0x2b, 0x80, 0xb1, 0x78, 0x63, 0x76, 0x03, 0x22, 0xe4, 0xf5, 0x2b, 0x78, 0x67, 0xf6, 0x78,
0x64, 0xf6, 0x7e, 0x02, 0x7f, 0xa8, 0xfd, 0x7b, 0x01, 0x7a, 0x00, 0x79, 0xfe, 0x12, 0x18, 0xec,
0x7f, 0x50, 0x7a, 0x00, 0x79, 0x86, 0x12, 0x2f, 0x55, 0x7f, 0x28, 0x7a, 0x00, 0x79, 0xd6, 0x12,
0x2f, 0x55, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x78, 0x68, 0xf6, 0x90, 0x48, 0x36, 0xe4, 0x93,
0xfe, 0x74, 0x01, 0x93, 0xff, 0x12, 0x2e, 0xdb, 0x74, 0x05, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x18,
0xbf, 0xe4, 0x7b, 0xc8, 0xfa, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x78, 0x4e, 0xa6, 0x06, 0x08, 0xa6,
0x07, 0x78, 0x5c, 0xe6, 0x30, 0xe6, 0x2c, 0xe4, 0xf5, 0x1e, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xf5,
0x1f, 0x12, 0x2f, 0x4a, 0x50, 0x46, 0x12, 0x2e, 0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e,
0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01, 0x12, 0x44, 0x05, 0x05, 0x1e, 0x05, 0x1f, 0x05,
0x2b, 0x80, 0xde, 0xe4, 0xf5, 0x1e, 0x75, 0x1f, 0x01, 0x12, 0x2f, 0x4a, 0x50, 0x1e, 0x12, 0x2e,
0x68, 0xe4, 0xfd, 0x12, 0x44, 0x05, 0x12, 0x2e, 0xc2, 0x25, 0x1f, 0x12, 0x2e, 0x77, 0x7d, 0x01,
0x12, 0x44, 0x05, 0x12, 0x2f, 0x5e, 0x05, 0x1f, 0x05, 0x2b, 0x80, 0xdd, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe0, 0x0b, 0x12, 0x2e, 0xdb, 0x74, 0x02, 0x93, 0x24, 0x02, 0x78, 0x68, 0xf6, 0xef, 0x54,
0x02, 0x44, 0x91, 0x78, 0x62, 0xf6, 0x78, 0x58, 0x76, 0x04, 0x78, 0x65, 0x76, 0x02, 0x12, 0x40,
0xac, 0x78, 0x63, 0x76, 0x01, 0x22, 0x78, 0x65, 0x76, 0x01, 0x12, 0x3c, 0xd3, 0x78, 0x65, 0x76,
0x02, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x78, 0x63, 0x76,
0x02, 0x22, 0xe4, 0x78, 0x63, 0xf6, 0x22, 0x12, 0x43, 0x0c, 0x12, 0x40, 0xac, 0x22, 0x8b, 0x26,
0x8a, 0x27, 0x89, 0x28, 0x7e, 0x00, 0x7f, 0x0c, 0x7d, 0x00, 0x12, 0x18, 0xec, 0x7a, 0x00, 0x79,
0x04, 0x12, 0x25, 0x6f, 0x7a, 0x00, 0x79, 0x46, 0x12, 0x25, 0x6f, 0xe5, 0x0c, 0x14, 0x60, 0x54,
0x04, 0x60, 0x03, 0x02, 0x29, 0xc1, 0xe4, 0xf5, 0x0d, 0xff, 0x12, 0x46, 0xdd, 0x12, 0x46, 0xe2,
0xef, 0x64, 0x03, 0x60, 0x08, 0xe4, 0xf5, 0x87, 0x12, 0x26, 0x55, 0x80, 0xf0, 0x7b, 0xfe, 0x7a,
0x00, 0x79, 0x15, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x46, 0x9b, 0x7b,
0xfe, 0x7a, 0x00, 0x79, 0x57, 0x12, 0x46, 0x9b, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x64, 0x12, 0x46,
0x9b, 0x7e, 0x00, 0x7f, 0x84, 0x7d, 0x00, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x00, 0x12, 0x18, 0xec,
0x75, 0x0c, 0x01, 0x22, 0x12, 0x26, 0x55, 0x78, 0x64, 0xe6, 0xf5, 0x29, 0xaf, 0x09, 0xef, 0x13,
0x13, 0x54, 0x3f, 0x30, 0xe0, 0x08, 0xe5, 0x29, 0x30, 0xe4, 0x03, 0x02, 0x29, 0xc1, 0xe5, 0x29,
0x20, 0xe3, 0x03, 0x02, 0x29, 0x49, 0x12, 0x34, 0x48, 0xaf, 0x0a, 0x12, 0x3d, 0xce, 0x8f, 0x0a,
0xaf, 0x0b, 0x12, 0x3d, 0xce, 0x8f, 0x0b, 0x75, 0x2e, 0xfe, 0x75, 0x2f, 0x00, 0x75, 0x30, 0x86,
0x7b, 0x00, 0x7a, 0x00, 0x79, 0x0a, 0x12, 0x46, 0xb4, 0xaf, 0x09, 0xef, 0xc3, 0x13, 0x30, 0xe0,
0x05, 0x12, 0x31, 0xf8, 0x80, 0x08, 0xe4, 0x78, 0x92, 0xf6, 0x08, 0xf6, 0x08, 0xf6, 0xe4, 0xf5,
0x2a, 0x74, 0x0a, 0x25, 0x2a, 0xf8, 0xe6, 0xff, 0x12, 0x25, 0x9d, 0x24, 0x00, 0xf8, 0xef, 0xf2,
0xf4, 0x60, 0x30, 0xaf, 0x2a, 0x12, 0x29, 0xc5, 0x12, 0x25, 0x9d, 0x24, 0x04, 0x12, 0x24, 0xbf,
0xaf, 0x2a, 0x12, 0x20, 0x3c, 0x12, 0x25, 0x9d, 0x24, 0x06, 0x12, 0x24, 0xbf, 0x12, 0x25, 0x9d,
0x24, 0x09, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25, 0x9d, 0x24, 0x04, 0xf9, 0xe4, 0xfa, 0x7b, 0xfe,
0x12, 0x46, 0xad, 0x05, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x40, 0xb5, 0x12, 0x2c, 0xce, 0xe5,
0x29, 0x30, 0xe5, 0x0b, 0x75, 0x0d, 0x01, 0x80, 0x06, 0xe5, 0x0d, 0x60, 0x02, 0x80, 0x72, 0x75,
0x08, 0x00, 0xe4, 0xf5, 0x2a, 0xe5, 0x2a, 0xc3, 0x94, 0x02, 0x50, 0x3c, 0xe4, 0xf5, 0x87, 0x12,
0x3c, 0x49, 0x12, 0x38, 0x1e, 0x12, 0x25, 0x68, 0x60, 0x05, 0x12, 0x19, 0x18, 0x80, 0x0d, 0x12,
0x24, 0xe4, 0x12, 0x25, 0xe5, 0x74, 0x84, 0x25, 0x2a, 0xf8, 0xe4, 0xf2, 0x12, 0x35, 0x4c, 0x12,
0x25, 0xa4, 0xe5, 0x08, 0x24, 0x35, 0xf8, 0x7c, 0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0x05, 0x2a,
0x74, 0x42, 0x25, 0x08, 0xf5, 0x08, 0x80, 0xbd, 0xa8, 0x28, 0xac, 0x27, 0xad, 0x26, 0x7b, 0xfe,
0x7a, 0x00, 0x79, 0x04, 0x12, 0x25, 0x56, 0xe5, 0x28, 0x24, 0x06, 0xf9, 0xe4, 0x35, 0x27, 0xa8,
0x01, 0xfc, 0xad, 0x26, 0x7b, 0xfe, 0x7a, 0x00, 0x79, 0x46, 0x7e, 0x00, 0x7f, 0x06, 0x02, 0x15,
0x03, 0xe4, 0xf5, 0x0c, 0x22, 0x12, 0x26, 0x37, 0xfe, 0x70, 0x04, 0xf5, 0x2b, 0x80, 0x1f, 0x78,
0x91, 0xe6, 0xfd, 0x14, 0xb5, 0x06, 0x09, 0xed, 0x25, 0xe0, 0x24, 0xfa, 0xf5, 0x2b, 0x80, 0x0e,
0x74, 0x84, 0x2f, 0xf8, 0x74, 0x03, 0xf2, 0xee, 0x25, 0xe0, 0x24, 0xfe, 0xf5, 0x2b, 0xef, 0x75,
0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8, 0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8,
0xe4, 0xf2, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03, 0xf8, 0xe4, 0xf2, 0xfe, 0xe5, 0x2b, 0x2e,
0xfd, 0x24, 0xd6, 0xf8, 0xe2, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x01, 0xf8,
0xe2, 0x04, 0xf2, 0x74, 0xd6, 0x2d, 0xf8, 0xe2, 0x13, 0x13, 0x54, 0x3f, 0x30, 0xe0, 0x0b, 0xef,
0x75, 0xf0, 0x42, 0xa4, 0x24, 0x02, 0xf8, 0xe2, 0x04, 0xf2, 0xe5, 0x2b, 0x2e, 0x24, 0xd6, 0xf8,
0xe2, 0x13, 0x13, 0x13, 0x54, 0x1f, 0x30, 0xe0, 0x0b, 0xef, 0x75, 0xf0, 0x42, 0xa4, 0x24, 0x03,
0xf8, 0xe2, 0x04, 0xf2, 0x0e, 0xbe, 0x06, 0xb5, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8a, 0x12, 0x24,
0x98, 0xe5, 0x2b, 0x12, 0x24, 0xf9, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x24, 0xfd, 0x78,
0x93, 0xe6, 0xfa, 0x08, 0xe6, 0xfb, 0xc3, 0xef, 0x9b, 0xff, 0xee, 0x9a, 0x12, 0x25, 0xda, 0xe5,
0x2b, 0x25, 0xe0, 0x24, 0x8c, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x89, 0x12, 0x24,
0xfd, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x91, 0xf8, 0xe2, 0x2f, 0xff, 0x18, 0xe2, 0x3e, 0xcf, 0xc3,
0x9b, 0xcf, 0x9a, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x79, 0x12, 0x24, 0xb1, 0x74, 0x07, 0x93, 0xfe,
0x74, 0x08, 0x78, 0x79, 0x12, 0x25, 0x44, 0x12, 0x16, 0xe8, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06,
0xc0, 0x07, 0x12, 0x24, 0xb4, 0x78, 0x79, 0x12, 0x25, 0x0d, 0x12, 0x16, 0xe8, 0xd0, 0x03, 0xd0,
0x02, 0xd0, 0x01, 0xd0, 0x00, 0x12, 0x16, 0xcd, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07,
0x12, 0x24, 0xb4, 0x74, 0x05, 0x93, 0xfe, 0x74, 0x06, 0x78, 0x75, 0x12, 0x25, 0x44, 0x12, 0x24,
0xd8, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x16, 0xda, 0x78, 0x7d, 0x12, 0x18,
0x68, 0x78, 0x7d, 0x12, 0x18, 0x3f, 0xec, 0x33, 0x50, 0x0b, 0x78, 0x75, 0x12, 0x18, 0x74, 0x00,
0x00, 0x00, 0x01, 0x80, 0x48, 0x12, 0x25, 0x7a, 0x12, 0x25, 0x4f, 0x12, 0x17, 0x73, 0x78, 0x7d,
0x12, 0x25, 0x81, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x25, 0x7a, 0x12, 0x24,
0xdb, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x24,
0xb1, 0x78, 0x75, 0x12, 0x25, 0x0d, 0xd3, 0x12, 0x18, 0x1b, 0x40, 0x11, 0x12, 0x24, 0xb4, 0x74,
0x02, 0x93, 0x24, 0xff, 0xff, 0x74, 0x01, 0x93, 0x34, 0xff, 0x12, 0x25, 0xda, 0x78, 0x75, 0x12,
0x18, 0x3f, 0x22, 0xe4, 0xf5, 0x10, 0x90, 0x04, 0xa9, 0xe0, 0x70, 0x03, 0x02, 0x2c, 0x35, 0x14,
0x70, 0x03, 0x02, 0x2c, 0x55, 0x14, 0x70, 0x03, 0x02, 0x2c, 0x8a, 0x24, 0xfe, 0x60, 0x2c, 0x04,
0x60, 0x03, 0x02, 0x2c, 0x92, 0x90, 0xff, 0x11, 0xe4, 0xf0, 0x90, 0xff, 0x14, 0xf0, 0xa3, 0xf0,
0xa3, 0xf0, 0xa3, 0xf0, 0xa3, 0xf0, 0x75, 0x14, 0x47, 0x75, 0x15, 0x5c, 0x12, 0x2c, 0xb5, 0x12,
0x2c, 0xc4, 0x90, 0x04, 0xa9, 0x74, 0x04, 0xf0, 0xe4, 0xf5, 0x10, 0x12, 0x2c, 0xc4, 0xe4, 0xf5,
0x10, 0xfb, 0x7a, 0x00, 0x79, 0x69, 0xfd, 0x12, 0x1b, 0x88, 0xe5, 0x11, 0x60, 0x72, 0xe4, 0xf5,
0x25, 0xf5, 0x24, 0xf5, 0x23, 0xf5, 0x22, 0xf5, 0x21, 0x85, 0x15, 0x82, 0x85, 0x14, 0x83, 0x74,
0x02, 0x93, 0xff, 0xe5, 0x21, 0xc3, 0x9f, 0x50, 0x30, 0xaf, 0x21, 0x12, 0x14, 0x1e, 0xef, 0xd3,
0x94, 0x32, 0x40, 0x21, 0xe4, 0x7f, 0x01, 0xfe, 0xfd, 0xfc, 0xa9, 0x21, 0xa8, 0x01, 0x12, 0x18,
0x2c, 0xe5, 0x25, 0x4f, 0xf5, 0x25, 0xe5, 0x24, 0x4e, 0xf5, 0x24, 0xe5, 0x23, 0x4d, 0xf5, 0x23,
0xe5, 0x22, 0x4c, 0xf5, 0x22, 0x05, 0x21, 0x80, 0xc0, 0x75, 0x13, 0x02, 0xe5, 0x13, 0x70, 0x02,
0x80, 0x16, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0xff, 0x12, 0x46, 0x12, 0x8e, 0x14, 0x8f, 0x15,
0xe5, 0x15, 0x45, 0x14, 0x60, 0x02, 0x80, 0x6a, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x80, 0x67,
0x75, 0x11, 0x10, 0x80, 0x62, 0xe4, 0xf5, 0x87, 0x12, 0x2c, 0xb5, 0xaf, 0x15, 0xae, 0x14, 0x12,
0x45, 0x64, 0xe4, 0xfd, 0xff, 0x12, 0x45, 0xa9, 0x7f, 0x02, 0x12, 0x46, 0x2e, 0x90, 0x04, 0xa9,
0x74, 0x01, 0xf0, 0x80, 0x42, 0xe4, 0xf5, 0x21, 0xf5, 0x22, 0xf5, 0x87, 0xf5, 0x10, 0xfb, 0x7a,
0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x78, 0x6d, 0xe6, 0x60, 0x07, 0x78, 0x73, 0xe6, 0x60, 0x02,
0x80, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x22, 0x12, 0x33, 0x31, 0x8f, 0x21, 0x7b, 0x00, 0x7a,
0x00, 0x79, 0x69, 0xad, 0x22, 0x12, 0x1b, 0x88, 0x80, 0x0d, 0xe4, 0xf5, 0xe2, 0x75, 0x10, 0x05,
0x80, 0x05, 0xe4, 0x90, 0x04, 0xa9, 0xf0, 0xe5, 0x10, 0x60, 0x19, 0xe4, 0xf5, 0x87, 0x90, 0x04,
0xa9, 0xe0, 0xb4, 0x02, 0x04, 0xd2, 0xf9, 0x80, 0x02, 0xd2, 0xf8, 0xe4, 0xf5, 0x87, 0xf5, 0x87,
0xf5, 0x87, 0x80, 0xe3, 0x22, 0xaf, 0x15, 0xae, 0x14, 0x12, 0x3b, 0x10, 0xaf, 0x15, 0xae, 0x14,
0x12, 0x44, 0xaf, 0x22, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x69, 0x12, 0x28, 0x1e, 0x22, 0x78, 0x09,
0xe2, 0x60, 0x0d, 0x78, 0x4b, 0xe2, 0x7f, 0x01, 0x60, 0x02, 0x7f, 0x02, 0x8f, 0x30, 0x80, 0x0b,
0x78, 0x4b, 0xe2, 0x7f, 0x00, 0x60, 0x02, 0x7f, 0x01, 0x8f, 0x30, 0x78, 0x3a, 0xe2, 0xff, 0x60,
0x0d, 0x78, 0x7c, 0xe2, 0x7e, 0x01, 0x60, 0x02, 0x7e, 0x02, 0x8e, 0x31, 0x80, 0x0b, 0x78, 0x7c,
0xe2, 0x7e, 0x00, 0x60, 0x02, 0x7e, 0x01, 0x8e, 0x31, 0xe4, 0xf5, 0x2b, 0xe5, 0x30, 0x64, 0x01,
0x70, 0x43, 0xe5, 0x31, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0xb4, 0x01, 0x11, 0xef, 0x60,
0x03, 0x02, 0x2d, 0xf4, 0x78, 0x7c, 0xe2, 0x70, 0x03, 0x02, 0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5,
0x31, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x78, 0x79,
0x12, 0x24, 0xa1, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x25, 0xae, 0x50, 0x03, 0x02,
0x2d, 0xf4, 0x02, 0x2d, 0xf1, 0xe5, 0x30, 0x64, 0x02, 0x60, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31,
0x70, 0x03, 0x02, 0x2d, 0xf4, 0xe5, 0x31, 0x64, 0x01, 0x70, 0x3d, 0x78, 0x3a, 0xe2, 0x60, 0x0b,
0x12, 0x24, 0x9f, 0x12, 0x2e, 0x31, 0x12, 0x25, 0xb8, 0x80, 0x1c, 0x78, 0x79, 0xe2, 0xfe, 0x08,
0xe2, 0x78, 0x49, 0x12, 0x24, 0xa7, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x78, 0x79, 0xe2,
0xfe, 0x08, 0xe2, 0xff, 0xc3, 0x78, 0x07, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0x8e, 0x2e, 0x8f,
0x2f, 0x12, 0x25, 0xae, 0x40, 0x4e, 0x80, 0x49, 0xe5, 0x31, 0x64, 0x02, 0x70, 0x46, 0x78, 0x79,
0x12, 0x25, 0xba, 0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x12, 0x24, 0x9f,
0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2d, 0xd0, 0xe0, 0x3e, 0xf5, 0x2c, 0x12, 0x25, 0xb8,
0x12, 0x24, 0xa9, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0x78, 0x79, 0x12, 0x24, 0xa1, 0x12,
0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xf5, 0x2f, 0xd0, 0xe0, 0x3e, 0xf5, 0x2e, 0x12, 0x25, 0xae, 0x40,
0x03, 0x75, 0x2b, 0x01, 0xe5, 0x2b, 0x60, 0x38, 0x78, 0x75, 0x7c, 0x00, 0x7d, 0x00, 0x7a, 0x00,
0x79, 0x00, 0x12, 0x25, 0xc3, 0x78, 0x00, 0x7c, 0x00, 0x7d, 0xfe, 0x7a, 0x00, 0x79, 0x42, 0x12,
0x25, 0xc3, 0x78, 0x42, 0x7c, 0x00, 0x7d, 0xfe, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x12, 0x25,
0xc5, 0x78, 0x84, 0xe2, 0xff, 0x78, 0x75, 0xf6, 0x78, 0x85, 0xe2, 0x18, 0xf2, 0x08, 0xef, 0xf2,
0x22, 0x12, 0x46, 0x5f, 0x8e, 0x2c, 0x8f, 0x2d, 0x22, 0xff, 0x75, 0xf0, 0x11, 0xe5, 0x2b, 0x12,
0x18, 0x8d, 0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2b, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x0b, 0x02,
0x18, 0x8d, 0xe5, 0x2c, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x02, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x75,
0xf0, 0x11, 0x90, 0x01, 0x00, 0x02, 0x18, 0x8d, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35,
0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x25, 0x1e, 0xf5, 0x82, 0xe4, 0x35, 0x83, 0xf5, 0x83, 0xe4, 0x93,
0xff, 0x22, 0xe0, 0xff, 0xe6, 0xfe, 0xef, 0x2e, 0xf5, 0xf5, 0xe5, 0x1f, 0x75, 0xf0, 0x11, 0x90,
0x00, 0xff, 0x02, 0x18, 0x8d, 0xe5, 0x2c, 0x54, 0x07, 0x90, 0x48, 0x24, 0x93, 0xfe, 0xe5, 0x2c,
0x13, 0x13, 0x13, 0x54, 0x1f, 0x24, 0x50, 0xf8, 0x22, 0xef, 0x75, 0xf0, 0x11, 0x90, 0x00, 0xfe,
0x02, 0x18, 0x8d, 0x90, 0x01, 0x06, 0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x02, 0x18, 0x8d, 0xa8, 0x4d,
0xe6, 0xfd, 0xe5, 0x1c, 0x24, 0x09, 0xf5, 0x82, 0xe4, 0x35, 0x1b, 0xf5, 0x83, 0xe5, 0x82, 0x22,
0xf2, 0xeb, 0x90, 0x01, 0x04, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0x85, 0x1c, 0x82, 0x85, 0x1b,
0x83, 0x22, 0x75, 0xf0, 0x11, 0x90, 0x01, 0x09, 0x02, 0x18, 0x8d, 0xef, 0x54, 0x07, 0x90, 0x48,
0x24, 0x93, 0x22, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x75, 0xf0, 0x11, 0x22, 0x78, 0x68, 0xe6, 0xfe,
0xef, 0xc3, 0x9e, 0x22, 0xc3, 0x74, 0x08, 0x93, 0x9f, 0x74, 0x07, 0x93, 0x9e, 0x22, 0xe5, 0x2c,
0x90, 0x01, 0x08, 0x75, 0xf0, 0x11, 0x02, 0x18, 0x8d, 0xed, 0x33, 0x95, 0xe0, 0xfc, 0xed, 0x2f,
0xec, 0x3e, 0xc3, 0x64, 0x80, 0x94, 0x80, 0x22, 0xe5, 0x2e, 0x94, 0x00, 0xe5, 0x2d, 0x64, 0x80,
0x94, 0x80, 0x22, 0x85, 0x27, 0x82, 0x85, 0x26, 0x83, 0x22, 0xe5, 0x2d, 0xf0, 0xa3, 0xe5, 0x2e,
0xf0, 0x22, 0x78, 0x62, 0xe6, 0xf5, 0x91, 0x78, 0x58, 0x22, 0x78, 0x68, 0xe6, 0xc3, 0x13, 0xff,
0xe5, 0x2b, 0xc3, 0x9f, 0x22, 0x7e, 0x00, 0x7d, 0x00, 0x7b, 0xfe, 0x02, 0x18, 0xec, 0x05, 0x1e,
0x05, 0x1e, 0x05, 0x1f, 0x22, 0xe0, 0xfe, 0xad, 0x2c, 0x74, 0x01, 0xa8, 0x05, 0x08, 0x22, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x9f, 0x22, 0x78, 0x68, 0xe6, 0x24, 0xfe, 0xff, 0x22, 0xc0, 0xe0, 0xc0,
0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02,
0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0xe8, 0x54, 0x3d, 0x70, 0x03,
0x02, 0x30, 0xa1, 0x85, 0xe8, 0x3d, 0x75, 0xe8, 0x00, 0xe5, 0x3d, 0x54, 0x38, 0x60, 0x07, 0x78,
0x8c, 0x76, 0x00, 0x75, 0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe2, 0x07, 0x78, 0x8c, 0x76, 0x00, 0x75,
0x4a, 0x00, 0xe5, 0x3d, 0x30, 0xe0, 0xd3, 0xe5, 0x4a, 0x70, 0x03, 0x02, 0x30, 0x5e, 0x14, 0x60,
0x6c, 0x14, 0x60, 0x4b, 0x14, 0x70, 0xc3, 0x85, 0xec, 0x3d, 0x75, 0xef, 0x01, 0x78, 0x8c, 0xe6,
0x70, 0x09, 0xaf, 0x3d, 0x08, 0xf6, 0x08, 0xa6, 0x07, 0x80, 0x13, 0x78, 0x8e, 0xe6, 0x7f, 0x00,
0x18, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xad, 0x3d, 0xee, 0x18, 0xf6, 0xed, 0x08, 0xf6, 0x78, 0x8c,
0x06, 0xe6, 0xc3, 0x18, 0x96, 0x40, 0x93, 0x75, 0x4a, 0x02, 0x78, 0x8d, 0xe6, 0xfe, 0x08, 0xe6,
0xff, 0x08, 0xee, 0xf6, 0xfe, 0x08, 0xef, 0xf6, 0xff, 0x12, 0x46, 0xeb, 0x02, 0x2f, 0x9a, 0x85,
0xec, 0x3d, 0x12, 0x46, 0xa4, 0x70, 0x01, 0x06, 0x14, 0xff, 0xad, 0x3d, 0x12, 0x40, 0x62, 0xef,
0x70, 0x06, 0x75, 0xef, 0x01, 0x02, 0x2f, 0x9a, 0x75, 0x4a, 0x00, 0x80, 0x5e, 0xe5, 0x3d, 0x30,
0xe1, 0x09, 0x75, 0xef, 0x00, 0x75, 0x4a, 0x00, 0x02, 0x2f, 0x9a, 0x12, 0x46, 0xa4, 0x70, 0x01,
0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x02, 0x02, 0x2f, 0x9a, 0x85, 0xec,
0x3d, 0xe5, 0x3d, 0xc3, 0x13, 0x65, 0x4b, 0x70, 0x32, 0xe5, 0x3d, 0x30, 0xe0, 0x24, 0x78, 0x8d,
0xe6, 0xfe, 0x08, 0xe6, 0xff, 0x08, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x18, 0x12, 0x46, 0xa6, 0x70,
0x01, 0x06, 0x14, 0xff, 0x12, 0x41, 0xed, 0x8f, 0xec, 0x75, 0xef, 0x03, 0x75, 0x4a, 0x01, 0x02,
0x2f, 0x9a, 0x75, 0xef, 0x01, 0x75, 0x4a, 0x03, 0x02, 0x2f, 0x9a, 0x75, 0xef, 0x00, 0x02, 0x2f,
0x9a, 0xc2, 0x9c, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0,
0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0x78, 0x67,
0xe6, 0x60, 0x01, 0x16, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3, 0x78, 0x68, 0x96, 0x40, 0x03, 0x02,
0x31, 0xf7, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c, 0x12, 0x2e, 0xa0, 0xef, 0x56, 0x70,
0x03, 0x02, 0x31, 0xf2, 0x12, 0x2e, 0x52, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x5d, 0x12,
0x2f, 0x6f, 0xf5, 0x2e, 0xec, 0x9e, 0xf5, 0x2d, 0x90, 0x01, 0x07, 0x12, 0x2e, 0xb6, 0xe0, 0xf5,
0x2f, 0xe4, 0xf5, 0x87, 0x78, 0x67, 0xe6, 0x60, 0x09, 0xd3, 0x12, 0x2f, 0x28, 0x40, 0x03, 0x02,
0x31, 0xf2, 0xaf, 0x2e, 0xae, 0x2d, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50,
0x0d, 0x12, 0x2f, 0x28, 0x40, 0x04, 0x05, 0x2f, 0x80, 0x5a, 0x15, 0x2f, 0x80, 0x56, 0x12, 0x2e,
0xb3, 0xe0, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0xef, 0x25, 0x2e, 0xf5, 0x2e, 0xee, 0x35, 0x2d, 0xf5,
0x2d, 0xd3, 0xe5, 0x2e, 0x94, 0x78, 0x12, 0x2f, 0x2c, 0x40, 0x09, 0x12, 0x2e, 0x52, 0xe4, 0x75,
0xf0, 0x01, 0x80, 0x1a, 0xe5, 0x2e, 0x24, 0x78, 0xe4, 0x35, 0x2d, 0xc3, 0x64, 0x80, 0x94, 0x80,
0x75, 0xf0, 0x11, 0xe5, 0x2c, 0x50, 0x11, 0x12, 0x2e, 0x57, 0x74, 0xff, 0xf5, 0xf0, 0x12, 0x16,
0x27, 0x12, 0x2e, 0xb3, 0xe4, 0xf0, 0x80, 0x09, 0x90, 0x01, 0x06, 0x12, 0x18, 0x8d, 0xe5, 0x2e,
0xf0, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0xdb, 0x74, 0x04, 0x93, 0xff, 0xd3, 0x64, 0x80, 0xf8, 0xe5,
0x2f, 0x64, 0x80, 0x98, 0x50, 0x0c, 0xef, 0x33, 0x95, 0xe0, 0xfe, 0xad, 0x2f, 0x12, 0x2f, 0x19,
0x50, 0x13, 0xe4, 0xf5, 0x2f, 0x12, 0x2e, 0x5d, 0xe0, 0xfe, 0xa3, 0xe0, 0xff, 0x12, 0x2e, 0x52,
0xee, 0xf0, 0xa3, 0xef, 0xf0, 0xe5, 0x2c, 0x90, 0x01, 0x07, 0x12, 0x2f, 0x13, 0xe5, 0x2f, 0xf0,
0x78, 0x67, 0xe6, 0x70, 0x2d, 0x12, 0x2e, 0x52, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x90, 0x01, 0x0d,
0x12, 0x18, 0x8d, 0x12, 0x2f, 0x6f, 0xff, 0xec, 0x9e, 0xfe, 0x12, 0x46, 0x5f, 0x7c, 0x00, 0x7d,
0x02, 0x12, 0x15, 0xf1, 0x12, 0x2e, 0xdb, 0x12, 0x2f, 0x04, 0x50, 0x06, 0x78, 0x64, 0xe6, 0x44,
0x10, 0xf6, 0x05, 0x2c, 0x02, 0x30, 0xc7, 0x22, 0xe4, 0xf5, 0x2c, 0xf5, 0x2d, 0xf5, 0x2e, 0xf5,
0x2f, 0x78, 0x92, 0xf6, 0xe5, 0x0a, 0xb4, 0xff, 0x09, 0xe5, 0x0b, 0xf4, 0x60, 0x04, 0xe5, 0x0b,
0x80, 0x12, 0xe5, 0x0a, 0xf4, 0x70, 0x03, 0x02, 0x33, 0x30, 0xe5, 0x0b, 0xf4, 0x60, 0x03, 0x02,
0x33, 0x30, 0xe5, 0x0a, 0x25, 0xe0, 0xf5, 0x2b, 0xe5, 0x2b, 0xd3, 0x94, 0x02, 0x40, 0x64, 0x74,
0xd2, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xd3, 0x25, 0x2b, 0xf8, 0xe2, 0x30, 0xe0,
0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f,
0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x80, 0x12, 0x24, 0xd1,
0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x7f, 0x12, 0x25, 0xec, 0xf5, 0x2d, 0xed, 0x9e, 0xf5, 0x2c, 0xe5,
0x2d, 0xae, 0x2c, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee, 0xc4, 0xf8,
0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2c, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2d, 0x78, 0x92, 0x74,
0x08, 0x26, 0xf6, 0x78, 0x91, 0xe6, 0x24, 0xfe, 0xff, 0xe4, 0x34, 0xff, 0xfe, 0xef, 0x25, 0xe0,
0xff, 0xee, 0x33, 0xfe, 0xc3, 0xe5, 0x2b, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x50,
0x64, 0x74, 0xda, 0x25, 0x2b, 0xf8, 0xe2, 0x20, 0xe0, 0x09, 0x74, 0xdb, 0x25, 0x2b, 0xf8, 0xe2,
0x30, 0xe0, 0x52, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12, 0x24, 0x98, 0xe5, 0x2b, 0x25, 0xe0,
0x24, 0x8f, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x90, 0x12,
0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x24, 0x8f, 0x12, 0x25, 0xec, 0xf5, 0x2f, 0xed, 0x9e, 0xf5,
0x2e, 0xe5, 0x2f, 0xae, 0x2e, 0x78, 0x03, 0xc3, 0x33, 0xce, 0x33, 0xce, 0xd8, 0xf9, 0xff, 0xee,
0xc4, 0xf8, 0x54, 0xf0, 0xc8, 0x68, 0xf5, 0x2e, 0xef, 0xc4, 0x54, 0x0f, 0x48, 0xf5, 0x2f, 0x78,
0x92, 0x74, 0x08, 0x26, 0xf6, 0xe5, 0x2d, 0x25, 0x2f, 0xff, 0xe5, 0x2c, 0x35, 0x2e, 0xfe, 0x7c,
0x00, 0x7d, 0x03, 0x12, 0x15, 0x8a, 0xee, 0xc3, 0x13, 0x79, 0x93, 0xf7, 0xef, 0x13, 0x09, 0xf7,
0x22, 0x8b, 0x26, 0x8a, 0x27, 0x89, 0x28, 0xe4, 0xf5, 0x29, 0xf5, 0x2a, 0xf5, 0x2b, 0x85, 0x49,
0x82, 0x85, 0x48, 0x83, 0xe4, 0x93, 0xff, 0xe5, 0x29, 0xc3, 0x9f, 0x40, 0x03, 0x02, 0x34, 0x12,
0x12, 0x46, 0x26, 0x74, 0x01, 0x93, 0xf5, 0x2c, 0x12, 0x46, 0x20, 0x74, 0x02, 0x93, 0xf5, 0x2d,
0x12, 0x46, 0x20, 0x74, 0x04, 0x93, 0xfc, 0x74, 0x05, 0x93, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x86, 0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0xd3, 0x9d, 0xee, 0x9c, 0x40, 0x6f, 0x7c, 0x00, 0x7d,
0x05, 0x12, 0x15, 0x8a, 0xe5, 0x2d, 0x25, 0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x24, 0x01, 0xfd, 0x18,
0xe2, 0x34, 0x00, 0xfc, 0x12, 0x15, 0x9c, 0x8e, 0x2e, 0x8f, 0x2f, 0x12, 0x46, 0x20, 0x74, 0x03,
0x93, 0x30, 0xe7, 0x2b, 0x54, 0x7f, 0xc3, 0x95, 0x2f, 0xff, 0xe4, 0x95, 0x2e, 0xfe, 0x12, 0x46,
0x5f, 0xc3, 0x74, 0x03, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80, 0x98, 0x40, 0x2e, 0xaf, 0x29,
0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x80, 0x1d, 0x12,
0x46, 0x20, 0x74, 0x03, 0x93, 0xc3, 0x95, 0x2f, 0xe4, 0x95, 0x2e, 0x50, 0x0f, 0xaf, 0x29, 0x74,
0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0x42, 0x2a, 0x12, 0x46, 0x20, 0x74,
0x01, 0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x20, 0xe0, 0x0f, 0x12, 0x46, 0x20, 0x74, 0x02,
0x93, 0x24, 0xd6, 0xf8, 0xe2, 0xc3, 0x13, 0x30, 0xe0, 0x03, 0x75, 0x2b, 0x01, 0x05, 0x29, 0x02,
0x33, 0x3e, 0x90, 0x04, 0xa7, 0xe0, 0x65, 0x2a, 0x60, 0x0a, 0xe5, 0x2a, 0xf0, 0xe4, 0x90, 0x04,
0xa6, 0xf0, 0x80, 0x14, 0x90, 0x04, 0xa6, 0xe0, 0x04, 0xf0, 0xc3, 0x94, 0x03, 0x40, 0x09, 0xe0,
0x14, 0xf0, 0x90, 0x04, 0xa8, 0xe5, 0x2a, 0xf0, 0x90, 0x04, 0xa8, 0xe0, 0xab, 0x26, 0xaa, 0x27,
0xa9, 0x28, 0x12, 0x15, 0x56, 0xaf, 0x2b, 0x22, 0xe4, 0xf5, 0x2b, 0xff, 0xf5, 0x2c, 0x78, 0x7b,
0xf6, 0x08, 0xf6, 0x7e, 0xff, 0xe5, 0x2b, 0xc3, 0x78, 0x91, 0x96, 0x40, 0x03, 0x02, 0x34, 0xea,
0xe5, 0x2b, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0xd1, 0xe5, 0x2b, 0x25, 0xe0, 0x25,
0xe0, 0x24, 0x87, 0xf8, 0xe2, 0x2d, 0xf5, 0x31, 0x18, 0xe2, 0x3c, 0xf5, 0x30, 0x85, 0x1c, 0x82,
0x85, 0x1b, 0x83, 0x78, 0x7b, 0xe6, 0xfc, 0x08, 0xe6, 0xfd, 0x74, 0x08, 0x93, 0x2d, 0xfb, 0x74,
0x07, 0x93, 0x3c, 0xfa, 0xd3, 0xe5, 0x31, 0x9b, 0xe5, 0x30, 0x9a, 0x40, 0x05, 0x7f, 0x01, 0x18,
0x80, 0x3c, 0x85, 0x1c, 0x82, 0x85, 0x1b, 0x83, 0x74, 0x08, 0x93, 0x25, 0x31, 0xfb, 0x74, 0x07,
0x93, 0x35, 0x30, 0xfa, 0xd3, 0xed, 0x9b, 0xec, 0x9a, 0x40, 0x2a, 0xef, 0x60, 0x1e, 0xe4, 0xff,
0x12, 0x25, 0xf7, 0xfc, 0x08, 0xe6, 0xfd, 0xe5, 0x2c, 0x25, 0xe0, 0x24, 0x75, 0xf8, 0xa6, 0x04,
0x08, 0xa6, 0x05, 0x05, 0x2c, 0xe5, 0x2c, 0xc3, 0x94, 0x03, 0x50, 0x0e, 0x78, 0x7b, 0xa6, 0x30,
0x08, 0xa6, 0x31, 0xae, 0x2b, 0x05, 0x2b, 0x02, 0x34, 0x55, 0xef, 0x60, 0x1c, 0xe5, 0x2c, 0xc3,
0x94, 0x02, 0x50, 0x15, 0x12, 0x25, 0xf7, 0xfe, 0x08, 0xe6, 0xff, 0xe5, 0x2c, 0x25, 0xe0, 0x24,
0x75, 0xf8, 0xa6, 0x06, 0x08, 0xa6, 0x07, 0x05, 0x2c, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x75,
0x36, 0xff, 0x12, 0x35, 0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b,
0xf8, 0xe6, 0xff, 0x8f, 0x0a, 0x7b, 0x00, 0x7a, 0x00, 0x79, 0x75, 0x85, 0x2b, 0x36, 0x12, 0x35,
0x42, 0xb4, 0xff, 0x04, 0x7f, 0xff, 0x80, 0x07, 0x74, 0x2d, 0x25, 0x2b, 0xf8, 0xe6, 0xff, 0x8f,
0x0b, 0x22, 0xad, 0x2c, 0x12, 0x42, 0x28, 0x8f, 0x2b, 0xe5, 0x2b, 0x22, 0xe5, 0x08, 0x24, 0x04,
0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x36, 0xf9, 0xe3, 0xb5, 0x07, 0x19, 0x19, 0xe3, 0xb5, 0x06,
0x14, 0x12, 0x24, 0x94, 0xe5, 0x08, 0x24, 0x38, 0xf9, 0xe3, 0x6f, 0x70, 0x03, 0x19, 0xe3, 0x6e,
0x70, 0x03, 0x02, 0x36, 0x1d, 0x12, 0x25, 0xcc, 0x70, 0x78, 0xe5, 0x08, 0x24, 0x0d, 0x12, 0x24,
0xf1, 0x24, 0x09, 0xf8, 0x74, 0x01, 0x12, 0x24, 0x93, 0xe5, 0x08, 0x24, 0x3e, 0xf8, 0x12, 0x24,
0xa8, 0x12, 0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5,
0x08, 0x24, 0x3c, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0,
0x3e, 0xfe, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xc3, 0x9f, 0xee, 0x64, 0x80, 0xf8, 0x74, 0x80,
0x98, 0x40, 0x65, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24,
0xd1, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0x12, 0x24, 0x8a, 0xe5, 0x08, 0x24, 0x3d, 0x12,
0x24, 0xd1, 0x12, 0x24, 0xb4, 0x74, 0x15, 0x93, 0xfb, 0x12, 0x3d, 0x5a, 0xe5, 0x08, 0x24, 0x06,
0x80, 0x26, 0x12, 0x25, 0x68, 0x60, 0x05, 0x74, 0x04, 0xf2, 0x80, 0x2c, 0x74, 0x02, 0xf2, 0xe5,
0x08, 0x24, 0x35, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3b, 0x12, 0x24, 0xbf, 0xe5, 0x08, 0x24,
0x37, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x3d, 0x12, 0x24, 0xbf, 0x80, 0x0b, 0x12, 0x25, 0x68,
0x7f, 0x00, 0x60, 0x02, 0x7f, 0x03, 0xef, 0xf2, 0x12, 0x25, 0x68, 0x60, 0x03, 0xb4, 0x02, 0x04,
0x7f, 0x00, 0x80, 0x02, 0x7f, 0x01, 0xe5, 0x08, 0x24, 0x08, 0xf8, 0xef, 0xf2, 0x22, 0xae, 0x07,
0x12, 0x46, 0xc9, 0x12, 0x14, 0x00, 0x12, 0x46, 0x92, 0x12, 0x44, 0x61, 0x75, 0xa9, 0x40, 0x75,
0x89, 0xc0, 0x75, 0x8b, 0x20, 0xe4, 0xf5, 0x88, 0xc2, 0xaf, 0x75, 0xfe, 0x3d, 0x85, 0xff, 0x27,
0x7f, 0x01, 0x12, 0x46, 0x75, 0x85, 0x95, 0x23, 0x85, 0x94, 0x24, 0xac, 0x23, 0xad, 0x24, 0xaf,
0x06, 0x7e, 0x00, 0x12, 0x18, 0xbf, 0xef, 0x24, 0x80, 0xff, 0xe4, 0x3e, 0xfe, 0xe4, 0x3d, 0xfd,
0xe4, 0x3c, 0xfc, 0xe4, 0xfb, 0x7a, 0x01, 0xf9, 0xf8, 0x12, 0x17, 0x73, 0x8e, 0x23, 0x8f, 0x24,
0x85, 0x24, 0x94, 0xe5, 0x23, 0xf5, 0x95, 0xe4, 0xf5, 0x22, 0x75, 0x21, 0x80, 0xe5, 0x21, 0x42,
0x22, 0xe5, 0x22, 0xd3, 0x95, 0x27, 0x50, 0x35, 0xaf, 0x22, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95,
0x24, 0xf5, 0x26, 0xee, 0x95, 0x23, 0xf5, 0x25, 0xaf, 0x26, 0xfe, 0x12, 0x46, 0x5f, 0xc3, 0xef,
0x94, 0x05, 0xee, 0x64, 0x80, 0x94, 0x80, 0x50, 0x05, 0x75, 0x28, 0x01, 0x80, 0x1f, 0xd3, 0xe5,
0x26, 0x94, 0x00, 0xe5, 0x25, 0x64, 0x80, 0x94, 0x80, 0x40, 0x07, 0x80, 0x00, 0xe5, 0x21, 0xf4,
0x52, 0x22, 0xe5, 0x21, 0xc3, 0x13, 0xf5, 0x21, 0xd3, 0x94, 0x02, 0x50, 0xb0, 0xc2, 0xb8, 0xe5,
0x28, 0x70, 0x3a, 0xe5, 0x22, 0x24, 0x04, 0xff, 0x12, 0x45, 0xf1, 0xc3, 0xef, 0x95, 0x24, 0xff,
0xee, 0x95, 0x23, 0xfe, 0x12, 0x46, 0x5f, 0x8e, 0x29, 0x8f, 0x2a, 0xaf, 0x26, 0xae, 0x25, 0x12,
0x46, 0x5f, 0x8e, 0x25, 0x8f, 0x26, 0xc3, 0xe5, 0x26, 0x95, 0x2a, 0xe5, 0x29, 0x64, 0x80, 0xf8,
0xe5, 0x25, 0x64, 0x80, 0x98, 0x50, 0x06, 0x75, 0xfe, 0xbd, 0x85, 0x22, 0xff, 0x02, 0x44, 0x33,
0x8f, 0x3e, 0xe5, 0x3e, 0x70, 0x10, 0x90, 0x04, 0xff, 0xe0, 0xfe, 0xb4, 0xfe, 0x05, 0x78, 0x81,
0xe6, 0xff, 0x22, 0xaf, 0x06, 0x22, 0x15, 0x3e, 0x90, 0x04, 0xff, 0xe0, 0xb4, 0x04, 0x05, 0xaf,
0x3e, 0x02, 0x14, 0x1e, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x06, 0x70, 0x12, 0xe5, 0x3e, 0x30, 0xe0,
0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e, 0xc3, 0x13, 0xff, 0x12, 0x46, 0x47, 0x80, 0x18, 0x90, 0x04,
0xff, 0xe0, 0x64, 0x07, 0x70, 0x18, 0xe5, 0x3e, 0x30, 0xe0, 0x03, 0xaf, 0x47, 0x22, 0xe5, 0x3e,
0xc3, 0x13, 0xff, 0x12, 0x46, 0x3b, 0x8e, 0x46, 0x8f, 0x47, 0xe5, 0x46, 0xff, 0x22, 0x90, 0x04,
0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x04, 0xef, 0xb4, 0xfe, 0x08, 0x74, 0x81, 0x25, 0x3e, 0xf8,
0xe6, 0xff, 0x22, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x02, 0x70, 0x70, 0x05, 0x3e, 0xe5, 0x3e, 0xb4,
0x01, 0x03, 0x7f, 0x01, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x10, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x20,
0x50, 0x08, 0xe5, 0x3e, 0x90, 0x13, 0xe0, 0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x20, 0x40,
0x1d, 0xe5, 0x3e, 0x94, 0x30, 0x50, 0x17, 0xe5, 0x3e, 0x24, 0xe0, 0xff, 0xe4, 0x34, 0xff, 0xfe,
0x74, 0x63, 0x2f, 0xf5, 0x82, 0x74, 0x42, 0x3e, 0xf5, 0x83, 0xe4, 0x93, 0xff, 0x22, 0xe5, 0x3e,
0xc3, 0x94, 0x30, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x50, 0x50, 0x08, 0xe5, 0x3e, 0x90, 0x42, 0x3c,
0x93, 0xff, 0x22, 0xe5, 0x3e, 0xc3, 0x94, 0x50, 0x40, 0x0e, 0xe5, 0x3e, 0x94, 0x90, 0x50, 0x08,
0xe5, 0x3e, 0x90, 0x42, 0x28, 0x93, 0xff, 0x22, 0x7f, 0x00, 0x22, 0x7f, 0x00, 0x22, 0x12, 0x25,
0x68, 0x60, 0x6e, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe2, 0xf9, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xfe,
0x12, 0x24, 0xb4, 0x74, 0x1f, 0x93, 0xfd, 0x7c, 0x00, 0x12, 0x15, 0x8a, 0xe5, 0x08, 0x24, 0x06,
0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xfb, 0xc3, 0x9f, 0xea, 0x9e, 0x40, 0x1a, 0xe9, 0x24, 0x01, 0xff,
0xe4, 0x33, 0xfe, 0x74, 0x1e, 0x93, 0xfd, 0x12, 0x15, 0x8a, 0x12, 0x26, 0x4b, 0x9e, 0xfe, 0xd3,
0xeb, 0x9f, 0xea, 0x9e, 0x40, 0x32, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0x74, 0x01, 0xf2, 0x12, 0x25,
0xcc, 0xff, 0xe5, 0x08, 0x24, 0x09, 0xf8, 0xef, 0xf2, 0xe5, 0x08, 0x24, 0x35, 0x12, 0x24, 0x98,
0x12, 0x24, 0xbb, 0x12, 0x25, 0xcc, 0x70, 0x2b, 0xe5, 0x08, 0x24, 0x37, 0x12, 0x24, 0x98, 0x80,
0x1b, 0xe5, 0x08, 0x24, 0x0b, 0xf8, 0xe4, 0xf2, 0xe5, 0x08, 0x24, 0x04, 0x12, 0x24, 0x98, 0x7d,
0x01, 0x12, 0x3b, 0xb3, 0x12, 0x24, 0x8a, 0xe4, 0xfd, 0x12, 0x3b, 0xb3, 0xe5, 0x08, 0x24, 0x06,
0x12, 0x24, 0xbf, 0x12, 0x24, 0xb4, 0x74, 0x19, 0x93, 0xff, 0x7e, 0x00, 0xe5, 0x08, 0x24, 0x04,
0xf8, 0xe2, 0xfc, 0x08, 0xe2, 0xc3, 0x9f, 0xec, 0x9e, 0x40, 0x33, 0x12, 0x24, 0xcd, 0xc3, 0x9f,
0xec, 0x9e, 0x40, 0x2a, 0x74, 0x02, 0x93, 0x9f, 0xff, 0x74, 0x01, 0x93, 0x9e, 0xfe, 0xe5, 0x08,
0x24, 0x04, 0xf8, 0xe2, 0xfa, 0x08, 0xe2, 0xd3, 0x9f, 0xea, 0x9e, 0x50, 0x11, 0x74, 0x19, 0x93,
0xff, 0x12, 0x26, 0x4b, 0x94, 0x00, 0xfe, 0xd3, 0xed, 0x9f, 0xec, 0x9e, 0x40, 0x07, 0x12, 0x24,
0xc6, 0x54, 0xf7, 0xf2, 0x22, 0x12, 0x24, 0xc6, 0x44, 0x08, 0xf2, 0x22, 0x15, 0x4d, 0xa8, 0x4d,
0xa6, 0x05, 0x15, 0x4d, 0xa8, 0x4d, 0xa6, 0x07, 0xe5, 0x4d, 0x24, 0xfb, 0xf5, 0x4d, 0x24, 0x05,
0xf8, 0xe6, 0xff, 0x54, 0x07, 0x90, 0x48, 0x1c, 0x93, 0xa8, 0x4d, 0xf6, 0xf4, 0xa8, 0x4d, 0x08,
0xf6, 0xef, 0xc4, 0x54, 0x0f, 0xa8, 0x4d, 0x08, 0x08, 0xf6, 0x12, 0x43, 0x61, 0xb4, 0x02, 0x11,
0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xd3, 0x94, 0x03, 0x40, 0x07, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe4,
0xf6, 0xa8, 0x4d, 0x08, 0x08, 0xe6, 0xff, 0x90, 0x48, 0x10, 0x93, 0x24, 0x00, 0xfd, 0xe4, 0x34,
0xff, 0xfc, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xa6, 0x04, 0x08, 0xa6, 0x05, 0xef, 0xd3, 0x94, 0x03,
0x50, 0x13, 0x12, 0x43, 0x61, 0x30, 0xe2, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06, 0x12,
0x43, 0x3f, 0x08, 0x56, 0xf0, 0x12, 0x43, 0x68, 0x70, 0x01, 0x16, 0x12, 0x43, 0x61, 0xff, 0x30,
0xe1, 0x07, 0x12, 0x43, 0x50, 0x46, 0xf0, 0x80, 0x06, 0x12, 0x43, 0x50, 0x08, 0x56, 0xf0, 0x12,
0x43, 0x68, 0x70, 0x01, 0x16, 0xef, 0x30, 0xe0, 0x07, 0x12, 0x43, 0x3f, 0x46, 0xf0, 0x80, 0x06,
0x12, 0x43, 0x3f, 0x08, 0x56, 0xf0, 0xe5, 0x4d, 0x24, 0x07, 0xf5, 0x4d, 0x22, 0x8c, 0x37, 0x8d,
0x38, 0x8b, 0x34, 0x8a, 0x35, 0x89, 0x36, 0x90, 0x00, 0x0c, 0x12, 0x15, 0x29, 0x70, 0x24, 0xf5,
0x39, 0x12, 0x45, 0xbd, 0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39,
0xb4, 0x06, 0xee, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x90, 0x00, 0x0c, 0x74, 0x06, 0x12, 0x15,
0x68, 0x80, 0x35, 0xe4, 0xf5, 0x39, 0xab, 0x34, 0xaa, 0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5,
0x39, 0x90, 0x00, 0x02, 0x12, 0x18, 0x8d, 0x12, 0x16, 0x68, 0xff, 0xae, 0xf0, 0x12, 0x45, 0xc3,
0xee, 0x8f, 0xf0, 0x12, 0x16, 0xa0, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x05, 0xd9, 0x12, 0x45, 0xbd,
0xe5, 0x37, 0x85, 0x38, 0xf0, 0x12, 0x16, 0xa0, 0xe4, 0xf5, 0x39, 0xf5, 0x3b, 0xf5, 0x3c, 0xf5,
0x3a, 0x12, 0x45, 0xbd, 0x12, 0x16, 0x68, 0xfd, 0xac, 0xf0, 0xe5, 0x39, 0x90, 0x48, 0x3c, 0x93,
0xfb, 0xff, 0x7e, 0x00, 0x12, 0x15, 0x8a, 0xef, 0x25, 0x3c, 0xf5, 0x3c, 0xee, 0x35, 0x3b, 0xf5,
0x3b, 0xeb, 0x25, 0x3a, 0xf5, 0x3a, 0x05, 0x39, 0xe5, 0x39, 0xb4, 0x06, 0xd4, 0xe5, 0x3a, 0xfd,
0x7c, 0x00, 0xae, 0x3b, 0xaf, 0x3c, 0x12, 0x15, 0x9c, 0x22, 0xe4, 0xf5, 0x2c, 0xe5, 0x2c, 0xc3,
0x78, 0x68, 0x96, 0x40, 0x03, 0x02, 0x3b, 0x06, 0xe5, 0x2c, 0x12, 0x2e, 0xec, 0xff, 0xe5, 0x2c,
0x12, 0x2e, 0xa0, 0xef, 0x56, 0x60, 0x7a, 0x12, 0x2f, 0x0e, 0xe0, 0xf5, 0x2d, 0xe5, 0x2c, 0x12,
0x2e, 0x5f, 0x12, 0x2e, 0xf3, 0xe5, 0x2c, 0x12, 0x2e, 0x4c, 0x12, 0x2f, 0x6f, 0xf5, 0x2f, 0xec,
0x9e, 0xf5, 0x2e, 0xe4, 0xf5, 0x87, 0xaf, 0x2f, 0xae, 0x2e, 0x12, 0x46, 0x5f, 0x12, 0x2e, 0xdb,
0x12, 0x2f, 0x04, 0x50, 0x3d, 0xe5, 0x2f, 0x94, 0x00, 0xe5, 0x2e, 0x64, 0x80, 0x94, 0x80, 0x40,
0x12, 0x74, 0x03, 0x93, 0x05, 0x2d, 0xd3, 0x64, 0x80, 0xf8, 0xe5, 0x2d, 0x64, 0x80, 0x98, 0x40,
0x2a, 0x80, 0x14, 0x12, 0x2e, 0xdb, 0x74, 0x03, 0x93, 0xff, 0x33, 0x95, 0xe0, 0xfe, 0x15, 0x2d,
0xad, 0x2d, 0x12, 0x2f, 0x19, 0x50, 0x14, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x01, 0xf6,
0x80, 0x09, 0xe4, 0xf5, 0x2d, 0x78, 0x64, 0xe6, 0x44, 0x04, 0xf6, 0x12, 0x2f, 0x0e, 0xe5, 0x2d,
0xf0, 0x05, 0x2c, 0x02, 0x3a, 0x6d, 0x78, 0x64, 0xe6, 0x30, 0xe0, 0x03, 0x44, 0x04, 0xf6, 0x22,
0x8e, 0x26, 0x8f, 0x27, 0xe4, 0x78, 0x63, 0xf6, 0x85, 0x26, 0x1b, 0x85, 0x27, 0x1c, 0xe5, 0x27,
0x24, 0x31, 0xff, 0xe4, 0x35, 0x26, 0xfa, 0xa9, 0x07, 0x7b, 0xff, 0x78, 0x59, 0x7c, 0x00, 0x7d,
0x00, 0x7e, 0x00, 0x7f, 0x09, 0x12, 0x15, 0x03, 0x7e, 0x00, 0x7f, 0x08, 0x7d, 0xff, 0x7b, 0x00,
0x7a, 0x00, 0x79, 0x50, 0x12, 0x18, 0xec, 0x12, 0x2f, 0x33, 0x74, 0x31, 0x93, 0x24, 0xf7, 0x78,
0x59, 0xf6, 0x12, 0x2f, 0x33, 0x74, 0x38, 0x93, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0xe4, 0x78, 0x66,
0xf6, 0x43, 0xfa, 0x90, 0x75, 0xe5, 0x99, 0x53, 0xaa, 0xfd, 0xe5, 0x91, 0x20, 0xe0, 0xfb, 0xc2,
0x99, 0x12, 0x2f, 0x33, 0xe4, 0x93, 0xf5, 0x28, 0xf4, 0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12,
0x3f, 0xc9, 0xe4, 0xfd, 0x12, 0x3b, 0x9f, 0x12, 0x2f, 0x33, 0x74, 0x01, 0x93, 0xf5, 0x28, 0xf4,
0x60, 0x0c, 0xe4, 0xfd, 0xaf, 0x28, 0x12, 0x3f, 0xc9, 0x7d, 0x01, 0x12, 0x3b, 0x9f, 0x22, 0xaf,
0x28, 0x12, 0x44, 0x05, 0x7d, 0x02, 0xaf, 0x28, 0x12, 0x39, 0x0c, 0x7d, 0x07, 0xaf, 0x28, 0x12,
0x39, 0x0c, 0x22, 0xab, 0x07, 0xaa, 0x06, 0xeb, 0x4a, 0x70, 0x03, 0xfe, 0xff, 0x22, 0xed, 0x60,
0x19, 0x12, 0x24, 0xb4, 0x74, 0x01, 0x93, 0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x02, 0x93, 0x13, 0xf5,
0x2e, 0x74, 0x1d, 0x93, 0xf5, 0x2b, 0x74, 0x1c, 0x80, 0x17, 0x12, 0x24, 0xb4, 0x74, 0x03, 0x93,
0xc3, 0x13, 0xf5, 0x2d, 0x74, 0x04, 0x93, 0x13, 0xf5, 0x2e, 0x74, 0x1f, 0x93, 0xf5, 0x2b, 0x74,
0x1e, 0x93, 0xf5, 0x2c, 0xc3, 0x12, 0x26, 0x0e, 0x50, 0x2c, 0xc3, 0xe5, 0x2e, 0x9b, 0xff, 0xe5,
0x2d, 0x9a, 0xfe, 0xab, 0x2b, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xaa, 0x06, 0xab, 0x07,
0x12, 0x26, 0x0d, 0x40, 0x06, 0x7a, 0x00, 0x7b, 0x01, 0x80, 0x29, 0xc3, 0xe5, 0x2e, 0x9b, 0xfb,
0xe5, 0x2d, 0x9a, 0xfa, 0x80, 0x1e, 0x12, 0x26, 0x0d, 0x40, 0x19, 0xeb, 0x95, 0x2e, 0xff, 0xea,
0x95, 0x2d, 0xfe, 0xab, 0x2c, 0xad, 0x2e, 0xac, 0x2d, 0x12, 0x3f, 0x14, 0xe5, 0x2e, 0x2f, 0xfb,
0xe5, 0x2d, 0x3e, 0xfa, 0xae, 0x02, 0xaf, 0x03, 0x22, 0x12, 0x25, 0x68, 0x60, 0x22, 0xe5, 0x08,
0x24, 0x34, 0xf8, 0xe2, 0x70, 0x1a, 0x12, 0x26, 0x15, 0x12, 0x46, 0xd0, 0x12, 0x26, 0x1f, 0x12,
0x46, 0xd0, 0x12, 0x24, 0xb4, 0x74, 0x20, 0x93, 0xff, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xef, 0xf2,
0xe5, 0x08, 0x24, 0x31, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24, 0x07, 0xf8, 0x12, 0x24, 0xa8, 0x12,
0x46, 0x5f, 0xc0, 0x06, 0xc0, 0x07, 0xe5, 0x08, 0x24, 0x2f, 0x12, 0x24, 0x98, 0xe5, 0x08, 0x24,
0x05, 0xf8, 0x12, 0x24, 0xa8, 0x12, 0x46, 0x5f, 0xd0, 0xe0, 0x2f, 0xff, 0xd0, 0xe0, 0x3e, 0xfe,
0xe5, 0x08, 0x24, 0x13, 0x12, 0x24, 0xbf, 0x12, 0x25, 0xa4, 0xe5, 0x08, 0x24, 0x2f, 0xf8, 0x7c,
0x00, 0x7d, 0xfe, 0x12, 0x25, 0x56, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2, 0x60, 0x14, 0x7e, 0x00,
0x7f, 0x06, 0x7d, 0x00, 0x12, 0x25, 0xa4, 0x12, 0x18, 0xec, 0xe5, 0x08, 0x24, 0x0c, 0xf8, 0xe2,
0x14, 0xf2, 0x22, 0x75, 0x2c, 0x05, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x0f,
0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x05, 0x12, 0x2e, 0xa9, 0xe4, 0xf0, 0x0f, 0x80, 0xec, 0x78,
0x59, 0xe6, 0xf5, 0x2d, 0x76, 0x05, 0xe4, 0xf5, 0x87, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x18, 0x12,
0x2e, 0x95, 0xee, 0x56, 0x60, 0x0e, 0x12, 0x2e, 0xa9, 0x12, 0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0x4e, 0xf0, 0x0f, 0x80, 0xe3, 0x12, 0x40, 0xac, 0x12, 0x43, 0x0c, 0xe4, 0xff, 0x12,
0x2e, 0xfc, 0x50, 0x2a, 0x12, 0x2e, 0x95, 0xee, 0x56, 0x60, 0x20, 0xef, 0x12, 0x2e, 0x49, 0xe0,
0xfc, 0xa3, 0xe0, 0xc3, 0x78, 0x4f, 0x96, 0xec, 0x18, 0x96, 0x50, 0x0f, 0x12, 0x2e, 0xa9, 0x12,
0x2f, 0x65, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xf4, 0x5e, 0xf0, 0x0f, 0x80, 0xd1, 0xae, 0x2c,
0x15, 0x2c, 0xee, 0x70, 0xa1, 0x78, 0x59, 0xa6, 0x2d, 0x22, 0x8e, 0x34, 0x8f, 0x35, 0x8c, 0x36,
0x8d, 0x37, 0x8b, 0x38, 0xae, 0x36, 0xaf, 0x37, 0xad, 0x38, 0x7c, 0x00, 0x12, 0x18, 0xbf, 0x12,
0x24, 0xdb, 0xae, 0x34, 0xaf, 0x35, 0xe4, 0xfc, 0xfd, 0x12, 0x16, 0xcd, 0x12, 0x24, 0xdb, 0xe5,
0x38, 0xc3, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0xfe, 0x12, 0x16, 0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xe5,
0x38, 0x24, 0x01, 0xff, 0xe4, 0x33, 0xab, 0x07, 0xfa, 0xe4, 0xf9, 0xf8, 0xd0, 0x07, 0xd0, 0x06,
0x12, 0x17, 0x73, 0xe5, 0x35, 0x45, 0x34, 0x60, 0x24, 0xef, 0x4e, 0x70, 0x20, 0xd3, 0xe5, 0x37,
0x94, 0x02, 0xe5, 0x36, 0x94, 0x00, 0x40, 0x11, 0xe5, 0x35, 0x25, 0x37, 0xff, 0xe5, 0x34, 0x35,
0x36, 0xc3, 0x13, 0xfe, 0xef, 0x13, 0xff, 0x80, 0x04, 0xae, 0x34, 0xaf, 0x35, 0x22, 0xab, 0x07,
0xbb, 0xff, 0x03, 0x7f, 0xff, 0x22, 0xeb, 0x70, 0x0c, 0x12, 0x24, 0xb4, 0x74, 0x11, 0x93, 0xf5,
0x2b, 0x74, 0x12, 0x80, 0x1d, 0x78, 0x91, 0xe6, 0x14, 0xb5, 0x03, 0x0c, 0x12, 0x24, 0xb4, 0x74,
0x13, 0x93, 0xf5, 0x2b, 0x74, 0x14, 0x80, 0x0a, 0x12, 0x24, 0xb4, 0x74, 0x0f, 0x93, 0xf5, 0x2b,
0x74, 0x10, 0x93, 0xf5, 0x2c, 0x78, 0x3a, 0xe2, 0x70, 0x05, 0x78, 0x7c, 0xe2, 0x60, 0x14, 0xe5,
0x2c, 0x25, 0xe0, 0xff, 0xe5, 0x2b, 0x33, 0xfe, 0x7c, 0x00, 0x7d, 0x03, 0x12, 0x15, 0x9c, 0x8e,
0x2b, 0x8f, 0x2c, 0xeb, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0x88, 0x12, 0x24, 0x98, 0xeb, 0x25, 0xe0,
0x12, 0x24, 0xf9, 0xc3, 0xef, 0x95, 0x2c, 0xee, 0x95, 0x2b, 0xaf, 0x03, 0x50, 0x02, 0x7f, 0xff,
0x22, 0x90, 0x04, 0xff, 0xe0, 0xff, 0x64, 0xe0, 0x60, 0x05, 0xef, 0x64, 0xfe, 0x70, 0x61, 0xd2,
0xb8, 0xc2, 0xaf, 0x90, 0x00, 0x04, 0x12, 0x15, 0x29, 0x70, 0x03, 0xed, 0x60, 0x04, 0x7f, 0x01,
0x80, 0x02, 0x7f, 0x00, 0x78, 0x82, 0xa6, 0x07, 0x90, 0x00, 0x0a, 0x12, 0x15, 0x29, 0x60, 0x04,
0x7f, 0x02, 0x80, 0x04, 0x78, 0x82, 0xe6, 0xff, 0x78, 0x82, 0xa6, 0x07, 0x12, 0x16, 0x3d, 0x08,
0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x02, 0x12, 0x16, 0x68, 0x78, 0x85, 0xa6, 0xf0, 0x08, 0xf6,
0x90, 0x00, 0x06, 0x12, 0x16, 0x68, 0x78, 0x87, 0xa6, 0xf0, 0x08, 0xf6, 0x90, 0x00, 0x08, 0x12,
0x16, 0x68, 0x78, 0x89, 0xa6, 0xf0, 0x08, 0xf6, 0x78, 0x81, 0xa6, 0x05, 0xd2, 0xaf, 0xc2, 0xb8,
0x22, 0xef, 0x12, 0x18, 0x99, 0x3e, 0xd4, 0x00, 0x3e, 0xda, 0x01, 0x3e, 0xe0, 0x02, 0x3e, 0xe6,
0x03, 0x3e, 0xee, 0x04, 0x3e, 0xf4, 0x05, 0x3e, 0xfa, 0x06, 0x3f, 0x00, 0x07, 0x3f, 0x08, 0x08,
0x00, 0x00, 0x3f, 0x0e, 0x78, 0x5d, 0xa6, 0x05, 0x80, 0x37, 0x78, 0x5a, 0xa6, 0x05, 0x80, 0x31,
0x78, 0x5c, 0xa6, 0x05, 0x80, 0x2b, 0xed, 0x24, 0xf7, 0x78, 0x59, 0xf6, 0x80, 0x23, 0x78, 0x5b,
0xa6, 0x05, 0x80, 0x1d, 0x78, 0x5e, 0xa6, 0x05, 0x80, 0x17, 0x78, 0x5f, 0xa6, 0x05, 0x80, 0x11,
0xed, 0x24, 0xf7, 0x78, 0x60, 0xf6, 0x80, 0x09, 0x78, 0x61, 0xa6, 0x05, 0x80, 0x03, 0x7f, 0x01,
0x22, 0x7f, 0x00, 0x22, 0x8c, 0x2f, 0x8d, 0x30, 0x78, 0x75, 0x12, 0x25, 0xdd, 0x7e, 0x00, 0xe5,
0x30, 0x2b, 0xff, 0xee, 0x35, 0x2f, 0xfe, 0xe4, 0xfc, 0xfd, 0x78, 0x75, 0x12, 0x18, 0x5b, 0x12,
0x24, 0xd8, 0xe5, 0x2f, 0xc3, 0x13, 0xfe, 0xe5, 0x30, 0x13, 0xff, 0xe4, 0xfc, 0xfd, 0x12, 0x16,
0xcd, 0xc0, 0x06, 0xc0, 0x07, 0xae, 0x2f, 0xaf, 0x30, 0xab, 0x07, 0xaa, 0x06, 0xe4, 0xf9, 0xf8,
0xd0, 0x07, 0xd0, 0x06, 0x12, 0x17, 0x73, 0x78, 0x75, 0x12, 0x18, 0x68, 0x78, 0x75, 0x12, 0x18,
0x3f, 0xd3, 0xef, 0x95, 0x30, 0xee, 0x95, 0x2f, 0x40, 0x0a, 0xe5, 0x30, 0x24, 0xff, 0xff, 0xe5,
0x2f, 0x34, 0xff, 0xfe, 0x22, 0xef, 0x12, 0x18, 0x99, 0x3f, 0x98, 0x00, 0x3f, 0x9d, 0x01, 0x3f,
0xa2, 0x02, 0x3f, 0xa7, 0x03, 0x3f, 0xab, 0x04, 0x3f, 0xb0, 0x05, 0x3f, 0xb5, 0x06, 0x3f, 0xba,
0x07, 0x3f, 0xc1, 0x08, 0x00, 0x00, 0x3f, 0xc6, 0x78, 0x5d, 0xe6, 0xff, 0x22, 0x78, 0x5a, 0xe6,
0xff, 0x22, 0x78, 0x5c, 0xe6, 0xff, 0x22, 0x78, 0x59, 0x80, 0x11, 0x78, 0x5b, 0xe6, 0xff, 0x22,
0x78, 0x5e, 0xe6, 0xff, 0x22, 0x78, 0x5f, 0xe6, 0xff, 0x22, 0x78, 0x60, 0xe6, 0x24, 0x09, 0xff,
0x22, 0x78, 0x61, 0xe6, 0xff, 0x22, 0x7f, 0x00, 0x22, 0xef, 0x54, 0x07, 0xfe, 0x74, 0x01, 0xa8,
0x06, 0x08, 0x80, 0x02, 0xc3, 0x33, 0xd8, 0xfc, 0xfe, 0xef, 0xc4, 0x54, 0x0f, 0xff, 0xbf, 0x01,
0x0c, 0xed, 0x60, 0x04, 0xee, 0x42, 0xb8, 0x22, 0xee, 0xf4, 0x52, 0xb8, 0x22, 0xef, 0x90, 0x48,
0x04, 0x93, 0x24, 0x00, 0xfb, 0xe4, 0x34, 0xff, 0xf5, 0x29, 0x8b, 0x2a, 0xed, 0x60, 0x0a, 0x85,
0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0, 0x4e, 0xf0, 0x22, 0x85, 0x2a, 0x82, 0x85, 0x29, 0x83, 0xe0,
0xff, 0xee, 0xf4, 0xfe, 0xef, 0x5e, 0xf0, 0x22, 0xe4, 0xf5, 0x30, 0xf5, 0x31, 0x78, 0x95, 0xe6,
0x70, 0x24, 0x12, 0x46, 0xe7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05, 0x31, 0xe5, 0x31, 0x70,
0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xe7, 0xef, 0x60,
0x1e, 0xd2, 0xaf, 0x7f, 0x01, 0x22, 0x12, 0x46, 0xd7, 0xef, 0x60, 0x13, 0xe4, 0xf5, 0x87, 0x05,
0x31, 0xe5, 0x31, 0x70, 0x02, 0x05, 0x30, 0x12, 0x42, 0xe1, 0x50, 0xea, 0x7f, 0x01, 0x22, 0x7f,
0x00, 0x22, 0x8e, 0x3e, 0x8f, 0x3f, 0x8d, 0x40, 0x85, 0x3f, 0x41, 0xe5, 0x41, 0x70, 0x10, 0x90,
0x04, 0xff, 0xe5, 0x40, 0xf0, 0xb4, 0xee, 0x07, 0xe4, 0xfd, 0x7f, 0x01, 0x12, 0x45, 0xa9, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x1d, 0xe5, 0x41, 0xb4, 0xa5, 0x0a, 0xe5, 0x40, 0xb4, 0x03, 0x05, 0x7f,
0x02, 0x12, 0x14, 0x15, 0xe5, 0x41, 0xb4, 0xc0, 0x06, 0x90, 0x04, 0x66, 0xe5, 0x40, 0xf0, 0x7f,
0x00, 0x22, 0xad, 0x40, 0xaf, 0x3f, 0xae, 0x3e, 0x12, 0x43, 0xa5, 0x22, 0x78, 0x5c, 0xe6, 0xff,
0x30, 0xe7, 0x05, 0x53, 0xaa, 0xfd, 0x80, 0x03, 0x43, 0xaa, 0x02, 0xe4, 0xf5, 0x1e, 0x78, 0x68,
0xe6, 0xfe, 0xc3, 0x13, 0x78, 0x66, 0xf6, 0xef, 0x30, 0xe6, 0x05, 0xe6, 0xf5, 0x1f, 0x80, 0x03,
0x75, 0x1f, 0x01, 0x78, 0x5e, 0xe6, 0xf5, 0xe2, 0x78, 0x65, 0xe6, 0x78, 0x58, 0xf6, 0x12, 0x1d,
0xee, 0x78, 0x5c, 0xe6, 0x30, 0xe7, 0x0e, 0xe4, 0xf5, 0x87, 0x30, 0x99, 0xfd, 0x12, 0x1d, 0xee,
0x78, 0x66, 0xe6, 0x70, 0xf2, 0x22, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0,
0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0,
0x06, 0xc0, 0x07, 0xc2, 0x9f, 0xe5, 0x10, 0x60, 0x02, 0x15, 0x10, 0x12, 0x46, 0xea, 0xd0, 0x07,
0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0,
0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xe4, 0xf5, 0x45, 0x75, 0x44, 0xff, 0x90,
0x04, 0xff, 0xf0, 0x90, 0x04, 0xa5, 0xf0, 0x90, 0x04, 0x66, 0xf0, 0xd2, 0xb8, 0x43, 0xbf, 0x01,
0x7d, 0x03, 0x7f, 0x10, 0x12, 0x39, 0x0c, 0x78, 0x95, 0x76, 0x01, 0x7d, 0x38, 0x7f, 0x01, 0x12,
0x44, 0xd4, 0x7c, 0x04, 0x7d, 0xff, 0xe4, 0xff, 0x12, 0x45, 0x49, 0x7c, 0x03, 0x7d, 0xa6, 0x7f,
0x01, 0x12, 0x45, 0x49, 0x02, 0x44, 0xf3, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0,
0xd0, 0x75, 0xd0, 0x00, 0xc0, 0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05,
0xc0, 0x06, 0xc0, 0x07, 0x12, 0x46, 0x53, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0,
0x03, 0xd0, 0x02, 0xd0, 0x01, 0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0,
0xe0, 0x32, 0xc0, 0xe0, 0xc0, 0xf0, 0xc0, 0x83, 0xc0, 0x82, 0xc0, 0xd0, 0x75, 0xd0, 0x00, 0xc0,
0x00, 0xc0, 0x01, 0xc0, 0x02, 0xc0, 0x03, 0xc0, 0x04, 0xc0, 0x05, 0xc0, 0x06, 0xc0, 0x07, 0x12,
0x1d, 0xee, 0xd0, 0x07, 0xd0, 0x06, 0xd0, 0x05, 0xd0, 0x04, 0xd0, 0x03, 0xd0, 0x02, 0xd0, 0x01,
0xd0, 0x00, 0xd0, 0xd0, 0xd0, 0x82, 0xd0, 0x83, 0xd0, 0xf0, 0xd0, 0xe0, 0x32, 0xad, 0x07, 0x90,
0x04, 0xff, 0xe0, 0x70, 0x2d, 0xed, 0xc3, 0x94, 0x00, 0x40, 0x0e, 0xed, 0x94, 0xff, 0x50, 0x09,
0x74, 0xa6, 0x2d, 0x12, 0x42, 0xd9, 0xe0, 0xff, 0x22, 0xed, 0xc3, 0x94, 0xff, 0x40, 0x08, 0xed,
0x94, 0x20, 0x50, 0x03, 0x7f, 0xff, 0x22, 0xed, 0x64, 0xa3, 0x60, 0x03, 0xbd, 0x80, 0x06, 0x7f,
0x00, 0x22, 0x02, 0x37, 0x30, 0x7f, 0x00, 0x22, 0x8d, 0x35, 0xe4, 0xff, 0xf5, 0x37, 0xf5, 0x38,
0x7e, 0xff, 0xef, 0xc3, 0x95, 0x35, 0x50, 0x28, 0xef, 0x65, 0x36, 0x60, 0x19, 0x12, 0x16, 0x3d,
0xfd, 0xac, 0xf0, 0xd3, 0x95, 0x38, 0xec, 0x95, 0x37, 0x40, 0x0b, 0xed, 0x24, 0x20, 0xf5, 0x38,
0xe4, 0x3c, 0xf5, 0x37, 0xae, 0x07, 0x0f, 0x74, 0x02, 0x29, 0xf9, 0xe4, 0x3a, 0xfa, 0x80, 0xd2,
0xaf, 0x06, 0x22, 0x76, 0x31, 0x30, 0x2e, 0x31, 0x38, 0x2e, 0x34, 0x00, 0x4a, 0x61, 0x6e, 0x20,
0x31, 0x38, 0x20, 0x32, 0x30, 0x31, 0x38, 0x00, 0x41, 0x50, 0x5f, 0x31, 0x37, 0x30, 0x35, 0x30,
0x37, 0x31, 0x5f, 0x43, 0x53, 0x54, 0x30, 0x31, 0x36, 0x5f, 0x57, 0x61, 0x74, 0x63, 0x68, 0x5f,
0x43, 0x4f, 0x42, 0x5f, 0x42, 0x41, 0x54, 0x5f, 0x44, 0x5a, 0x30, 0x39, 0x00, 0x8f, 0x19, 0x8e,
0x18, 0x8d, 0x17, 0x8c, 0x16, 0xe4, 0xf5, 0x1a, 0xe5, 0x1a, 0x25, 0xe0, 0x25, 0xe0, 0x24, 0xcc,
0xf5, 0x82, 0xe4, 0x34, 0x47, 0xf5, 0x83, 0x12, 0x18, 0x4b, 0xab, 0x19, 0xaa, 0x18, 0xa9, 0x17,
0xa8, 0x16, 0xc3, 0x12, 0x18, 0x1b, 0x70, 0x03, 0x7f, 0x02, 0x22, 0x05, 0x1a, 0xe5, 0x1a, 0xb4,
0x0e, 0xd6, 0x7f, 0x02, 0x22, 0x74, 0xa6, 0x25, 0x2c, 0xf5, 0x82, 0xe4, 0x34, 0x03, 0xf5, 0x83,
0x22, 0xff, 0xae, 0x30, 0xe4, 0xfc, 0xfd, 0x7b, 0x60, 0x7a, 0xea, 0xf9, 0xf8, 0xc3, 0x02, 0x18,
0x05, 0xab, 0x26, 0xaa, 0x27, 0xa9, 0x28, 0x02, 0x15, 0x29, 0xff, 0xae, 0x2c, 0x05, 0x2c, 0x74,
0xa6, 0x2e, 0x22, 0xf0, 0xaf, 0x2c, 0x05, 0x2c, 0x74, 0xa6, 0x2f, 0x22, 0xe4, 0xf5, 0x87, 0x78,
0x66, 0xe6, 0x70, 0xf8, 0xff, 0x12, 0x2e, 0xfc, 0x50, 0x24, 0x12, 0x2e, 0xeb, 0xfe, 0xef, 0x12,
0x2e, 0xa0, 0xee, 0x56, 0x60, 0x15, 0xef, 0x12, 0x2e, 0xe2, 0xe0, 0xfc, 0xa3, 0xe0, 0xfd, 0x75,
0xf0, 0x11, 0xef, 0x12, 0x2e, 0x4c, 0xec, 0xf0, 0xa3, 0xed, 0xf0, 0x0f, 0x80, 0xd7, 0x22, 0xe5,
0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfe, 0x08, 0xe6, 0xf5, 0x82, 0x8e, 0x83, 0xe0, 0xa8, 0x4d, 0x22,
0xe5, 0x4d, 0x24, 0x03, 0xf8, 0xe6, 0xfc, 0x08, 0xe6, 0xf5, 0x82, 0x8c, 0x83, 0xe0, 0xa8, 0x4d,
0x22, 0xe5, 0x4d, 0x24, 0x06, 0xf8, 0xe6, 0x22, 0xe5, 0x4d, 0x24, 0x03, 0xf8, 0x08, 0xe6, 0x16,
0x18, 0x22, 0x8d, 0x4b, 0x78, 0x8b, 0xa6, 0x03, 0x53, 0xbc, 0x3f, 0x53, 0xbe, 0x3f, 0x43, 0xbd,
0xc0, 0x43, 0xbf, 0xc0, 0xe4, 0xf5, 0x4a, 0x43, 0xfa, 0x02, 0x78, 0x8d, 0xf6, 0x08, 0xf6, 0x78,
0x8c, 0xf6, 0xf5, 0xe8, 0xf5, 0xeb, 0x8f, 0xed, 0xe5, 0x4b, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xe9,
0x61, 0x43, 0xaa, 0x10, 0x22, 0x8d, 0x42, 0x8f, 0x43, 0x90, 0x04, 0xff, 0xe0, 0x64, 0x01, 0x70,
0x22, 0xe5, 0x43, 0xc3, 0x94, 0xc0, 0x40, 0x0a, 0x74, 0x40, 0x25, 0x43, 0xf5, 0x43, 0xff, 0x02,
0x45, 0xa9, 0xe5, 0x43, 0xc3, 0x94, 0x80, 0x40, 0x0a, 0xe5, 0x43, 0x24, 0x80, 0xff, 0xad, 0x42,
0x02, 0x3e, 0xb1, 0x7f, 0x00, 0x22, 0xe4, 0xf5, 0xfb, 0x75, 0xf2, 0xff, 0x75, 0xfc, 0x30, 0xef,
0x42, 0xfc, 0xc2, 0xaf, 0xe4, 0xf5, 0xa9, 0xf5, 0xaa, 0x75, 0xfe, 0x3d, 0xaf, 0xff, 0x75, 0xfe,
0xbd, 0xef, 0x04, 0x54, 0xfc, 0xf5, 0xff, 0x75, 0xfe, 0x39, 0xaf, 0xff, 0x75, 0xfe, 0xb9, 0xef,
0x44, 0x03, 0xf5, 0xff, 0x22, 0xef, 0xc4, 0x54, 0x0f, 0x24, 0x10, 0xfb, 0xe4, 0x34, 0xff, 0x8b,
0x82, 0xf5, 0x83, 0xef, 0x54, 0x07, 0xff, 0x74, 0x01, 0xa8, 0x07, 0x08, 0x80, 0x02, 0xc3, 0x33,
0xd8, 0xfc, 0xff, 0xed, 0x60, 0x04, 0xe0, 0x4f, 0xf0, 0x22, 0xe0, 0xfe, 0xef, 0xf4, 0xff, 0xee,
0x5f, 0xf0, 0x22, 0xe4, 0xf5, 0xf3, 0xf5, 0xfc, 0xf5, 0x8c, 0xf5, 0x8d, 0xf5, 0x8e, 0xf5, 0x8f,
0xf5, 0xa4, 0xf5, 0xa5, 0xf5, 0xa6, 0xf5, 0xa7, 0xf5, 0x9f, 0xf5, 0xad, 0xf5, 0xab, 0x53, 0xbc,
0xfb, 0x53, 0xbd, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbf, 0xfb, 0x53, 0xbb, 0xfb, 0x53, 0xba, 0xfb,
0x22, 0x75, 0x8f, 0x20, 0x75, 0x97, 0xff, 0x75, 0x9f, 0x01, 0xe4, 0xf5, 0xa7, 0x53, 0xad, 0xf0,
0x43, 0xad, 0x07, 0x53, 0xab, 0xfb, 0x53, 0xbe, 0xfb, 0x53, 0xbd, 0xfb, 0x43, 0xbc, 0x04, 0x43,
0xbf, 0x04, 0x43, 0xbb, 0x04, 0x43, 0xba, 0x04, 0x22, 0x7f, 0x02, 0x12, 0x43, 0xd6, 0x7f, 0xa5,
0x12, 0x36, 0x3e, 0x7f, 0x03, 0x12, 0x43, 0xd6, 0x7f, 0x01, 0x12, 0x46, 0x2e, 0x43, 0xaa, 0x80,
0xd2, 0xab, 0x12, 0x45, 0x93, 0xd2, 0xaf, 0xe4, 0xf5, 0x87, 0x12, 0x2b, 0x63, 0x80, 0xf8, 0xe4,
0xf5, 0x0c, 0x8f, 0x82, 0x8e, 0x83, 0x74, 0x4f, 0x93, 0x78, 0x91, 0xf6, 0xef, 0x24, 0x4f, 0xf5,
0x0f, 0xe4, 0x3e, 0xf5, 0x0e, 0xe5, 0x09, 0x44, 0x01, 0xf5, 0x09, 0x54, 0xfd, 0xf5, 0x09, 0x44,
0x04, 0xf5, 0x09, 0x22, 0x43, 0xbd, 0xc0, 0x43, 0xbf, 0xc0, 0x43, 0xfa, 0x02, 0xe4, 0xf5, 0xe9,
0x53, 0xaa, 0xef, 0xf5, 0xe8, 0x8f, 0xed, 0xed, 0x25, 0xe0, 0xf5, 0xee, 0x75, 0xeb, 0x80, 0x75,
0xe9, 0x69, 0x22, 0x78, 0x95, 0xe6, 0x70, 0x02, 0xd2, 0xaf, 0xc2, 0xb8, 0xe4, 0xfe, 0xff, 0xe4,
0xf5, 0x87, 0x0f, 0xbf, 0x00, 0x01, 0x0e, 0xbe, 0x04, 0xf5, 0xbf, 0xb0, 0xf2, 0xd2, 0xb8, 0x22,
0x12, 0x46, 0x7f, 0x75, 0x94, 0xff, 0x75, 0x95, 0xff, 0x75, 0x97, 0xff, 0x75, 0x4c, 0x01, 0x43,
0x8c, 0x01, 0x43, 0x8e, 0x01, 0x43, 0x8f, 0x01, 0xe5, 0x4c, 0x70, 0xfc, 0x22, 0x53, 0xbc, 0x3f,
0x53, 0xbe, 0x3f, 0x53, 0xbd, 0x3f, 0x53, 0xbf, 0x3f, 0xe4, 0xf5, 0xeb, 0xf5, 0xe8, 0xf5, 0xe9,
0xf5, 0xed, 0x53, 0xaa, 0xef, 0x53, 0xfa, 0xfd, 0x22, 0xe4, 0xf5, 0xe9, 0xef, 0xaf, 0x05, 0xae,
0x04, 0x70, 0x05, 0x90, 0xff, 0x00, 0x80, 0x03, 0x90, 0xff, 0x02, 0xef, 0xf0, 0xee, 0xa3, 0xf0,
0x75, 0xe9, 0x69, 0x22, 0xef, 0x24, 0x3a, 0xf5, 0x49, 0xe4, 0x3e, 0xf5, 0x48, 0x7e, 0x00, 0x7f,
0x03, 0x7d, 0x00, 0x7b, 0x01, 0x7a, 0x04, 0x79, 0xa6, 0x02, 0x18, 0xec, 0x90, 0x00, 0xfe, 0x75,
0xf0, 0x11, 0xef, 0x02, 0x18, 0x8d, 0x75, 0xf0, 0x11, 0xef, 0x12, 0x18, 0x8d, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0x75, 0x13, 0x02, 0x75, 0x11, 0x10, 0x90, 0x04, 0x67, 0xe5, 0x13, 0xf0, 0x12,
0x41, 0x39, 0x90, 0x04, 0xa9, 0x74, 0x03, 0xf0, 0x22, 0xef, 0x14, 0x60, 0x08, 0x04, 0x70, 0x0a,
0x8d, 0x09, 0x7f, 0x00, 0x22, 0x8d, 0x0c, 0x7f, 0x00, 0x22, 0x7f, 0x01, 0x22, 0xab, 0x34, 0xaa,
0x35, 0xa9, 0x36, 0x75, 0xf0, 0x02, 0xe5, 0x39, 0xa4, 0xf5, 0x82, 0x85, 0xf0, 0x83, 0x22, 0xef,
0xc3, 0x94, 0x40, 0x50, 0x0a, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0xf4, 0x56, 0xf6, 0x22,
0xef, 0xc3, 0x94, 0x28, 0x50, 0x08, 0x12, 0x45, 0x7c, 0xed, 0xf0, 0x7f, 0x00, 0x22, 0x7f, 0x01,
0x22, 0xc2, 0xaf, 0x75, 0xfe, 0xbd, 0x8f, 0xff, 0x7f, 0x01, 0x12, 0x46, 0x75, 0xaf, 0x94, 0xae,
0x95, 0x22, 0xef, 0xc3, 0x94, 0x40, 0x50, 0x09, 0xef, 0x12, 0x2e, 0xa0, 0x12, 0x2e, 0xeb, 0x46,
0xf6, 0x22, 0xef, 0x24, 0xfe, 0x70, 0x05, 0x7e, 0x46, 0x7f, 0xec, 0x22, 0xe4, 0xfe, 0xff, 0x22,
0x85, 0x49, 0x82, 0x85, 0x48, 0x83, 0x75, 0xf0, 0x05, 0xe5, 0x29, 0x02, 0x18, 0x8d, 0x75, 0x87,
0xc5, 0x53, 0xf1, 0xf8, 0xef, 0x42, 0xf1, 0x43, 0xf8, 0x08, 0x22, 0xef, 0x25, 0xe0, 0x24, 0x86,
0xf8, 0xe2, 0xfe, 0x08, 0xe2, 0xff, 0x22, 0x90, 0x01, 0x00, 0x12, 0x45, 0x7f, 0xe0, 0xfe, 0xa3,
0xe0, 0xff, 0x22, 0xe4, 0xf5, 0x88, 0xf5, 0x4c, 0x12, 0x46, 0x7f, 0x43, 0x8c, 0x80, 0x22, 0xee,
0x30, 0xe7, 0x07, 0xc3, 0xe4, 0x9f, 0xff, 0xe4, 0x9e, 0xfe, 0x22, 0x75, 0xf0, 0x11, 0xef, 0x12,
0x2e, 0x8f, 0xed, 0xf0, 0x22, 0xd2, 0xaf, 0x12, 0x45, 0x10, 0xdf, 0xfb, 0xc2, 0xaf, 0x22, 0x53,
0x8c, 0xfe, 0x53, 0x8e, 0xfe, 0x53, 0x8f, 0xfe, 0x22, 0xef, 0xc4, 0x54, 0xf0, 0xf5, 0x11, 0x7f,
0x00, 0x22, 0xe4, 0xf5, 0x8e, 0xf5, 0x96, 0x75, 0xa6, 0xf2, 0x22, 0x7e, 0x00, 0x7f, 0x0d, 0x7d,
0x00, 0x02, 0x18, 0xec, 0x78, 0x8f, 0x08, 0x06, 0xe6, 0x18, 0x86, 0x06, 0x22, 0x8b, 0x2b, 0x8a,
0x2c, 0x89, 0x2d, 0x22, 0x8b, 0x2b, 0x8a, 0x2c, 0x89, 0x2d, 0x22, 0x90, 0x01, 0x0b, 0x12, 0x45,
0x86, 0x22, 0x90, 0x01, 0x02, 0x12, 0x45, 0x86, 0x22, 0xe4, 0xf5, 0xf3, 0x43, 0xfc, 0x30, 0x22,
0x90, 0x00, 0x0c, 0xe4, 0x02, 0x15, 0x68, 0xe5, 0xe8, 0x54, 0x40, 0xff, 0x22, 0x78, 0x63, 0xa6,
0x07, 0x22, 0x78, 0x63, 0xe6, 0xff, 0x22, 0xaf, 0x4a, 0x22, 0x22, 0x22, 0x47, 0x70, 0x08, 0x02,
0x0f, 0x78, 0x14, 0x00, 0x32, 0x83, 0x77, 0x71, 0x76, 0x72, 0x75, 0x73, 0x74, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x3f, 0x0f,
0x02, 0x64, 0x00, 0x5f, 0x0e, 0x0f, 0x00, 0x0a, 0x0b, 0x1e, 0x00, 0xa0, 0x0b, 0x0a, 0x1e, 0x00,
0xa0, 0x0c, 0x0b, 0x1e, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0xef, 0x00, 0xef,
0x00, 0x3c, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x8c, 0x00, 0xa0, 0x00, 0xa0,
0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x01, 0x01, 0x02, 0x02, 0x01, 0x47, 0x70, 0x1c, 0x00,
0x0f, 0x64, 0x00, 0x00, 0x32, 0x65, 0x64, 0x66, 0x63, 0x67, 0x62, 0x52, 0x61, 0x53, 0x60, 0x54,
0x77, 0x56, 0x76, 0x57, 0x75, 0x41, 0x74, 0x42, 0x73, 0x43, 0x72, 0x44, 0x71, 0x45, 0x70, 0x46,
0x83, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0f, 0x3f, 0x28,
0x80, 0x50, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x01, 0x90, 0x01, 0x90,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x00, 0x64, 0x00, 0x64,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 0x00, 0xff,
0x00, 0x00, 0x00, 0xff, 0xb0, 0xb8, 0xc0, 0xc8, 0x20, 0x28, 0x30, 0x38, 0x40, 0x48, 0x50, 0x58,
0xb6, 0xbe, 0xc6, 0xce, 0x23, 0x2b, 0x33, 0x3b, 0x43, 0x4b, 0x53, 0x5b, 0x01, 0x02, 0x04, 0x08,
0x10, 0x20, 0x40, 0x80, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x01, 0xff, 0x03, 0xff,
0x07, 0xff, 0x0f, 0xff, 0x1f, 0xff, 0x3f, 0xff, 0x7f, 0xff, 0xff, 0xff, 0x01, 0x02, 0x01, 0x02,
0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
#endif /*CAPACITIVE_HYNITRON_CST0XX_UPDATE_H__*/

View File

@ -0,0 +1,401 @@
/*
*Name : capacitive_hynitron_cst2xx_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__
static unsigned char cst2xx_fw[] = {
0xA8,0xC5,0x77,0xA2,0x25,0x01,0x00,0xA3,0x46,0x9A,0x18,0x23,0xBE,0xFF,0xFF,0xE7,
0x40,0x01,0x88,0x06,0x38,0xF7,0x47,0x8A,0x18,0x23,0x80,0x07,0xC8,0xE7,0x63,0x7A,
0x42,0x7A,0xA0,0x01,0x01,0x03,0x37,0x2A,0xE8,0x01,0x39,0x09,0xE8,0x43,0x45,0x01,
0x80,0x66,0x40,0x31,0x89,0xD6,0x47,0x8B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0xC2,
0x04,0x82,0x1C,0x0A,0x07,0x8B,0xB9,0xFF,0xFF,0x3F,0x3E,0x7F,0x85,0x07,0xC8,0x8F,
0x38,0x67,0x07,0x00,0xF8,0x00,0x06,0x42,0x78,0x00,0x06,0x01,0x78,0x00,0x03,0x01,
0x68,0xFB,0x01,0x00,0xAF,0xC5,0x47,0xFA,0xE8,0x03,0x44,0x01,0x87,0x1E,0xB8,0xFF,
0xF8,0xFF,0x44,0x01,0x89,0xB6,0x19,0x89,0x47,0xDA,0x57,0xD2,0x0E,0xD8,0xC4,0x20,
0xD2,0x01,0x1F,0xE9,0xCA,0x8B,0x0E,0xD8,0x68,0xC2,0x37,0x09,0xC0,0x00,0x4E,0x01,
0x8B,0x56,0x58,0x3B,0x31,0x8A,0x88,0x01,0xBC,0x01,0xF9,0x5B,0xD5,0xFB,0x11,0xDA,
0x98,0x3E,0xF0,0x4B,0x30,0x48,0xA8,0x26,0x4D,0x72,0xCF,0x01,0xD0,0x4B,0x48,0x01,
0x87,0xFE,0x48,0x62,0xFB,0x1B,0xC8,0x01,0x58,0xA9,0x82,0x2E,0xFA,0x1B,0x5C,0xA9,
0x8A,0x8E,0xC0,0x9B,0x58,0x21,0x88,0x76,0x14,0x01,0xB8,0x13,0xB8,0x13,0xA0,0x53,
0x04,0x59,0xAD,0x43,0xA9,0x53,0x42,0x4B,0x59,0x03,0x83,0x01,0xCC,0x03,0x04,0x32,
0x19,0x8A,0x05,0x4B,0xEA,0xC5,0xC7,0x83,0x47,0x41,0x88,0xDE,0x00,0x59,0xA5,0x43,
0xEA,0xC5,0x0F,0xA9,0xB9,0x0B,0x44,0x4B,0x59,0x03,0x83,0x01,0xC9,0x13,0x34,0x82,
0x00,0x82,0x1C,0x0A,0x00,0x4B,0x01,0x01,0x4E,0xB2,0x56,0xCA,0xC8,0x01,0xC1,0x5B,
0x58,0x59,0x8D,0x0E,0xC0,0x43,0x00,0x1F,0xE4,0x00,0x92,0x05,0x17,0x82,0x9C,0xB6,
0xBA,0xFF,0xFF,0x57,0x43,0x4B,0x59,0x03,0x84,0x01,0xC9,0x03,0x05,0x32,0x1C,0x8A,
0x07,0x4B,0xE9,0xC5,0xAE,0x85,0x41,0x5A,0xE8,0x0B,0x4C,0x01,0x8E,0x4E,0xF8,0x08,
0xCE,0xC9,0xFF,0x4B,0x48,0x29,0xC8,0x26,0x01,0x07,0xF8,0x85,0xC0,0x0B,0x4A,0x01,
0x80,0xDE,0xEF,0x0B,0x18,0x09,0x38,0x48,0x48,0x01,0xD0,0xA6,0x65,0x2A,0x1E,0x1B,
0x50,0x2A,0x46,0x8B,0x29,0x41,0x18,0x4A,0x00,0x8B,0xE8,0x0B,0x10,0x79,0x07,0x8A,
0xA8,0x0B,0x00,0x07,0xF8,0x85,0xE9,0x0B,0x37,0x48,0xAE,0xDE,0x0D,0x01,0x18,0x0B,
0xE8,0x0B,0x18,0xCA,0xAA,0x0B,0xE8,0x0B,0x38,0x48,0xAC,0x4E,0x61,0xBA,0x45,0x0B,
0x51,0xA2,0x95,0x01,0x59,0x93,0x92,0x01,0xCC,0x93,0x04,0x9A,0x19,0xCA,0x00,0x0B,
0xEF,0x0B,0x12,0xE9,0x02,0x8A,0xA8,0x0B,0xEB,0x85,0xA9,0x85,0x6D,0x6A,0xED,0x01,
0xD0,0x43,0x41,0x01,0x81,0x3E,0x31,0x62,0xA0,0x01,0x36,0x49,0x5D,0x03,0x0B,0xB0,
0xCC,0x00,0x54,0x03,0x40,0x01,0x80,0xF6,0xBD,0xFF,0xF7,0xD7,0x0F,0x01,0x40,0xF9,
0x8B,0xD6,0x58,0x03,0x84,0x01,0xEB,0x13,0xFF,0x00,0xC7,0xC9,0x80,0x13,0x14,0x11,
0xAA,0x13,0x82,0x0B,0x00,0x01,0x10,0x79,0x2C,0x39,0x59,0xFA,0x08,0x68,0x05,0x37,
0x0A,0x21,0x19,0x0A,0xC2,0x48,0xCE,0x48,0xA2,0x53,0xE4,0x00,0x93,0x05,0x5E,0x0B,
0xD4,0x4B,0x16,0x0A,0xC3,0xA6,0xEF,0x85,0x47,0xF1,0x87,0xE6,0x47,0x01,0x80,0xD6,
0x5C,0x13,0xCB,0x90,0x52,0x9B,0xF4,0x00,0x14,0x09,0x00,0x12,0x17,0x9A,0x80,0x96,
0x93,0x4B,0xE9,0x85,0xAC,0x85,0x41,0x8A,0x44,0x23,0x48,0x72,0x11,0x09,0x88,0x01,
0x58,0x4B,0x32,0x9A,0x8C,0x01,0xC9,0x6B,0x00,0x5A,0x1D,0xE2,0x00,0x23,0x48,0x1B,
0xC8,0x6B,0x34,0xA2,0x05,0x62,0x1D,0x1A,0x0A,0x1B,0x48,0x1B,0xC8,0x6B,0x34,0xA2,
0x05,0x62,0x1D,0x1A,0x0E,0x1B,0x42,0x1B,0xCC,0x4B,0x04,0x52,0x1E,0x9A,0x00,0x1B,
0xEF,0x85,0xA9,0xC5,0x53,0x2A,0x5C,0xFA,0xDE,0x01,0xF1,0xC3,0x42,0x01,0x80,0x86,
0x08,0x01,0x20,0x01,0x28,0x91,0x31,0xC2,0x80,0x01,0x82,0x04,0x5F,0x33,0xCA,0x83,
0x40,0x01,0x80,0x06,0x28,0x41,0x01,0x01,0x00,0x47,0x38,0x01,0xF8,0xBA,0x7E,0x51,
0xDA,0x0E,0xE0,0x48,0x94,0x4D,0xE4,0x90,0xE4,0x00,0x92,0x05,0x17,0x42,0x9D,0xA6,
0x44,0x82,0xC3,0x01,0x48,0x51,0x90,0x4E,0x48,0x31,0x98,0x16,0xF2,0xCB,0x36,0x48,
0x8B,0x26,0x48,0x62,0xCE,0x01,0xC7,0x4B,0x48,0x09,0xC8,0x46,0xF4,0xCB,0x4E,0x01,
0x88,0x06,0x20,0x09,0x0E,0x09,0xB4,0xCB,0x0E,0xA1,0xB8,0x0B,0x06,0x5F,0xF8,0x0B,
0x48,0x01,0x80,0x16,0xF6,0x48,0xBA,0x0B,0x06,0x2F,0xF0,0xC3,0x40,0x09,0x8C,0x06,
0x24,0x09,0x00,0x01,0xB0,0xC3,0x66,0x01,0x83,0x9E,0x60,0x02,0x41,0x03,0xB1,0x01,
0xC8,0x93,0x2D,0x09,0x34,0x4A,0x01,0x8A,0x19,0x42,0x00,0x03,0x07,0x41,0xB9,0xF7,
0xD9,0x4F,0x40,0x03,0xCA,0x04,0x58,0x4B,0x8C,0x01,0xC9,0x4B,0x05,0x6A,0x1C,0x42,
0x07,0x03,0xE9,0xC5,0x3B,0x82,0xAB,0x85,0x02,0x01,0x28,0xE9,0x08,0x68,0x0B,0x01,
0x51,0x8A,0x1A,0x79,0x08,0xD8,0xC4,0xA0,0xC9,0x20,0xB3,0x0B,0x40,0x21,0x90,0x1E,
0x05,0x20,0xC2,0x20,0xC1,0x20,0x07,0x0C,0x40,0x11,0x90,0x1E,0x05,0x20,0xC4,0x20,
0xC5,0x20,0x07,0x0B,0xE6,0x00,0x92,0x05,0x47,0x41,0x98,0x66,0x41,0x2A,0xC2,0x01,
0xF8,0x13,0x30,0x1A,0xDA,0x01,0xB3,0xD3,0x55,0x4A,0x9A,0x01,0x18,0xD3,0x32,0x12,
0x64,0x42,0xD2,0x01,0x12,0xA3,0x62,0x42,0x12,0xA3,0x64,0x42,0x12,0xA3,0x66,0x42,
0x1A,0xA3,0x60,0x42,0x18,0xA3,0x12,0x09,0xBC,0x13,0xBA,0x0B,0xBF,0x13,0x16,0x11,
0xBE,0x13,0xB0,0x0B,0x44,0x22,0x02,0xC3,0x86,0x07,0xD8,0xDF,0x87,0x07,0xD8,0x3F,
0xBE,0xFF,0xEF,0x57,0xBE,0xFF,0xEF,0x67,0x07,0xE1,0xB9,0xFF,0xF7,0xCF,0xB8,0xFF,
0xE8,0x5F,0x06,0x19,0x84,0x07,0xD8,0xE7,0xB9,0xFF,0xFF,0xE7,0x85,0x07,0xD8,0xAF,
0xEB,0x85,0xAB,0x85,0x69,0x5A,0xE9,0x43,0x31,0x09,0x18,0x82,0xA9,0x43,0x31,0x62,
0xA3,0x01,0x01,0x7F,0xBC,0xFF,0xEF,0x27,0xBC,0xFF,0xEF,0x37,0xEE,0x43,0x39,0x00,
0x81,0x36,0x00,0xE1,0xBF,0xFF,0xEF,0xE7,0x4A,0x12,0x01,0xA9,0xC8,0x01,0xBC,0x43,
0xBB,0xFF,0xEF,0xF7,0x59,0x03,0x83,0x01,0xC0,0x03,0x42,0x01,0x87,0x0E,0xB8,0xFF,
0xEB,0xDF,0x5B,0x03,0x08,0x09,0xE1,0x4A,0x48,0x48,0x80,0x36,0x4B,0xCA,0x80,0x01,
0xCC,0x01,0xC7,0x4B,0xEC,0x03,0x16,0x0A,0x88,0x5E,0x81,0x07,0xD0,0xD7,0x81,0x07,
0xF8,0x17,0x80,0x07,0xF8,0x47,0x49,0x9A,0x06,0x01,0xC8,0x01,0x80,0x43,0x52,0x9A,
0x43,0x8B,0x58,0x03,0x84,0x01,0xC9,0x1B,0x34,0x82,0x01,0xC2,0x18,0x0A,0x00,0x8B,
0xB8,0xFF,0xFF,0xBF,0x41,0x5A,0xC0,0x01,0xF0,0x03,0x36,0x00,0xA7,0x0E,0xB8,0xFF,
0xEF,0xDF,0xBA,0xFF,0xF8,0x3F,0x83,0x07,0xDF,0x8F,0xBE,0xFF,0xEF,0xCF,0xBA,0xFF,
0xE8,0xDF,0x82,0x07,0xEF,0x67,0xBF,0xFF,0xEF,0xFF,0xBA,0xFF,0xEF,0x0F,0xBB,0xFF,
0xF0,0x27,0x05,0xDF,0x78,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0xF8,0x00,0x06,0x42,
0xC8,0x65,0x04,0x00,0x18,0x00,0x02,0x42,0x00,0x00,0x00,0x42,0x38,0xE0,0x06,0x01,
0xA0,0x03,0x04,0x00,0xB8,0x13,0x01,0x00,0xB8,0xA3,0x01,0x00,0xB8,0xA3,0x06,0x00,
0xB0,0x83,0x07,0x00,0xB8,0x83,0x00,0x00,0x20,0x4B,0x07,0x00,0xBF,0xFF,0xEF,0x17,
0xBA,0xFF,0xF7,0x47,0xE8,0x43,0x45,0x31,0x8B,0x66,0xEC,0x85,0x3F,0x18,0x14,0xF9,
0x74,0xD8,0x06,0xD2,0x38,0x48,0x74,0x48,0x00,0xCA,0x44,0x01,0xD0,0x5E,0x38,0x00,
0x78,0x00,0xC0,0x41,0x47,0x18,0x44,0xE2,0x00,0xD8,0xC4,0xC0,0x4C,0x1B,0x1E,0x9A,
0x1E,0x5A,0x08,0x1B,0x3C,0x82,0x43,0x18,0x44,0xC2,0x07,0xD8,0xC0,0xC0,0x40,0x1B,
0x18,0x9A,0x1C,0x5A,0x03,0x1B,0x38,0x82,0xAC,0x85,0x87,0xBD,0x63,0xA2,0x5F,0x03,
0xC0,0x0B,0x88,0x9C,0xE4,0x13,0xE2,0x0B,0x88,0x0C,0xC8,0x2B,0x44,0x8A,0x37,0x22,
0x40,0x8A,0x87,0xB4,0xF8,0x03,0x1E,0x01,0x40,0x09,0x88,0x66,0x0F,0x01,0x70,0x6A,
0xF0,0x71,0x00,0x27,0xC5,0xB8,0x9B,0xDB,0xA2,0x9A,0xE3,0x48,0x93,0x4D,0x5A,0x03,
0xCC,0x03,0x10,0x42,0xE7,0xB6,0x0F,0x1B,0x13,0x1B,0x11,0x1B,0x06,0x01,0x18,0x02,
0x0B,0x03,0x5D,0x03,0xCF,0x0B,0x40,0x12,0x80,0x01,0x81,0xAC,0xA0,0x0B,0x08,0x01,
0x40,0x02,0xC7,0x71,0x01,0x70,0x3C,0x89,0x19,0x01,0xC0,0xB0,0x0F,0xF8,0xCD,0xB0,
0x13,0x9B,0x3D,0x19,0xC3,0x30,0x0A,0xF8,0xCB,0xB0,0xA7,0x9B,0xE2,0x48,0x92,0x4D,
0x4F,0x11,0xD8,0x7E,0xCE,0xB4,0xF8,0x4B,0x4B,0x29,0xC8,0xCE,0x45,0xAA,0x06,0x48,
0xC0,0x71,0xC0,0x40,0x02,0x48,0xC3,0x18,0x4A,0xA2,0xC6,0xD8,0x9A,0x24,0xC0,0x00,
0x83,0x1C,0x30,0x02,0x58,0x7A,0x9E,0x71,0x08,0x01,0x88,0x44,0x48,0x82,0x8E,0x84,
0x88,0x7C,0x30,0xCA,0xC8,0xE1,0x88,0x14,0x0C,0x01,0x30,0x62,0x00,0x37,0xF2,0x24,
0x0B,0x01,0xF0,0x8A,0xF8,0x1C,0x88,0xA4,0x35,0x01,0xF8,0xF2,0xD8,0x48,0x94,0x4D,
0x48,0xF9,0xEF,0x06,0x08,0xF9,0xFF,0xA4,0xCB,0xF0,0x85,0xB0,0x70,0xF9,0xEF,0x06,
0x30,0xF9,0xFF,0x14,0x80,0xF3,0xF1,0x14,0xE0,0xB0,0xB3,0x14,0xC4,0x3B,0x10,0xBA,
0x9C,0x46,0x10,0x8A,0xD8,0x36,0x40,0xF4,0xDB,0x48,0xC6,0x88,0x90,0x4D,0x00,0xCC,
0x80,0x48,0x04,0x37,0x10,0x8A,0xDC,0x16,0x00,0x70,0x04,0xF4,0x00,0x0F,0x30,0x01,
0x04,0xF4,0x10,0x8A,0xD8,0x0E,0x30,0x09,0xB3,0x44,0x40,0x70,0x28,0x32,0xEB,0x26,
0xF4,0x84,0x10,0x72,0xE8,0x2E,0x88,0x84,0x00,0x1F,0xF0,0x7C,0x10,0x72,0xEC,0x06,
0x88,0x7C,0x80,0x0B,0xE4,0x00,0xE2,0xD8,0xCC,0x24,0xE0,0x48,0x88,0x24,0xC8,0x1C,
0xE0,0x48,0x8C,0x1C,0x32,0x0A,0xE3,0x48,0x94,0x4D,0x32,0x62,0x2D,0x62,0xDD,0xB6,
0xC8,0x44,0x48,0x01,0x80,0xA6,0x08,0x01,0x18,0x01,0x98,0x74,0xDC,0x0C,0xC0,0xD8,
0x40,0xD8,0x9A,0x94,0xDA,0x0C,0x30,0xD8,0x70,0xD8,0x98,0x8C,0x1C,0x01,0x30,0xE2,
0x98,0x3C,0x98,0x34,0x9A,0x2C,0xF0,0x00,0xF2,0x58,0x93,0xDD,0x9A,0x4C,0x00,0x0F,
0x03,0xAF,0x35,0x1A,0x04,0xD8,0x32,0xE2,0xDA,0x3C,0x00,0xD8,0x98,0x3C,0xD8,0x34,
0x00,0xD8,0x9A,0x34,0xDA,0x2C,0x00,0xD8,0x98,0x2C,0xF0,0x4C,0x45,0x58,0x13,0x9A,
0xE8,0x26,0xC0,0x1B,0xF4,0x84,0xD8,0xD8,0x80,0x1B,0x00,0x1F,0xC0,0x1B,0xF0,0x7C,
0xD8,0xD8,0x84,0x1B,0xF8,0x4C,0xC0,0x1B,0x77,0x55,0xA8,0x9A,0xC4,0x1B,0x10,0x9A,
0xDA,0xDE,0xE0,0x48,0x90,0x4D,0xF2,0x74,0xC1,0xB0,0x97,0xB5,0xB3,0x74,0x30,0x32,
0x39,0x09,0x18,0xF2,0x30,0xA2,0xF5,0x94,0x10,0x9A,0xDD,0x76,0xF1,0x3C,0x18,0xF2,
0xB0,0x3C,0xF0,0x0C,0x10,0x9A,0xDD,0x46,0xF1,0x34,0x18,0xF2,0xB0,0x34,0xF0,0x8C,
0x10,0x9A,0xDD,0x16,0xD9,0x2C,0x18,0xDA,0x9A,0x2C,0xF0,0x00,0xDA,0x4C,0xF0,0xD8,
0x90,0xDD,0x9A,0x4C,0xD8,0x4C,0x58,0x01,0xD0,0xDE,0xC5,0xAC,0xA0,0x0B,0xD2,0xAC,
0xD0,0x40,0xA3,0x83,0x36,0x02,0x1B,0x02,0x0B,0x03,0x35,0x02,0x10,0x03,0xC5,0x3C,
0x08,0x03,0xC7,0x34,0x10,0x03,0xC1,0x2C,0x10,0x03,0x33,0x01,0x00,0x07,0xC2,0x74,
0xBE,0xFF,0xDF,0xD7,0x90,0x05,0x80,0x74,0x4D,0x52,0x03,0x80,0xCA,0x71,0xC0,0x00,
0x0C,0x89,0x09,0x48,0xC4,0x00,0x52,0x13,0x40,0x55,0x08,0x01,0x18,0x01,0x98,0x04,
0x30,0xE2,0x04,0xD7,0x38,0x98,0x86,0x86,0xC0,0x1B,0xF8,0x74,0xD8,0xD8,0x96,0xDD,
0x58,0x01,0xE8,0x3E,0x80,0x1B,0xF8,0x04,0xC6,0xD8,0x97,0xDD,0x9A,0x04,0xE0,0x48,
0x90,0x4D,0x02,0x27,0x18,0x01,0x80,0x1B,0x00,0x0F,0x18,0x01,0x82,0x1B,0x40,0x90,
0xE3,0x00,0x32,0x1A,0xE2,0xD8,0x92,0xDD,0x35,0xE2,0x2C,0x62,0xDB,0x16,0xE7,0xB0,
0x90,0xB5,0xC3,0x04,0x82,0x74,0x40,0x9A,0x00,0x98,0xC5,0x71,0x38,0x89,0xC1,0xD8,
0x0E,0xF8,0xCD,0xD8,0x13,0xD3,0x14,0x19,0xCA,0x00,0x0C,0x90,0xC2,0x00,0xA4,0x0B,
0x48,0x21,0xD8,0x0E,0x75,0x09,0xD8,0xD6,0x02,0x01,0x48,0x52,0x38,0x89,0xC9,0x71,
0x0C,0xF8,0x05,0x10,0xC6,0x90,0xCA,0x98,0xE4,0x10,0x02,0xB0,0xC7,0xB0,0xCB,0xB0,
0x55,0xEB,0x54,0xB3,0x1C,0xAA,0x15,0xEB,0x18,0x19,0xC3,0x40,0x0E,0xD8,0xC2,0x00,
0xE4,0x1B,0xE2,0x2B,0xDA,0xD8,0xA2,0x1B,0x90,0x85,0x42,0x09,0xD9,0x4E,0x4F,0xF2,
0x02,0x09,0x88,0x01,0x83,0x43,0x50,0x03,0x10,0x21,0x40,0x01,0x80,0x16,0x00,0x29,
0x80,0x53,0x00,0xFF,0x50,0x03,0x41,0x01,0x80,0x16,0x00,0x21,0x80,0x53,0x00,0xCF,
0x48,0x03,0x47,0x01,0x80,0x1E,0x00,0x19,0x10,0x19,0x80,0x53,0x05,0x97,0x50,0x03,
0x40,0x01,0x88,0x2E,0x5A,0x03,0xEB,0x53,0x80,0x01,0xD9,0x03,0x10,0x12,0x9C,0x0E,
0x00,0x11,0x00,0x3F,0x41,0x62,0x81,0x01,0xE8,0x03,0x40,0x01,0x80,0x0E,0x00,0x11,
0x00,0x07,0x00,0x09,0xC4,0x53,0xE0,0x98,0x83,0x5B,0x5A,0x1B,0xE3,0xEB,0x3E,0x68,
0xA2,0x0E,0xF0,0x90,0x81,0x53,0xE8,0x13,0x2C,0x29,0x10,0x12,0x94,0x0E,0x80,0x6B,
0x04,0xE7,0x10,0x12,0xC8,0x46,0x40,0x09,0x8F,0x16,0x10,0x81,0x80,0x53,0x04,0xAF,
0xD4,0x90,0x00,0xAA,0x80,0x6B,0x04,0x8F,0x40,0x19,0xC8,0x0E,0x10,0x19,0x00,0x07,
0x94,0x15,0xC2,0x6B,0x68,0x01,0x80,0x16,0xF4,0x68,0x83,0x6B,0x02,0x37,0xC0,0xCB,
0xF2,0x90,0x1A,0x8A,0xD4,0x9C,0xC0,0x48,0xD4,0xB4,0xB8,0x8B,0xA8,0x03,0x81,0xBD,
0xEF,0x85,0xAF,0x85,0x80,0x5D,0x44,0x72,0x82,0x54,0x58,0x03,0xC8,0x23,0xE0,0x0B,
0x8E,0x44,0xE0,0x0B,0x30,0x48,0xA8,0x1E,0x84,0x01,0xC5,0x03,0x41,0x01,0x80,0x1E,
0x4D,0x42,0x00,0x00,0xCA,0x71,0xC0,0x00,0x00,0x08,0x53,0x42,0xC4,0x08,0xC2,0x48,
0xC0,0x10,0x04,0x01,0x18,0x01,0x00,0x9F,0x68,0x07,0x00,0x07,0x20,0x07,0x00,0x07,
0x78,0x00,0x05,0x01,0x18,0x70,0x03,0x01,0x70,0x00,0x04,0x01,0x20,0xE0,0x03,0x00,
0x78,0xF8,0x07,0x00,0x00,0x5C,0x00,0x9C,0xE4,0x48,0xE4,0x90,0xE2,0x00,0x92,0x05,
0x17,0x02,0xDD,0xBE,0x87,0x5D,0xE8,0x85,0x40,0xFA,0xC7,0x03,0x6F,0xFA,0x0F,0x43,
0x08,0x01,0x00,0x11,0xBB,0xFF,0xDF,0xA7,0x42,0xE2,0x87,0x01,0x43,0x0B,0x30,0x5A,
0x11,0xCC,0x58,0x4B,0x13,0xCC,0x5A,0x4B,0x15,0xCC,0x5C,0x4B,0x17,0xCC,0x46,0x4B,
0x1F,0xCC,0x48,0xBA,0x42,0x53,0x18,0xD4,0x4C,0x53,0x1F,0xD4,0x17,0x89,0x00,0x53,
0x13,0x19,0x18,0x53,0x40,0x53,0x18,0x11,0x18,0xD2,0x04,0x53,0x40,0x0B,0x18,0xCA,
0x07,0x0B,0x40,0x82,0x0E,0x69,0xF9,0x13,0x44,0x7A,0x0F,0x48,0xC0,0x08,0x8A,0x4C,
0x0A,0x09,0x0B,0x48,0xC0,0x28,0x52,0x09,0x88,0xBE,0xC2,0x54,0x5D,0x03,0x82,0x01,
0x50,0x04,0x86,0x1C,0x44,0x2A,0x5F,0x0B,0x90,0x75,0xB6,0x14,0x08,0x01,0x88,0x0C,
0x42,0x12,0x1F,0x33,0xEA,0x4B,0x43,0x48,0x03,0x48,0xAA,0x4B,0x0C,0x41,0x00,0x0B,
0x47,0x0B,0x10,0xF9,0x90,0x21,0x18,0x8A,0x00,0x0B,0x00,0x07,0xFB,0x85,0xE9,0x43,
0x3F,0x00,0x86,0xDE,0x4F,0xE2,0x06,0x00,0xC6,0x00,0x4A,0xE2,0xC0,0x38,0xC2,0x54,
0x5E,0x03,0xDA,0x0B,0x37,0xC2,0xB9,0xFF,0xDE,0x3F,0x49,0xCA,0x10,0x01,0x00,0x01,
0x02,0x67,0x00,0x18,0x37,0xE2,0xF4,0xDA,0x10,0x5A,0xD4,0x0E,0x33,0x0A,0xD3,0xCA,
0x10,0x9A,0xEC,0x0E,0x35,0x12,0xD3,0xD2,0xE2,0x00,0x92,0x05,0x17,0x02,0xDD,0x86,
0xC4,0x1C,0xE0,0x00,0x10,0x0A,0x9C,0x36,0xC0,0x0C,0x40,0x01,0x8B,0x9E,0x40,0x80,
0x40,0x08,0xC2,0x70,0x00,0x3F,0xC0,0x1C,0xF4,0x00,0x14,0x12,0xE0,0x5E,0x00,0x09,
0x83,0x0C,0xE0,0xB0,0x90,0xB5,0x77,0x01,0x80,0x16,0xC0,0x14,0x15,0x32,0x9C,0xBE,
0x70,0x01,0x88,0x06,0x30,0x09,0xC0,0x4C,0x90,0x33,0xC0,0x4C,0xD5,0x0B,0x40,0xDA,
0x18,0x0B,0x32,0x01,0x00,0xAF,0xC2,0x44,0x10,0x32,0xD4,0x5E,0xEA,0x43,0x43,0x00,
0x03,0x00,0xAA,0x43,0x40,0xAA,0x0D,0x41,0x00,0x0B,0x44,0x0B,0x10,0xF9,0x97,0x21,
0x18,0x8A,0x00,0x0B,0x4D,0xA2,0x05,0x00,0xC3,0x08,0x02,0x00,0x50,0x9A,0xC5,0x40,
0xC4,0x00,0xC4,0x48,0x70,0x01,0x88,0x66,0x15,0x01,0x78,0x8A,0x00,0x37,0x18,0x01,
0x00,0x1C,0x00,0x7C,0xE4,0x00,0xE4,0x48,0xE2,0x90,0x92,0x95,0x17,0x12,0xDD,0xB6,
0x05,0x07,0x59,0x4A,0x06,0x10,0xC7,0x90,0x5E,0x42,0xC5,0x90,0x30,0xA2,0x1C,0x01,
0x03,0x9F,0x30,0x3A,0x15,0x01,0xF0,0xD2,0x3E,0x01,0xF8,0x3A,0x10,0xBA,0xD4,0x06,
0x00,0x14,0x38,0x01,0xFC,0x7A,0x16,0xBA,0xE8,0x06,0x00,0x54,0xE4,0x00,0xE4,0x48,
0x34,0x12,0xE3,0x90,0x32,0xA2,0xE4,0xD8,0x95,0xDD,0x12,0x1A,0xD8,0x4E,0xC7,0x44,
0x10,0x32,0x84,0x8E,0xEE,0x43,0x3B,0x00,0x84,0xE6,0x4F,0xBA,0x02,0x00,0xC7,0x00,
0x4A,0xB2,0xC4,0x00,0xCA,0x54,0x58,0x4B,0xDF,0x4B,0xBE,0xFF,0xD3,0xEF,0xE4,0xB0,
0x90,0xB5,0xC3,0x44,0x15,0x32,0xEC,0x36,0x43,0x62,0x34,0x5A,0x52,0xCC,0x80,0x01,
0x04,0x0B,0x40,0x52,0x50,0xCC,0x1A,0x0B,0x52,0xCC,0x1C,0x0B,0x54,0xCC,0x1E,0x0B,
0x5E,0xCC,0x00,0x0B,0x4A,0x32,0x5C,0xD4,0x04,0x53,0x58,0xCC,0x08,0x0B,0x3E,0x0F,
0x4C,0x12,0x8C,0x01,0x48,0x53,0x18,0x21,0x18,0xD2,0x08,0x53,0x4A,0x53,0x18,0x01,
0x18,0xD2,0x08,0x53,0x4C,0x5B,0x10,0x01,0x18,0x9A,0x08,0x5B,0x48,0x0A,0x1C,0x01,
0x02,0x5B,0x40,0x5B,0x1A,0x9A,0x00,0x5B,0x48,0xFA,0x43,0x53,0x18,0x01,0x19,0xD2,
0x03,0x53,0x48,0xB2,0x8E,0x01,0x02,0x43,0x38,0x82,0xAB,0x85,0x08,0x09,0x00,0x31,
0xBE,0xFF,0xE7,0x27,0x08,0x11,0x00,0x21,0xBE,0xFF,0xE7,0x07,0x00,0x09,0x80,0x07,
0xE0,0x57,0x04,0x31,0x84,0x07,0xE0,0x3F,0x00,0x21,0x80,0x07,0xE3,0x27,0xB4,0x15,
0xEB,0x85,0x48,0x82,0x06,0x89,0xC8,0x01,0x08,0x43,0x02,0x01,0xE6,0x00,0x92,0x05,
0x47,0x51,0x98,0xDE,0x02,0x81,0x08,0x43,0x02,0x61,0x0B,0x43,0x3F,0x82,0xAB,0xC5,
0x42,0x12,0x43,0x0B,0x14,0x01,0x1E,0x8A,0x02,0x0B,0x42,0x0B,0x10,0x01,0x1A,0x8A,
0x03,0x0B,0x42,0x22,0x44,0x0B,0x2A,0x01,0x1A,0x4A,0x01,0x0B,0x4B,0x02,0x43,0x12,
0xE2,0x48,0x0E,0x0B,0x24,0x01,0x00,0x23,0x40,0x0B,0x42,0x0B,0x18,0x4A,0x01,0x0B,
0x00,0x09,0x80,0x07,0xE3,0xC7,0xB2,0x15,0x01,0x01,0x09,0x01,0x72,0x9A,0x52,0xDA,
0x7A,0xDA,0xB2,0x01,0x1A,0x42,0x58,0x92,0xDE,0x01,0x1A,0xC3,0xFA,0x85,0x01,0xA3,
0x19,0x21,0x00,0x9B,0x10,0xD8,0x02,0x9B,0xF8,0x85,0x01,0xA3,0x02,0xA3,0x41,0x9B,
0x95,0xDD,0x14,0xDA,0x94,0x06,0x18,0x42,0x40,0x48,0x4A,0x01,0x8A,0x56,0x47,0x72,
0x45,0x0B,0x18,0x4A,0x02,0x0B,0x08,0x23,0x40,0x72,0x0A,0x11,0x03,0x0B,0xB0,0x95,
0x4A,0x12,0x42,0x43,0x14,0x01,0x1E,0x82,0x07,0x43,0xEA,0xC5,0xAC,0x85,0x87,0x3D,
0x72,0x4A,0x42,0x52,0x58,0x03,0xCA,0x0B,0x8E,0x1C,0xC0,0x03,0x80,0x14,0x28,0x01,
0x40,0xE2,0x81,0x34,0x03,0xCF,0x01,0x40,0xF4,0xA2,0xC9,0x00,0x38,0xA1,0x80,0x2C,
0xF8,0x3A,0xC6,0x34,0xFD,0x03,0x14,0x02,0xD3,0x86,0x00,0xC0,0x10,0x02,0xD5,0x6E,
0x88,0x00,0x09,0x81,0xD1,0x48,0x30,0x02,0xBA,0xFF,0xC7,0x87,0xC8,0x00,0x96,0x05,
0x10,0x02,0xDD,0x0E,0xF1,0x20,0x93,0x05,0xCC,0x2C,0x10,0x44,0xC7,0x2C,0x80,0xF9,
0x80,0x09,0x20,0xC1,0x80,0x24,0xF8,0x22,0x3E,0x21,0xF8,0x3A,0xC4,0x34,0xF8,0x03,
0x10,0x02,0xD5,0x86,0x05,0xC0,0x13,0x02,0xD1,0x6E,0x88,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xFF,0xC6,0x9F,0xC9,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,
0x90,0x05,0xC9,0x24,0x03,0x44,0xE4,0x68,0x90,0x6D,0xC7,0x1C,0x16,0x2A,0x9C,0x16,
0x3A,0x01,0x00,0xBF,0x30,0xC2,0x09,0xA1,0x19,0x42,0xF2,0xA2,0xC8,0x28,0x04,0x11,
0xF0,0x42,0x81,0x0C,0xC4,0x34,0xF8,0x03,0x10,0x02,0xD5,0x8E,0xC2,0x0C,0x00,0x00,
0x10,0x02,0xD5,0x6E,0x88,0x08,0x01,0x81,0xD1,0x08,0x32,0x02,0xB8,0xFF,0xC7,0x77,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x93,0x05,0x01,0x44,
0x21,0x91,0xF8,0x62,0x01,0x81,0xF0,0x42,0x80,0x0C,0xC0,0x34,0xFD,0x03,0x14,0x02,
0xD0,0x76,0xC1,0x0C,0x05,0x00,0x12,0x02,0xD1,0x56,0x89,0x00,0x08,0x81,0xD0,0x48,
0x37,0x02,0xB9,0xF7,0xF8,0x9F,0x07,0xDF,0x60,0x00,0x01,0x01,0x00,0x01,0x00,0x42,
0x18,0x00,0x04,0x42,0x70,0x00,0x04,0x01,0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,
0xF8,0xFB,0x07,0x00,0x00,0x00,0x06,0x42,0x10,0x00,0x00,0x42,0x08,0x01,0x00,0x42,
0x58,0x98,0x02,0x00,0x08,0x07,0x04,0x07,0x38,0xE0,0x06,0x01,0x78,0x00,0x05,0x01,
0xCA,0x0C,0xC0,0x00,0x95,0x05,0x10,0x02,0xDB,0x0E,0xF0,0x20,0x91,0x05,0x11,0x44,
0xE7,0xF8,0x93,0xFD,0xC4,0x14,0x10,0x3A,0x98,0x26,0x85,0x3D,0xEF,0x85,0xAF,0xBD,
0x80,0xF5,0x04,0x01,0x80,0x84,0x80,0x7C,0x7B,0xFA,0x5F,0xC3,0xC8,0x23,0x00,0x01,
0x80,0x74,0x80,0x6C,0x81,0x64,0x08,0x89,0x50,0xEA,0x0F,0x48,0x42,0xDA,0xC7,0x88,
0xFF,0x03,0x96,0xF9,0x90,0x29,0x8D,0xE4,0x40,0x09,0x88,0x96,0xC3,0xFC,0x18,0x02,
0xC0,0x18,0xCC,0xE4,0xC0,0x28,0xC2,0xF4,0x08,0x01,0x00,0x47,0x40,0x34,0x80,0xF3,
0x41,0x34,0x80,0x73,0xE3,0xD8,0xE2,0x68,0xE2,0x00,0xE4,0x48,0x95,0x4D,0x12,0x0A,
0xD8,0xA6,0x2F,0x01,0x30,0x72,0xA9,0x9C,0xC0,0xF4,0x80,0x14,0x44,0x2D,0x30,0x32,
0xC3,0xFC,0x18,0x02,0x84,0xDC,0xC0,0x00,0x80,0xD4,0x80,0x24,0x4D,0xCB,0x55,0xC3,
0x30,0x22,0x04,0x01,0x00,0x2F,0xD1,0x14,0xD8,0x24,0x40,0x94,0xC6,0xDB,0xD0,0x90,
0x93,0x95,0x30,0x9A,0x06,0xD4,0x38,0x58,0x80,0x26,0xD8,0x9C,0xC0,0x90,0x96,0x95,
0x90,0x9C,0x00,0x3F,0x36,0x1A,0x3B,0xD8,0x82,0x16,0xC8,0x90,0x90,0xAD,0x00,0x0F,
0xC8,0x90,0x94,0xB5,0x34,0x92,0xE3,0x90,0x30,0xB2,0xD4,0x14,0xE0,0x90,0x94,0x14,
0xD2,0x24,0xE0,0x90,0x92,0x24,0x40,0x48,0x32,0x12,0x43,0x90,0x32,0xA2,0xE4,0x00,
0x95,0x05,0x12,0x02,0xDE,0xBE,0x46,0x82,0x80,0x01,0x81,0xCC,0xE0,0x0B,0x48,0x01,
0xE8,0x26,0xC0,0x9C,0xBA,0xF7,0xFF,0xD7,0x90,0x05,0x80,0x9C,0xC2,0xCC,0xE0,0x0B,
0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,0x80,0x68,0x03,0x1F,0x37,0x42,0xB9,0xF7,
0xF8,0x6F,0x92,0x2D,0xC4,0xCC,0xE0,0x0B,0x48,0x01,0xE8,0x3E,0x48,0x09,0x88,0x0E,
0x80,0xB0,0x03,0x1F,0x37,0x82,0xB9,0xF7,0xF8,0x0F,0x92,0x35,0xC0,0xF4,0x48,0x2D,
0x30,0x72,0xCC,0xD4,0x8D,0x24,0x48,0xCB,0x8D,0x94,0x50,0xCB,0x8B,0x8C,0x58,0xD3,
0xE6,0x8B,0x3E,0x48,0x87,0x66,0x48,0xCB,0x31,0x62,0x54,0xCB,0x8B,0x84,0x50,0xCB,
0x88,0x7C,0xE8,0x8B,0x8A,0x74,0xE8,0x8B,0x8C,0x6C,0xE8,0x8B,0x88,0x64,0x00,0x0F,
0x0C,0x01,0x30,0x62,0xC2,0x8B,0x42,0x48,0x8D,0xB4,0x50,0x8A,0xC9,0xDC,0x90,0xC1,
0xC0,0x48,0x8C,0x1C,0x08,0x01,0x88,0xBC,0x00,0x17,0xCC,0x94,0x38,0x48,0x86,0x0E,
0xC8,0x9C,0x00,0x2F,0xCE,0x8C,0x38,0x48,0x81,0x0E,0x30,0x4A,0x01,0x07,0x30,0x8A,
0x48,0x01,0xE8,0x66,0x30,0x9A,0x13,0x01,0xF0,0xD2,0x54,0x01,0xEC,0x3E,0x10,0x52,
0xD0,0x06,0x30,0x8A,0x42,0x14,0xD0,0x88,0x90,0x5D,0x00,0x1C,0x03,0xB7,0x31,0x9A,
0x14,0x01,0xF0,0xD2,0x51,0x01,0xD0,0x7E,0x48,0x01,0xD0,0x2E,0x10,0x52,0xEC,0x06,
0x30,0x8A,0x40,0x14,0xD0,0x88,0x02,0x0C,0x1E,0x01,0xF0,0x1A,0x36,0x0A,0x3B,0x48,
0x80,0x26,0xC9,0x24,0xC0,0x4B,0x88,0xC4,0xD0,0x48,0x96,0x4D,0xD6,0x7C,0x38,0x90,
0x80,0x3E,0xD0,0x64,0x10,0x8A,0xEC,0xCE,0xD0,0x64,0xC8,0xC4,0xD0,0x48,0x04,0x0C,
0x00,0xA7,0xD0,0x84,0x38,0x90,0x86,0x3E,0xD4,0x6C,0x10,0x8A,0xE8,0x76,0xD0,0x6C,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x4F,0xD4,0x74,0x10,0x8A,0xE8,0x36,0xD0,0x74,
0xCC,0xC4,0xD0,0x48,0x00,0x0C,0x00,0x0F,0x1E,0x01,0xF0,0x1A,0xC8,0x1C,0xD0,0xB4,
0xC6,0x4B,0xC0,0x90,0x10,0x8A,0xEC,0x66,0xC8,0xFC,0x10,0x09,0x06,0x52,0xBC,0x98,
0xC8,0x04,0x99,0x0C,0x90,0x04,0x40,0x7B,0x41,0x4B,0x1A,0xD2,0x19,0x5A,0xC8,0x04,
0x08,0x66,0xC8,0x1C,0xE0,0x48,0x8A,0x1C,0xE0,0x00,0xCC,0x24,0xE0,0x48,0x8A,0x24,
0x34,0x8A,0xE3,0x48,0x30,0x72,0xCC,0x94,0x40,0x48,0x8A,0x94,0xCA,0x8C,0x40,0x48,
0x8B,0x8C,0x30,0x0A,0x48,0x01,0x80,0x3E,0x44,0x48,0x32,0x62,0xCA,0x84,0x40,0x48,
0x88,0x84,0xC8,0x7C,0x40,0x48,0x8A,0x7C,0xCA,0xBC,0xE0,0x48,0x90,0x4D,0x8A,0xBC,
0xCD,0xBC,0x10,0x0A,0xD3,0x06,0x38,0xC7,0xE8,0xD4,0xC8,0xE4,0xC2,0xDC,0xC0,0x30,
0xF8,0xF4,0x00,0x01,0x80,0xBC,0x00,0xEF,0x0B,0x01,0xF0,0xCA,0x89,0xAC,0xC0,0x43,
0xC0,0x8B,0x89,0xA4,0xC8,0xAC,0xC0,0x40,0xCA,0xA4,0xC0,0x00,0x0F,0x19,0xB8,0xF7,
0xF0,0xEF,0x93,0x05,0x80,0x83,0xC9,0xAC,0x80,0x4B,0xC9,0xA4,0x04,0x50,0xC2,0x48,
0xC4,0x40,0x80,0x00,0x03,0xC4,0xE1,0x68,0xE5,0xB0,0xE3,0xF8,0xC2,0xBC,0xE0,0x00,
0x90,0x05,0x82,0xBC,0xC5,0xBC,0x10,0x02,0xD9,0xF6,0x86,0x0D,0xE9,0x85,0xAF,0x85,
0x42,0x8A,0x5A,0x03,0xC0,0x23,0xCE,0x1B,0x40,0x92,0x12,0x01,0x00,0x67,0x08,0x01,
0x00,0x37,0xC0,0x2B,0x35,0x68,0x75,0x68,0x82,0x2B,0xE0,0x00,0xE6,0x48,0x92,0x4D,
0x17,0xCA,0x9C,0xB6,0xE6,0x90,0x92,0x95,0x17,0x12,0x9D,0x86,0xEB,0x85,0xA9,0x85,
0x48,0x32,0x1A,0x01,0x8E,0x01,0x81,0x5B,0x88,0x5B,0x30,0x42,0x80,0x01,0xEF,0x13,
0xEA,0x23,0x38,0x90,0x7A,0x90,0x06,0x90,0x29,0xE9,0x07,0x62,0x18,0xA2,0xA8,0x23,
0xEF,0x13,0x20,0xD9,0x00,0x12,0xA9,0x13,0x63,0xDA,0x59,0x03,0x84,0x01,0xC1,0x03,
0x40,0x01,0x80,0x06,0x88,0x5B,0x04,0x01,0xBF,0xDF,0xEF,0x07,0x42,0xBA,0x81,0x01,
0xE8,0x03,0x42,0x51,0x98,0x16,0x00,0x09,0xBE,0xDF,0xEF,0xC7,0x59,0x03,0x83,0x01,
0xC0,0x03,0x44,0x01,0x87,0x0E,0xB8,0xD7,0xFF,0xB7,0xBF,0xD7,0xFF,0x0F,0xBC,0xFF,
0xFB,0xB7,0xED,0x85,0xAC,0x85,0x87,0x8D,0x40,0x5A,0x81,0x7C,0x5C,0x0B,0xCA,0x73,
0xC8,0x43,0x80,0x54,0x00,0x01,0x80,0x2C,0x40,0x42,0x11,0x01,0xC6,0x01,0x19,0x92,
0x84,0x74,0x28,0x13,0x29,0x13,0x8E,0x01,0xD8,0x43,0x80,0x64,0x29,0x01,0x40,0x12,
0xC0,0x01,0x82,0x6C,0x00,0xF7,0xC4,0x64,0x45,0x00,0x12,0x42,0xC0,0x1E,0xC0,0x7C,
0x48,0x03,0x46,0x01,0x80,0xF6,0xC3,0x6C,0x0C,0x01,0x10,0x0B,0x10,0x0B,0x8E,0x34,
0x88,0x3C,0xC0,0x74,0x6C,0x0B,0x6E,0x03,0x88,0x4C,0x80,0x44,0x20,0x01,0x00,0x4F,
0xC0,0x4C,0xC8,0x44,0x3A,0x10,0x46,0x48,0x1A,0x8A,0x40,0x00,0x88,0x44,0x80,0x4C,
0xE7,0x20,0x93,0x25,0xC6,0x44,0x38,0x00,0x8D,0x0E,0x10,0xA2,0x9D,0x86,0x17,0xA2,
0x80,0xE6,0x43,0x72,0x80,0x01,0x81,0x23,0x41,0x6A,0x08,0x19,0xCC,0x00,0x08,0x48,
0xC0,0x00,0x7A,0x6A,0xC7,0x03,0x08,0xC3,0x30,0x12,0x09,0x01,0x07,0x09,0xB8,0xE7,
0xC9,0xAF,0x32,0x0A,0x07,0x11,0xB8,0xE7,0xC0,0x5F,0x43,0x42,0x42,0x0B,0x3A,0x48,
0xA8,0xE6,0x47,0x0B,0x10,0x11,0x00,0x5F,0x78,0x00,0x05,0x01,0x70,0x00,0x04,0x01,
0x18,0x00,0x03,0x01,0x50,0xA0,0x05,0x01,0x00,0x01,0x00,0x42,0x18,0x00,0x04,0x42,
0x18,0x8A,0x00,0x0B,0x05,0x41,0x00,0xC3,0x47,0xC3,0x09,0xF9,0x88,0x19,0x18,0x42,
0x00,0xC3,0x69,0x01,0x88,0x56,0xC0,0x7C,0x40,0x03,0x46,0x01,0x80,0x0E,0x80,0x2C,
0x05,0x0F,0x40,0xB2,0x80,0x2C,0xC0,0x7C,0x44,0x03,0x3C,0x02,0xC5,0x54,0x48,0xA2,
0x1A,0x02,0x03,0x00,0xC5,0x00,0x4A,0x9A,0xC1,0x38,0x02,0x57,0xC6,0x44,0x38,0x00,
0x80,0xD6,0x00,0x09,0x00,0x02,0x85,0x5C,0x01,0x07,0xF8,0x85,0x08,0x01,0x88,0x1C,
0xC0,0x5C,0xD0,0x6C,0x84,0x14,0x50,0x9B,0x50,0x93,0x06,0xC2,0x30,0x52,0x88,0x0C,
0x82,0x04,0x00,0x4A,0x00,0x82,0x1A,0x42,0x80,0x7E,0x57,0x35,0x31,0x0A,0x31,0xC2,
0xD8,0x2C,0x00,0x07,0x04,0xD7,0x38,0xC2,0xC2,0x54,0x00,0x00,0xC8,0x38,0xC6,0x4C,
0xCE,0x44,0x38,0x10,0x40,0x48,0x1A,0x8A,0x40,0x00,0x8A,0x44,0x83,0x4C,0xE0,0x20,
0x95,0x25,0x17,0xA2,0x98,0x96,0xC6,0x74,0xD0,0x3C,0xC8,0x34,0x2C,0x13,0x2E,0x0B,
0xE7,0x68,0x93,0x6D,0xC4,0x64,0x10,0x2A,0x92,0x06,0x38,0xE7,0x07,0x01,0xB8,0xE7,
0xC0,0x2F,0x82,0x8D,0xEF,0x85,0xAF,0xC5,0x68,0x9A,0x34,0x01,0x8F,0x73,0xEB,0x60,
0x07,0x11,0xA0,0xC9,0xAF,0x03,0xBD,0xFF,0xFD,0xAF,0xA9,0x33,0x5E,0x03,0xCB,0x0B,
0x48,0x01,0x80,0x66,0x84,0x01,0x7E,0x6A,0x47,0x04,0x06,0xC3,0x03,0x09,0x88,0x43,
0xBB,0xE7,0xCF,0xAF,0x8B,0x73,0x5B,0x03,0x84,0x01,0x46,0x04,0x00,0xC3,0x0F,0x01,
0x37,0x42,0xB8,0xDF,0xFC,0xEF,0x4E,0x22,0xCE,0x01,0xF9,0x43,0x40,0x41,0x96,0x0E,
0xE6,0x00,0xBA,0x43,0xEF,0xC5,0xAF,0x85,0x84,0x6D,0x44,0x0A,0x82,0x64,0x58,0x03,
0xC8,0x0B,0x88,0x2C,0xC0,0x0B,0x8E,0x24,0x49,0xCA,0x8B,0xC1,0x8B,0x5C,0x50,0xEA,
0x91,0x54,0x18,0x79,0xE0,0xDA,0x98,0x44,0x18,0x29,0xB3,0xEA,0x60,0xB2,0x3B,0x01,
0x18,0x3B,0xB9,0x3C,0x10,0x3B,0xBF,0x34,0x1C,0x01,0x30,0xF2,0x58,0xB2,0x33,0x01,
0xAA,0x3B,0xC1,0x3B,0x40,0xF8,0xBB,0x1C,0x3E,0x11,0xFE,0x3A,0x80,0xC0,0x83,0x14,
0x31,0x3A,0xF9,0x01,0xF8,0xC3,0x47,0x29,0xC0,0xB6,0x00,0x01,0x1D,0xC4,0x1B,0xC4,
0x30,0x22,0x04,0x77,0x00,0x01,0x00,0x2F,0x40,0xBC,0x80,0x7B,0xE4,0x48,0xE2,0x90,
0xE3,0x38,0x92,0xC5,0xFD,0x2C,0x10,0xC2,0xDB,0xB6,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xFC,0x24,0x2F,0xE2,0xDD,0x6E,0xC4,0x5C,0x30,0x22,0xD0,0x54,0x00,0x01,
0x82,0x4C,0x00,0x67,0x0A,0x01,0x00,0x1F,0x30,0x02,0xC3,0x03,0x46,0xBC,0xD8,0x00,
0x90,0x05,0x00,0x84,0xFB,0x64,0x58,0xFB,0xBD,0x01,0xC1,0xFB,0x78,0x11,0x98,0x8E,
0x10,0x42,0xD5,0x7E,0xEB,0x3B,0xE1,0xF8,0xAB,0x3B,0x31,0xBA,0xC5,0xF8,0x31,0xF2,
0x34,0x3A,0x10,0x1A,0xD8,0x06,0x30,0xFA,0x30,0xDA,0x31,0x3A,0x10,0x32,0xE4,0x06,
0x31,0xBA,0x31,0xF2,0xFD,0x1C,0x10,0xC2,0xEB,0x6E,0xE8,0x3B,0x78,0x09,0x88,0x0E,
0x3B,0x09,0xAC,0x3B,0xFD,0x44,0x10,0xC2,0xE8,0xA6,0x00,0x09,0xFC,0x3C,0x00,0x42,
0x18,0xC2,0x81,0x3C,0x00,0x77,0xF8,0x14,0x10,0xC2,0xD5,0x5E,0xE8,0x3B,0x7B,0x09,
0x8C,0x0E,0x38,0x09,0xAD,0x3B,0x13,0x42,0xD0,0x26,0x00,0x09,0xFC,0x34,0x00,0x42,
0x18,0xC2,0x81,0x34,0xE3,0x90,0x34,0x02,0xE4,0x00,0x32,0x22,0xE2,0x48,0x92,0x4D,
0xC4,0x2C,0x10,0x0A,0xD8,0xC6,0xC5,0x4C,0xE2,0x00,0x92,0x05,0x80,0x4C,0xC8,0x24,
0xC4,0x4C,0x10,0x42,0xD8,0x76,0xC5,0x64,0x59,0x03,0x82,0x01,0xC0,0x03,0x44,0x11,
0x99,0x46,0xEA,0x03,0x42,0x11,0xC8,0x2E,0xF6,0x00,0x94,0x05,0x84,0x04,0xC8,0xC8,
0x32,0x82,0xD3,0x00,0xCF,0x04,0xB8,0xF7,0xE0,0x4F,0x94,0x05,0x80,0x0C,0x00,0x01,
0x13,0x04,0x0B,0xE9,0x08,0x48,0x10,0x01,0xF4,0x54,0x30,0x22,0x00,0x0F,0x19,0x01,
0x00,0xC7,0x00,0x01,0xF5,0x82,0x11,0x42,0xD0,0x8E,0xF8,0x0C,0xD8,0x00,0xAE,0x06,
0x10,0x02,0x92,0x05,0x34,0x3A,0x10,0x0A,0xE0,0x06,0x30,0x7A,0x30,0xCA,0x31,0x3A,
0x10,0x12,0xDC,0x06,0x31,0xBA,0x30,0xD2,0x51,0x3C,0xC3,0xC0,0x15,0x04,0xE3,0xB0,
0xE2,0xD8,0x92,0xDD,0xC4,0x2C,0x10,0x1A,0xDB,0x1E,0x37,0x02,0xE2,0x00,0x92,0x05,
0x30,0x22,0xDC,0x24,0x2E,0xE2,0xDC,0xD6,0x54,0x04,0xC3,0x48,0xD4,0x00,0x92,0x05,
0xCF,0x04,0xB8,0xF7,0xE3,0x4F,0x12,0x04,0xC0,0x0C,0x40,0x01,0xD2,0x06,0x10,0x02,
0x10,0x04,0x01,0x17,0x01,0x01,0x10,0x04,0x10,0x04,0xC3,0x3C,0x18,0x03,0xC1,0x34,
0x10,0x03,0x87,0x6D,0xEE,0x85,0x37,0x10,0x70,0x90,0x0E,0x09,0x02,0x8A,0x4C,0x00,
0x54,0x52,0x00,0x00,0xC0,0x00,0x04,0x0B,0x38,0x82,0x03,0x00,0xB0,0x69,0x01,0x00,
0x18,0x00,0x03,0x01,0x20,0xE0,0x03,0x00,0x70,0x00,0x05,0x01,0x00,0x01,0x00,0x42,
0x78,0x00,0x05,0x01,0x38,0xE0,0x06,0x01,0xE7,0xC7,0xF8,0xFF,0x08,0x07,0x00,0x07,
0x61,0x28,0x79,0x68,0x50,0x50,0x00,0x78,0x21,0x10,0x50,0x00,0x00,0x00,0x08,0x08,
0x40,0x40,0x28,0x84,0x58,0xB0,0x18,0x28,0xF3,0x50,0xC0,0x23,0xC0,0x83,0x17,0x40,
0x08,0x80,0x00,0x00,0x60,0xC0,0x00,0x28,0x20,0x30,0xA0,0xA0,0x18,0x60,0xF0,0xF0,
0x20,0xE3,0x41,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x20,0x40,0x08,0x10,0x20,0x40,
0x08,0x10,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,
0x08,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x10,0x08,0x40,0x20,0x08,0x08,0x08,0x08,
0x08,0x08,0x08,0x08,0x17,0x17,0xA7,0xB0,0x47,0x61,0x0F,0x60,0x08,0x08,0x10,0x10,
0x20,0x20,0x60,0x60,0x00,0x80,0x90,0x98,0x10,0x08,0x60,0x08,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,
0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0x60,0xF0,0x60,0xE0,0xF1,0xA0,0x00,
0xF0,0x40,0x1E,0x00,0x20,0x10,0x84,0x80,0x00,0xD0,0x00,0x00,0x00,0x00,0x00,0x00,
0x40,0x00,0x40,0x00,0x00,0xA0,0x05,0x40,0x00,0x40,0x0E,0x10,0x12,0xC0,0x02,0x80,
0x07,0x00,0xF8,0xA7,0x0C,0x18,0x03,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x60,0x66,0x06,0x00,0x40,0x44,0x04,0x00,0x80,0x20,0x01,0x42,0x80,0x20,0x01,0x42,
0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,0x80,0xA0,0x01,0x42,
0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,
0x80,0x20,0x04,0x42,0x80,0x20,0x04,0x42,0x80,0xA0,0x03,0x42,0x80,0xA0,0x03,0x42,
0x80,0xA0,0x03,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x02,0x42,0x80,0x20,0x02,0x42,
0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,0x80,0xA0,0x02,0x42,
0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,0x80,0x20,0x03,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x08,0x01,0x01,0x42,0x08,0x41,0x01,0x42,0x08,0x81,0x01,0x42,0x08,0xC1,0x01,0x42,
0x08,0x01,0x02,0x42,0x08,0x41,0x02,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,
0x80,0x20,0x00,0x42,0x80,0x20,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x81,0x02,0x42,0x08,0xC1,0x02,0x42,
0x08,0x01,0x03,0x42,0x08,0x41,0x03,0x42,0x08,0x01,0x00,0x42,0x08,0x41,0x00,0x42,
0x08,0x81,0x00,0x42,0x08,0xC1,0x00,0x42,0x08,0xC1,0x01,0x42,0x08,0x81,0x01,0x42,
0x08,0x41,0x01,0x42,0x08,0x01,0x01,0x42,0x08,0xC1,0x00,0x42,0x08,0x81,0x00,0x42,
0x08,0x41,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,
0x08,0x01,0x00,0x42,0x08,0x01,0x00,0x42,0xF8,0xFF,0x07,0x04,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x08,0xF8,0x0F,0xF8,0x07,0xFF,0xFF,0x07,0xF8,0x08,0xF8,0x0F,0x00,
0x08,0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x18,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x28,0xB0,0x3B,0xC0,
0x0A,0x18,0x19,0x28,0x02,0x28,0x53,0xB0,0x09,0xC0,0x03,0x08,0x00,0x00,0x00,0x00,
0x52,0x08,0x51,0x18,0x54,0xB0,0x3A,0x08,0x03,0x08,0x51,0x38,0x54,0x18,0x51,0x38,
0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x54,0x90,0x51,0x38,0x04,0x00,0x50,0x38,
0x54,0x18,0x51,0x38,0x50,0x90,0x01,0x00,0x51,0x38,0x54,0x18,0x00,0x00,0x00,0x00,
0x03,0x00,0x50,0x28,0x52,0x38,0x34,0x88,0x00,0x38,0x00,0x28,0x0B,0x40,0x51,0xB0,
0x50,0x90,0x00,0x00,0x01,0x00,0x50,0xA0,0x53,0xB0,0x0A,0xC0,0x00,0x08,0x01,0x00,
0x51,0x38,0x53,0x18,0x54,0x08,0x55,0x38,0x53,0x90,0x51,0x38,0x54,0x18,0x51,0x38,
0x55,0x90,0x51,0x08,0x00,0x08,0xF8,0x07,0x00,0xF8,0x0F,0x00,0x10,0x10,0x08,0x10,
0x10,0x10,0x08,0x08,0x10,0x08,0x10,0x08,0x10,0x08,0x10,0x10,0x08,0x08,0x10,0x10,
0x08,0x08,0x08,0x08,0x7F,0x00,0x7F,0x00,0x06,0x80,0x51,0x56,0xFD,0x18,0x00,0x0B,
0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,0xE0,0x0F,0xE0,0x0F,0x30,0x00,0xCA,0xCA,
0x03,0x1F,0xA1,0x60,0x06,0x49,0xDD,0xCC
};
#endif /*CAPACITIVE_HYNITRON_CST2XX_UPDATE_H__*/

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__
static unsigned char cst2xxse_fw[] = {
0x6c,0x03,0x00,0x20,0x61,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x55,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xf9,0x00,0x00,0x00,0xfb,0x00,0x00,0x00,0x1b,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4b,0x01,0x00,0x00,0x00,0xf0,0x02,0xf8,0x00,0xf0,0x40,0xf8,0x0c,0xa0,0x30,0xc8,
0x08,0x38,0x24,0x18,0x2d,0x18,0xa2,0x46,0x67,0x1e,0xab,0x46,0x54,0x46,0x5d,0x46,
0xac,0x42,0x01,0xd1,0x00,0xf0,0x32,0xf8,0x7e,0x46,0x0f,0x3e,0x0f,0xcc,0xb6,0x46,
0x01,0x26,0x33,0x42,0x00,0xd0,0xfb,0x1a,0xa2,0x46,0xab,0x46,0x33,0x43,0x18,0x47,
0x80,0x12,0x00,0x00,0xa0,0x12,0x00,0x00,0x10,0x3a,0x02,0xd3,0x78,0xc8,0x78,0xc1,
0xfa,0xd8,0x52,0x07,0x01,0xd3,0x30,0xc8,0x30,0xc1,0x01,0xd5,0x04,0x68,0x0c,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3a,0x01,0xd3,
0x78,0xc1,0xfb,0xd8,0x52,0x07,0x00,0xd3,0x30,0xc1,0x00,0xd5,0x0b,0x60,0x70,0x47,
0x1f,0xb5,0xc0,0x46,0xc0,0x46,0x1f,0xbd,0x10,0xb5,0x10,0xbd,0x00,0xf0,0x3c,0xff,
0x11,0x46,0xff,0xf7,0xf5,0xff,0x00,0xf0,0x03,0xf9,0x00,0xf0,0x54,0xff,0xff,0xf7,
0xf3,0xff,0x00,0xf0,0x5b,0xff,0x00,0x00,0xfe,0xe7,0x1d,0x49,0x48,0x88,0x48,0x80,
0x1c,0x48,0x02,0x7c,0xff,0x2a,0x02,0xd2,0x02,0x7c,0x52,0x1c,0x02,0x74,0x00,0x7c,
0x18,0x28,0x01,0xd2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8a,0x79,0x15,0x48,
0x20,0x30,0x80,0x6b,0x43,0x7a,0x9a,0x43,0x8a,0x71,0x40,0x7a,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xb5,0x0f,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0d,0xf0,0xec,0xfe,0x10,0xbd,0x10,0xb5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xd5,0x02,0x78,0x80,0x21,0x0a,0x43,0x02,0x70,0x07,0x4a,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xbd,0x00,0xf0,0xf9,0xfb,0x10,0xbd,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0a,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xb5,0x63,0x48,0x63,0x4c,0x80,0x6b,0x01,0x46,0x80,0x30,0x03,0x7f,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2b,0x06,0xd0,0x1b,0x02,0x13,0x43,0x63,0x81,0xff,0x22,
0x23,0x32,0x62,0x80,0x03,0xe0,0x62,0x81,0xff,0x22,0x03,0x32,0x62,0x80,0xa0,0x31,
0x89,0x8a,0xe1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7a,
0xc0,0x79,0x09,0x02,0x01,0x43,0x53,0x48,0x20,0x38,0xc1,0x81,0x10,0xbd,0x10,0xb5,
0x4f,0x48,0x51,0x49,0x81,0x63,0x01,0x46,0x50,0x4a,0x40,0x39,0xca,0x61,0x50,0x4a,
0x0a,0x62,0x50,0x4a,0x4a,0x62,0x50,0x4a,0x8a,0x62,0x50,0x4a,0xca,0x62,0x50,0x49,
0xc1,0x63,0x50,0x49,0x41,0x60,0x50,0x49,0x81,0x60,0x50,0x49,0xc1,0x60,0x50,0x49,
0x01,0x61,0x50,0x49,0x41,0x61,0x43,0x49,0xf0,0x20,0x60,0x39,0x88,0x75,0x48,0x48,
0xa8,0x21,0x40,0x30,0x01,0x73,0x00,0x24,0xc4,0x72,0x0d,0xf0,0xe5,0xfe,0x0d,0xf0,
0xdf,0xfe,0x3c,0x20,0x0d,0xf0,0xd8,0xfe,0x0d,0xf0,0xd2,0xfe,0x0d,0xf0,0xcc,0xfe,
0x00,0xf0,0xeb,0xf9,0x0d,0xf0,0xc4,0xfe,0x00,0xf0,0x51,0xfa,0x42,0x48,0x04,0x70,
0x44,0x80,0x84,0x80,0xc4,0x80,0x10,0xbd,0x70,0xb5,0x31,0x4c,0x20,0x78,0x01,0x21,
0x08,0x43,0x20,0x70,0x3d,0x4d,0x47,0xe0,0x0d,0xf0,0xae,0xfe,0x28,0x7a,0x00,0x28,
0x03,0xd0,0x2b,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x0d,0xf0,0xa1,0xfe,0x20,0x78,
0xc0,0x07,0x01,0xd0,0x55,0x20,0x68,0x70,0x0d,0xf0,0x96,0xfe,0xa0,0x6b,0x20,0x30,
0x40,0x78,0x00,0x28,0x01,0xd0,0x0d,0xf0,0x8b,0xfe,0xa0,0x6b,0x21,0x21,0x09,0x5c,
0x09,0x09,0x06,0xd0,0x1e,0x49,0x60,0x30,0xa0,0x39,0x89,0x7b,0xc0,0x7a,0x81,0x42,
0x1e,0xd1,0x0d,0xf0,0x79,0xfe,0x0d,0xf0,0x73,0xfe,0x0d,0xf0,0x6d,0xfe,0x00,0xf0,
0x68,0xf9,0xa0,0x78,0x00,0x28,0x02,0xd0,0xa0,0x78,0x02,0x28,0x01,0xd1,0x00,0xf0,
0x18,0xfa,0x0d,0xf0,0x5d,0xfe,0x0d,0xf0,0x53,0xfe,0x0d,0xf0,0x4d,0xfe,0x20,0x48,
0x0d,0xf0,0x46,0xfe,0x0d,0xf0,0x40,0xfe,0x0d,0xf0,0x3a,0xfe,0x00,0xf0,0xc1,0xf9,
0x00,0xf0,0xdd,0xf8,0x00,0xf0,0xa6,0xf8,0xa0,0x78,0x06,0x28,0xb4,0xd1,0x70,0xbd,
0x10,0xb5,0xff,0xf7,0x6c,0xff,0x06,0x4c,0xa0,0x78,0x00,0x28,0x04,0xd0,0x06,0x28,
0xfa,0xd1,0x0d,0xf0,0x11,0xfe,0xf7,0xe7,0xff,0xf7,0x9e,0xff,0xf4,0xe7,0x00,0x00,
0xb0,0x0a,0x00,0x20,0x80,0x10,0x00,0x40,0xc4,0x0f,0x00,0x00,0xf6,0x11,0x00,0x00,
0x08,0x12,0x00,0x00,0xe4,0x12,0x00,0x00,0xc4,0x11,0x00,0x00,0xe4,0x11,0x00,0x00,
0x08,0x00,0x00,0x20,0x89,0x03,0x00,0x00,0x91,0x03,0x00,0x00,0xcd,0x07,0x00,0x00,
0x4d,0x0a,0x00,0x00,0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x5c,0x00,0x00,0x20,
0x83,0x05,0x00,0x00,0x0b,0x49,0x0a,0x48,0xc8,0x60,0xbf,0xf3,0x40,0x8f,0xfe,0xe7,
0x10,0xb5,0xff,0xf7,0xc5,0xff,0x10,0xbd,0x0f,0xb5,0x00,0x90,0x01,0x91,0x01,0x98,
0x02,0x90,0x00,0x98,0x03,0x90,0x68,0x46,0x0f,0xc8,0x04,0xb0,0x00,0xbd,0x00,0x00,
0x04,0x00,0xfa,0x05,0x00,0xed,0x00,0xe0,0x10,0xb5,0x00,0xf0,0x42,0xfd,0x10,0xbd,
0x10,0xb5,0x00,0xf0,0x3e,0xfd,0x08,0x46,0x10,0xbd,0x00,0x00,0xf0,0xb5,0x00,0x21,
0x0a,0x24,0xff,0x48,0xc0,0x7c,0x01,0x28,0x3c,0xd1,0xfe,0x4d,0xfe,0x4b,0x3e,0xe0,
0x24,0x20,0xfe,0x4a,0x48,0x43,0x86,0x18,0x17,0x20,0x80,0x01,0x30,0x18,0x02,0x7c,
0x01,0x2a,0x32,0xd1,0xc2,0x7b,0x03,0x2a,0x2f,0xd1,0x42,0x7c,0x05,0x2a,0x2c,0xd9,
0x1a,0x88,0x52,0x1c,0x92,0xb2,0x1a,0x80,0x01,0x2a,0x04,0xd1,0x82,0x8b,0x2a,0x80,
0xf3,0x4f,0xc2,0x8b,0x3a,0x80,0x82,0x8b,0x2f,0x88,0xd2,0x1b,0x12,0xb2,0xf0,0x4f,
0xc0,0x8b,0x3f,0x88,0xc0,0x1b,0x07,0xb2,0x2f,0x20,0x40,0x01,0x30,0x18,0x02,0x26,
0x86,0x5f,0x0f,0x36,0x1e,0x2e,0x0e,0xd8,0x04,0x26,0x86,0x5f,0xf6,0x1d,0x0e,0x2e,
0x09,0xd8,0x0f,0x32,0x1e,0x2a,0x06,0xd8,0xff,0x1d,0x0e,0x2f,0x03,0xd8,0xe5,0x49,
0x01,0x20,0x08,0x70,0xf0,0xbd,0x00,0x20,0x18,0x80,0x49,0x1c,0xc9,0xb2,0xa1,0x42,
0xbe,0xd3,0xf0,0xbd,0x30,0xb5,0xda,0x48,0x80,0x30,0x00,0xe0,0x30,0xbf,0x01,0x7c,
0x00,0x29,0xfb,0xd0,0xd6,0x48,0xa0,0x30,0x01,0x78,0x09,0x07,0x15,0xd5,0xda,0x4b,
0x01,0x22,0x1a,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,0x01,0x78,
0xef,0x24,0x21,0x40,0x01,0x70,0x00,0xe0,0x30,0xbf,0x01,0x78,0xc9,0x06,0xfb,0xd5,
0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xd0,0x4a,0x50,0x68,0x40,0x1c,
0x50,0x60,0xcf,0x49,0x03,0x0e,0x8b,0x72,0x03,0x0c,0x4b,0x72,0x03,0x0a,0x0b,0x72,
0xc8,0x71,0x10,0x7a,0x00,0x28,0x01,0xd0,0x30,0xbf,0xfd,0xe7,0x30,0xbd,0xf8,0xb5,
0xbf,0x4c,0xa0,0x34,0xa0,0x78,0x00,0x28,0x03,0xd0,0x0d,0xf0,0x45,0xfd,0x00,0x28,
0x3b,0xd1,0xbb,0x4a,0xc2,0x49,0xd0,0x7c,0x00,0x25,0xc0,0x4b,0x40,0x39,0x00,0x28,
0x0a,0xd1,0xa7,0x6b,0x10,0x46,0x40,0x30,0x20,0x37,0x86,0x7d,0x3f,0x7a,0xbe,0x42,
0x07,0xd3,0x00,0x7c,0x00,0x06,0x04,0xd5,0xb1,0x48,0x60,0x30,0x40,0x78,0x00,0x28,
0x24,0xd0,0x58,0x78,0x55,0x28,0x05,0xd0,0x18,0x78,0x55,0x28,0x1d,0xd1,0x50,0x7b,
0x06,0x28,0x1a,0xd1,0x1d,0x70,0x5d,0x70,0x0d,0x70,0xab,0x20,0x88,0x71,0x4d,0x71,
0xad,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,0x20,0x31,0x8a,0x79,0x31,0x46,
0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,0xfd,0xff,0x28,0x78,0xa1,0x6b,
0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,0xf8,0xbd,0x55,0x20,0x18,0x70,
0x00,0x20,0xa4,0x4a,0x0b,0x78,0xab,0x2b,0x03,0xd0,0x40,0x1c,0x80,0xb2,0x90,0x42,
0xf8,0xd3,0xe1,0x63,0x0d,0xf0,0xfc,0xfc,0x9a,0x4e,0x35,0x70,0xff,0xf7,0x26,0xff,
0x30,0x78,0x00,0x28,0xe9,0xd1,0x98,0x4d,0x20,0x3d,0x28,0x78,0xa1,0x6b,0x01,0x26,
0x20,0x31,0x8a,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x28,0x20,0x0c,0xf0,
0xd2,0xff,0x28,0x78,0xa1,0x6b,0x20,0x31,0x89,0x79,0x8e,0x40,0x30,0x43,0x28,0x70,
0xf8,0xbd,0xf8,0xb5,0x86,0x48,0xa0,0x30,0x80,0x6b,0x05,0x79,0xc0,0x78,0x00,0x90,
0x00,0x26,0x36,0xe0,0x00,0x20,0x00,0x21,0x32,0x46,0x6a,0x43,0x53,0x00,0x83,0x4a,
0x9b,0x18,0x5f,0x22,0xd2,0x00,0x9a,0x18,0x14,0x46,0x00,0x23,0x07,0xe0,0x17,0x88,
0x38,0x18,0x00,0xb2,0x49,0x1c,0x09,0xb2,0x92,0x1c,0x5b,0x1c,0xdb,0xb2,0xab,0x42,
0xf5,0xd3,0x00,0xf0,0x26,0xfc,0x00,0xb2,0x00,0x21,0x16,0xe0,0x00,0x28,0x0b,0xdd,
0x00,0x22,0xa2,0x5e,0x82,0x42,0x02,0xdb,0x12,0x1a,0x22,0x80,0x0a,0xe0,0x00,0x2a,
0x08,0xdd,0x01,0x22,0x22,0x80,0x05,0xe0,0x00,0x22,0xa2,0x5e,0x82,0x42,0x01,0xdc,
0x12,0x1a,0x22,0x80,0xa4,0x1c,0x49,0x1c,0xc9,0xb2,0xa9,0x42,0xe6,0xd3,0x76,0x1c,
0xf6,0xb2,0x00,0x98,0x86,0x42,0xc5,0xd3,0xf8,0xbd,0x30,0xb5,0x6a,0x48,0x20,0x38,
0x84,0x78,0x63,0x49,0x01,0x22,0xa0,0x31,0x89,0x6b,0x13,0x46,0x20,0x31,0x8d,0x79,
0xab,0x40,0x9c,0x43,0x84,0x70,0x44,0x78,0x8d,0x79,0x13,0x46,0xab,0x40,0x9c,0x43,
0x44,0x70,0x03,0x78,0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x70,0x03,0x79,
0x8d,0x79,0x14,0x46,0xac,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8d,0x79,0x14,0x46,
0xac,0x40,0xa3,0x43,0x43,0x71,0xc3,0x78,0x89,0x79,0x8a,0x40,0x13,0x43,0xc3,0x70,
0x30,0xbd,0x70,0xb5,0x4e,0x4d,0x60,0x35,0x68,0x78,0x00,0x28,0x27,0xd0,0x2c,0x46,
0x40,0x34,0xa0,0x6b,0xff,0x30,0xc1,0x30,0x80,0x6b,0x00,0x28,0x1f,0xd0,0x0d,0xf0,
0x63,0xfc,0x00,0x21,0xff,0x28,0x1b,0xd1,0xa0,0x6b,0x60,0x30,0x82,0x7a,0x44,0x48,
0x82,0x73,0x02,0x22,0x03,0x46,0x20,0x33,0x5a,0x70,0x41,0x73,0x00,0x20,0x0f,0x22,
0x17,0x25,0x42,0x4b,0xad,0x01,0x06,0xe0,0x24,0x21,0x41,0x43,0xc9,0x18,0x49,0x19,
0x8a,0x73,0x40,0x1c,0xc0,0xb2,0xa1,0x6b,0xc9,0x7a,0x81,0x42,0xf4,0xd8,0x70,0xbd,
0xfe,0x28,0xfc,0xd0,0x00,0x28,0xfa,0xd0,0xa2,0x6b,0xff,0x32,0xc1,0x32,0x93,0x6b,
0x40,0x1e,0x01,0x22,0x82,0x40,0x13,0x42,0xf1,0xd0,0x69,0x70,0x70,0xbd,0x37,0x49,
0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x35,0x4a,0xd0,0x72,0x08,0x72,
0x70,0x47,0xf8,0xb5,0x34,0x4a,0x32,0x4b,0xd8,0x7a,0x00,0x28,0x4f,0xd0,0x00,0x21,
0x00,0x25,0x32,0x24,0x26,0x48,0xa0,0x30,0x00,0x90,0x86,0x6b,0xf0,0x79,0x00,0x28,
0x00,0xd0,0x28,0x24,0x00,0x20,0x08,0xe0,0x00,0x27,0xd7,0x5f,0x0a,0x2f,0x01,0xdb,
0x49,0x1c,0x89,0xb2,0x92,0x1c,0x40,0x1c,0x80,0xb2,0xa0,0x42,0xf4,0xd3,0x23,0x4a,
0x0a,0x29,0x08,0xd2,0x06,0x29,0x02,0xd3,0xd8,0x7a,0x40,0x06,0x03,0xd1,0x18,0x48,
0xc0,0x7b,0x01,0x28,0x08,0xd9,0xd8,0x7a,0x80,0x28,0x00,0xd1,0x01,0x25,0x81,0x20,
0xd8,0x72,0x14,0x20,0x90,0x70,0x0b,0xe0,0x90,0x78,0x00,0x28,0x02,0xd0,0x40,0x1e,
0x90,0x70,0x05,0xe0,0xd8,0x7a,0x81,0x28,0x00,0xd1,0x01,0x25,0x80,0x20,0xd8,0x72,
0x00,0x2d,0x14,0xd0,0x10,0x4c,0x20,0x3c,0x20,0x78,0x20,0x36,0xb2,0x79,0x01,0x25,
0x29,0x46,0x91,0x40,0x08,0x43,0x20,0x70,0x28,0x20,0x0c,0xf0,0xc4,0xfe,0x20,0x78,
0x00,0x99,0x89,0x6b,0x20,0x31,0x89,0x79,0x8d,0x40,0xa8,0x43,0x20,0x70,0xf8,0xbd,
0x10,0x0a,0x00,0x20,0x02,0x00,0x00,0x20,0x06,0x00,0x00,0x20,0x70,0x03,0x00,0x20,
0x04,0x00,0x00,0x20,0x00,0x00,0x00,0x20,0x20,0x10,0x00,0x40,0x5c,0x00,0x00,0x20,
0x48,0x00,0x00,0x20,0x7c,0x92,0x00,0x00,0x68,0x06,0x00,0x20,0xf8,0xb5,0x0d,0x46,
0x07,0x9f,0x06,0x9e,0x11,0x46,0xfe,0x4a,0x90,0x6b,0x40,0x30,0x00,0x2d,0x07,0xd0,
0x00,0x2e,0x02,0xd0,0x1e,0x24,0x04,0x57,0x09,0xe0,0x1d,0x24,0x04,0x57,0x06,0xe0,
0x00,0x2f,0x02,0xd0,0x1c,0x24,0x04,0x57,0x01,0xe0,0x1b,0x24,0x04,0x57,0x00,0x20,
0x18,0x5e,0x00,0x28,0x00,0xda,0x40,0x42,0xc0,0x01,0x0b,0x46,0x00,0x21,0x52,0x68,
0x59,0x5e,0x90,0x47,0x7f,0x28,0x00,0xdd,0x7f,0x20,0xff,0x21,0x01,0x31,0x00,0x2e,
0x01,0xd0,0x00,0x2d,0x03,0xd1,0x00,0x2f,0x02,0xd0,0x00,0x2d,0x00,0xd1,0x08,0x1a,
0x00,0x19,0x88,0x42,0x01,0xdd,0x08,0x46,0xb1,0xe7,0x00,0x28,0xaf,0xda,0x00,0x20,
0xad,0xe7,0xf0,0xb5,0x87,0xb0,0xe3,0x4e,0xe1,0x48,0x80,0x6b,0x01,0x79,0x03,0x91,
0xc0,0x78,0x02,0x90,0x00,0x25,0xde,0x48,0xa0,0x38,0x06,0x90,0x39,0xe0,0x68,0x00,
0x34,0x5e,0x80,0x19,0x14,0x27,0x05,0x90,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,
0x10,0xda,0x78,0x00,0xa0,0x42,0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,
0x00,0xf0,0xc7,0xfa,0xc0,0x19,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,
0x05,0x99,0x88,0x82,0x05,0x98,0xff,0x30,0x01,0x30,0x18,0x24,0x04,0x90,0x04,0x5f,
0x04,0x27,0xc7,0x5f,0x06,0x98,0x80,0x7a,0xa0,0x42,0x10,0xda,0x78,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0xaa,0xfa,0xc0,0x19,
0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x04,0x99,0x88,0x80,0x6d,0x1c,
0xed,0xb2,0x03,0x98,0x85,0x42,0xc2,0xd3,0x00,0x27,0x3a,0xe0,0x38,0x46,0x14,0x21,
0x48,0x43,0x34,0x5e,0x85,0x19,0x02,0x20,0x28,0x5e,0x01,0x90,0x06,0x98,0x80,0x7a,
0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,0x0d,0xda,0x21,0x11,0x10,0x20,
0x41,0x1a,0x20,0x46,0x00,0xf0,0x85,0xfa,0x01,0x99,0x40,0x18,0x00,0xb2,0xa0,0x42,
0x01,0xdb,0x64,0x1e,0x20,0xb2,0x68,0x80,0x12,0x24,0x2c,0x5f,0x10,0x20,0x28,0x5e,
0x01,0x90,0x06,0x98,0x80,0x7a,0xa0,0x42,0x11,0xda,0x01,0x98,0x40,0x00,0xa0,0x42,
0x0d,0xda,0x20,0x11,0x10,0x21,0x09,0x1a,0x20,0x46,0x00,0xf0,0x6a,0xfa,0x01,0x99,
0x40,0x18,0x00,0xb2,0xa0,0x42,0x01,0xdb,0x64,0x1e,0x20,0xb2,0x28,0x82,0x7f,0x1c,
0xff,0xb2,0x02,0x98,0x87,0x42,0xc1,0xd3,0x07,0xb0,0xf0,0xbd,0x70,0x47,0xf8,0xb5,
0x9d,0x4c,0xa3,0x88,0xcf,0x20,0x03,0x40,0x1d,0x21,0x9c,0x48,0x89,0x01,0x42,0x18,
0x35,0x21,0x49,0x01,0x45,0x18,0x0d,0x21,0xc9,0x01,0x40,0x18,0x98,0x4f,0xd6,0x6b,
0x81,0x6b,0x01,0x2b,0x1a,0xd0,0x05,0x2b,0x09,0xd0,0x00,0x22,0x09,0x2b,0x5b,0xd1,
0x6a,0x75,0xe2,0x88,0xd2,0x07,0x02,0xd1,0x10,0x20,0xa0,0x80,0xff,0xe6,0xb9,0x42,
0x02,0xd1,0xa5,0x20,0xe0,0x80,0x06,0xe0,0x72,0x5c,0xe2,0x80,0x49,0x1c,0x81,0x63,
0x51,0x29,0x00,0xd3,0x87,0x63,0x14,0x20,0xa0,0x80,0xf0,0xe6,0x6b,0x7d,0x02,0x2b,
0x32,0xd2,0x00,0x2b,0x04,0xd1,0x87,0x49,0xd1,0x63,0xe1,0x88,0x81,0x63,0x35,0xe0,
0xe3,0x88,0x09,0x02,0xc9,0x18,0x8e,0xb2,0xd1,0x21,0x09,0x02,0x71,0x1a,0x20,0x29,
0x10,0xd8,0xf0,0xb2,0x08,0xf0,0x20,0xf8,0x7f,0x48,0x86,0x42,0x26,0xd1,0x01,0x20,
0x0d,0xf0,0xf2,0xfa,0x76,0x49,0x18,0x20,0x20,0x39,0x08,0x74,0x7b,0x49,0x01,0x20,
0x08,0x72,0x1b,0xe0,0x7a,0x49,0x71,0x18,0x23,0x29,0x04,0xd8,0x81,0x63,0xef,0x20,
0x40,0x01,0xd0,0x63,0x12,0xe0,0x0d,0x21,0x09,0x03,0x71,0x1a,0x50,0x29,0x01,0xd8,
0x81,0x63,0x0b,0xe0,0x87,0x63,0x09,0xe0,0xb9,0x42,0x07,0xd0,0xe2,0x88,0x72,0x54,
0x81,0x6b,0x49,0x1c,0x81,0x63,0x51,0x29,0x00,0xd3,0x87,0x63,0x68,0x7d,0x40,0x1c,
0x68,0x75,0x10,0x20,0xa0,0x80,0xaa,0xe6,0xa2,0x80,0xa8,0xe6,0xf7,0xb5,0xa0,0xb0,
0x0d,0x46,0x00,0x20,0x0f,0x90,0x0e,0x90,0x5d,0x48,0x1f,0x90,0x80,0x6b,0x04,0x79,
0x81,0x79,0x49,0x1e,0xc9,0xb2,0x0d,0x91,0x00,0x21,0x0c,0x91,0x0b,0x91,0x0a,0x91,
0x41,0x78,0x49,0x00,0x18,0x91,0xb2,0x21,0x41,0x5e,0x17,0x91,0x54,0x48,0x91,0x22,
0xa0,0x38,0xc1,0x7a,0x55,0x48,0x92,0x00,0x82,0x18,0x1e,0x92,0x02,0x46,0x28,0x32,
0xdc,0x30,0x1d,0x92,0x1c,0x90,0x01,0x29,0x18,0xd1,0x28,0x46,0x1c,0x99,0x60,0x43,
0x46,0x18,0x1e,0x99,0x42,0x18,0x1d,0x99,0x47,0x18,0x20,0x98,0x00,0x21,0x0b,0xe0,
0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,0x3b,0x70,0x76,0x1c,0x80,0x1c,
0x52,0x1c,0x7f,0x1c,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xf1,0xdb,0x00,0x20,0x12,0x90,
0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xa8,0x84,0x46,0x28,0x46,0x60,0x43,
0x1c,0x99,0x1b,0x90,0x47,0x18,0x1a,0x97,0x1f,0x98,0xc2,0x69,0x1f,0x98,0xc3,0x6a,
0x00,0x21,0x23,0xe0,0x02,0x98,0x3e,0x78,0x00,0x88,0x80,0x1b,0x00,0xb2,0x66,0x46,
0x30,0x80,0xd6,0x07,0x04,0xd0,0x14,0x9e,0x80,0x19,0x00,0xb2,0x14,0x90,0x0a,0xe0,
0xde,0x07,0x04,0xd0,0x13,0x9e,0x80,0x19,0x00,0xb2,0x13,0x90,0x03,0xe0,0x12,0x9e,
0x80,0x19,0x00,0xb2,0x12,0x90,0x60,0x46,0x80,0x1c,0x84,0x46,0x02,0x98,0x80,0x1c,
0x02,0x90,0x7f,0x1c,0x52,0x08,0x5b,0x08,0x49,0x1c,0x49,0xb2,0xa1,0x42,0xd9,0xdb,
0x23,0x4e,0x20,0x36,0x31,0x7d,0x00,0x29,0x05,0xdd,0x1f,0x98,0x42,0x68,0x14,0x98,
0x90,0x47,0x00,0xb2,0x14,0x90,0x71,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,
0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x13,0x98,0x90,0x47,
0x00,0xb2,0x13,0x90,0xb1,0x7d,0x00,0x29,0x0b,0xdd,0x01,0x29,0x03,0xd1,0x12,0x98,
0x40,0x10,0x12,0x90,0x05,0xe0,0x1f,0x98,0x42,0x68,0x12,0x98,0x90,0x47,0x00,0xb2,
0x12,0x90,0x20,0x98,0x05,0xa9,0x8c,0x46,0x1a,0x99,0x04,0x91,0x1f,0x99,0xc9,0x69,
0x11,0x91,0x1f,0x99,0xc9,0x6a,0x10,0x91,0x1f,0x99,0x8a,0x6b,0xd1,0x7c,0xc9,0x07,
0x20,0xd0,0x1f,0x99,0x09,0x6a,0x1f,0x9b,0x5b,0x6a,0x0f,0x93,0x1f,0x9b,0x9b,0x6a,
0x0e,0x93,0x13,0x7d,0x0c,0x93,0x53,0x7d,0x0b,0x93,0x92,0x7d,0x0a,0x92,0x12,0xe0,
0xb0,0x0a,0x00,0x20,0x68,0x06,0x00,0x20,0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,
0xff,0xff,0x00,0x00,0x08,0x00,0x00,0x20,0x0e,0xd1,0x00,0x00,0x5c,0x00,0x00,0x20,
0x10,0x2e,0xff,0xff,0x00,0x21,0x1d,0x9b,0x1b,0x9a,0xd2,0x18,0x03,0x92,0x00,0x22,
0x19,0x92,0x9a,0xe0,0x11,0x9a,0xd2,0x07,0x01,0xd0,0x14,0x9a,0x05,0xe0,0x10,0x9a,
0xd2,0x07,0x01,0xd0,0x13,0x9a,0x00,0xe0,0x12,0x9a,0x00,0x2a,0x0c,0xdd,0x66,0x46,
0x00,0x23,0xf3,0x5e,0x00,0x2b,0x07,0xdd,0x93,0x42,0x00,0xda,0x1a,0x46,0x03,0x88,
0x9a,0x1a,0x13,0xb2,0x03,0x80,0x32,0xe0,0x66,0x46,0x00,0x23,0xf3,0x5e,0x00,0x2b,
0x2b,0xda,0x00,0x2a,0x05,0xda,0x93,0x42,0x00,0xdd,0x1a,0x46,0x03,0x88,0x9a,0x1a,
0x02,0x80,0x00,0x23,0xc3,0x5e,0xca,0x07,0x21,0xd0,0x04,0x9a,0x12,0x78,0x17,0x46,
0xd2,0x1a,0x12,0xb2,0x0e,0x9e,0xf6,0x07,0x06,0xd0,0x0a,0x9e,0xb2,0x42,0x16,0xdd,
0x0a,0x9e,0xba,0x1b,0x02,0x80,0x12,0xe0,0x0f,0x9e,0xf6,0x07,0x06,0xd0,0x0b,0x9e,
0xb2,0x42,0x0c,0xdd,0x0b,0x9e,0xba,0x1b,0x02,0x80,0x08,0xe0,0x0c,0x9e,0xb2,0x42,
0x05,0xdd,0x0c,0x9e,0xba,0x1b,0x02,0x80,0x01,0xe0,0x00,0x23,0xc3,0x5e,0x03,0x9a,
0x12,0x78,0xd2,0x1a,0x12,0xb2,0x18,0x9b,0x9a,0x42,0x02,0xda,0x17,0x9b,0x9a,0x42,
0x26,0xdc,0x01,0x22,0xaa,0x40,0xd3,0x17,0x22,0x9e,0x01,0x93,0x00,0x92,0x37,0x68,
0x76,0x68,0x3a,0x43,0x33,0x43,0x22,0x9e,0x0c,0xc6,0x00,0x2d,0x09,0xd0,0x6f,0x1e,
0x01,0x26,0xbe,0x40,0xf7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9a,0x1f,0x43,
0xc0,0xc2,0x0d,0x9a,0x95,0x42,0x0b,0xd2,0x6b,0x1c,0x01,0x22,0x9a,0x40,0xd3,0x17,
0x22,0x9f,0x01,0x93,0x00,0x92,0xc0,0xcf,0x32,0x43,0x22,0x9e,0x3b,0x43,0x0c,0xc6,
0x03,0x9a,0x52,0x1c,0x03,0x92,0x80,0x1c,0x04,0x9a,0x52,0x1c,0x04,0x92,0x62,0x46,
0x92,0x1c,0x94,0x46,0x11,0x9a,0x52,0x08,0x11,0x92,0x10,0x9a,0x52,0x08,0x10,0x92,
0x00,0x29,0x06,0xd0,0x49,0x08,0x0f,0x9a,0x52,0x08,0x0f,0x92,0x0e,0x9a,0x52,0x08,
0x0e,0x92,0x19,0x9a,0x52,0x1c,0x52,0xb2,0x19,0x92,0x19,0x9a,0xa2,0x42,0x00,0xda,
0x60,0xe7,0x1a,0x9d,0x1e,0x99,0x1b,0x98,0x47,0x18,0x20,0x9e,0x1f,0x98,0x80,0x6b,
0x80,0x30,0x00,0x7e,0x01,0x28,0x1c,0xd1,0x00,0x23,0x16,0xe0,0x00,0x22,0xb2,0x5e,
0x28,0x78,0x39,0x78,0x38,0x70,0x2a,0x70,0x88,0x42,0x02,0xdd,0x84,0x46,0x08,0x46,
0x61,0x46,0x82,0x42,0x01,0xdc,0x30,0x80,0x02,0xe0,0x8a,0x42,0x00,0xdb,0x31,0x80,
0x6d,0x1c,0x7f,0x1c,0xb6,0x1c,0x5b,0x1c,0x5b,0xb2,0xa3,0x42,0xe6,0xdb,0x23,0xb0,
0xf0,0xbd,0x02,0x28,0x25,0xd1,0x00,0x20,0x19,0x90,0x1e,0xe0,0x00,0x21,0x71,0x5e,
0x16,0x91,0x28,0x78,0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,
0x1f,0x99,0x4a,0x68,0x03,0x21,0x90,0x47,0x00,0xb2,0x38,0x70,0x16,0x99,0x29,0x70,
0x15,0x99,0x4a,0x00,0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6d,0x1c,0x7f,0x1c,
0xb6,0x1c,0x19,0x98,0x40,0x1c,0x40,0xb2,0x19,0x90,0x19,0x98,0xa0,0x42,0xdd,0xdb,
0xd5,0xe7,0x00,0x20,0x08,0xe0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6d,0x1c,
0x7f,0x1c,0xb6,0x1c,0x40,0x1c,0x40,0xb2,0xa0,0x42,0xf4,0xdb,0xc7,0xe7,0x00,0x22,
0x03,0x09,0x8b,0x42,0x2c,0xd3,0x03,0x0a,0x8b,0x42,0x11,0xd3,0x00,0x23,0x9c,0x46,
0x4e,0xe0,0x03,0x46,0x0b,0x43,0x3c,0xd4,0x00,0x22,0x43,0x08,0x8b,0x42,0x31,0xd3,
0x03,0x09,0x8b,0x42,0x1c,0xd3,0x03,0x0a,0x8b,0x42,0x01,0xd3,0x94,0x46,0x3f,0xe0,
0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,0x52,0x41,0x83,0x09,0x8b,0x42,
0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,0x8b,0x42,0x01,0xd3,0x4b,0x01,
0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,0x0b,0x01,0xc0,0x1a,0x52,0x41,
0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,0x52,0x41,0x83,0x08,0x8b,0x42,
0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,
0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,
0x5d,0xe0,0xca,0x0f,0x00,0xd0,0x49,0x42,0x03,0x10,0x00,0xd3,0x40,0x42,0x53,0x40,
0x00,0x22,0x9c,0x46,0x03,0x09,0x8b,0x42,0x2d,0xd3,0x03,0x0a,0x8b,0x42,0x12,0xd3,
0xfc,0x22,0x89,0x01,0x12,0xba,0x03,0x0a,0x8b,0x42,0x0c,0xd3,0x89,0x01,0x92,0x11,
0x8b,0x42,0x08,0xd3,0x89,0x01,0x92,0x11,0x8b,0x42,0x04,0xd3,0x89,0x01,0x3a,0xd0,
0x92,0x11,0x00,0xe0,0x89,0x09,0xc3,0x09,0x8b,0x42,0x01,0xd3,0xcb,0x01,0xc0,0x1a,
0x52,0x41,0x83,0x09,0x8b,0x42,0x01,0xd3,0x8b,0x01,0xc0,0x1a,0x52,0x41,0x43,0x09,
0x8b,0x42,0x01,0xd3,0x4b,0x01,0xc0,0x1a,0x52,0x41,0x03,0x09,0x8b,0x42,0x01,0xd3,
0x0b,0x01,0xc0,0x1a,0x52,0x41,0xc3,0x08,0x8b,0x42,0x01,0xd3,0xcb,0x00,0xc0,0x1a,
0x52,0x41,0x83,0x08,0x8b,0x42,0x01,0xd3,0x8b,0x00,0xc0,0x1a,0x52,0x41,0xd9,0xd2,
0x43,0x08,0x8b,0x42,0x01,0xd3,0x4b,0x00,0xc0,0x1a,0x52,0x41,0x41,0x1a,0x00,0xd2,
0x01,0x46,0x63,0x46,0x52,0x41,0x5b,0x10,0x10,0x46,0x01,0xd3,0x40,0x42,0x00,0x2b,
0x00,0xd5,0x49,0x42,0x70,0x47,0x63,0x46,0x5b,0x10,0x00,0xd3,0x40,0x42,0x01,0xb5,
0x00,0x20,0xc0,0x46,0xc0,0x46,0x02,0xbd,0x75,0x46,0x00,0xf0,0x23,0xf8,0xae,0x46,
0x05,0x00,0x69,0x46,0x53,0x46,0xc0,0x08,0xc0,0x00,0x85,0x46,0x18,0xb0,0x20,0xb5,
0xff,0xf7,0xfa,0xf9,0x60,0xbc,0x00,0x27,0x49,0x08,0xb6,0x46,0x00,0x26,0xc0,0xc5,
0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0xc0,0xc5,0x40,0x3d,
0x49,0x00,0x8d,0x46,0x70,0x47,0x04,0x46,0xc0,0x46,0xc0,0x46,0x20,0x46,0xff,0xf7,
0xa6,0xf8,0x00,0x00,0x00,0x48,0x70,0x47,0x68,0x00,0x00,0x20,0x02,0x48,0x03,0x49,
0xab,0xbe,0x70,0x47,0x0d,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,
0x70,0x47,0x00,0x00,0x25,0x0c,0x28,0x0f,0x0a,0x0a,0x0f,0x00,0x02,0x02,0x60,0x06,
0x00,0x00,0x01,0x01,0x08,0x08,0x10,0x85,0x1d,0x0e,0x07,0x03,0x0a,0x1e,0x64,0x50,
0xa0,0x50,0x08,0x02,0x16,0x01,0x00,0x00,0x10,0x0a,0x02,0x00,0x06,0x04,0x14,0x14,
0x0a,0x06,0x28,0x1e,0x3c,0x64,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x08,0x04,
0x02,0x01,0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x04,
0x08,0x01,0x02,0x04,0x08,0x01,0x02,0x04,0x01,0x01,0x01,0x01,0xd8,0xe2,0xf6,0x00,
0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x02,0x02,0x02,0x06,0x0d,0x10,0x00,0x14,0x0a,
0x01,0x02,0x02,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,
0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x1e,0x1e,0x3c,0x00,0x14,
0xc8,0x14,0x00,0x03,0x84,0x04,0x02,0x02,0x5a,0x00,0x5a,0x01,0x02,0x08,0x00,0x01,
0x00,0x00,0x00,0x00,0x00,0x04,0x00,0x04,0xb4,0x00,0x09,0x00,0x90,0x01,0x02,0x01,
0x68,0x01,0x20,0x00,0x00,0x00,0xf4,0xff,0x33,0x01,0x03,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x44,0x44,0x00,0x00,0x25,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,
0x1d,0x10,0x00,0x40,0x1d,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x21,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x60,0x10,0x00,0x40,0x5c,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4c,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xff,0xff,0x00,0x80,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0xff,0x00,0xff,0xff,0xff,0xff,0x00,
0xff,0x01,0x00,0x01,0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0x63,0x65,0x07,0x56,0xaa,0x78,0xa1,0x21,0x00,
0x00,0x00,0x00,0x00,0x21,0xaa,0x43,0xaa,0x56,0xaa,0x81,0xa7,0x21,0x00,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xaa,0x32,0xaa,0x87,0xa1,
0x71,0x06,0x87,0xaa,0x23,0xaa,0x87,0xaa,0x32,0xaa,0x00,0x00,0x87,0xaa,0x23,0xaa,
0x00,0x00,0x00,0x00,0x00,0x00,0x65,0xaa,0x87,0xaa,0x51,0xa6,0x47,0x06,0x45,0x00,
0x28,0xa1,0x76,0xaa,0x12,0xa8,0x00,0x00,0x00,0x00,0x34,0xaa,0x56,0xaa,0x78,0xa1,
0x21,0x00,0x00,0x00,0x67,0xaa,0x23,0xaa,0xa1,0xaa,0x87,0xaa,0x32,0xaa,0x67,0xaa,
0x23,0xaa,0x87,0xaa,0x32,0xaa,0xa1,0xaa,0x21,0xaa,0x56,0xaa,0x81,0xa7,0x21,0xaa,
0x00,0x00,0x34,0xaa,0x65,0xaa,0x87,0xaa,0x51,0x46,0x47,0x03,0xa8,0xaa,0x21,0xaa,
0x43,0xaa,0x56,0xaa,0x81,0xa7,0x34,0xaa,0x76,0xa5,0x18,0xa7,0x23,0xa1,0x45,0xa3,
0x23,0xa4,0x21,0xa8,0x87,0xa6,0x32,0xa4,0x78,0x21,0x76,0xa5,0x23,0xa1,0x45,0x63,
0x65,0x07,0x00,0x00,0x01,0x00,0x00,0xff,0xff,0x00,0x00,0x01,0x02,0x02,0x02,0x01,
0x02,0x02,0x01,0x01,0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,
0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,
0xfc,0x1d,0x00,0x00,0x00,0x00,0x00,0x20,0x08,0x00,0x00,0x00,0x98,0x00,0x00,0x00,
0x04,0x1e,0x00,0x00,0x08,0x00,0x00,0x20,0xe8,0x0a,0x00,0x00,0xb4,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0f,0x00,0x0a,0x00,0x00,0x04,0x00,0x00,0xdc,0x5f,0xca,0xca,
0x99,0x1b,0x1a,0x00,0xb8,0x42,0xa8,0x00,0x02,0x00,0x01,0x02,0xda,0xe6,0xb3,0x1f
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,495 @@
/*
*Name : capacitive_hynitron_cst2xxse_update.h
*Author : steven
*Version : V1.0
*Copyright : Hynitron
*ProjectName : CSW_1801001_CST026_Watch_DWS_YDT_13OG563.hex Modify at 2018-01-18 13:43:48
*/
#ifndef CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
#define CAPACITIVE_HYNITRON_CST3XXSE_UPDATE_H__
static unsigned char cst3xxse_fw[] = {
0x6C,0x03,0x00,0x20,0x7D,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x71,0x03,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xF9,0x00,0x00,0x00,0xFB,0x00,0x00,0x00,0x1B,0x01,0x00,0x00,0x37,0x01,0x00,0x00,
0x4B,0x01,0x00,0x00,0x00,0xF0,0x02,0xF8,0x00,0xF0,0x40,0xF8,0x0C,0xA0,0x30,0xC8,
0x08,0x38,0x24,0x18,0x2D,0x18,0xA2,0x46,0x67,0x1E,0xAB,0x46,0x54,0x46,0x5D,0x46,
0xAC,0x42,0x01,0xD1,0x00,0xF0,0x32,0xF8,0x7E,0x46,0x0F,0x3E,0x0F,0xCC,0xB6,0x46,
0x01,0x26,0x33,0x42,0x00,0xD0,0xFB,0x1A,0xA2,0x46,0xAB,0x46,0x33,0x43,0x18,0x47,
0xDC,0x15,0x00,0x00,0xFC,0x15,0x00,0x00,0x10,0x3A,0x02,0xD3,0x78,0xC8,0x78,0xC1,
0xFA,0xD8,0x52,0x07,0x01,0xD3,0x30,0xC8,0x30,0xC1,0x01,0xD5,0x04,0x68,0x0C,0x60,
0x70,0x47,0x00,0x00,0x00,0x23,0x00,0x24,0x00,0x25,0x00,0x26,0x10,0x3A,0x01,0xD3,
0x78,0xC1,0xFB,0xD8,0x52,0x07,0x00,0xD3,0x30,0xC1,0x00,0xD5,0x0B,0x60,0x70,0x47,
0x1F,0xB5,0xC0,0x46,0xC0,0x46,0x1F,0xBD,0x10,0xB5,0x10,0xBD,0x01,0xF0,0xEB,0xF8,
0x11,0x46,0xFF,0xF7,0xF5,0xFF,0x00,0xF0,0x12,0xF9,0x01,0xF0,0x03,0xF9,0xFF,0xF7,
0xF3,0xFF,0x01,0xF0,0x09,0xF9,0x00,0x00,0xFE,0xE7,0x1D,0x49,0x48,0x88,0x48,0x80,
0x1C,0x48,0x02,0x7C,0xFF,0x2A,0x02,0xD2,0x02,0x7C,0x52,0x1C,0x02,0x74,0x00,0x7C,
0x18,0x28,0x01,0xD2,0x00,0x20,0x88,0x80,0x70,0x47,0x17,0x49,0x8A,0x79,0x15,0x48,
0x20,0x30,0x80,0x6B,0x43,0x7A,0x9A,0x43,0x8A,0x71,0x40,0x7A,0x48,0x72,0x11,0x49,
0x01,0x20,0x08,0x74,0x70,0x47,0x10,0xB5,0x0F,0x48,0x80,0x30,0x81,0x88,0x80,0x22,
0x11,0x43,0x81,0x80,0x0D,0xF0,0xEC,0xFE,0x10,0xBD,0x10,0xB5,0x09,0x48,0x20,0x30,
0x01,0x78,0x49,0x06,0x08,0xD5,0x02,0x78,0x80,0x21,0x0A,0x43,0x02,0x70,0x07,0x4A,
0x50,0x88,0x88,0x43,0x50,0x80,0x10,0xBD,0x00,0xF0,0x8A,0xFB,0x10,0xBD,0x00,0x00,
0x00,0x02,0x00,0x40,0x90,0x0A,0x00,0x20,0x00,0x10,0x00,0x40,0x00,0x20,0x00,0x40,
0x10,0xB5,0x6A,0x48,0x6A,0x4C,0x80,0x6B,0x01,0x46,0x80,0x30,0x03,0x7F,0x08,0x46,
0x60,0x30,0x42,0x79,0x00,0x2B,0x06,0xD0,0x1B,0x02,0x13,0x43,0x63,0x81,0xFF,0x22,
0x23,0x32,0x62,0x80,0x03,0xE0,0x62,0x81,0xFF,0x22,0x03,0x32,0x62,0x80,0xA0,0x31,
0x89,0x8A,0xE1,0x80,0x81,0x79,0x02,0x79,0x09,0x02,0x11,0x43,0x21,0x81,0x01,0x7A,
0xC0,0x79,0x09,0x02,0x01,0x43,0x5A,0x48,0x20,0x38,0xC1,0x81,0x10,0xBD,0x10,0xB5,
0x56,0x48,0x58,0x49,0x81,0x63,0x01,0x46,0x57,0x4A,0x40,0x39,0xCA,0x61,0x57,0x4A,
0x0A,0x62,0x57,0x4A,0x4A,0x62,0x57,0x4A,0x8A,0x62,0x57,0x4A,0xCA,0x62,0x57,0x49,
0xC1,0x63,0x57,0x49,0x41,0x60,0x57,0x49,0x81,0x60,0x57,0x49,0xC1,0x60,0x57,0x49,
0x01,0x61,0x57,0x49,0x41,0x61,0x57,0x49,0x00,0x20,0x08,0x80,0x48,0x49,0x01,0x20,
0x60,0x39,0x88,0x75,0x50,0x21,0x4D,0x48,0x00,0xF0,0x9C,0xFF,0x0D,0xF0,0xE4,0xFE,
0x0D,0xF0,0xDE,0xFE,0x3C,0x20,0x0D,0xF0,0xD7,0xFE,0x0D,0xF0,0xD1,0xFE,0x0D,0xF0,
0xCB,0xFE,0x00,0xF0,0x60,0xF9,0x0D,0xF0,0xC3,0xFE,0x00,0xF0,0xEA,0xF9,0x10,0xBD,
0x70,0xB5,0x3A,0x4C,0x20,0x78,0x01,0x25,0x28,0x43,0x20,0x70,0x46,0x4E,0x5A,0xE0,
0x0D,0xF0,0xB2,0xFE,0x30,0x7A,0x00,0x28,0x03,0xD0,0x34,0x49,0x18,0x20,0x20,0x39,
0x08,0x74,0x0D,0xF0,0xA5,0xFE,0x20,0x78,0xC0,0x07,0x01,0xD0,0x55,0x20,0x70,0x70,
0x0D,0xF0,0x9A,0xFE,0xA0,0x6B,0x20,0x30,0x40,0x78,0x00,0x28,0x01,0xD0,0x0D,0xF0,
0x8F,0xFE,0xA0,0x6B,0x21,0x21,0x09,0x5C,0x09,0x09,0x06,0xD0,0x27,0x49,0x60,0x30,
0xA0,0x39,0x89,0x7B,0xC0,0x7A,0x81,0x42,0x31,0xD1,0x0D,0xF0,0x7D,0xFE,0x0D,0xF0,
0x77,0xFE,0x22,0x49,0x02,0x20,0x80,0x39,0x48,0x76,0x0D,0xF0,0x6D,0xFE,0x00,0xF0,
0xFA,0xF8,0x00,0xF0,0x45,0xFA,0xA0,0x78,0x00,0x28,0x02,0xD0,0xA0,0x78,0x02,0x28,
0x0E,0xD1,0x1A,0x48,0x40,0x38,0x40,0x78,0x00,0x28,0x09,0xD1,0x18,0x4A,0x80,0x3A,
0x10,0x78,0xA1,0x6B,0x20,0x31,0x8B,0x79,0x29,0x46,0x99,0x40,0x88,0x43,0x10,0x70,
0x0D,0xF0,0x4E,0xFE,0x0D,0xF0,0x44,0xFE,0x0D,0xF0,0x3E,0xFE,0x1F,0x48,0x0D,0xF0,
0x37,0xFE,0x0D,0xF0,0x31,0xFE,0x00,0xF0,0x62,0xFE,0x00,0xF0,0x28,0xF9,0x00,0xF0,
0x8F,0xF8,0x00,0xF0,0x59,0xF8,0xA0,0x78,0x06,0x28,0xA1,0xD1,0x70,0xBD,0x10,0xB5,
0xFF,0xF7,0x5D,0xFF,0x05,0x4C,0xA0,0x78,0x00,0x28,0x04,0xD0,0x06,0x28,0xFA,0xD1,
0x0D,0xF0,0x02,0xFE,0xF7,0xE7,0xFF,0xF7,0x8B,0xFF,0xF4,0xE7,0xB0,0x0A,0x00,0x20,
0x80,0x10,0x00,0x40,0x20,0x13,0x00,0x00,0x52,0x15,0x00,0x00,0x64,0x15,0x00,0x00,
0x40,0x16,0x00,0x00,0x20,0x15,0x00,0x00,0x40,0x15,0x00,0x00,0x04,0x00,0x00,0x20,
0xA5,0x03,0x00,0x00,0xAD,0x03,0x00,0x00,0xD7,0x06,0x00,0x00,0xE1,0x09,0x00,0x00,
0x81,0x01,0x00,0x00,0x00,0x00,0x00,0x20,0x58,0x00,0x00,0x20,0xA7,0x04,0x00,0x00,
0x0B,0x49,0x0A,0x48,0xC8,0x60,0xBF,0xF3,0x40,0x8F,0xFE,0xE7,0x10,0xB5,0xFF,0xF7,
0xC6,0xFF,0x10,0xBD,0x0F,0xB5,0x00,0x90,0x01,0x91,0x01,0x98,0x02,0x90,0x00,0x98,
0x03,0x90,0x68,0x46,0x0F,0xC8,0x04,0xB0,0x00,0xBD,0x00,0x00,0x04,0x00,0xFA,0x05,
0x00,0xED,0x00,0xE0,0x10,0xB5,0x00,0xF0,0xE3,0xFE,0x10,0xBD,0x10,0xB5,0x00,0xF0,
0xDF,0xFE,0x08,0x46,0x10,0xBD,0x00,0x00,0x30,0xB5,0xFF,0x48,0x00,0xE0,0x30,0xBF,
0x01,0x7C,0x00,0x29,0xFB,0xD0,0xFC,0x48,0x20,0x30,0x01,0x78,0x09,0x07,0x15,0xD5,
0xFA,0x4B,0x01,0x22,0x1A,0x76,0x94,0x07,0x21,0x68,0x08,0x25,0x29,0x43,0x21,0x60,
0x01,0x78,0xEF,0x24,0x21,0x40,0x01,0x70,0x00,0xE0,0x30,0xBF,0x01,0x78,0xC9,0x06,
0xFB,0xD5,0x00,0x21,0x19,0x76,0x01,0x78,0x11,0x43,0x01,0x70,0xF0,0x4A,0x50,0x68,
0x40,0x1C,0x50,0x60,0xEF,0x49,0x03,0x0E,0x8B,0x72,0x03,0x0C,0x4B,0x72,0x03,0x0A,
0x0B,0x72,0xC8,0x71,0x10,0x7A,0x00,0x28,0x01,0xD0,0x30,0xBF,0xFD,0xE7,0x30,0xBD,
0x70,0xB5,0xE5,0x4C,0x20,0x34,0xA0,0x78,0x00,0x28,0x03,0xD0,0x0D,0xF0,0x84,0xFD,
0x00,0x28,0x37,0xD1,0xE0,0x48,0x80,0x38,0xC0,0x7C,0x00,0x28,0x0A,0xD1,0xDE,0x48,
0xA1,0x6B,0x40,0x38,0x20,0x31,0x82,0x7D,0x09,0x7A,0x8A,0x42,0x2A,0xD3,0x00,0x7C,
0x00,0x06,0x27,0xD5,0xD8,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x22,0xD1,0xD8,0x49,
0x55,0x20,0x08,0x70,0xD5,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x00,0x20,0xD1,0x4A,0xD2,0x49,
0x40,0x3A,0x13,0x78,0xAB,0x2B,0x03,0xD0,0x40,0x1C,0x80,0xB2,0x88,0x42,0xF8,0xD3,
0xE2,0x63,0x0D,0xF0,0x55,0xFD,0x28,0x78,0xA1,0x6B,0x20,0x31,0x89,0x79,0x8E,0x40,
0x30,0x43,0x28,0x70,0x70,0xBD,0x70,0xB5,0x00,0x22,0x00,0x20,0x17,0x25,0xC7,0x4C,
0x6D,0x01,0x1D,0x23,0xDB,0x43,0x41,0x00,0x09,0x19,0x4E,0x19,0x18,0x21,0x71,0x5E,
0x99,0x42,0x01,0xDB,0xFF,0x29,0x01,0xD1,0x52,0x1C,0x92,0xB2,0x40,0x1C,0x80,0xB2,
0xB4,0x28,0xF0,0xD3,0x04,0x2A,0x0D,0xD3,0xB7,0x48,0x14,0x21,0x80,0x38,0x40,0x7B,
0x00,0xF0,0x3C,0xFE,0x01,0x29,0x05,0xD1,0xB3,0x48,0x20,0x30,0x01,0x78,0x01,0x22,
0x11,0x43,0x01,0x70,0x70,0xBD,0x30,0xB5,0xB0,0x48,0x20,0x38,0x84,0x78,0xAE,0x49,
0x01,0x22,0x20,0x31,0x89,0x6B,0x13,0x46,0x20,0x31,0x8D,0x79,0xAB,0x40,0x9C,0x43,
0x84,0x70,0x44,0x78,0x8D,0x79,0x13,0x46,0xAB,0x40,0x9C,0x43,0x44,0x70,0x03,0x78,
0x8D,0x79,0x14,0x46,0xAC,0x40,0x23,0x43,0x03,0x70,0x03,0x79,0x8D,0x79,0x14,0x46,
0xAC,0x40,0x23,0x43,0x03,0x71,0x43,0x79,0x8D,0x79,0x14,0x46,0xAC,0x40,0xA3,0x43,
0x43,0x71,0xC3,0x78,0x89,0x79,0x8A,0x40,0x13,0x43,0xC3,0x70,0x30,0xBD,0xF8,0xB5,
0x99,0x48,0x20,0x38,0x40,0x78,0x00,0x28,0x28,0xD0,0x97,0x4C,0x20,0x34,0xA0,0x6B,
0xFF,0x30,0xC1,0x30,0x80,0x6B,0x00,0x28,0x20,0xD0,0x0D,0xF0,0xED,0xFC,0xFF,0x28,
0x1D,0xD1,0xA0,0x6B,0x60,0x30,0x81,0x7A,0x20,0x46,0xA0,0x38,0x81,0x73,0x02,0x21,
0x02,0x46,0x20,0x32,0x51,0x70,0x00,0x21,0x41,0x73,0x00,0x20,0x0F,0x22,0x17,0x25,
0x8E,0x4B,0xAD,0x01,0x06,0xE0,0x24,0x21,0x41,0x43,0xC9,0x18,0x49,0x19,0x8A,0x73,
0x40,0x1C,0xC0,0xB2,0xA1,0x6B,0xC9,0x7A,0x81,0x42,0xF4,0xD8,0xF8,0xBD,0xFE,0x28,
0xFC,0xD0,0x00,0x28,0xFA,0xD0,0x41,0x1E,0x20,0x29,0xF7,0xD2,0x80,0x21,0x08,0x43,
0x80,0x49,0x08,0x73,0x7D,0x4D,0x20,0x3D,0x28,0x78,0xA1,0x6B,0x01,0x26,0x20,0x31,
0x8A,0x79,0x31,0x46,0x91,0x40,0x88,0x43,0x28,0x70,0x7D,0x27,0xFF,0x00,0x38,0x46,
0x0C,0xF0,0x99,0xFF,0x38,0x46,0x0C,0xF0,0x96,0xFF,0x38,0x46,0x0C,0xF0,0x93,0xFF,
0x38,0x46,0x0C,0xF0,0x90,0xFF,0x38,0x46,0x0C,0xF0,0x8D,0xFF,0x28,0x78,0xA1,0x6B,
0x20,0x31,0x89,0x79,0x8E,0x40,0x30,0x43,0x28,0x70,0x38,0x46,0x0C,0xF0,0x83,0xFF,
0xF8,0xBD,0x6B,0x49,0x00,0x20,0x08,0x70,0x48,0x70,0x48,0x60,0x88,0x70,0x08,0x72,
0x6B,0x49,0x08,0x80,0x70,0x47,0xF8,0xB5,0x6A,0x4A,0x66,0x4B,0xD8,0x7A,0x00,0x28,
0x50,0xD0,0x00,0x21,0x00,0x25,0x3C,0x24,0x5F,0x48,0x20,0x30,0x00,0x90,0x86,0x6B,
0xF0,0x79,0x00,0x28,0x00,0xD0,0x32,0x24,0x00,0x20,0x08,0xE0,0x00,0x27,0xD7,0x5F,
0x0A,0x2F,0x01,0xDB,0x49,0x1C,0x89,0xB2,0x92,0x1C,0x40,0x1C,0x80,0xB2,0xA0,0x42,
0xF4,0xD3,0x57,0x4A,0x0A,0x29,0x09,0xD2,0x06,0x29,0x02,0xD3,0xD8,0x7A,0x40,0x06,
0x04,0xD1,0x51,0x48,0x80,0x38,0xC0,0x7B,0x01,0x28,0x08,0xD9,0xD8,0x7A,0x80,0x28,
0x00,0xD1,0x01,0x25,0x81,0x20,0xD8,0x72,0x14,0x20,0x90,0x70,0x0B,0xE0,0x90,0x78,
0x00,0x28,0x02,0xD0,0x40,0x1E,0x90,0x70,0x05,0xE0,0xD8,0x7A,0x81,0x28,0x00,0xD1,
0x01,0x25,0x80,0x20,0xD8,0x72,0x00,0x2D,0x14,0xD0,0x44,0x4C,0x20,0x3C,0x20,0x78,
0x20,0x36,0xB2,0x79,0x01,0x25,0x29,0x46,0x91,0x40,0x88,0x43,0x20,0x70,0x28,0x20,
0x0C,0xF0,0x29,0xFF,0x20,0x78,0x00,0x99,0x89,0x6B,0x20,0x31,0x89,0x79,0x8D,0x40,
0x28,0x43,0x20,0x70,0xF8,0xBD,0xF8,0xB5,0x0D,0x46,0x07,0x9F,0x06,0x9E,0x11,0x46,
0x35,0x4A,0x20,0x32,0x90,0x6B,0x40,0x30,0x00,0x2D,0x07,0xD0,0x00,0x2E,0x02,0xD0,
0x1E,0x24,0x04,0x57,0x09,0xE0,0x1D,0x24,0x04,0x57,0x06,0xE0,0x00,0x2F,0x02,0xD0,
0x1C,0x24,0x04,0x57,0x01,0xE0,0x1B,0x24,0x04,0x57,0x00,0x20,0x18,0x5E,0x00,0x28,
0x00,0xDA,0x40,0x42,0xC0,0x01,0x0B,0x46,0x00,0x21,0x52,0x68,0x59,0x5E,0x90,0x47,
0x7F,0x28,0x00,0xDD,0x7F,0x20,0x00,0x2E,0x01,0xD0,0x00,0x2D,0x03,0xD1,0x00,0x2F,
0x04,0xD0,0x00,0x2D,0x02,0xD1,0xFF,0x21,0x01,0x31,0x08,0x1A,0x00,0x19,0xF8,0xBD,
0xF0,0xB5,0x87,0xB0,0x23,0x4E,0x1C,0x48,0x20,0x30,0x80,0x6B,0x01,0x79,0x03,0x91,
0xC0,0x78,0x02,0x90,0x00,0x25,0x18,0x48,0x80,0x38,0x06,0x90,0x4A,0xE0,0x68,0x00,
0x34,0x5E,0x80,0x19,0x14,0x27,0x05,0x90,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,
0x10,0xDA,0x78,0x00,0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,
0x00,0xF0,0xF6,0xFC,0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,
0x05,0x99,0x88,0x82,0x05,0x98,0xFF,0x30,0x41,0x30,0x14,0x24,0x04,0x90,0x04,0x5F,
0x00,0x27,0xC7,0x5F,0x06,0x98,0x80,0x7A,0xA0,0x42,0x21,0xDA,0x78,0x00,0xA0,0x42,
0x1E,0xDA,0x20,0x11,0x10,0x21,0x0F,0xE0,0x90,0x0A,0x00,0x20,0x20,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x44,0x00,0x00,0x20,0x7C,0x92,0x00,0x00,0x70,0x03,0x00,0x20,
0x02,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x09,0x1A,0x20,0x46,0x00,0xF0,0xC8,0xFC,
0xC0,0x19,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x04,0x99,0x08,0x80,
0x6D,0x1C,0xED,0xB2,0x03,0x98,0x85,0x42,0xB1,0xD3,0x00,0x27,0x3A,0xE0,0x38,0x46,
0x14,0x21,0x48,0x43,0x34,0x5E,0x85,0x19,0x02,0x20,0x28,0x5E,0x01,0x90,0x06,0x98,
0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,0xA0,0x42,0x0D,0xDA,0x21,0x11,
0x10,0x20,0x41,0x1A,0x20,0x46,0x00,0xF0,0xA3,0xFC,0x01,0x99,0x40,0x18,0x00,0xB2,
0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x68,0x80,0x12,0x24,0x2C,0x5F,0x10,0x20,
0x28,0x5E,0x01,0x90,0x06,0x98,0x80,0x7A,0xA0,0x42,0x11,0xDA,0x01,0x98,0x40,0x00,
0xA0,0x42,0x0D,0xDA,0x20,0x11,0x10,0x21,0x09,0x1A,0x20,0x46,0x00,0xF0,0x88,0xFC,
0x01,0x99,0x40,0x18,0x00,0xB2,0xA0,0x42,0x01,0xDB,0x64,0x1E,0x20,0xB2,0x28,0x82,
0x7F,0x1C,0xFF,0xB2,0x02,0x98,0x87,0x42,0xC1,0xD3,0x07,0xB0,0xF0,0xBD,0x70,0x47,
0xF8,0xB5,0xFF,0x4D,0xAB,0x88,0xCF,0x20,0x03,0x40,0x1D,0x21,0xFD,0x48,0x89,0x01,
0x41,0x18,0xCA,0x6B,0x94,0x46,0x35,0x22,0x52,0x01,0x86,0x18,0x0D,0x22,0xD2,0x01,
0x80,0x18,0x82,0x6B,0x01,0x2B,0x1C,0xD0,0x05,0x2B,0x09,0xD0,0x09,0x2B,0x7E,0xD1,
0x00,0x21,0x71,0x75,0xE9,0x88,0xC9,0x07,0x02,0xD1,0x10,0x20,0xA8,0x80,0xF8,0xBD,
0xF1,0x49,0x8A,0x42,0x02,0xD1,0xA5,0x20,0xE8,0x80,0x07,0xE0,0x63,0x46,0x9B,0x5C,
0xEB,0x80,0x52,0x1C,0x82,0x63,0x51,0x2A,0x00,0xD3,0x81,0x63,0x14,0x20,0xA8,0x80,
0xF8,0xBD,0x74,0x7D,0xE9,0x4B,0x02,0x2C,0x4F,0xD2,0x00,0x2C,0x04,0xD1,0xE8,0x4A,
0xCA,0x63,0xE9,0x88,0x81,0x63,0x6A,0xE0,0xEC,0x88,0x12,0x02,0x12,0x19,0x94,0xB2,
0xE4,0x4A,0x14,0x80,0x5A,0x78,0x01,0x2A,0x0C,0xD1,0xE3,0x4A,0x94,0x42,0x09,0xD1,
0xE2,0x4A,0x12,0x78,0x8B,0x6B,0x01,0x27,0x20,0x33,0x9B,0x79,0x9F,0x40,0xDF,0x4B,
0x3A,0x43,0x1A,0x70,0xD1,0x22,0x12,0x02,0xA2,0x1A,0x20,0x2A,0x11,0xD8,0xE0,0xB2,
0x08,0xF0,0x7A,0xF8,0xD8,0x48,0xC2,0x30,0x84,0x42,0x48,0xD1,0x01,0x20,0x0D,0xF0,
0x4B,0xFB,0xD2,0x49,0x18,0x20,0x20,0x31,0x08,0x74,0xD5,0x49,0x01,0x20,0x08,0x72,
0x3D,0xE0,0xD4,0x4A,0xA2,0x18,0x23,0x2A,0x04,0xD8,0x82,0x63,0xEF,0x20,0x40,0x01,
0xC8,0x63,0x34,0xE0,0xCF,0x4A,0x30,0x3A,0xA2,0x18,0x20,0x2A,0x04,0xD8,0x82,0x63,
0x77,0x20,0x80,0x01,0xC8,0x63,0x2A,0xE0,0x0D,0x21,0x09,0x03,0x61,0x1A,0x50,0x29,
0x01,0xD8,0x81,0x63,0x23,0xE0,0x81,0x63,0x21,0xE0,0xBF,0x4C,0xA2,0x42,0x1E,0xD0,
0xEC,0x88,0x67,0x46,0xBC,0x54,0xBF,0x4A,0xBF,0x4C,0x12,0x88,0xA2,0x42,0x0F,0xD1,
0x82,0x6B,0x4C,0x2A,0x0C,0xD1,0xC9,0x6B,0x8C,0x5C,0x80,0x2C,0x00,0xE0,0x14,0xE0,
0x02,0xD1,0x01,0x21,0x59,0x70,0x03,0xE0,0x89,0x5C,0x00,0x29,0x00,0xD1,0x59,0x70,
0x81,0x6B,0x49,0x1C,0x81,0x63,0x51,0x29,0x01,0xD3,0xAF,0x49,0x81,0x63,0x70,0x7D,
0x40,0x1C,0x70,0x75,0x10,0x20,0xA8,0x80,0xF8,0xBD,0x00,0x20,0xA8,0x80,0xF8,0xBD,
0xF7,0xB5,0xA0,0xB0,0x0D,0x46,0x00,0x20,0x0F,0x90,0x0E,0x90,0xA7,0x48,0x40,0x30,
0x1F,0x90,0x80,0x6B,0x04,0x79,0x81,0x79,0x49,0x1E,0xC9,0xB2,0x0D,0x91,0x00,0x21,
0x0C,0x91,0x0B,0x91,0x0A,0x91,0x41,0x78,0x49,0x00,0x18,0x91,0xB2,0x21,0x41,0x5E,
0x17,0x91,0x9E,0x48,0x91,0x22,0x60,0x38,0xC1,0x7A,0x9A,0x48,0x92,0x00,0x82,0x18,
0x1E,0x92,0x02,0x46,0x28,0x32,0xDC,0x30,0x1D,0x92,0x1C,0x90,0x01,0x29,0x18,0xD1,
0x28,0x46,0x1C,0x99,0x60,0x43,0x46,0x18,0x1E,0x99,0x42,0x18,0x1D,0x99,0x47,0x18,
0x20,0x98,0x00,0x21,0x0B,0xE0,0x03,0x88,0x33,0x70,0x03,0x88,0x13,0x70,0x03,0x88,
0x3B,0x70,0x76,0x1C,0x80,0x1C,0x52,0x1C,0x7F,0x1C,0x49,0x1C,0x49,0xB2,0xA1,0x42,
0xF1,0xDB,0x00,0x20,0x12,0x90,0x13,0x90,0x14,0x90,0x20,0x98,0x02,0x90,0x05,0xA8,
0x84,0x46,0x28,0x46,0x60,0x43,0x1C,0x99,0x1B,0x90,0x47,0x18,0x1A,0x97,0x1F,0x98,
0xC2,0x69,0x1F,0x98,0xC3,0x6A,0x00,0x21,0x23,0xE0,0x02,0x98,0x3E,0x78,0x00,0x88,
0x80,0x1B,0x00,0xB2,0x66,0x46,0x30,0x80,0xD6,0x07,0x04,0xD0,0x14,0x9E,0x80,0x19,
0x00,0xB2,0x14,0x90,0x0A,0xE0,0xDE,0x07,0x04,0xD0,0x13,0x9E,0x80,0x19,0x00,0xB2,
0x13,0x90,0x03,0xE0,0x12,0x9E,0x80,0x19,0x00,0xB2,0x12,0x90,0x60,0x46,0x80,0x1C,
0x84,0x46,0x02,0x98,0x80,0x1C,0x02,0x90,0x7F,0x1C,0x52,0x08,0x5B,0x08,0x49,0x1C,
0x49,0xB2,0xA1,0x42,0xD9,0xDB,0x6D,0x4E,0x60,0x36,0x31,0x7D,0x00,0x29,0x05,0xDD,
0x1F,0x98,0x42,0x68,0x14,0x98,0x90,0x47,0x00,0xB2,0x14,0x90,0x71,0x7D,0x00,0x29,
0x0B,0xDD,0x01,0x29,0x03,0xD1,0x13,0x98,0x40,0x10,0x13,0x90,0x05,0xE0,0x1F,0x98,
0x42,0x68,0x13,0x98,0x90,0x47,0x00,0xB2,0x13,0x90,0xB1,0x7D,0x00,0x29,0x0B,0xDD,
0x01,0x29,0x03,0xD1,0x12,0x98,0x40,0x10,0x12,0x90,0x05,0xE0,0x1F,0x98,0x42,0x68,
0x12,0x98,0x90,0x47,0x00,0xB2,0x12,0x90,0x20,0x98,0x05,0xA9,0x8C,0x46,0x1A,0x99,
0x04,0x91,0x1F,0x99,0xC9,0x69,0x11,0x91,0x1F,0x99,0xC9,0x6A,0x10,0x91,0x1F,0x99,
0x8A,0x6B,0xD1,0x7C,0xC9,0x07,0x0E,0xD0,0x1F,0x99,0x09,0x6A,0x1F,0x9B,0x5B,0x6A,
0x0F,0x93,0x1F,0x9B,0x9B,0x6A,0x0E,0x93,0x13,0x7D,0x0C,0x93,0x53,0x7D,0x0B,0x93,
0x92,0x7D,0x0A,0x92,0x00,0xE0,0x00,0x21,0x1D,0x9B,0x1B,0x9A,0xD2,0x18,0x03,0x92,
0x00,0x22,0x19,0x92,0xAF,0xE0,0x11,0x9A,0xD2,0x07,0x01,0xD0,0x14,0x9A,0x05,0xE0,
0x10,0x9A,0xD2,0x07,0x01,0xD0,0x13,0x9A,0x00,0xE0,0x12,0x9A,0x00,0x2A,0x0C,0xDD,
0x66,0x46,0x00,0x23,0xF3,0x5E,0x00,0x2B,0x07,0xDD,0x93,0x42,0x00,0xDA,0x1A,0x46,
0x03,0x88,0x9A,0x1A,0x13,0xB2,0x03,0x80,0x32,0xE0,0x66,0x46,0x00,0x23,0xF3,0x5E,
0x00,0x2B,0x2B,0xDA,0x00,0x2A,0x05,0xDA,0x93,0x42,0x00,0xDD,0x1A,0x46,0x03,0x88,
0x9A,0x1A,0x02,0x80,0x00,0x23,0xC3,0x5E,0xCA,0x07,0x21,0xD0,0x04,0x9A,0x12,0x78,
0x17,0x46,0xD2,0x1A,0x12,0xB2,0x0E,0x9E,0xF6,0x07,0x06,0xD0,0x0A,0x9E,0xB2,0x42,
0x16,0xDD,0x0A,0x9E,0xBA,0x1B,0x02,0x80,0x12,0xE0,0x0F,0x9E,0xF6,0x07,0x06,0xD0,
0x0B,0x9E,0xB2,0x42,0x0C,0xDD,0x0B,0x9E,0xBA,0x1B,0x02,0x80,0x08,0xE0,0x0C,0x9E,
0xB2,0x42,0x05,0xDD,0x0C,0x9E,0xBA,0x1B,0x02,0x80,0x01,0xE0,0x00,0x23,0xC3,0x5E,
0x03,0x9A,0x12,0x78,0xD2,0x1A,0x12,0xB2,0x18,0x9B,0x9A,0x42,0x02,0xDA,0x17,0x9B,
0x9A,0x42,0x26,0xDC,0x01,0x22,0xAA,0x40,0xD3,0x17,0x22,0x9E,0x01,0x93,0x00,0x92,
0x37,0x68,0x76,0x68,0x3A,0x43,0x33,0x43,0x22,0x9E,0x0C,0xC6,0x00,0x2D,0x09,0xD0,
0x6F,0x1E,0x01,0x26,0xBE,0x40,0xF7,0x17,0x00,0x96,0x16,0x43,0x01,0x97,0x22,0x9A,
0x1F,0x43,0xC0,0xC2,0x0D,0x9A,0x95,0x42,0x0B,0xD2,0x6B,0x1C,0x01,0x22,0x9A,0x40,
0xD3,0x17,0x22,0x9F,0x01,0x93,0x00,0x92,0xC0,0xCF,0x32,0x43,0x22,0x9E,0x3B,0x43,
0x0C,0xC6,0x03,0x9A,0x52,0x1C,0x03,0x92,0x80,0x1C,0x04,0x9A,0x52,0x1C,0x13,0xE0,
0x00,0x20,0x00,0x40,0x70,0x03,0x00,0x20,0xFF,0xFF,0x00,0x00,0x70,0x0A,0x00,0x20,
0x04,0x00,0x00,0x20,0x02,0x00,0x00,0x20,0x4C,0xD0,0x00,0x00,0x00,0x10,0x00,0x40,
0x58,0x00,0x00,0x20,0x10,0x2E,0xFF,0xFF,0x04,0x92,0x62,0x46,0x92,0x1C,0x94,0x46,
0x11,0x9A,0x52,0x08,0x11,0x92,0x10,0x9A,0x52,0x08,0x10,0x92,0x00,0x29,0x06,0xD0,
0x49,0x08,0x0F,0x9A,0x52,0x08,0x0F,0x92,0x0E,0x9A,0x52,0x08,0x0E,0x92,0x19,0x9A,
0x52,0x1C,0x52,0xB2,0x19,0x92,0x19,0x9A,0xA2,0x42,0x00,0xDA,0x4B,0xE7,0x1A,0x9D,
0x1E,0x99,0x1B,0x98,0x47,0x18,0x20,0x9E,0x1F,0x98,0x80,0x6B,0x80,0x30,0x00,0x7E,
0x01,0x28,0x1C,0xD1,0x00,0x23,0x16,0xE0,0x00,0x22,0xB2,0x5E,0x28,0x78,0x39,0x78,
0x38,0x70,0x2A,0x70,0x88,0x42,0x02,0xDD,0x84,0x46,0x08,0x46,0x61,0x46,0x82,0x42,
0x01,0xDC,0x30,0x80,0x02,0xE0,0x8A,0x42,0x00,0xDB,0x31,0x80,0x6D,0x1C,0x7F,0x1C,
0xB6,0x1C,0x5B,0x1C,0x5B,0xB2,0xA3,0x42,0xE6,0xDB,0x23,0xB0,0xF0,0xBD,0x02,0x28,
0x25,0xD1,0x00,0x20,0x19,0x90,0x1E,0xE0,0x00,0x21,0x71,0x5E,0x16,0x91,0x28,0x78,
0x39,0x78,0x15,0x91,0x16,0x99,0x08,0x18,0x15,0x99,0x40,0x18,0x1F,0x99,0x4A,0x68,
0x03,0x21,0x90,0x47,0x00,0xB2,0x38,0x70,0x16,0x99,0x29,0x70,0x15,0x99,0x4A,0x00,
0x89,0x18,0x08,0x18,0x80,0x10,0x30,0x80,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,0x19,0x98,
0x40,0x1C,0x40,0xB2,0x19,0x90,0x19,0x98,0xA0,0x42,0xDD,0xDB,0xD5,0xE7,0x00,0x20,
0x08,0xE0,0x29,0x78,0x39,0x70,0x31,0x88,0x29,0x70,0x6D,0x1C,0x7F,0x1C,0xB6,0x1C,
0x40,0x1C,0x40,0xB2,0xA0,0x42,0xF4,0xDB,0xC7,0xE7,0xF0,0xB5,0x85,0xB0,0xD8,0x4E,
0xB0,0x6B,0xC0,0x7A,0x00,0x90,0xD7,0x4C,0x04,0x94,0x1B,0x21,0xD6,0x48,0x89,0x01,
0x47,0x18,0x35,0x21,0x49,0x01,0x45,0x18,0x00,0x99,0x24,0x23,0xD3,0x4A,0x59,0x43,
0x08,0x18,0x80,0x18,0x03,0x90,0x4B,0xE0,0x20,0x78,0x0F,0x28,0x47,0xD0,0xE0,0x79,
0x01,0x06,0x33,0xD4,0x02,0x28,0x23,0xD1,0x0E,0x20,0x20,0x5E,0x02,0x90,0x10,0x20,
0x20,0x5E,0x01,0x90,0x09,0x21,0x20,0x46,0x08,0xF0,0xDC,0xFB,0x0E,0x21,0x61,0x5E,
0x02,0x98,0x08,0x1A,0x00,0xD5,0x40,0x42,0x01,0xB2,0x10,0x20,0x20,0x5E,0x01,0x9A,
0x80,0x1A,0x00,0xD5,0x40,0x42,0x40,0x18,0x00,0xB2,0xB1,0x6B,0xA0,0x31,0xC9,0x89,
0x89,0x08,0x81,0x42,0x09,0xDD,0x02,0x98,0xE0,0x81,0x01,0x98,0x20,0x82,0x04,0xE0,
0xE8,0x7C,0x02,0x28,0x01,0xD2,0x20,0x20,0xA0,0x70,0xFF,0x20,0x20,0x71,0x60,0x71,
0xE0,0x78,0x79,0x7E,0x88,0x42,0x01,0xD8,0x00,0x20,0xE0,0x71,0xE0,0x79,0x40,0x06,
0x40,0x0E,0xE0,0x71,0x00,0x28,0x01,0xD0,0x40,0x1E,0xE0,0x71,0xE0,0x79,0x00,0x28,
0x05,0xD1,0x60,0x78,0x80,0x08,0x80,0x00,0x60,0x70,0x00,0x20,0xA0,0x70,0x24,0x34,
0x03,0x98,0xA0,0x42,0xB0,0xD8,0x00,0x21,0x00,0x23,0xEB,0x74,0x04,0x98,0x10,0xE0,
0x02,0x78,0x00,0x9C,0xA2,0x42,0x0A,0xD2,0xC2,0x78,0x7C,0x7E,0x52,0x06,0x52,0x0E,
0xA2,0x42,0x04,0xD9,0x82,0x78,0x20,0x2A,0x01,0xD0,0x01,0x21,0x04,0xE0,0x83,0x70,
0x24,0x30,0x03,0x9A,0x82,0x42,0xEB,0xD8,0x00,0x29,0x2F,0xD0,0x04,0x98,0x2A,0xE0,
0x83,0x70,0x01,0x78,0x00,0x9A,0x91,0x42,0x24,0xD2,0xC1,0x78,0x7A,0x7E,0x49,0x06,
0x49,0x0E,0x91,0x42,0x1E,0xD9,0x01,0x21,0x81,0x70,0xE9,0x7C,0x49,0x1C,0xE9,0x74,
0x0E,0x22,0x82,0x5E,0x00,0x2A,0x01,0xDA,0xC3,0x81,0x06,0xE0,0xB1,0x6B,0xA0,0x31,
0x0C,0x88,0xA2,0x42,0x01,0xDD,0x09,0x88,0xC1,0x81,0x10,0x21,0x41,0x5E,0x00,0x29,
0x01,0xDA,0x03,0x82,0x06,0xE0,0xB2,0x6B,0xA0,0x32,0x54,0x88,0xA1,0x42,0x01,0xDD,
0x51,0x88,0x01,0x82,0x24,0x30,0x03,0x99,0x81,0x42,0xD1,0xD8,0x05,0xB0,0xF0,0xBD,
0xF0,0xB5,0x7F,0x4A,0x95,0x6B,0x2C,0x7F,0x62,0x00,0xFF,0x28,0x01,0xD1,0x00,0x20,
0xF0,0xBD,0x24,0x23,0x58,0x43,0x7C,0x4B,0x7C,0x4E,0xC0,0x18,0x80,0x19,0x06,0x26,
0x71,0x43,0xC9,0x18,0x79,0x4B,0x24,0x3B,0xC9,0x18,0x14,0x26,0x86,0x5F,0x00,0x2E,
0x00,0xDA,0x76,0x42,0x16,0x23,0xC3,0x5E,0x00,0x2B,0x00,0xDA,0x5B,0x42,0xF3,0x18,
0x73,0x4E,0xB3,0x42,0x00,0xD3,0x00,0x23,0x0E,0x27,0x0E,0x88,0xC7,0x5F,0xF6,0x1B,
0x00,0xD5,0x76,0x42,0x10,0x27,0x49,0x88,0xC7,0x5F,0xC9,0x1B,0x00,0xD5,0x49,0x42,
0x71,0x18,0x8C,0x42,0x29,0xD8,0x84,0x79,0x01,0x2C,0x05,0xD1,0x2D,0x27,0x7F,0x5D,
0xC6,0x79,0x7F,0x1E,0xBE,0x42,0x1E,0xDB,0x61,0x4E,0xB6,0x6B,0x80,0x36,0x01,0x2C,
0x08,0xD1,0xED,0x7E,0x9D,0x42,0x05,0xD3,0xC0,0x78,0x73,0x7B,0x98,0x42,0x01,0xD8,
0x0A,0x28,0x10,0xD2,0x01,0x2C,0x06,0xD1,0x91,0x42,0x04,0xD3,0x5D,0x4B,0x70,0x7B,
0x1B,0x88,0x98,0x42,0x07,0xD2,0x01,0x2C,0x02,0xD1,0x50,0x00,0x88,0x42,0x02,0xD9,
0xD0,0x00,0x88,0x42,0x01,0xD8,0x00,0x20,0xF0,0xBD,0x01,0x20,0xF0,0xBD,0xF0,0xB5,
0x85,0xB0,0x50,0x48,0x4E,0x49,0x04,0x91,0x89,0x78,0x05,0x29,0x7E,0xD0,0x52,0x4D,
0xA9,0x1D,0x01,0x91,0x89,0x1D,0x00,0x91,0x00,0x21,0xFF,0x22,0x0F,0x23,0x07,0xE0,
0x6A,0x54,0xC4,0x79,0x00,0x2C,0x00,0xD1,0x03,0x70,0x49,0x1C,0xC9,0xB2,0x24,0x30,
0x04,0x9C,0xA4,0x6B,0xE4,0x7A,0x8C,0x42,0xF2,0xD8,0x00,0x27,0x40,0x4E,0xA0,0x3E,
0xF0,0x7B,0x00,0x28,0x4A,0xD0,0x2A,0x46,0x03,0xA9,0x00,0x98,0x08,0xF0,0x52,0xFE,
0x07,0x46,0x00,0x2F,0x0C,0xD1,0x00,0x24,0x06,0xE0,0x22,0x46,0xFF,0x21,0x01,0x20,
0x08,0xF0,0x44,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xF5,0xD8,0x35,0xE0,
0x01,0x2F,0x0E,0xD1,0x2C,0x78,0x00,0x21,0x20,0x46,0xFF,0xF7,0x61,0xFF,0x00,0x28,
0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x00,0x22,0x21,0x46,0x08,0xF0,0x2E,0xFC,
0x24,0xE0,0xF4,0x7B,0x6B,0x46,0x1A,0x7B,0x23,0x46,0x01,0x99,0x00,0x98,0x08,0xF0,
0x37,0xFD,0x00,0x24,0x17,0xE0,0x01,0x98,0x00,0x5D,0xFF,0x28,0x02,0xD0,0x28,0x5C,
0x02,0x90,0x01,0xE0,0xFF,0x20,0x02,0x90,0x21,0x46,0x02,0x98,0xFF,0xF7,0x40,0xFF,
0x00,0x28,0x01,0xD0,0x00,0x20,0x00,0xE0,0x01,0x20,0x22,0x46,0x02,0x99,0x08,0xF0,
0x0D,0xFC,0x64,0x1C,0xE4,0xB2,0xF0,0x7B,0xA0,0x42,0xE4,0xD8,0x38,0x46,0xFF,0xF7,
0x7C,0xFE,0xF0,0x7B,0x1B,0x4C,0x00,0x28,0x06,0xD1,0x20,0x88,0x7D,0x21,0xC9,0x00,
0x88,0x42,0x01,0xD2,0x40,0x1C,0x20,0x80,0xF0,0x7C,0x00,0x28,0x06,0xD0,0x00,0x22,
0x00,0x20,0x17,0x26,0x10,0x4D,0xB6,0x01,0x04,0x99,0x00,0xE0,0x17,0xE0,0x89,0x6B,
0xCB,0x7A,0x0E,0xE0,0x24,0x21,0x41,0x43,0x49,0x19,0x89,0x19,0x0F,0x7C,0x01,0x2F,
0x05,0xD1,0xC9,0x7B,0x03,0x29,0x02,0xD1,0x52,0x1C,0xD2,0xB2,0x03,0xE0,0x40,0x1C,
0xC0,0xB2,0x83,0x42,0xEE,0xD8,0x00,0x2A,0x01,0xD1,0x00,0x20,0x20,0x80,0xFD,0xE6,
0xB0,0x0A,0x00,0x20,0x3E,0x09,0x00,0x20,0x70,0x03,0x00,0x20,0xCE,0x05,0x00,0x00,
0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x20,0x68,0x06,0x00,0x20,0x01,0xE0,0x04,0xC0,
0x09,0x1F,0x04,0x29,0xFB,0xD2,0x8B,0x07,0x01,0xD5,0x02,0x80,0x80,0x1C,0xC9,0x07,
0x00,0xD0,0x02,0x70,0x70,0x47,0x00,0x29,0x0B,0xD0,0xC3,0x07,0x02,0xD0,0x02,0x70,
0x40,0x1C,0x49,0x1E,0x02,0x29,0x04,0xD3,0x83,0x07,0x02,0xD5,0x02,0x80,0x80,0x1C,
0x89,0x1E,0xE3,0xE7,0x00,0x22,0xEE,0xE7,0x00,0x22,0xDF,0xE7,0x00,0x22,0x03,0x09,
0x8B,0x42,0x2C,0xD3,0x03,0x0A,0x8B,0x42,0x11,0xD3,0x00,0x23,0x9C,0x46,0x4E,0xE0,
0x03,0x46,0x0B,0x43,0x3C,0xD4,0x00,0x22,0x43,0x08,0x8B,0x42,0x31,0xD3,0x03,0x09,
0x8B,0x42,0x1C,0xD3,0x03,0x0A,0x8B,0x42,0x01,0xD3,0x94,0x46,0x3F,0xE0,0xC3,0x09,
0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,0x83,0x09,0x8B,0x42,0x01,0xD3,
0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,0x01,0xD3,0x4B,0x01,0xC0,0x1A,
0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,0xC0,0x1A,0x52,0x41,0xC3,0x08,
0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,0x83,0x08,0x8B,0x42,0x01,0xD3,
0x8B,0x00,0xC0,0x1A,0x52,0x41,0x43,0x08,0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,
0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,0x52,0x41,0x10,0x46,0x70,0x47,0x5D,0xE0,
0xCA,0x0F,0x00,0xD0,0x49,0x42,0x03,0x10,0x00,0xD3,0x40,0x42,0x53,0x40,0x00,0x22,
0x9C,0x46,0x03,0x09,0x8B,0x42,0x2D,0xD3,0x03,0x0A,0x8B,0x42,0x12,0xD3,0xFC,0x22,
0x89,0x01,0x12,0xBA,0x03,0x0A,0x8B,0x42,0x0C,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,
0x08,0xD3,0x89,0x01,0x92,0x11,0x8B,0x42,0x04,0xD3,0x89,0x01,0x3A,0xD0,0x92,0x11,
0x00,0xE0,0x89,0x09,0xC3,0x09,0x8B,0x42,0x01,0xD3,0xCB,0x01,0xC0,0x1A,0x52,0x41,
0x83,0x09,0x8B,0x42,0x01,0xD3,0x8B,0x01,0xC0,0x1A,0x52,0x41,0x43,0x09,0x8B,0x42,
0x01,0xD3,0x4B,0x01,0xC0,0x1A,0x52,0x41,0x03,0x09,0x8B,0x42,0x01,0xD3,0x0B,0x01,
0xC0,0x1A,0x52,0x41,0xC3,0x08,0x8B,0x42,0x01,0xD3,0xCB,0x00,0xC0,0x1A,0x52,0x41,
0x83,0x08,0x8B,0x42,0x01,0xD3,0x8B,0x00,0xC0,0x1A,0x52,0x41,0xD9,0xD2,0x43,0x08,
0x8B,0x42,0x01,0xD3,0x4B,0x00,0xC0,0x1A,0x52,0x41,0x41,0x1A,0x00,0xD2,0x01,0x46,
0x63,0x46,0x52,0x41,0x5B,0x10,0x10,0x46,0x01,0xD3,0x40,0x42,0x00,0x2B,0x00,0xD5,
0x49,0x42,0x70,0x47,0x63,0x46,0x5B,0x10,0x00,0xD3,0x40,0x42,0x01,0xB5,0x00,0x20,
0xC0,0x46,0xC0,0x46,0x02,0xBD,0x75,0x46,0x00,0xF0,0x22,0xF8,0xAE,0x46,0x05,0x00,
0x69,0x46,0x53,0x46,0xC0,0x08,0xC0,0x00,0x85,0x46,0x18,0xB0,0x20,0xB5,0xFF,0xF7,
0x59,0xF8,0x60,0xBC,0x00,0x27,0x49,0x08,0xB6,0x46,0x00,0x26,0xC0,0xC5,0xC0,0xC5,
0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0xC0,0xC5,0x40,0x3D,0x49,0x00,
0x8D,0x46,0x70,0x47,0x04,0x46,0xC0,0x46,0xC0,0x46,0x20,0x46,0xFE,0xF7,0xF7,0xFE,
0x00,0x48,0x70,0x47,0x64,0x00,0x00,0x20,0x02,0x48,0x03,0x49,0xAB,0xBE,0x70,0x47,
0x0D,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x26,0x00,0x02,0x00,0x70,0x47,0x00,0x00,
0x28,0x0D,0x28,0x12,0x0A,0x0A,0x12,0x00,0x02,0x04,0x40,0x06,0x00,0x00,0x01,0x01,
0x08,0x08,0x10,0x85,0x20,0x10,0x08,0x03,0x0A,0x1E,0x64,0x3C,0xF0,0x1E,0x08,0x02,
0x16,0x01,0x01,0x00,0x10,0x06,0x00,0x01,0x06,0x04,0x14,0x14,0x0A,0x06,0x28,0x1E,
0x3C,0x64,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,0x08,0x04,0x02,0x01,
0x08,0x04,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x04,0x08,0x01,0x02,0x04,0x08,
0x01,0x02,0x04,0x08,0x01,0x01,0x01,0x01,0xD8,0xE2,0xF6,0xEC,0x1E,0xE2,0x0F,0x01,
0x01,0x01,0x02,0x02,0x02,0x02,0x0C,0x0A,0x10,0x00,0x14,0x0A,0x01,0x02,0x02,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,
0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x64,0x1E,0x64,0x00,0x14,0xC8,0x14,0x00,0x02,
0x83,0x04,0x02,0x02,0x5A,0x00,0x5A,0x01,0x02,0x06,0x01,0x01,0x00,0x00,0x00,0x00,
0x58,0x02,0x00,0x04,0xB4,0x00,0x0A,0x00,0x90,0x01,0x02,0x01,0x2C,0x01,0x20,0x00,
0x00,0x00,0xF3,0xFF,0x23,0x01,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3C,0x00,0x00,0xE3,0x38,0x00,0x00,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,0x1D,0x10,0x00,0x40,
0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,0x19,0x10,0x00,0x40,
0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,0x15,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x21,0x10,0x00,0x40,0x21,0x10,0x00,0x40,
0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,0x25,0x10,0x00,0x40,
0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,0x29,0x10,0x00,0x40,
0x60,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x44,0x10,0x00,0x40,
0x48,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x54,0x10,0x00,0x40,
0x58,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,
0x11,0x10,0x00,0x40,0x11,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,
0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,
0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x64,0x10,0x00,0x40,0x60,0x10,0x00,0x40,
0x5C,0x10,0x00,0x40,0x58,0x10,0x00,0x40,0x54,0x10,0x00,0x40,0x50,0x10,0x00,0x40,
0x4C,0x10,0x00,0x40,0x48,0x10,0x00,0x40,0x44,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,
0x40,0x10,0x00,0x40,0x40,0x10,0x00,0x40,0xFF,0xFF,0x00,0x80,0x00,0x00,0x00,0x00,
0x0A,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x0A,0x00,0x0A,0x0A,0x0A,0x00,0x00,0x00,0x00,0xF6,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x01,0x00,0x01,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0x01,0x00,0x01,
0x01,0x01,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x76,0xA5,0x18,0xA7,
0x23,0xA1,0x45,0x63,0x65,0x07,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,0x00,0x00,
0x21,0xAA,0x43,0xAA,0x56,0xAA,0x81,0xA7,0x21,0x00,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xAA,0x32,0xAA,0x87,0xA1,0x71,0x06,0x87,0xAA,
0x23,0xAA,0x87,0xAA,0x32,0xAA,0x00,0x00,0x87,0xAA,0x23,0xAA,0x00,0x00,0x00,0x00,
0x00,0x00,0x65,0xAA,0x87,0xAA,0x51,0xA6,0x47,0x06,0x45,0x00,0x28,0xA1,0x76,0xAA,
0x12,0xA8,0x00,0x00,0x00,0x00,0x34,0xAA,0x56,0xAA,0x78,0xA1,0x21,0x00,0x00,0x00,
0x67,0xAA,0x23,0xAA,0xA1,0xAA,0x87,0xAA,0x32,0xAA,0x67,0xAA,0x23,0xAA,0x87,0xAA,
0x32,0xAA,0xA1,0xAA,0x21,0xAA,0x56,0xAA,0x81,0xA7,0x21,0xAA,0x00,0x00,0x34,0xAA,
0x65,0xAA,0x87,0xAA,0x51,0x46,0x47,0x03,0xA8,0xAA,0x21,0xAA,0x43,0xAA,0x56,0xAA,
0x81,0xA7,0x34,0xAA,0x76,0xA5,0x18,0xA7,0x23,0xA1,0x45,0xA3,0x23,0xA4,0x21,0xA8,
0x87,0xA6,0x32,0xA4,0x78,0x21,0x76,0xA5,0x23,0xA1,0x45,0x63,0x65,0x07,0x00,0x00,
0x01,0x00,0x00,0xFF,0xFF,0x00,0x00,0x01,0x02,0x02,0x02,0x01,0x02,0x02,0x01,0x01,
0x01,0x02,0x01,0x02,0x01,0x02,0x02,0x02,0x01,0x01,0x02,0x02,0x01,0x01,0x01,0x01,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0xFC,0x1D,0x00,0x00,
0x00,0x00,0x00,0x20,0x04,0x00,0x00,0x00,0x98,0x00,0x00,0x00,0x00,0x1E,0x00,0x00,
0x04,0x00,0x00,0x20,0xEC,0x0A,0x00,0x00,0xB4,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x5B,0x5A,0x35,0x35,0xA5,0xA5,0xCA,0xCA,0x88,0x77,0x66,0x55,
0x44,0x33,0x22,0x11,0x12,0x00,0x0A,0x00,0x58,0x02,0x00,0x04,0xDC,0x5F,0xCA,0xCA,
0x00,0x00,0x00,0x00,0x11,0x08,0x8E,0x32,0x06,0x00,0x00,0x01,0x4E,0x77,0xB0,0xE6,
};
#endif /*CAPACITIVE_HYNITRON_CST2XXSE_UPDATE_H__*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,248 @@
/**
*Name : hynitron_common.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_COMMON_H__
#define HYNITRON_COMMON_H__
#include "hynitron_config.h"
/*****************************************************************************
* Macro definitions using #define
*****************************************************************************/
#define HYN_DRIVER_VERSION "Hynitron TouchScreen Rockchip Driver V2.1 20201222"
/************THE CHIP PRODUCT LINE SUPPORT********************/
#define HYN_CHIP_PRODUCT_LINE_MUT_CAP 1
#define HYN_CHIP_PRODUCT_LINE_SEL_CAP 2
/*************************************************************/
/************THE CHIP SERIES SUPPORT********************/
#define HYN_CHIP_CST0XX 10
#define HYN_CHIP_CST1XX 100
#define HYN_CHIP_CST1XXSE 101
#define HYN_CHIP_CST2XX 200
#define HYN_CHIP_CST2XXSE 201
#define HYN_CHIP_CST3XX 300
#define HYN_CHIP_CST3XXSE 301
#define HYN_CHIP_CST6XX 692
#define HYN_CHIP_CST7XX 700
#define HYN_CHIP_CST8XX 800
#define HYN_CHIP_CST9XX 900
/******************************************************/
/************THE CHIP TYPE OF SERIES SUPPORT********************/
#define CST016 16
#define CST026 26
#define CST036 36
#define CST126 126
#define CST128 128
#define CST128SE 129
#define CST130 130
#define CST140 140
#define CST148 148
#define CST226 226
#define CST226SE 168
#define CST237 237
#define CST240 240
#define CST326 326
#define CST328 328
#define CST328SE 329
#define CST340 340
#define CST348 348
#define CST356 356
#define CST6928S 692
#define CST716 716
#define CST726 726
#define CST736 736
#define CST816 816
#define CST826 826
#define CST836 836
#define CST912 912
#define CST918 918
/******************************************************/
#define FLAGBIT(x) (0x00000001 << (x))
#define FLAGBITS(x, y) ((0xFFFFFFFF >> (32 - (y) - 1)) << (x))
#define I2C_BUFFER_LENGTH_MAXINUM 256
#define FILE_NAME_LENGTH 128
#define ENABLE 1
#define DISABLE 0
#define REG_LEN_1B 1
#define REG_LEN_2B 2
/*register address*/
/********selfcap register address start *****************/
#define HYN_REG_CAP_POWER_MODE 0xA5
#define HYN_REG_CAP_POWER_MODE_SLEEP_VALUE 0x03
#define HYN_REG_CAP_FW_VER 0xA6
#define HYN_REG_CAP_VENDOR_ID 0xA8
#define HYN_REG_CAP_PROJECT_ID 0xA9
#define HYN_REG_CAP_CHIP_ID 0xAA
#define HYN_REG_CAP_CHIP_CHECKSUM 0xAC
#define HYN_REG_CAP_GESTURE_EN 0xD0
#define HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS 0xD3
#define HYN_REG_CAP_PROXIMITY_EN 0xB0
#define HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS 0x01
#define HYN_REG_CAP_ESD_SATURATE 0xE0
/********selfcap register address end *****************/
/********mutcap register address start *****************/
//Myabe change
#define HYN_REG_MUT_ESD_VALUE 0xD040
#define HYN_REG_MUT_ESD_CHECKSUM 0xD046
#define HYN_REG_MUT_PROXIMITY_EN 0xD04B
#define HYN_REG_MUT_PROXIMITY_OUTPUT_ADDRESS 0xD04B
#define HYN_REG_MUT_GESTURE_EN 0xD04C
#define HYN_REG_MUT_GESTURE_OUTPUT_ADDRESS 0xD04C
//workmode
#define HYN_REG_MUT_DEBUG_INFO_MODE 0xD101
#define HYN_REG_MUT_RESET_MODE 0xD102
#define HYN_REG_MUT_DEBUG_RECALIBRATION_MODE 0xD104
#define HYN_REG_MUT_DEEP_SLEEP_MODE 0xD105
#define HYN_REG_MUT_DEBUG_POINT_MODE 0xD108
#define HYN_REG_MUT_NORMAL_MODE 0xD109
#define HYN_REG_MUT_DEBUG_RAWDATA_MODE 0xD10A
#define HYN_REG_MUT_DEBUG_DIFF_MODE 0xD10D
#define HYN_REG_MUT_DEBUG_FACTORY_MODE 0xD119
#define HYN_REG_MUT_DEBUG_FACTORY_MODE_2 0xD120
//debug info
/****************HYN_REG_MUT_DEBUG_INFO_MODE address start***********/
#define HYN_REG_MUT_DEBUG_INFO_IC_CHECKSUM 0xD208
#define HYN_REG_MUT_DEBUG_INFO_FW_VERSION 0xD204
#define HYN_REG_MUT_DEBUG_INFO_IC_TYPE 0xD202
#define HYN_REG_MUT_DEBUG_INFO_PROJECT_ID 0xD200
#define HYN_REG_MUT_DEBUG_INFO_BOOT_TIME 0xD1FC
#define HYN_REG_MUT_DEBUG_INFO_RES_Y 0xD1FA
#define HYN_REG_MUT_DEBUG_INFO_RES_X 0xD1F8
#define HYN_REG_MUT_DEBUG_INFO_KEY_NUM 0xD1F7
#define HYN_REG_MUT_DEBUG_INFO_TP_NRX 0xD1F6
#define HYN_REG_MUT_DEBUG_INFO_TP_NTX 0xD1F4
/****************HYN_REG_MUT_DEBUG_INFO_MODE address end***********/
#define HYN_WORK_MODE_NORMAL 0
#define HYN_WORK_MODE_FACTORY 1
#define HYN_WORK_MODE_RAWDATA 2
#define HYN_WORK_MODE_DIFF 3
#define HYN_WORK_MODE_UPDATE 4
/********mutcap register address end *****************/
/************i2c communication********************/
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len);
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len) ;
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len);
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len);
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue);
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue);
int hyn_i2c_read(struct i2c_client *client, char *writebuf,int writelen, char *readbuf, int readlen);
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen);
/***************************************/
/************HYN_PSENSOR_EN********************/
#if HYN_PSENSOR_EN
extern int hyn_proximity_readdata(void);
extern void hyn_proximity_init(void);
extern void hyn_proximity_exit(void);
extern void hyn_proximity_suspend(void);
extern void hyn_proximity_resume(void);
#endif
/***************************************/
/************HYN_GESTURE_EN********************/
#if HYN_GESTURE_EN
extern int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client);
extern int hyn_gesture_exit(void);
extern int hyn_gesture_suspend(void);
extern int hyn_gesture_resume(void);
extern int hyn_gesture_readdata(void);
#endif
/***************************************/
/************HYN_ESDCHECK_EN********************/
#if HYN_ESDCHECK_EN
extern void hyn_create_esd_sysfs(struct i2c_client *client);
extern void hyn_esd_switch(s32 on);
extern void hyn_init_esd_protect(void);
extern void hyn_esd_resume(void);
extern void hyn_esd_suspend(void);
extern void hyn_esd_init(void);
extern void hyn_esd_exit(void);
#endif
/***************************************/
/* ADB functions */
#if HYN_SYSFS_NODE_EN
extern int hyn_create_sysfs(struct i2c_client *client);
extern void hyn_release_sysfs(struct i2c_client *client);
#endif
#if ANDROID_TOOL_SURPORT
extern int hynitron_proc_fs_init(void);
extern void hynitron_proc_fs_exit(void);
#endif
extern int hyn_reset_proc(int hdelayms);
void hyn_irq_disable(void);
void hyn_irq_enable(void);
#if HYN_DEBUG_EN
#define HYN_DEBUG_LEVEL 1
#if (HYN_DEBUG_LEVEL == 2)
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN][%s]"fmt"\n", __func__, ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info][%s]"fmt"\n",__func__, ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error][%s]"fmt"\n",__func__, ##args)
#else
#define HYN_DEBUG(fmt, args...) printk(KERN_ERR "[HYN]"fmt"\n", ##args)
#define HYN_INFO(fmt, args...) printk(KERN_ERR "[HYN][Info]"fmt"\n", ##args)
#define HYN_ERROR(fmt, args...) printk(KERN_ERR "[HYN][Error]"fmt"\n", ##args)
#endif
#define HYN_FUNC_ENTER() printk(KERN_ERR "[HYN]%s: Enter\n", __func__)
#define HYN_FUNC_EXIT() printk(KERN_ERR "[HYN]%s: Exit(%d)\n", __func__, __LINE__)
#else
#define HYN_DEBUG(fmt, args...)
#define HYN_INFO(fmt, args...)
#define HYN_ERROR(fmt, args...)
#define HYN_FUNC_ENTER()
#define HYN_FUNC_EXIT()
#endif
#endif /*Hynitron_COMMON_H__*/

View File

@ -0,0 +1,95 @@
/**
*Name : hynitron_config.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CONFIG_H__
#define HYNITRON_CONFIG_H__
/*
* show debug log info
* enable it for debug, disable it for release
*/
#define HYN_DEBUG_EN 1
/*
* Linux MultiTouch Protocol
* 1: Protocol B(default), 0: Protocol A
*/
#define HYN_MT_PROTOCOL_B_EN 1
/*
* Report Pressure in multitouch
* 1:enable(default),0:disable
*/
#define HYN_REPORT_PRESSURE_EN 0
/*
* Switch Gesture wakeup in multitouch
* 1:enable,0:disable
*/
#define HYN_GESTURE_EN 0
/*
* Switch proximity detect in multitouch
* 1:enable,0:disable
*/
#define HYN_PSENSOR_EN 0
/*
* Switch esd detect in multitouch
* 1:enable,0:disable
*/
#define HYN_ESDCHECK_EN 0
/*
* Factory test support
* 1:enable,0:disable
* only support cst3xx.
*/
#define HYN_AUTO_FACTORY_TEST_EN 0
/*
* Update firmware support
* choose the right chiptype
* 1:enable,0:disable
*
*/
#define HYN_EN_AUTO_UPDATE 0
#define HYN_EN_AUTO_UPDATE_CST0xxSE 0
#define HYN_EN_AUTO_UPDATE_CST0xx 0
#define HYN_EN_AUTO_UPDATE_CST1xx 0
#define HYN_EN_AUTO_UPDATE_CST1xxSE 0
#define HYN_EN_AUTO_UPDATE_CST2xx 0
#define HYN_EN_AUTO_UPDATE_CST2xxSE 0
#define HYN_EN_AUTO_UPDATE_CST3xx 0
#define HYN_EN_AUTO_UPDATE_CST3xxSE 0
#define HYN_EN_AUTO_UPDATE_CST6xx 0
#define HYN_EN_AUTO_UPDATE_CST78xx 0
#define HYN_EN_AUTO_UPDATE_CST9xx 0
#define HYN_SYS_AUTO_SEARCH_FIRMWARE 0
/*
* Node for debug
* /proc/cst1xx_ts
* /sys/hynitron_debug
* 1:enable,0:disable
*
*/
#define ANDROID_TOOL_SURPORT 1
#define HYN_SYSFS_NODE_EN 1
#endif /*HYNITRON_CONFIG_H__*/

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,271 @@
/**
*Name : hynitron_core.h
*Author : steven
*Version : V2.0
*Create : 2019-11-11
*Copyright : zxzz
*/
#ifndef HYNITRON_CORE_H__
#define HYNITRON_CORE_H__
#include <linux/syscalls.h>
#include <linux/types.h>
#include <linux/version.h>
#include <linux/input.h>
#include <linux/input/mt.h>
#include <linux/i2c.h>
#include <linux/vmalloc.h>
#include <linux/gpio.h>
#include <linux/delay.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
#include <linux/jiffies.h>
#ifdef CONFIG_HAS_EARLYSUSPEND
#include <linux/earlysuspend.h>
#endif
#include <linux/version.h>
#include <linux/types.h>
#include <linux/sched.h>
#include <linux/kthread.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/device.h>
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/proc_fs.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/wait.h>
#include <linux/time.h>
#include <linux/dma-mapping.h>
#include <linux/of.h>
#include <linux/of_address.h>
#include <linux/of_device.h>
#include <linux/of_gpio.h>
#include <linux/of_irq.h>
//#include <linux/wakelock.h>
#include <linux/module.h>
#include <linux/ctype.h>
#include <linux/err.h>
#include <linux/irq.h>
//#include "wakelock.h"
#include <linux/sysfs.h>
#include <linux/init.h>
#include <linux/bitops.h>
#include <linux/byteorder/generic.h>
#include <linux/timer.h>
#include <linux/regulator/consumer.h>
#include "hynitron_common.h"
//please config the chip series before using.
#define HYN_CHIP_TYPE_CONFIG CST340
#define HYN_IRQ_TRIGGER_RISING_CONFIG 0x01
#define HYN_MAIN_IIC_ADDR_CONFIG 0x1A
#define HYN_X_DISPLAY_DEFAULT 720
#define HYN_Y_DISPLAY_DEFAULT 1280
#define HYN_X_REVERT 0
#define HYN_Y_REVERT 0
#define HYN_XY_EXCHANGE 0
#define HYN_MAX_KEYS 3
#define HYN_MAX_POINTS 5
#define HYN_MAX_SELFCAP_ID 2
/**********************************************************/
#define HYN_RESET_SOFTWARE 0
#define HYN_UPDATE_FIRMWARE_FORCE 0
#define HYN_IIC_TRANSFER_LIMIT 0
/******************************************/
#define HYN_UPDATE_FIRMWARE_PATH_1 "/data"
#define HYN_UPDATE_FIRMWARE_PATH_2 "/sdcard"
#define HYN_UPDATE_FIRMWARE_FILTNAME_1 "hyn.bin"
#define HYN_COORDS_ARR_SIZE 2
#define HYN_TOUCH_STEP 6
#define HYN_TOUCH_X_H_POS 3
#define HYN_TOUCH_X_L_POS 4
#define HYN_TOUCH_Y_H_POS 5
#define HYN_TOUCH_Y_L_POS 6
#define HYN_TOUCH_EVENT_POS 3
#define HYN_TOUCH_ID_POS 5
#define HYN_TOUCH_POINT_NUM 2
#define HYN_TOUCH_XY_POS 7
#define HYN_TOUCH_MISC 8
#define POINT_READ_BUF (3 + HYN_TOUCH_STEP * HYN_MAX_POINTS)
#define HYN_SYSFS_ECHO_ON(buf) ((strnicmp(buf, "1", 1) == 0) || \
(strnicmp(buf, "on", 2) == 0))
#define HYN_SYSFS_ECHO_OFF(buf) ((strnicmp(buf, "0", 1) == 0) || \
(strnicmp(buf, "off", 3) == 0))
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hynitron_chip_type_array {
const u16 chip_type;
const u16 chip_series;
const u8 chip_product_line;
const u8 chip_boot_addr;
};
struct hynitron_fw_array {
char* name;
unsigned char *fw;
u16 project_id;
u16 module_id;
u16 chip_type;
u16 fw_length;
};
struct touch_info
{
int y[HYN_MAX_POINTS];
int x[HYN_MAX_POINTS];
int p[HYN_MAX_POINTS];
int id[HYN_MAX_POINTS];
int count;
};
/*touch event info*/
struct ts_event
{
u16 au16_x[HYN_MAX_POINTS]; /* x coordinate */
u16 au16_y[HYN_MAX_POINTS]; /* y coordinate */
u8 au8_touch_event[HYN_MAX_POINTS]; /* touch event: 0 -- down; 1-- up; 2 -- contact */
u8 au8_finger_id[HYN_MAX_POINTS]; /* touch ID */
u16 pressure[HYN_MAX_POINTS];
u16 area[HYN_MAX_POINTS];
u8 touch_point;
int touchs;
u8 touch_point_num;
};
struct hynitron_ts_platform_data{
int irq_gpio;
u32 irq_gpio_flags;
int reset_gpio;
u32 reset_gpio_flags;
u32 x_resolution;
u32 y_resolution;
u32 max_key_num;
u32 max_touch_num;
u32 key_x_coords[8]; // max support 8 keys
u32 key_y_coords[8];
u32 key_code[8];
//erobbing add for check if overturn axis of x and y
bool xy_exchange;
bool x_overturn;
bool y_overturn;
//end
bool have_key;
bool report_key_position;
bool i2c_pull_up;
bool enable_power_off;
bool enable_slot_report;
bool enable_esd;
};
struct hynitron_ts_data{
struct hynitron_ts_platform_data *pdata;
struct i2c_client *client;
struct device *dev;
struct input_dev *input_dev;
struct task_struct *thread_tpd;
struct hrtimer timer;
struct work_struct work;
struct workqueue_struct *hyn_workqueue;
//spinlock_t irq_lock;
u8 device_id;
u8 irq_is_disable;
s32 use_irq;
u8 int_trigger_type;
u8 sensor_tx;
u8 sensor_rx;
u8 hyn_irq_flag;
u8 report_flag;
u8 key_index;
u8 work_mode;
u8 hyn_esd_mode :1 ;
u8 hyn_esd_running :1 ;
u8 hyn_esd_i2c_lock_flag: 1;
s32 hyn_esd_pre_counter;
s32 hyn_esd_cur_counter;
s32 hyn_esd_work_cycle;
struct mutex hyn_esd_lock;
struct delayed_work hyn_esd_check_work;
struct workqueue_struct *hyn_esd_workqueue;
u16 chip_ic_type;
u16 chip_ic_series;
u8 chip_ic_product_line;
u32 chip_ic_checksum;
u32 chip_ic_checkcode;
u32 chip_ic_fw_version;
u16 chip_ic_project_id;
u16 chip_ic_module_id;
u16 chip_ic_workmode;
u8 chip_ic_bootloader_addr;
u8 chip_ic_main_addr;
u16 config_chip_type;
u16 config_chip_series;
u8 config_chip_product_line;
u8 fw_updating;
u8* fw_name;
u32 fw_length;
u8 *p_hynitron_upgrade_firmware;
u8 apk_upgrade_flag;
u8 apk_rdwr_flag;
bool in_glove_mode;
bool power_on;
// struct mutex report_mutex;
struct kobject *k_obj;
struct regulator *vdd;
struct regulator *vcc_i2c;
#if defined(CONFIG_FB)
struct notifier_block fb_notif;
struct work_struct resume_work;
#elif defined(CONFIG_HAS_EARLYSUSPEND)
struct early_suspend early_suspend;
#endif
struct pinctrl *ts_pinctrl;
struct pinctrl_state *gpio_state_active;
struct pinctrl_state *gpio_state_suspend;
};
extern struct hynitron_ts_data *hyn_ts_data ;
#endif /*HYNITRON_CORE_H__*/

View File

@ -0,0 +1,331 @@
/**
*Name : hynitron_esd_check.c
*Author : steven
*Version : V2.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
#if HYN_ESDCHECK_EN
#define SWITCH_ESD_OFF 0
#define SWITCH_ESD_ON 1
extern int hyn_reset_proc(int hdelayms);
/************************************************************************
* Name: hyn_esd_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = sprintf(buf,"ESD Mode: %d,ESD running = %d\n", hyn_ts_data->hyn_esd_mode,hyn_ts_data->hyn_esd_running);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (buf[0]==1)
{
HYN_INFO("[ESD]enable ESD");
hyn_ts_data->hyn_esd_mode = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[ESD]disable ESD");
hyn_ts_data->hyn_esd_mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->hyn_esd_lock);
count = snprintf(buf, PAGE_SIZE, "ESD running: 0x%x\n", hyn_ts_data->hyn_esd_running);
count += snprintf(buf + count, PAGE_SIZE, "ESD pre_counter:0x%x\n", hyn_ts_data->hyn_esd_pre_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD cur_counter:0x%x\n", hyn_ts_data->hyn_esd_cur_counter);
count += snprintf(buf + count, PAGE_SIZE, "ESD work_cycle:0x%x\n", hyn_ts_data->hyn_esd_work_cycle);
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_esd_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_esd_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
static DEVICE_ATTR (hyn_esd_mode, S_IRUGO|S_IWUSR, hyn_esd_show, hyn_esd_store);
/*
* read example: cat hyn_esd_buf ---read esd buf
*/
static DEVICE_ATTR (hyn_esd_buf, S_IRUGO|S_IWUSR, hyn_esd_buf_show, hyn_esd_buf_store);
static struct attribute *hyn_esd_mode_attrs[] =
{
&dev_attr_hyn_esd_mode.attr,
&dev_attr_hyn_esd_buf.attr,
NULL,
};
static struct attribute_group hyn_esd_group =
{
.attrs = hyn_esd_mode_attrs,
};
void hyn_create_esd_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_esd_group);
if ( ret != 0)
{
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_esd_group);
return;
}
HYN_FUNC_EXIT();
return;
}
static void hyn_esd_poweron_ic(unsigned int ms)
{
HYN_FUNC_ENTER();
hyn_reset_proc(10);
HYN_FUNC_EXIT();
}
void hyn_esd_suspend(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_OFF);
HYN_FUNC_EXIT();
}
void hyn_esd_resume(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->hyn_esd_mode)
hyn_esd_switch(SWITCH_ESD_ON);
HYN_FUNC_EXIT();
}
void hyn_esd_switch(s32 on)
{
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode)
return;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (SWITCH_ESD_ON == on) { /* switch on esd check */
if (!hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 1;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector started!");
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
}
} else { /* switch off esd check */
if (hyn_ts_data->hyn_esd_running) {
hyn_ts_data->hyn_esd_running = 0;
hyn_ts_data->hyn_esd_pre_counter = 0;
hyn_ts_data->hyn_esd_cur_counter = 0;
HYN_DEBUG(" Esd protector stopped!");
cancel_delayed_work(&hyn_ts_data->hyn_esd_check_work);
}
}
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
static void hyn_esd_check_func(struct work_struct *work)
{
int retry = 0;
int ret;
int check_sum;
unsigned char buf[8];
HYN_FUNC_ENTER();
if(!hyn_ts_data->hyn_esd_mode){
HYN_DEBUG("Esd protector hyn_esd_mode is disable !");
return;
}
if(!hyn_ts_data->work_mode!=0){
HYN_DEBUG("Esd protector work_mode is false !");
return;
}
if (!hyn_ts_data->hyn_esd_running) {
HYN_DEBUG("Esd protector hyn_esd_running is not running!");
return;
}
if((hyn_ts_data->hyn_esd_i2c_lock_flag != 0)||(hyn_ts_data->apk_rdwr_flag!=0)||(hyn_ts_data->fw_updating!=0))
goto END;
else hyn_ts_data->hyn_esd_i2c_lock_flag = 1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
while(retry++ < 5) {
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
if (ret > 0){
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR("hyn_esd_check_func iic read check_sum error.\n");
}else{
break;
}
}
mdelay(2);
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
}
if((retry==6)||(retry==0)|| (ret<0)){
HYN_ERROR("hyn_esd_check_func iic read esd data error,please check firmware,driver and hardware.\n");
goto END;
}
hyn_ts_data->hyn_esd_cur_counter = buf[3]+(buf[2]<<8)+(buf[1]<<16)+(buf[0]<<24);
if(((hyn_ts_data->hyn_esd_cur_counter-hyn_ts_data->hyn_esd_pre_counter)<20)
&&(hyn_ts_data->hyn_esd_pre_counter>400))
{
HYN_ERROR("hyn_esd_check_func hyn_esd_cur_counter is :0x%x. hyn_esd_pre_counter is:0x%x.------\n",hyn_ts_data->hyn_esd_cur_counter,hyn_ts_data->hyn_esd_pre_counter);
goto hyn_esd_check_init;
}
goto END;
hyn_esd_check_init:
HYN_ERROR("hyn_esd_check_func reset.\n");
hyn_esd_poweron_ic(10);
END:
hyn_ts_data->hyn_esd_i2c_lock_flag = 0;
hyn_ts_data->hyn_esd_pre_counter=hyn_ts_data->hyn_esd_cur_counter;
mutex_lock(&hyn_ts_data->hyn_esd_lock);
if (hyn_ts_data->hyn_esd_running)
queue_delayed_work(hyn_ts_data->hyn_esd_workqueue, &hyn_ts_data->hyn_esd_check_work, hyn_ts_data->hyn_esd_work_cycle);
else
HYN_DEBUG(" Esd protector suspended!");
mutex_unlock(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
int hyn_esd_get_status(void)
{
u8 buf[7];
int ret=-1;
u16 check_sum=0;
HYN_FUNC_ENTER();
buf[0] = HYN_REG_MUT_ESD_VALUE>>8;
buf[1] = HYN_REG_MUT_ESD_VALUE&0xff;
ret = cst3xx_i2c_read_register(hyn_ts_data->client, buf, 6);
check_sum = buf[0]+buf[1]+buf[2]+buf[3]+0xA5;
if(check_sum != ( (buf[4]<<8)+ buf[5])){
HYN_ERROR(" esd check sum error.\n ");
return -1;
}
HYN_FUNC_EXIT();
return 1;
}
void hyn_esd_init(void)
{
HYN_FUNC_ENTER();
if(hyn_esd_get_status() < 0) {
HYN_ERROR(" hyn_esd_get_status failed!");
return;
}
hyn_ts_data->hyn_esd_workqueue = create_singlethread_workqueue("hyn_esd_workqueue");
if (hyn_ts_data->hyn_esd_workqueue == NULL)
HYN_ERROR(" hyn_esd_workqueue failed!");
else{
hyn_init_esd_protect();
hyn_esd_switch(SWITCH_ESD_ON);
hyn_ts_data->hyn_esd_running=ENABLE;
}
hyn_create_esd_sysfs(hyn_ts_data->client);
HYN_FUNC_EXIT();
}
void hyn_init_esd_protect(void)
{
HYN_FUNC_ENTER();
hyn_ts_data->hyn_esd_work_cycle=1000;
hyn_ts_data->hyn_esd_mode=ENABLE;
HYN_DEBUG(" Clock ticks for an esd cycle: %d", hyn_ts_data->hyn_esd_work_cycle);
INIT_DELAYED_WORK(&hyn_ts_data->hyn_esd_check_work, hyn_esd_check_func);
mutex_init(&hyn_ts_data->hyn_esd_lock);
HYN_FUNC_EXIT();
}
void hyn_esd_exit(void)
{
HYN_FUNC_ENTER();
if (hyn_ts_data->hyn_esd_workqueue)
destroy_workqueue(hyn_ts_data->hyn_esd_workqueue);
HYN_FUNC_EXIT();
}
#endif

View File

@ -0,0 +1,635 @@
/**
*Name : cst0xx_getsure.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
#include "hynitron_config.h"
#if HYN_GESTURE_EN
#define HYN_GESTURE_CAP_CST8XX 0
/******************************************************************************
* Private constant and macro definitions using #define
*****************************************************************************/
#define KEY_GESTURE_U KEY_U
#define KEY_GESTURE_UP KEY_UP
#define KEY_GESTURE_DOWN KEY_DOWN
#define KEY_GESTURE_LEFT KEY_LEFT
#define KEY_GESTURE_RIGHT KEY_RIGHT
#define KEY_GESTURE_O KEY_O
#define KEY_GESTURE_E KEY_E
#define KEY_GESTURE_M KEY_M
#define KEY_GESTURE_L KEY_L
#define KEY_GESTURE_W KEY_W
#define KEY_GESTURE_S KEY_S
#define KEY_GESTURE_V KEY_V
#define KEY_GESTURE_C KEY_C
#define KEY_GESTURE_Z KEY_Z
#define KEY_GESTURE_DOUBLECLICK KEY_POWER
#if HYN_GESTURE_CAP_CST8XX
//cap
#define GESTURE_LEFT 0x20
#define GESTURE_RIGHT 0x21
#define GESTURE_UP 0x22
#define GESTURE_DOWN 0x23
#define GESTURE_DOUBLECLICK 0x24
#define GESTURE_O 0x30
#define GESTURE_W 0x31
#define GESTURE_M 0x32
#define GESTURE_E 0x33
#define GESTURE_S 0x46
#define GESTURE_V 0x54
#define GESTURE_Z 0x65
#define GESTURE_C 0x34
#else
//mut
#define GESTURE_LEFT 3
#define GESTURE_RIGHT 1
#define GESTURE_UP 2
#define GESTURE_DOWN 4
#define GESTURE_DOUBLECLICK 32
#define GESTURE_O 5
#define GESTURE_O_1 20
#define GESTURE_W 10
#define GESTURE_M 8
#define GESTURE_M_1 9
#define GESTURE_M_2 15
#define GESTURE_M_3 16
#define GESTURE_E 7
#define GESTURE_E_1 17
#define GESTURE_E_2 19
#define GESTURE_S 12
#define GESTURE_S_1 18
#define GESTURE_V 11
#define GESTURE_Z 13
#define GESTURE_C 6
#define GESTURE_C_1 14
#endif
#define HYN_GESTRUE_POINTS 255
#define HYN_GESTRUE_POINTS_HEADER 8
#define HYN_GESTURE_OUTPUT_ADRESS 0xD3
/*****************************************************************************
* Private enumerations, structures and unions using typedef
*****************************************************************************/
struct hyn_gesture_st
{
u8 header[HYN_GESTRUE_POINTS_HEADER];
u16 coordinate_x[HYN_GESTRUE_POINTS];
u16 coordinate_y[HYN_GESTRUE_POINTS];
u16 report_key;
u8 gestrue_id;
u8 mode;
u8 active; /* 1-enter into gesture(suspend) 0-gesture disable or LCD on */
};
/*****************************************************************************
* Static variables
*****************************************************************************/
static struct hyn_gesture_st hyn_gesture_data;
/*****************************************************************************
* Global variable or extern global variabls/functions
*****************************************************************************/
/*****************************************************************************
* Static function prototypes
*****************************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf);
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);
/* sysfs gesture node
* read example: cat hyn_gesture_mode ---read gesture mode
* write example:echo 01 > hyn_gesture_mode ---write gesture mode to 01
*
*/
static DEVICE_ATTR (hyn_gesture_mode, S_IRUGO|S_IWUSR, hyn_gesture_show, hyn_gesture_store);
/*
* read example: cat hyn_gesture_buf ---read gesture buf
*/
static DEVICE_ATTR (hyn_gesture_buf, S_IRUGO|S_IWUSR, hyn_gesture_buf_show, hyn_gesture_buf_store);
static struct attribute *hyn_gesture_mode_attrs[] =
{
&dev_attr_hyn_gesture_mode.attr,
&dev_attr_hyn_gesture_buf.attr,
NULL,
};
static struct attribute_group hyn_gesture_group =
{
.attrs = hyn_gesture_mode_attrs,
};
/************************************************************************
* Name: hyn_gesture_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "Gesture Mode: %s\n", hyn_gesture_data.mode ? "On" : "Off");
count += sprintf(buf + count, "Reg = %d\n", hyn_gesture_data.gestrue_id);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1){
HYN_INFO("[GESTURE]enable gesture");
hyn_gesture_data.mode = ENABLE;
}else if (buf[0]==0){
HYN_INFO("[GESTURE]disable gesture");
hyn_gesture_data.mode = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
int i = 0;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "Gesture ID: 0x%x\n", hyn_gesture_data.header[0]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture PointNum: %d\n", hyn_gesture_data.header[1]);
count += snprintf(buf + count, PAGE_SIZE, "Gesture Point Buf:\n");
for (i = 0; i < hyn_gesture_data.header[1]; i++)
{
count += snprintf(buf + count, PAGE_SIZE, "%3d(%4d,%4d) ", i, hyn_gesture_data.coordinate_x[i], hyn_gesture_data.coordinate_y[i]);
if ((i + 1)%4 == 0)
count += snprintf(buf + count, PAGE_SIZE, "\n");
}
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_gesture_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_gesture_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/*****************************************************************************
* Name: hyn_create_gesture_sysfs
* Brief:
* Input:
* Output: None
* Return: 0-success or error
*****************************************************************************/
int hyn_create_gesture_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_gesture_group);
if ( ret != 0){
HYN_ERROR( "[GESTURE]hyn_gesture_mode_group(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_recovery
* Brief: recovery gesture state when reset
* Input:
* Output: None
* Return:
*****************************************************************************/
void hyn_gesture_recovery(struct i2c_client *client)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode && hyn_gesture_data.active)
{
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(client, buf, 3);
}else{
hyn_i2c_write_byte(client, HYN_REG_CAP_GESTURE_EN, ENABLE);
}
}
HYN_FUNC_EXIT();
}
/*****************************************************************************
* Name: hyn_check_gesture
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
static void hyn_check_gesture(struct input_dev *input_dev,int gesture_id)
{
unsigned int report_key = 0;
HYN_INFO("check_gesture ======================gesture_id==0x%x ================\n ",gesture_id);
HYN_FUNC_ENTER();
switch (gesture_id)
{
case GESTURE_O:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_O_1:
#endif
report_key = KEY_GESTURE_O;
break;
case GESTURE_W:
report_key = KEY_GESTURE_W;
break;
case GESTURE_M:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_M_1:
case GESTURE_M_2:
case GESTURE_M_3:
#endif
report_key = KEY_GESTURE_M;
break;
case GESTURE_E:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_E_1:
case GESTURE_E_2:
#endif
report_key = KEY_GESTURE_E;
break;
case GESTURE_C:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_C_1:
#endif
report_key = KEY_GESTURE_C;
break;
case GESTURE_S:
#if (!HYN_GESTURE_CAP_CST8XX)
case GESTURE_S_1:
#endif
report_key = KEY_GESTURE_S;
break ;
case GESTURE_V:
report_key = KEY_GESTURE_V;
break;
case GESTURE_Z:
report_key = KEY_GESTURE_Z;
break;
case GESTURE_RIGHT:
report_key = KEY_GESTURE_RIGHT;
break ;
case GESTURE_DOWN:
report_key = KEY_GESTURE_DOWN;
break ;
case GESTURE_UP:
report_key = KEY_GESTURE_UP;
break ;
case GESTURE_LEFT:
report_key = KEY_GESTURE_LEFT;
break ;
case GESTURE_DOUBLECLICK:
report_key = KEY_GESTURE_DOUBLECLICK;
break ;
default:
break ;
}
HYN_INFO("check_gesture ======================report_key==0x%x ================\n ",report_key);
hyn_gesture_data.report_key=report_key;
/* report event key */
if (report_key != -1){
input_report_key(input_dev, report_key, 1);
input_sync(input_dev);
input_report_key(input_dev, report_key, 0);
input_sync(input_dev);
}
HYN_FUNC_EXIT();
}
/************************************************************************
* Name: hyn_gesture_readdata
* Brief: read data from TP register
* Input: no
* Output: no
* Return: fail <0
***********************************************************************/
int hyn_gesture_readdata(void)
{
u8 buf[HYN_GESTRUE_POINTS * 4] = { 0 };
int ret = -1;
int i = 0;
int gestrue_id = 0;
//int read_bytes = 0;
u8 pointnum = 0;
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode)
{
u8 state;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
ret=cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
gestrue_id = buf[0]&0x7f;
}else{
ret = hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
}
if (ret<0) HYN_ERROR("[HYN][Touch] read value fail");
if (state !=1) return -1;
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
/* init variable before read gesture point */
memset(hyn_gesture_data.header, 0, HYN_GESTRUE_POINTS_HEADER);
memset(hyn_gesture_data.coordinate_x, 0, HYN_GESTRUE_POINTS * sizeof(u16));
memset(hyn_gesture_data.coordinate_y, 0, HYN_GESTRUE_POINTS * sizeof(u16));
buf[0] = HYN_REG_CAP_GESTURE_OUTPUT_ADDRESS;
ret = hyn_i2c_read(hyn_ts_data->client, buf, 1, buf, HYN_GESTRUE_POINTS_HEADER);
if (ret < 0){
HYN_ERROR("[GESTURE]Read gesture header data failed!!");
return ret;
}
gestrue_id = buf[0];
for (i = 0; i < pointnum; i++){
hyn_gesture_data.coordinate_x[i] = (((s16) buf[0 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[1 + (4 * i+8)])& 0xFF);
hyn_gesture_data.coordinate_y[i] = (((s16) buf[2 + (4 * i+8)]) & 0x0F) << 8
| (((s16) buf[3 + (4 * i+8)]) & 0xFF);
}
}
hyn_gesture_data.gestrue_id=gestrue_id;
hyn_check_gesture(hyn_ts_data->input_dev, gestrue_id);
HYN_DEBUG("[GESTURE]gestrue_id:%d,report_key:%d", hyn_gesture_data.gestrue_id,hyn_gesture_data.report_key);
HYN_FUNC_EXIT();
return -1;
}
/*****************************************************************************
* Name: hyn_irq_set_low_trig
* Brief:
* Input:
* Output:
* Return:
*****************************************************************************/
void hyn_irq_gesture_mode(void)
{
int ret=0;
hyn_irq_disable();
ret = enable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]enable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,IRQF_TRIGGER_LOW|IRQF_NO_SUSPEND);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
void hyn_irq_normal_mode(void)
{
int ret=0;
hyn_irq_disable();
ret =disable_irq_wake(hyn_ts_data->client->irq);
if(ret<0){
HYN_ERROR("[GESTURE]disable_irq_wake fail:%d",ret);
}
ret=irq_set_irq_type(hyn_ts_data->client->irq,hyn_ts_data->pdata->irq_gpio_flags);
if(ret<0){
HYN_ERROR("[GESTURE]irq_set_irq_type fail:%d",ret);
}
hyn_irq_enable();
}
/*****************************************************************************
* Name: hyn_gesture_suspend
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_suspend(void)
{
u8 state = 0, i;
HYN_FUNC_ENTER();
//enter gesture scan
if (hyn_gesture_data.mode==0)
return -1;
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
for(i = 0; i < 3; i++)
{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
state=buf[0]>>7;
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0x80;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
msleep(10);
}
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
for(i = 0; i < 3; i++)
{
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, &state);
if(state == 1){
HYN_DEBUG("gesture state= 0x01.\n");
break;
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, ENABLE);
msleep(10);
}
}
}
hyn_gesture_data.active = 1;
hyn_irq_gesture_mode();
HYN_DEBUG("[GESTURE]Enter into gesture(suspend) successfully!");
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_resume
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_resume(void)
{
HYN_FUNC_ENTER();
if (hyn_gesture_data.mode == 0){
HYN_DEBUG("gesture is disabled");
HYN_FUNC_EXIT();
return -1;
}
hyn_gesture_data.active = 0;
hyn_irq_normal_mode();
//stop gesture scan
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_GESTURE_EN>>8;
buf[1]=HYN_REG_MUT_GESTURE_EN&0xff;
buf[2]=0;
cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else{
hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_GESTURE_EN, DISABLE);
}
HYN_FUNC_EXIT();
return 0;
}
/*****************************************************************************
* Name: hyn_gesture_init
* Brief:
* Input:
* Output: None
* Return: None
*****************************************************************************/
int hyn_gesture_init(struct input_dev *input_dev, struct i2c_client *client)
{
HYN_FUNC_ENTER();
input_set_capability(input_dev, EV_KEY, KEY_POWER);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_U);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_UP);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_DOWN);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_LEFT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_RIGHT);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_O);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_E);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_M);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_L);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_W);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_S);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_V);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_Z);
input_set_capability(input_dev, EV_KEY, KEY_GESTURE_C);
__set_bit(KEY_GESTURE_RIGHT, input_dev->keybit);
__set_bit(KEY_GESTURE_LEFT, input_dev->keybit);
__set_bit(KEY_GESTURE_UP, input_dev->keybit);
__set_bit(KEY_GESTURE_DOWN, input_dev->keybit);
__set_bit(KEY_GESTURE_U, input_dev->keybit);
__set_bit(KEY_GESTURE_O, input_dev->keybit);
__set_bit(KEY_GESTURE_E, input_dev->keybit);
__set_bit(KEY_GESTURE_M, input_dev->keybit);
__set_bit(KEY_GESTURE_W, input_dev->keybit);
__set_bit(KEY_GESTURE_L, input_dev->keybit);
__set_bit(KEY_GESTURE_S, input_dev->keybit);
__set_bit(KEY_GESTURE_V, input_dev->keybit);
__set_bit(KEY_GESTURE_C, input_dev->keybit);
__set_bit(KEY_GESTURE_Z, input_dev->keybit);
hyn_create_gesture_sysfs(client);
hyn_gesture_data.mode = 1;
hyn_gesture_data.active = 0;
hyn_gesture_data.report_key = 0;
hyn_gesture_data.gestrue_id = 0;
HYN_FUNC_EXIT();
return 0;
}
/************************************************************************
* Name: hyn_gesture_exit
* Brief: remove sys
* Input: i2c info
* Output: no
* Return: no
***********************************************************************/
int hyn_gesture_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return -1;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_gesture_group);
HYN_FUNC_EXIT();
return 0;
}
#endif

View File

@ -0,0 +1,250 @@
/**
*Name : cst0xx_i2c.c
*Author : gary
*Version : V1.0
*Create : 2018-1-23
*Copyright : zxzz
*/
#include "hynitron_core.h"
/*****************************************************************************/
static DEFINE_MUTEX(i2c_rw_access);
int hyn_i2c_read(struct i2c_client *client, char *writebuf, int writelen, char *readbuf, int readlen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
// client->addr = (client->addr & I2C_MASK_FLAG) | I2C_WR_FLAG | I2C_RS_FLAG;
ret = i2c_master_recv(client, readbuf, readlen);
if(ret < 0){
HYN_ERROR("i2c_master_recv i2c read error.\n");
return ret;
}
return ret;
}
/*
*
*/
int hyn_i2c_write(struct i2c_client *client, char *writebuf, int writelen)
{
int ret = -1;
if (client == NULL)
{
HYN_ERROR("[IIC][%s]i2c_client==NULL!", __func__);
return -1;
}
// client->addr = client->addr & I2C_MASK_FLAG;
ret = i2c_master_send(client, writebuf, writelen);
if(ret<0)
HYN_ERROR("i2c_master_send error\n");
return ret;
}
/*
*
*/
int hyn_i2c_write_byte(struct i2c_client *client, u8 regaddr, u8 regvalue)
{
u8 buf[2] = {0};
buf[0] = regaddr;
buf[1] = regvalue;
return hyn_i2c_write(client, buf, sizeof(buf));
}
/*
*
*/
int hyn_i2c_read_byte(struct i2c_client *client, u8 regaddr, u8 *regvalue)
{
return hyn_i2c_read(client, &regaddr, 1, regvalue, 1);
}
/*****************************************************************/
/*
*
*/
int hyn_i2c_write_bytes(unsigned short reg,unsigned char *buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char mbuf[600];
if (reg_len == 1){
mbuf[0] = reg;
memcpy(mbuf+1,buf,len);
}else{
mbuf[0] = reg>>8;
mbuf[1] = reg;
memcpy(mbuf+2,buf,len);
}
ret = hyn_i2c_write(hyn_ts_data->client,mbuf,len+reg_len);
if (ret < 0){
HYN_ERROR("%s i2c write error.\n", __func__);
}
return ret;
}
/*
*
*/
int hyn_i2c_read_bytes(unsigned short reg,unsigned char* buf,unsigned short len,unsigned char reg_len)
{
int ret;
unsigned char reg_buf[2];
if (reg_len == 1){
reg_buf[0] = reg;
}else{
reg_buf[0] = reg>>8;
reg_buf[1] = reg;
}
ret = hyn_i2c_read(hyn_ts_data->client,reg_buf,reg_len,buf,len);
if (ret < 0){
HYN_ERROR("f%s: i2c read error.\n",__func__);
}
return ret;
}
/*****************************************************************/
#ifdef HIGH_SPEED_IIC_TRANSFER
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags |= I2C_M_RD;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
/*******************************************************
Function:
read data from register.
Input:
buf: first two byte is register addr, then read data store into buf
len: length of data that to read
Output:
success: number of messages
fail: negative errno
*******************************************************/
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msgs[2];
int ret = -1;
int retries = 0;
msgs[0].flags = client->flags & I2C_M_TEN;
msgs[0].addr = client->addr;
msgs[0].len = 2;
msgs[0].buf = buf;
msgs[1].flags |= I2C_M_RD;
msgs[1].addr = client->addr;
msgs[1].len = len;
msgs[1].buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, msgs, 2);
if(ret == 2)
break;
retries++;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
struct i2c_msg msg;
int ret = -1;
int retries = 0;
msg.flags = client->flags & I2C_M_TEN;
msg.addr = client->addr;
msg.len = len;
msg.buf = buf;
while (retries < 2) {
ret = i2c_transfer(client->adapter, &msg, 1);
if(ret == 1)
break;
retries++;
}
return ret;
}
#else
int cst3xx_i2c_read(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_recv(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_write(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
int retries = 0;
while (retries < 2) {
ret = i2c_master_send(client, buf, len);
if(ret<=0)
retries++;
else
break;
}
return ret;
}
int cst3xx_i2c_read_register(struct i2c_client *client, unsigned char *buf, int len)
{
int ret = -1;
ret = cst3xx_i2c_write(client, buf, 2);
ret = cst3xx_i2c_read(client, buf, len);
return ret;
}
#endif

View File

@ -0,0 +1,538 @@
#ifndef __HYNITRON_EX_FUN_H__
#define __HYNITRON_EX_FUN_H__
#include "hynitron_core.h"
#define MTK_PS_ENABLE 0
#define SPRD_PS_ENABLE 0
#define HYN_CAP_PROXIMITY_FARAWAY_VALUE 0xC0
#define HYN_CAP_PROXIMITY_NEAR_VALUE 0xE0
#define HYN_MUT_PROXIMITY_FARAWAY_VALUE 0x00
#define HYN_MUT_PROXIMITY_NEAR_VALUE 0x01
#if HYN_PSENSOR_EN
#if MTK_PS_ENABLE
#include <hwmsensor.h>
#include <hwmsen_dev.h>
#include <sensors_io.h>
#endif
#define TP_PS_DEVICE "ltr_558als"
#define TP_PS_INPUT_DEV "alps_pxy"
#define PROXIMITY_DEBUG(fmt,arg...) printk("<<hyn proximity>> "fmt"\n",##arg)
struct hynitron_ps_struct {
u8 proximity_enable ;
u8 proximity_enable_lock;
u8 proximity_detect_value ;
u8 suspend_flag;
/* kernel-4.14 do not wake_lock */
//struct wake_lock proximity_lock;
#if MTK_PS_ENABLE
struct hwmsen_object obj_ps;
#endif
struct class *firmware_class;
struct device *firmware_cmd_dev;
struct input_dev *ps_input_dev;
};
struct hynitron_ps_struct *hyn_proximity_data;
static int hyn_proximity_get_value(void);
/************************************************
MTK平台:
IC----hwmsen_attach(ID_PROXIMITY)----hwm_sensor_data
*************************************************/
#if MTK_PS_ENABLE
#define SENSOR_DELAY 0
#define SENSOR_ENABLE 0
#define SENSOR_GET_DATA 0
#define SENSOR_STATUS_ACCURACY_MEDIUM 0
void hyn_proximity_mtk_report(int proximity_value)
{
int err;
struct hwm_sensor_data sensor_data;
sensor_data.values[0] = proximity_value;
sensor_data.value_divide = 1;
sensor_data.status = SENSOR_STATUS_ACCURACY_MEDIUM;
if ((err = hwmsen_get_interrupt_data(ID_PROXIMITY, &sensor_data)))
{
PROXIMITY_DEBUG(" proxi call hwmsen_get_interrupt_data failed= %d\n", err);
}
}
static int hyn_proximiy_operate(void* self, uint32_t command, void* buff_in, int size_in,
void* buff_out, int size_out, int* actualout)
{
int err = 0;
int value;
PROXIMITY_DEBUG("[proxi]command = 0x%02X\n", command);
switch (command)
{
case SENSOR_DELAY:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Set delay parameter error!\n");
err = -EINVAL;
}
// Do nothing
break;
case SENSOR_ENABLE:
if((buff_in == NULL) || (size_in < sizeof(int))){
PROXIMITY_DEBUG("Enable sensor parameter error!\n");
err = -EINVAL;
}else{
value = *(int *)buff_in;
if(value){
if((hyn_proximity_enable(1) != 0)){
PROXIMITY_DEBUG("enable ps fail: %d\n", err);
return -1;
}
}else{
if((hyn_proximity_enable(0) != 0)){
PROXIMITY_DEBUG("disable ps fail: %d\n", err);
return -1;
}
}
}
break;
case SENSOR_GET_DATA:
if((buff_out == NULL)){
PROXIMITY_DEBUG("get sensor data parameter error!\n");
err = -EINVAL;
}else{
hyn_proximity_readdata();
}
break;
default:
PROXIMITY_DEBUG("proxmy sensor operate function no this parameter %d!\n", command);
err = -1;
break;
}
return err;
}
void hyn_proximity_mtk_init(void)
{
int ret;
hyn_ts_data->client->obj_ps.polling = 0;//interrupt mode
hyn_ts_data->client->obj_ps.sensor_operate = hyn_proximiy_operate;
if((ret = hwmsen_attach(ID_PROXIMITY, &hyn_ts_data->client->obj_ps))){
PROXIMITY_DEBUG("proxi_hyn attach fail = %d\n", ret);
}else{
PROXIMITY_DEBUG("proxi_hyn attach ok = %d\n", ret);
}
}
#endif
/************************************************
Spreadtrum平台:
IC----proximity-----
*************************************************/
#if SPRD_PS_ENABLE
static ssize_t show_proximity_sensor(struct device *dev, struct device_attribute *attr, char *buf)
{
PROXIMITY_DEBUG("show_proximity_sensor get prox state \n");
if (buf != NULL)
sprintf(buf, "proximity_enable is:%d, proximity_detect_value:%d.\n",hyn_proximity_data->proximity_enable ,hyn_proximity_data->proximity_detect_value);
return 0;
}
static ssize_t store_proximity_sensor(struct device *dev, struct device_attribute *attr, const char *buf, size_t size)
{
unsigned int on_off = simple_strtoul(buf, NULL, 10);
PROXIMITY_DEBUG("store_proximity_sensor buf=%d,size=%d,on_off=%d\n", *buf, size, on_off);
if(buf != NULL && size != 0){
if (0 == on_off)
hyn_proximity_enable(0);
else if (1 == on_off)
hyn_proximity_enable(1);
}
return size;
}
static DEVICE_ATTR(proximity, S_IRUGO | S_IWUSR, show_proximity_sensor, store_proximity_sensor);
void hyn_proximity_sprd_report(int proximity_value)
{
input_report_abs(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, proximity_value);
input_sync(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_sprd_init(void)
{
// node :/sys/class/sprd-tpd/device/proximity
hyn_ts_data->client->firmware_class = class_create(THIS_MODULE,"sprd-tpd");//client->name
if(IS_ERR(hyn_ts_data->client->firmware_class))
PROXIMITY_DEBUG("Failed to create class(firmware)!\n");
hyn_ts_data->client->firmware_cmd_dev = device_create(hyn_ts_data->client->firmware_class, NULL, 0, NULL, "device");//device
if(IS_ERR(hyn_ts_data->client->firmware_cmd_dev))
PROXIMITY_DEBUG("Failed to create device(firmware_cmd_dev)!\n");
if(device_create_file(hyn_ts_data->client->firmware_cmd_dev, &dev_attr_proximity) < 0){
PROXIMITY_DEBUG("Failed to create device file(%s)!\n", dev_attr_proximity.attr.name);
}
}
#endif
/************************************************************************
* Name: hyn_proximity_mode_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
u8 val = 0;
//struct i2c_client *client = container_of(dev, struct i2c_client, dev);
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = sprintf(buf, "proximity Mode: %s\n", hyn_proximity_data->proximity_enable ? "On" : "Off");
count += sprintf(buf + count, "Reg(0xD0) = %d\n", val);
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_mode_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_mode_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
if (buf[0]==1)
{
HYN_INFO("[proximity]enable ");
hyn_proximity_data->proximity_enable = ENABLE;
}
else if (buf[0]==0)
{
HYN_INFO("[proximity]disable");
hyn_proximity_data->proximity_enable = DISABLE;
}
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_show
* Brief: no
* Input: device, device attribute, char buf
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_show(struct device *dev, struct device_attribute *attr, char *buf)
{
int count;
HYN_FUNC_ENTER();
mutex_lock(&hyn_ts_data->input_dev->mutex);
count = snprintf(buf, PAGE_SIZE, "proximity: 0x%x\n", hyn_proximity_data->proximity_enable);
count += snprintf(buf + count, PAGE_SIZE, "proximity: %d\n", hyn_proximity_data->proximity_detect_value);
count += snprintf(buf + count, PAGE_SIZE, "proximity Buf:\n");
count += snprintf(buf + count, PAGE_SIZE, "\n");
mutex_unlock(&hyn_ts_data->input_dev->mutex);
HYN_FUNC_EXIT();
return count;
}
/************************************************************************
* Name: hyn_proximity_buf_store
* Brief: no
* Input: device, device attribute, char buf, char count
* Output: no
* Return:
***********************************************************************/
static ssize_t hyn_proximity_buf_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
/* place holder for future use */
return -EPERM;
}
/* sysfs proximity node
* read example: cat hyn_proximity_mode ---read proximity mode
* write example:echo 01 > hyn_proximity_mode ---write proximity mode to 01
*
*/
static DEVICE_ATTR (hyn_proximity_mode, S_IRUGO|S_IWUSR, hyn_proximity_mode_show, hyn_proximity_mode_store);
/*
* read example: cat hyn_proximity_buf ---read proximity buf
*/
static DEVICE_ATTR (hyn_proximity_buf, S_IRUGO|S_IWUSR, hyn_proximity_buf_show, hyn_proximity_buf_store);
static struct attribute *hyn_proximity_mode_attrs[] =
{
&dev_attr_hyn_proximity_mode.attr,
&dev_attr_hyn_proximity_buf.attr,
NULL,
};
static struct attribute_group hyn_proximity_group =
{
.attrs = hyn_proximity_mode_attrs,
};
int hyn_create_proximity_sysfs(struct i2c_client *client)
{
int ret = 0;
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL)
return 0;
ret = sysfs_create_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if ( ret != 0)
{
HYN_ERROR( "hyn_create_proximity_sysfs(sysfs) create failed!");
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
return ret;
}
HYN_FUNC_EXIT();
return 0;
}
int hyn_proximity_readdata(void)
{
int err;
HYN_FUNC_ENTER();
if (hyn_proximity_data->proximity_enable == 1)
{
err=hyn_proximity_get_value();
#if MTK_PS_ENABLE
hyn_proximity_mtk_report(hyn_proximity_data->proximity_detect_value);
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_report(hyn_proximity_data->proximity_detect_value);
#endif
}
HYN_FUNC_EXIT();
return err;
}
static int hyn_proximity_enable_real(int enable)
{
u8 state;
int ret = -1;
HYN_FUNC_ENTER();
if (enable){
state = ENABLE;
hyn_proximity_data->proximity_enable = ENABLE;
/* kernel-4.14 do not wake_lock */
//wake_lock(&hyn_proximity_data->proximity_lock);
PROXIMITY_DEBUG(" proximity function is on.\n");
}else{
if(hyn_proximity_data->suspend_flag) return 0;
state = DISABLE;
/* kernel-4.14 do not wake_lock */
//wake_unlock(&hyn_proximity_data->proximity_lock);
hyn_proximity_data->proximity_enable = DISABLE;
PROXIMITY_DEBUG(" proximity function is off.\n");
}
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
buf[2]=state<<7;
ret=cst3xx_i2c_write(hyn_ts_data->client, buf, 3);
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
ret = hyn_i2c_write_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_EN, state);
}
PROXIMITY_DEBUG("proximity write state is 0x%02X\n", state);
HYN_FUNC_EXIT();
return 0;
}
static int hyn_proximity_get_value(void)
{
u8 proximity_status=0;
HYN_FUNC_ENTER();
if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_MUT_CAP){
u8 buf[3];
buf[0]=HYN_REG_MUT_PROXIMITY_EN>>8;
buf[1]=HYN_REG_MUT_PROXIMITY_EN&0xff;
cst3xx_i2c_read_register(hyn_ts_data->client, buf, 1);
proximity_status=buf[0]&0x7f;
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_MUT_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_MUT_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}else if(hyn_ts_data->config_chip_product_line==HYN_CHIP_PRODUCT_LINE_SEL_CAP){
hyn_i2c_read_byte(hyn_ts_data->client, HYN_REG_CAP_PROXIMITY_OUTPUT_ADDRESS, &proximity_status);
PROXIMITY_DEBUG("proximity value is 0x%02X\n", proximity_status);
if (proximity_status == HYN_CAP_PROXIMITY_FARAWAY_VALUE){
hyn_proximity_data->proximity_detect_value = 0;
}else if(proximity_status == HYN_CAP_PROXIMITY_NEAR_VALUE){
hyn_proximity_data->proximity_detect_value = 1;
}
}
PROXIMITY_DEBUG("proximity_detect_value = %d\n", hyn_proximity_data->proximity_detect_value);
HYN_FUNC_EXIT();
return hyn_proximity_data->proximity_detect_value;
}
static int hyn_proximity_enable(int enable)
{
HYN_FUNC_ENTER();
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X.\n",hyn_proximity_data->suspend_flag,enable );
if (hyn_proximity_data->suspend_flag && enable) {
}else{
hyn_proximity_enable_real(enable);
}
HYN_FUNC_EXIT();
return 0;
}
void hyn_proximity_suspend(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag++;
if (hyn_proximity_data->proximity_enable == 1) hyn_proximity_data->proximity_enable_lock = 1;
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_resume(void)
{
HYN_FUNC_ENTER();
hyn_proximity_data->suspend_flag = 0;
if (hyn_proximity_data->proximity_enable == 1){
if(hyn_proximity_data->proximity_enable_lock == 1){
hyn_proximity_data->proximity_enable_lock = 0;
PROXIMITY_DEBUG(" proximity_enable_lock. \n");
}
}
PROXIMITY_DEBUG("proximity suspend_flag=0x%02X, enable= 0x%02X,enable_lock = 0x%02X.\n",
hyn_proximity_data->suspend_flag,hyn_proximity_data->proximity_enable,hyn_proximity_data->proximity_enable_lock );
HYN_FUNC_EXIT();
}
void hyn_proximity_init(void)
{
int ret;
HYN_FUNC_ENTER();
/* malloc memory for global struct variable,init 0 */
hyn_proximity_data = kzalloc(sizeof(*hyn_proximity_data), GFP_KERNEL);
if (!hyn_proximity_data) {
PROXIMITY_DEBUG("proximity allocate memory for hyn_proximity_data fail");
return;
}
hyn_proximity_data->ps_input_dev = input_allocate_device();
if (!hyn_proximity_data->ps_input_dev)
{
PROXIMITY_DEBUG(" %s: input allocate device failed\n", __func__);
ret = -ENOMEM;
goto exit_input_dev_allocate_failed;
}
hyn_proximity_data->ps_input_dev->name = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->phys = TP_PS_INPUT_DEV;
hyn_proximity_data->ps_input_dev->id.bustype = BUS_I2C;
hyn_proximity_data->ps_input_dev->dev.parent = &hyn_ts_data->client->dev;
__set_bit(EV_ABS, hyn_proximity_data->ps_input_dev->evbit);
input_set_abs_params(hyn_proximity_data->ps_input_dev, ABS_DISTANCE, 0, 1, 0, 0);
ret= input_register_device(hyn_proximity_data->ps_input_dev);
if (ret < 0)
{
PROXIMITY_DEBUG("%s: input device regist failed\n", __func__);
goto exit_input_register_failed;
}
hyn_create_proximity_sysfs(hyn_ts_data->client);
hyn_proximity_enable(0);
/* kernel-4.14 do not wake_lock */
//wake_lock_init(&hyn_proximity_data->proximity_lock, WAKE_LOCK_SUSPEND, "proximity wakelock");
#if MTK_PS_ENABLE
hyn_proximity_mtk_init();
#endif
#if SPRD_PS_ENABLE
hyn_proximity_sprd_init();
#endif
HYN_FUNC_EXIT();
return;
exit_input_dev_allocate_failed:
input_free_device(hyn_proximity_data->ps_input_dev );
exit_input_register_failed:
input_free_device(hyn_proximity_data->ps_input_dev);
}
void hyn_proximity_exit(void)
{
HYN_FUNC_ENTER();
if(hyn_ts_data->k_obj==NULL) return;
sysfs_remove_group(hyn_ts_data->k_obj, &hyn_proximity_group);
if(hyn_proximity_data==NULL) return;
kfree(hyn_proximity_data);
//wake_lock_destroy(&hyn_proximity_data->proximity_lock); /* kernel-4.14 do not wake_lock */
HYN_FUNC_EXIT();
}
#endif
#endif

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,37 @@
#ifndef __HYNITRON_UPDATE_FIRMWARE_H__
#define __HYNITRON_UPDATE_FIRMWARE_H__
#include <linux/i2c.h>
#include <linux/delay.h>
#include <linux/slab.h>
#include <linux/kernel.h>
#include <linux/semaphore.h>
#include <linux/mutex.h>
#include <linux/interrupt.h>
//#include <mach/irqs.h>
#include <linux/syscalls.h>
#include <asm/unistd.h>
#include <asm/uaccess.h>
#include <linux/fs.h>
#include <linux/string.h>
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/proc_fs.h>
int hyn_firmware_info(struct i2c_client * client);
int hyn_boot_update_fw(struct i2c_client * client);
int hyn_detect_main_iic(struct i2c_client *client);
int hyn_detect_bootloader(struct i2c_client *client);
void hyn_init_factory_test_init(struct i2c_client *client);
#if HYN_AUTO_FACTORY_TEST_EN
int hyn_factory_touch_test(void);
#endif
#if HYN_SYS_AUTO_SEARCH_FIRMWARE
int hyn_sys_auto_search_firmware(void);
#endif
#endif

View File

@ -0,0 +1,12 @@
#
# Touchscreen driver configuration
#
config CONFIG_TOUCHSCREEN_HYNITRON_TS
bool "hynitorn Ts for TOUCHSCREEN"
depends on I2C
default n
help
Say Y here if you have hynitorn touch panel.
If unsure, say N.

View File

@ -0,0 +1,16 @@
# Linux driver folder
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/
#ccflags-y += -I$(srctree)/drivers/input/touchscreen/mediatek/hynitron
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/include/mt-plat/$(MTK_PLATFORM)/include/
#ccflags-y += -I$(srctree)/drivers/misc/mediatek/sensors-1.0/hwmon/include/
obj-y += hynitron_core.o
obj-y += hynitron_i2c.o
obj-y += hynitron_esd_check.o
obj-y += hynitron_tool_debug.o
obj-y += hynitron_update_firmware.o
obj-y += hynitron_gesture.o
obj-y += hynitron_proximity.o

Some files were not shown because too many files have changed in this diff Show More