From 6c4ec6fde955ab0f18551e5d1a8be6f7606681b6 Mon Sep 17 00:00:00 2001 From: kidswong999 Date: Mon, 24 Jun 2019 14:06:05 +0800 Subject: [PATCH 1/4] add cambus_readb2 cambus_writeb2 --- src/omv/cambus.c | 24 ++++++++++++++++++++++++ src/omv/cambus.h | 2 ++ 2 files changed, 26 insertions(+) diff --git a/src/omv/cambus.c b/src/omv/cambus.c index f512cc748..df3a21d93 100644 --- a/src/omv/cambus.c +++ b/src/omv/cambus.c @@ -80,6 +80,30 @@ int cambus_writeb(uint8_t slv_addr, uint8_t reg_addr, uint8_t reg_data) return ret; } +int cambus_readb2(uint8_t slv_addr, uint16_t reg_addr, uint8_t *reg_data) +{ + int ret=0; + __disable_irq(); + if (HAL_I2C_Mem_Read(&I2CHandle, slv_addr, reg_addr, + I2C_MEMADD_SIZE_16BIT, reg_data, 1, I2C_TIMEOUT) != HAL_OK) { + ret = -1; + } + __enable_irq(); + return ret; +} + +int cambus_writeb2(uint8_t slv_addr, uint16_t reg_addr, uint8_t reg_data) +{ + int ret=0; + __disable_irq(); + if (HAL_I2C_Mem_Write(&I2CHandle, slv_addr, reg_addr, + I2C_MEMADD_SIZE_16BIT, ®_data, 1, I2C_TIMEOUT) != HAL_OK) { + ret = -1; + } + __enable_irq(); + return ret; +} + int cambus_readw(uint8_t slv_addr, uint8_t reg_addr, uint16_t *reg_data) { int ret=0; diff --git a/src/omv/cambus.h b/src/omv/cambus.h index fde9d46c0..b906580c5 100644 --- a/src/omv/cambus.h +++ b/src/omv/cambus.h @@ -13,6 +13,8 @@ int cambus_init(); int cambus_scan(); int cambus_readb(uint8_t slv_addr, uint8_t reg_addr, uint8_t *reg_data); int cambus_writeb(uint8_t slv_addr, uint8_t reg_addr, uint8_t reg_data); +int cambus_readb2(uint8_t slv_addr, uint16_t reg_addr, uint8_t *reg_data); +int cambus_writeb2(uint8_t slv_addr, uint16_t reg_addr, uint8_t reg_data); int cambus_readw(uint8_t slv_addr, uint8_t reg_addr, uint16_t *reg_data); int cambus_writew(uint8_t slv_addr, uint8_t reg_addr, uint16_t reg_data); int cambus_readw2(uint8_t slv_addr, uint16_t reg_addr, uint16_t *reg_data); From dcbc67fd6086ed8191564e7724592e777afc6847 Mon Sep 17 00:00:00 2001 From: kidswong999 Date: Mon, 24 Jun 2019 14:23:00 +0800 Subject: [PATCH 2/4] Change sensor reg_addr to uint16_t --- src/omv/lepton.c | 4 ++-- src/omv/mt9v034.c | 4 ++-- src/omv/ov7725.c | 4 ++-- src/omv/sensor.c | 4 ++-- src/omv/sensor.h | 8 ++++---- 5 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/omv/lepton.c b/src/omv/lepton.c index 88d341f51..ffb5488cd 100644 --- a/src/omv/lepton.c +++ b/src/omv/lepton.c @@ -115,7 +115,7 @@ static int sleep(sensor_t *sensor, int enable) return 0; } -static int read_reg(sensor_t *sensor, uint8_t reg_addr) +static int read_reg(sensor_t *sensor, uint16_t reg_addr) { uint16_t reg_data; if (cambus_readw2(sensor->slv_addr, reg_addr, ®_data)) { @@ -124,7 +124,7 @@ static int read_reg(sensor_t *sensor, uint8_t reg_addr) return reg_data; } -static int write_reg(sensor_t *sensor, uint8_t reg_addr, uint16_t reg_data) +static int write_reg(sensor_t *sensor, uint16_t reg_addr, uint16_t reg_data) { return cambus_writew2(sensor->slv_addr, reg_addr, reg_data); } diff --git a/src/omv/mt9v034.c b/src/omv/mt9v034.c index a0ff0681d..a72f0e39a 100644 --- a/src/omv/mt9v034.c +++ b/src/omv/mt9v034.c @@ -148,7 +148,7 @@ static int sleep(sensor_t *sensor, int enable) return 0; } -static int read_reg(sensor_t *sensor, uint8_t reg_addr) +static int read_reg(sensor_t *sensor, uint16_t reg_addr) { uint16_t reg_data; @@ -159,7 +159,7 @@ static int read_reg(sensor_t *sensor, uint8_t reg_addr) return reg_data; } -static int write_reg(sensor_t *sensor, uint8_t reg_addr, uint16_t reg_data) +static int write_reg(sensor_t *sensor, uint16_t reg_addr, uint16_t reg_data) { return cambus_writew(sensor->slv_addr, reg_addr, reg_data); } diff --git a/src/omv/ov7725.c b/src/omv/ov7725.c index 9fa8aeda8..da5fc829d 100644 --- a/src/omv/ov7725.c +++ b/src/omv/ov7725.c @@ -179,7 +179,7 @@ static int sleep(sensor_t *sensor, int enable) return cambus_writeb(sensor->slv_addr, COM2, reg) | ret; } -static int read_reg(sensor_t *sensor, uint8_t reg_addr) +static int read_reg(sensor_t *sensor, uint16_t reg_addr) { uint8_t reg_data; if (cambus_readb(sensor->slv_addr, reg_addr, ®_data) != 0) { @@ -188,7 +188,7 @@ static int read_reg(sensor_t *sensor, uint8_t reg_addr) return reg_data; } -static int write_reg(sensor_t *sensor, uint8_t reg_addr, uint16_t reg_data) +static int write_reg(sensor_t *sensor, uint16_t reg_addr, uint16_t reg_data) { return cambus_writeb(sensor->slv_addr, reg_addr, reg_data); } diff --git a/src/omv/sensor.c b/src/omv/sensor.c index 21bc4c208..18270d85f 100644 --- a/src/omv/sensor.c +++ b/src/omv/sensor.c @@ -423,7 +423,7 @@ int sensor_shutdown(int enable) return 0; } -int sensor_read_reg(uint8_t reg_addr) +int sensor_read_reg(uint16_t reg_addr) { if (sensor.read_reg == NULL) { // Operation not supported @@ -432,7 +432,7 @@ int sensor_read_reg(uint8_t reg_addr) return sensor.read_reg(&sensor, reg_addr); } -int sensor_write_reg(uint8_t reg_addr, uint16_t reg_data) +int sensor_write_reg(uint16_t reg_addr, uint16_t reg_data) { if (sensor.write_reg == NULL) { // Operation not supported diff --git a/src/omv/sensor.h b/src/omv/sensor.h index b73e89576..0b9b09e39 100644 --- a/src/omv/sensor.h +++ b/src/omv/sensor.h @@ -150,8 +150,8 @@ typedef struct _sensor { // Sensor function pointers int (*reset) (sensor_t *sensor); int (*sleep) (sensor_t *sensor, int enable); - int (*read_reg) (sensor_t *sensor, uint8_t reg_addr); - int (*write_reg) (sensor_t *sensor, uint8_t reg_addr, uint16_t reg_data); + int (*read_reg) (sensor_t *sensor, uint16_t reg_addr); + int (*write_reg) (sensor_t *sensor, uint16_t reg_addr, uint16_t reg_data); int (*set_pixformat) (sensor_t *sensor, pixformat_t pixformat); int (*set_framesize) (sensor_t *sensor, framesize_t framesize); int (*set_framerate) (sensor_t *sensor, framerate_t framerate); @@ -197,10 +197,10 @@ int sensor_sleep(int enable); int sensor_shutdown(int enable); // Read a sensor register. -int sensor_read_reg(uint8_t reg_addr); +int sensor_read_reg(uint16_t reg_addr); // Write a sensor register. -int sensor_write_reg(uint8_t reg_addr, uint16_t reg_data); +int sensor_write_reg(uint16_t reg_addr, uint16_t reg_data); // Set the sensor pixel format. int sensor_set_pixformat(pixformat_t pixformat); From cc33f9b7e6ed5f66686dda398939de65e45bc82e Mon Sep 17 00:00:00 2001 From: kidswong999 Date: Mon, 24 Jun 2019 14:24:21 +0800 Subject: [PATCH 3/4] Add OV5640 driver. --- src/Makefile | 2 + src/omv/Makefile | 1 + src/omv/ov5640.c | 239 +++ src/omv/ov5640.h | 13 + src/omv/ov5640_regs.h | 4409 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 4664 insertions(+) create mode 100644 src/omv/ov5640.c create mode 100644 src/omv/ov5640.h create mode 100644 src/omv/ov5640_regs.h diff --git a/src/Makefile b/src/Makefile index d5c7b1885..3ee696d70 100755 --- a/src/Makefile +++ b/src/Makefile @@ -168,6 +168,7 @@ FIRM_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/, \ ov9650.o \ ov2640.o \ ov7725.o \ + ov5640.o \ mt9v034.o \ lepton.o \ sensor.o \ @@ -443,6 +444,7 @@ UVC_OBJ += $(addprefix $(BUILD)/$(OMV_DIR)/, \ ov9650.o \ ov2640.o \ ov7725.o \ + ov5640.o \ mt9v034.o \ lepton.o \ sensor.o \ diff --git a/src/omv/Makefile b/src/omv/Makefile index c4911e62e..08d95504d 100644 --- a/src/omv/Makefile +++ b/src/omv/Makefile @@ -14,6 +14,7 @@ SRCS += $(addprefix , \ ov9650.c \ ov2640.c \ ov7725.c \ + ov5640.c \ mt9v034.c \ lepton.c \ sensor.c \ diff --git a/src/omv/ov5640.c b/src/omv/ov5640.c new file mode 100644 index 000000000..a8db01dc5 --- /dev/null +++ b/src/omv/ov5640.c @@ -0,0 +1,239 @@ +/* + * This file is part of the OpenMV project. + * Copyright (c) 2013/2014 Ibrahim Abdelkader + * This work is licensed under the MIT license, see the file LICENSE for details. + * + * OV5640 driver. + * + */ +#include +#include +#include +#include STM32_HAL_H +#include "cambus.h" +#include "ov5640.h" +#include "ov5640_regs.h" +#include "systick.h" +#include "omv_boardconfig.h" + +static int reset(sensor_t *sensor) +{ + int i=0; + const uint16_t (*regs)[2]; + // Reset all registers + cambus_writeb2(sensor->slv_addr, 0x3008, 0x42); + // Delay 10 ms + systick_sleep(10); + // Write default regsiters + for (i=0, regs = default_regs; regs[i][0]; i++) { + cambus_writeb2(sensor->slv_addr, regs[i][0], regs[i][1]); + } + cambus_writeb2(sensor->slv_addr, 0x3008, 0x02); + systick_sleep(30); + // Write auto focus firmware + for (i=0, regs = OV5640_AF_REG; regs[i][0]; i++) { + cambus_writeb2(sensor->slv_addr, regs[i][0], regs[i][1]); + } + // Delay + systick_sleep(10); + // Enable auto focus + cambus_writeb2(sensor->slv_addr, 0x3023, 0x01); + cambus_writeb2(sensor->slv_addr, 0x3022, 0x04); + + systick_sleep(30); + return 0; +} + +static int sleep(sensor_t *sensor, int enable) +{ + uint8_t reg; + if (enable) { + reg = 0x42; + } else { + reg = 0x02; + } + // Write back register + return cambus_writeb2(sensor->slv_addr, 0x3008, reg); +} + +static int read_reg(sensor_t *sensor, uint16_t reg_addr) +{ + uint8_t reg_data; + if (cambus_readb2(sensor->slv_addr, reg_addr, ®_data) != 0) { + return -1; + } + return reg_data; +} + +static int write_reg(sensor_t *sensor, uint16_t reg_addr, uint16_t reg_data) +{ + return cambus_writeb2(sensor->slv_addr, reg_addr, reg_data); +} + +static int set_pixformat(sensor_t *sensor, pixformat_t pixformat) +{ +// uint8_t reg; + int ret=0; + switch (pixformat) { + case PIXFORMAT_RGB565: + cambus_writeb2(sensor->slv_addr, 0x4300, 0x61);//RGB565 + cambus_writeb2(sensor->slv_addr, 0x501f, 0x01);//ISP RGB + break; + case PIXFORMAT_YUV422: + case PIXFORMAT_GRAYSCALE: + cambus_writeb2(sensor->slv_addr, 0x4300, 0x10);//Y8 + cambus_writeb2(sensor->slv_addr, 0x501f, 0x00);//ISP YUV + break; + case PIXFORMAT_BAYER: + //reg = 0x00;//TODO: fix order + break; + default: + return -1; + } + return ret; +} + +static int set_framesize(sensor_t *sensor, framesize_t framesize) +{ + int ret=0; + uint16_t w = resolution[framesize][0]; + uint16_t h = resolution[framesize][1]; + + ret |= cambus_writeb2(sensor->slv_addr, 0x3808, w>>8); + ret |= cambus_writeb2(sensor->slv_addr, 0x3809, w); + ret |= cambus_writeb2(sensor->slv_addr, 0x380a, h>>8); + ret |= cambus_writeb2(sensor->slv_addr, 0x380b, h); + + return ret; +} + +static int set_framerate(sensor_t *sensor, framerate_t framerate) +{ + return 0; +} + +static int set_contrast(sensor_t *sensor, int level) +{ + return 0; +} + +static int set_brightness(sensor_t *sensor, int level) +{ + return 0; +} + +static int set_saturation(sensor_t *sensor, int level) +{ + return 0; +} + +static int set_gainceiling(sensor_t *sensor, gainceiling_t gainceiling) +{ + return 0; +} + +static int set_colorbar(sensor_t *sensor, int enable) +{ + return 0; +} + +static int set_auto_gain(sensor_t *sensor, int enable, float gain_db, float gain_db_ceiling) +{ + return 0; +} + +static int get_gain_db(sensor_t *sensor, float *gain_db) +{ + return 0; +} + +static int set_auto_exposure(sensor_t *sensor, int enable, int exposure_us) +{ + return 0; +} + +static int get_exposure_us(sensor_t *sensor, int *exposure_us) +{ + return 0; +} + +static int set_auto_whitebal(sensor_t *sensor, int enable, float r_gain_db, float g_gain_db, float b_gain_db) +{ + return 0; +} + +static int get_rgb_gain_db(sensor_t *sensor, float *r_gain_db, float *g_gain_db, float *b_gain_db) +{ + return 0; +} + +static int set_hmirror(sensor_t *sensor, int enable) +{ + uint8_t reg; + int ret = cambus_readb2(sensor->slv_addr, 0x3821, ®); + if (enable){ + ret |= cambus_writeb2(sensor->slv_addr, 0x3821, reg&0x06); + } else { + ret |= cambus_writeb2(sensor->slv_addr, 0x3821, reg|0xF9); + } + return ret; +} + +static int set_vflip(sensor_t *sensor, int enable) +{ + uint8_t reg; + int ret = cambus_readb2(sensor->slv_addr, 0x3820, ®); + if (enable){ + ret |= cambus_writeb2(sensor->slv_addr, 0x3820, reg&0xF9); + } else { + ret |= cambus_writeb2(sensor->slv_addr, 0x3820, reg|0x06); + } + return ret; +} + +static int set_special_effect(sensor_t *sensor, sde_t sde) +{ + return 0; +} + +static int set_lens_correction(sensor_t *sensor, int enable, int radi, int coef) +{ + return 0; +} + +int ov5640_init(sensor_t *sensor) +{ + // Initialize sensor structure. + sensor->gs_bpp = 1; + sensor->reset = reset; + sensor->sleep = sleep; + sensor->read_reg = read_reg; + sensor->write_reg = write_reg; + sensor->set_pixformat = set_pixformat; + sensor->set_framesize = set_framesize; + sensor->set_framerate = set_framerate; + sensor->set_contrast = set_contrast; + sensor->set_brightness = set_brightness; + sensor->set_saturation = set_saturation; + sensor->set_gainceiling = set_gainceiling; + sensor->set_colorbar = set_colorbar; + sensor->set_auto_gain = set_auto_gain; + sensor->get_gain_db = get_gain_db; + sensor->set_auto_exposure = set_auto_exposure; + sensor->get_exposure_us = get_exposure_us; + sensor->set_auto_whitebal = set_auto_whitebal; + sensor->get_rgb_gain_db = get_rgb_gain_db; + sensor->set_hmirror = set_hmirror; + sensor->set_vflip = set_vflip; + sensor->set_special_effect = set_special_effect; + sensor->set_lens_correction = set_lens_correction; + + // Set sensor flags + SENSOR_HW_FLAGS_SET(sensor, SENSOR_HW_FLAGS_VSYNC, 0); + SENSOR_HW_FLAGS_SET(sensor, SENSOR_HW_FLAGS_HSYNC, 0); + SENSOR_HW_FLAGS_SET(sensor, SENSOR_HW_FLAGS_PIXCK, 1); + SENSOR_HW_FLAGS_SET(sensor, SENSOR_HW_FLAGS_FSYNC, 1); + SENSOR_HW_FLAGS_SET(sensor, SENSOR_HW_FLAGS_JPEGE, 0); + + return 0; +} diff --git a/src/omv/ov5640.h b/src/omv/ov5640.h new file mode 100644 index 000000000..adc691b0e --- /dev/null +++ b/src/omv/ov5640.h @@ -0,0 +1,13 @@ +/* + * This file is part of the OpenMV project. + * Copyright (c) 2013/2014 Ibrahim Abdelkader + * This work is licensed under the MIT license, see the file LICENSE for details. + * + * OV5640 driver. + * + */ +#ifndef __OV5640_H__ +#define __OV5640_H__ +#include "sensor.h" +int ov5640_init(sensor_t *sensor); +#endif // __OV5640_H__ diff --git a/src/omv/ov5640_regs.h b/src/omv/ov5640_regs.h new file mode 100644 index 000000000..97e0d53d7 --- /dev/null +++ b/src/omv/ov5640_regs.h @@ -0,0 +1,4409 @@ +/* + * This file is part of the OpenMV project. + * Copyright (c) 2013/2014 Ibrahim Abdelkader + * This work is licensed under the MIT license, see the file LICENSE for details. + * + * OV5640 register definitions. + */ + +#ifndef __REG_REGS_H__ +#define __REG_REGS_H__ + +const uint16_t default_regs[][2] = { + { 0x4740, 0x21 },//polarity + + { 0x4050, 0x6e }, + { 0x4051, 0x8f }, + + { 0x3103, 0x03 },//PLL + { 0x3017, 0x7f },//output enable + { 0x3018, 0xff },//output enable + { 0x302c, 0x02 },//frex enable + { 0x3108, 0x01 },//pad clock divider + { 0x3630, 0x2e },//2e + { 0x3632, 0xe2 }, + { 0x3633, 0x23 },//23 + { 0x3621, 0xe0 }, + { 0x3704, 0xa0 }, + { 0x3703, 0x5a }, + { 0x3715, 0x78 }, + { 0x3717, 0x01 }, + { 0x370b, 0x60 }, + { 0x3705, 0x1a }, + { 0x3905, 0x02 }, + { 0x3906, 0x10 }, + { 0x3901, 0x0a }, + { 0x3731, 0x12 }, + { 0x3600, 0x08 }, + { 0x3601, 0x33 }, + { 0x302d, 0x60 }, + { 0x3620, 0x52 }, + { 0x371b, 0x20 }, + { 0x471c, 0x50 }, + + { 0x3a18, 0x00 },//AEC gain + { 0x3a19, 0xf8 },//AEC gain + + { 0x3635, 0x1c },//1c + { 0x3634, 0x40 }, + { 0x3622, 0x01 }, + + { 0x3c04, 0x28 },//5060Hz detector + { 0x3c05, 0x98 }, + { 0x3c06, 0x00 }, + { 0x3c07, 0x08 }, + { 0x3c08, 0x00 }, + { 0x3c09, 0x1c }, + { 0x3c0a, 0x9c }, + { 0x3c0b, 0x40 }, + + { 0x3820, 0x46 }, //vflip + { 0x3821, 0x00 }, //mirror + + //windows setup + { 0x3800, 0x00 }, + { 0x3801, 0x00 }, + { 0x3802, 0x00 }, + { 0x3803, 0x00 }, + { 0x3804, 0x0a }, + { 0x3805, 0x3f }, + { 0x3806, 0x07 }, + { 0x3807, 0x9f }, + { 0x3808, 0x01 }, + { 0x3809, 0x40 }, + { 0x380a, 0x00 }, + { 0x380b, 0xf0 }, + { 0x380c, 0x0c }, + { 0x380d, 0x80 }, + { 0x380e, 0x07 }, + { 0x380f, 0xd0 }, + { 0x3810, 0x00 }, + { 0x3811, 0x10 }, + { 0x3812, 0x00 }, + { 0x3813, 0x06 }, + { 0x3814, 0x31 }, + { 0x3815, 0x31 }, + + { 0x3034, 0x1a }, + { 0x3035, 0x11 }, //SYS divider + { 0x3036, 0x69 }, //PLL multiplier 0x69 + { 0x3037, 0x13 }, //PLL divider + { 0x3038, 0x00 }, + { 0x3039, 0x00 }, //PLL bypass + + { 0x380c, 0x07 }, + { 0x380d, 0x68 }, + { 0x380e, 0x03 }, //03 + { 0x380f, 0xd8 }, //d8 + + { 0x3c01, 0xb4 }, + { 0x3c00, 0x04 }, + { 0x3a08, 0x00 }, + { 0x3a09, 0x93 }, + { 0x3a0e, 0x06 }, + { 0x3a0a, 0x00 }, + { 0x3a0b, 0x7b }, + { 0x3a0d, 0x08 }, + + { 0x3a00, 0x3c }, //15fps-10fps + { 0x3a02, 0x05 }, + { 0x3a03, 0xc4 }, + { 0x3a14, 0x05 }, + { 0x3a15, 0xc4 }, + + { 0x3618, 0x00 }, + { 0x3612, 0x29 }, + { 0x3708, 0x64 }, + { 0x3709, 0x52 }, + { 0x370c, 0x03 }, + + { 0x4001, 0x02 }, + { 0x4004, 0x02 }, + { 0x3000, 0x00 }, + { 0x3002, 0x1c }, + { 0x3004, 0xff }, + { 0x3006, 0xc3 }, + { 0x300e, 0x58 }, + { 0x302e, 0x00 }, + { 0x4300, 0x30 }, + { 0x501f, 0x00 }, + { 0x4713, 0x03 }, + { 0x4407, 0x04 }, + { 0x460b, 0x35 }, + { 0x460c, 0x22 },//add by bright + { 0x3824, 0x01 },//add by bright + { 0x5001, 0xa3 }, + + { 0x3406, 0x01 },//awbinit + { 0x3400, 0x06 }, + { 0x3401, 0x80 }, + { 0x3402, 0x04 }, + { 0x3403, 0x00 }, + { 0x3404, 0x06 }, + { 0x3405, 0x00 }, + //awb + { 0x5180, 0xff }, + { 0x5181, 0xf2 }, + { 0x5182, 0x00 }, + { 0x5183, 0x14 }, + { 0x5184, 0x25 }, + { 0x5185, 0x24 }, + { 0x5186, 0x16 }, + { 0x5187, 0x16 }, + { 0x5188, 0x16 }, + { 0x5189, 0x62 }, + { 0x518a, 0x62 }, + { 0x518b, 0xf0 }, + { 0x518c, 0xb2 }, + { 0x518d, 0x50 }, + { 0x518e, 0x30 }, + { 0x518f, 0x30 }, + { 0x5190, 0x50 }, + { 0x5191, 0xf8 }, + { 0x5192, 0x04 }, + { 0x5193, 0x70 }, + { 0x5194, 0xf0 }, + { 0x5195, 0xf0 }, + { 0x5196, 0x03 }, + { 0x5197, 0x01 }, + { 0x5198, 0x04 }, + { 0x5199, 0x12 }, + { 0x519a, 0x04 }, + { 0x519b, 0x00 }, + { 0x519c, 0x06 }, + { 0x519d, 0x82 }, + { 0x519e, 0x38 }, + //color matrix + { 0x5381, 0x1e }, + { 0x5382, 0x5b }, + { 0x5383, 0x14 }, + { 0x5384, 0x06 }, + { 0x5385, 0x82 }, + { 0x5386, 0x88 }, + { 0x5387, 0x7c }, + { 0x5388, 0x60 }, + { 0x5389, 0x1c }, + { 0x538a, 0x01 }, + { 0x538b, 0x98 }, + //sharp&noise + { 0x5300, 0x08 }, + { 0x5301, 0x30 }, + { 0x5302, 0x3f }, + { 0x5303, 0x10 }, + { 0x5304, 0x08 }, + { 0x5305, 0x30 }, + { 0x5306, 0x18 }, + { 0x5307, 0x28 }, + { 0x5309, 0x08 }, + { 0x530a, 0x30 }, + { 0x530b, 0x04 }, + { 0x530c, 0x06 }, + //gamma + { 0x5480, 0x01 }, + { 0x5481, 0x06 }, + { 0x5482, 0x12 }, + { 0x5483, 0x24 }, + { 0x5484, 0x4a }, + { 0x5485, 0x58 }, + { 0x5486, 0x65 }, + { 0x5487, 0x72 }, + { 0x5488, 0x7d }, + { 0x5489, 0x88 }, + { 0x548a, 0x92 }, + { 0x548b, 0xa3 }, + { 0x548c, 0xb2 }, + { 0x548d, 0xc8 }, + { 0x548e, 0xdd }, + { 0x548f, 0xf0 }, + { 0x5490, 0x15 }, + //UV adjust + { 0x5580, 0x06 }, + { 0x5583, 0x40 }, + { 0x5584, 0x20 }, + { 0x5589, 0x10 }, + { 0x558a, 0x00 }, + { 0x558b, 0xf8 }, + //lens shading + { 0x5000, 0xa7 }, + { 0x5800, 0x20 }, + { 0x5801, 0x19 }, + { 0x5802, 0x17 }, + { 0x5803, 0x16 }, + { 0x5804, 0x18 }, + { 0x5805, 0x21 }, + { 0x5806, 0x0F }, + { 0x5807, 0x0A }, + { 0x5808, 0x07 }, + { 0x5809, 0x07 }, + { 0x580a, 0x0A }, + { 0x580b, 0x0C }, + { 0x580c, 0x0A }, + { 0x580d, 0x03 }, + { 0x580e, 0x01 }, + { 0x580f, 0x01 }, + { 0x5810, 0x03 }, + { 0x5811, 0x09 }, + { 0x5812, 0x0A }, + { 0x5813, 0x03 }, + { 0x5814, 0x01 }, + { 0x5815, 0x01 }, + { 0x5816, 0x03 }, + { 0x5817, 0x08 }, + { 0x5818, 0x10 }, + { 0x5819, 0x0A }, + { 0x581a, 0x06 }, + { 0x581b, 0x06 }, + { 0x581c, 0x08 }, + { 0x581d, 0x0E }, + { 0x581e, 0x22 }, + { 0x581f, 0x18 }, + { 0x5820, 0x13 }, + { 0x5821, 0x12 }, + { 0x5822, 0x16 }, + { 0x5823, 0x1E }, + { 0x5824, 0x64 }, + { 0x5825, 0x2A }, + { 0x5826, 0x2C }, + { 0x5827, 0x2A }, + { 0x5828, 0x46 }, + { 0x5829, 0x2A }, + { 0x582a, 0x26 }, + { 0x582b, 0x24 }, + { 0x582c, 0x26 }, + { 0x582d, 0x2A }, + { 0x582e, 0x28 }, + { 0x582f, 0x42 }, + { 0x5830, 0x40 }, + { 0x5831, 0x42 }, + { 0x5832, 0x08 }, + { 0x5833, 0x28 }, + { 0x5834, 0x26 }, + { 0x5835, 0x24 }, + { 0x5836, 0x26 }, + { 0x5837, 0x2A }, + { 0x5838, 0x44 }, + { 0x5839, 0x4A }, + { 0x583a, 0x2C }, + { 0x583b, 0x2a }, + { 0x583c, 0x46 }, + { 0x583d, 0xCE }, + + { 0x5688, 0x22 }, + { 0x5689, 0x22 }, + { 0x568a, 0x42 }, + { 0x568b, 0x24 }, + { 0x568c, 0x42 }, + { 0x568d, 0x24 }, + { 0x568e, 0x22 }, + { 0x568f, 0x22 }, + + { 0x5025, 0x00 }, + + { 0x3a0f, 0x30 }, + { 0x3a10, 0x28 }, + { 0x3a1b, 0x30 }, + { 0x3a1e, 0x28 }, + { 0x3a11, 0x61 }, + { 0x3a1f, 0x10 }, + + { 0x4005, 0x1a }, + { 0x3406, 0x00 },//awbinit + { 0x3503, 0x00 },//awbinit + + { 0x0000, 0x00 }, +}; + +const uint16_t OV5640_AF_REG[][2] = { + {0x3000,0x20}, + {0x8000,0x02}, + {0x8001,0x0f}, + {0x8002,0xd6}, + {0x8003,0x02}, + {0x8004,0x0a}, + {0x8005,0x39}, + {0x8006,0xc2}, + {0x8007,0x01}, + {0x8008,0x22}, + {0x8009,0x22}, + {0x800a,0x00}, + {0x800b,0x02}, + {0x800c,0x0f}, + {0x800d,0xb2}, + {0x800e,0xe5}, + {0x800f,0x1f}, + {0x8010,0x70}, + {0x8011,0x72}, + {0x8012,0xf5}, + {0x8013,0x1e}, + {0x8014,0xd2}, + {0x8015,0x35}, + {0x8016,0xff}, + {0x8017,0xef}, + {0x8018,0x25}, + {0x8019,0xe0}, + {0x801a,0x24}, + {0x801b,0x4e}, + {0x801c,0xf8}, + {0x801d,0xe4}, + {0x801e,0xf6}, + {0x801f,0x08}, + {0x8020,0xf6}, + {0x8021,0x0f}, + {0x8022,0xbf}, + {0x8023,0x34}, + {0x8024,0xf2}, + {0x8025,0x90}, + {0x8026,0x0e}, + {0x8027,0x93}, + {0x8028,0xe4}, + {0x8029,0x93}, + {0x802a,0xff}, + {0x802b,0xe5}, + {0x802c,0x4b}, + {0x802d,0xc3}, + {0x802e,0x9f}, + {0x802f,0x50}, + {0x8030,0x04}, + {0x8031,0x7f}, + {0x8032,0x05}, + {0x8033,0x80}, + {0x8034,0x02}, + {0x8035,0x7f}, + {0x8036,0xfb}, + {0x8037,0x78}, + {0x8038,0xbd}, + {0x8039,0xa6}, + {0x803a,0x07}, + {0x803b,0x12}, + {0x803c,0x0f}, + {0x803d,0x04}, + {0x803e,0x40}, + {0x803f,0x04}, + {0x8040,0x7f}, + {0x8041,0x03}, + {0x8042,0x80}, + {0x8043,0x02}, + {0x8044,0x7f}, + {0x8045,0x30}, + {0x8046,0x78}, + {0x8047,0xbc}, + {0x8048,0xa6}, + {0x8049,0x07}, + {0x804a,0xe6}, + {0x804b,0x18}, + {0x804c,0xf6}, + {0x804d,0x08}, + {0x804e,0xe6}, + {0x804f,0x78}, + {0x8050,0xb9}, + {0x8051,0xf6}, + {0x8052,0x78}, + {0x8053,0xbc}, + {0x8054,0xe6}, + {0x8055,0x78}, + {0x8056,0xba}, + {0x8057,0xf6}, + {0x8058,0x78}, + {0x8059,0xbf}, + {0x805a,0x76}, + {0x805b,0x33}, + {0x805c,0xe4}, + {0x805d,0x08}, + {0x805e,0xf6}, + {0x805f,0x78}, + {0x8060,0xb8}, + {0x8061,0x76}, + {0x8062,0x01}, + {0x8063,0x75}, + {0x8064,0x4a}, + {0x8065,0x02}, + {0x8066,0x78}, + {0x8067,0xb6}, + {0x8068,0xf6}, + {0x8069,0x08}, + {0x806a,0xf6}, + {0x806b,0x74}, + {0x806c,0xff}, + {0x806d,0x78}, + {0x806e,0xc1}, + {0x806f,0xf6}, + {0x8070,0x08}, + {0x8071,0xf6}, + {0x8072,0x75}, + {0x8073,0x1f}, + {0x8074,0x01}, + {0x8075,0x78}, + {0x8076,0xbc}, + {0x8077,0xe6}, + {0x8078,0x75}, + {0x8079,0xf0}, + {0x807a,0x05}, + {0x807b,0xa4}, + {0x807c,0xf5}, + {0x807d,0x4b}, + {0x807e,0x12}, + {0x807f,0x0a}, + {0x8080,0xff}, + {0x8081,0xc2}, + {0x8082,0x37}, + {0x8083,0x22}, + {0x8084,0x78}, + {0x8085,0xb8}, + {0x8086,0xe6}, + {0x8087,0xd3}, + {0x8088,0x94}, + {0x8089,0x00}, + {0x808a,0x40}, + {0x808b,0x02}, + {0x808c,0x16}, + {0x808d,0x22}, + {0x808e,0xe5}, + {0x808f,0x1f}, + {0x8090,0xb4}, + {0x8091,0x05}, + {0x8092,0x23}, + {0x8093,0xe4}, + {0x8094,0xf5}, + {0x8095,0x1f}, + {0x8096,0xc2}, + {0x8097,0x01}, + {0x8098,0x78}, + {0x8099,0xb6}, + {0x809a,0xe6}, + {0x809b,0xfe}, + {0x809c,0x08}, + {0x809d,0xe6}, + {0x809e,0xff}, + {0x809f,0x78}, + {0x80a0,0x4e}, + {0x80a1,0xa6}, + {0x80a2,0x06}, + {0x80a3,0x08}, + {0x80a4,0xa6}, + {0x80a5,0x07}, + {0x80a6,0xa2}, + {0x80a7,0x37}, + {0x80a8,0xe4}, + {0x80a9,0x33}, + {0x80aa,0xf5}, + {0x80ab,0x3c}, + {0x80ac,0x90}, + {0x80ad,0x30}, + {0x80ae,0x28}, + {0x80af,0xf0}, + {0x80b0,0x75}, + {0x80b1,0x1e}, + {0x80b2,0x10}, + {0x80b3,0xd2}, + {0x80b4,0x35}, + {0x80b5,0x22}, + {0x80b6,0xe5}, + {0x80b7,0x4b}, + {0x80b8,0x75}, + {0x80b9,0xf0}, + {0x80ba,0x05}, + {0x80bb,0x84}, + {0x80bc,0x78}, + {0x80bd,0xbc}, + {0x80be,0xf6}, + {0x80bf,0x90}, + {0x80c0,0x0e}, + {0x80c1,0x8c}, + {0x80c2,0xe4}, + {0x80c3,0x93}, + {0x80c4,0xff}, + {0x80c5,0x25}, + {0x80c6,0xe0}, + {0x80c7,0x24}, + {0x80c8,0x0a}, + {0x80c9,0xf8}, + {0x80ca,0xe6}, + {0x80cb,0xfc}, + {0x80cc,0x08}, + {0x80cd,0xe6}, + {0x80ce,0xfd}, + {0x80cf,0x78}, + {0x80d0,0xbc}, + {0x80d1,0xe6}, + {0x80d2,0x25}, + {0x80d3,0xe0}, + {0x80d4,0x24}, + {0x80d5,0x4e}, + {0x80d6,0xf8}, + {0x80d7,0xa6}, + {0x80d8,0x04}, + {0x80d9,0x08}, + {0x80da,0xa6}, + {0x80db,0x05}, + {0x80dc,0xef}, + {0x80dd,0x12}, + {0x80de,0x0f}, + {0x80df,0x0b}, + {0x80e0,0xd3}, + {0x80e1,0x78}, + {0x80e2,0xb7}, + {0x80e3,0x96}, + {0x80e4,0xee}, + {0x80e5,0x18}, + {0x80e6,0x96}, + {0x80e7,0x40}, + {0x80e8,0x0d}, + {0x80e9,0x78}, + {0x80ea,0xbc}, + {0x80eb,0xe6}, + {0x80ec,0x78}, + {0x80ed,0xb9}, + {0x80ee,0xf6}, + {0x80ef,0x78}, + {0x80f0,0xb6}, + {0x80f1,0xa6}, + {0x80f2,0x06}, + {0x80f3,0x08}, + {0x80f4,0xa6}, + {0x80f5,0x07}, + {0x80f6,0x90}, + {0x80f7,0x0e}, + {0x80f8,0x8c}, + {0x80f9,0xe4}, + {0x80fa,0x93}, + {0x80fb,0x12}, + {0x80fc,0x0f}, + {0x80fd,0x0b}, + {0x80fe,0xc3}, + {0x80ff,0x78}, + {0x8100,0xc2}, + {0x8101,0x96}, + {0x8102,0xee}, + {0x8103,0x18}, + {0x8104,0x96}, + {0x8105,0x50}, + {0x8106,0x0d}, + {0x8107,0x78}, + {0x8108,0xbc}, + {0x8109,0xe6}, + {0x810a,0x78}, + {0x810b,0xba}, + {0x810c,0xf6}, + {0x810d,0x78}, + {0x810e,0xc1}, + {0x810f,0xa6}, + {0x8110,0x06}, + {0x8111,0x08}, + {0x8112,0xa6}, + {0x8113,0x07}, + {0x8114,0x78}, + {0x8115,0xb6}, + {0x8116,0xe6}, + {0x8117,0xfe}, + {0x8118,0x08}, + {0x8119,0xe6}, + {0x811a,0xc3}, + {0x811b,0x78}, + {0x811c,0xc2}, + {0x811d,0x96}, + {0x811e,0xff}, + {0x811f,0xee}, + {0x8120,0x18}, + {0x8121,0x96}, + {0x8122,0x78}, + {0x8123,0xc3}, + {0x8124,0xf6}, + {0x8125,0x08}, + {0x8126,0xa6}, + {0x8127,0x07}, + {0x8128,0x90}, + {0x8129,0x0e}, + {0x812a,0x95}, + {0x812b,0xe4}, + {0x812c,0x18}, + {0x812d,0x12}, + {0x812e,0x0e}, + {0x812f,0xe9}, + {0x8130,0x40}, + {0x8131,0x02}, + {0x8132,0xd2}, + {0x8133,0x37}, + {0x8134,0x78}, + {0x8135,0xbc}, + {0x8136,0xe6}, + {0x8137,0x08}, + {0x8138,0x26}, + {0x8139,0x08}, + {0x813a,0xf6}, + {0x813b,0xe5}, + {0x813c,0x1f}, + {0x813d,0x64}, + {0x813e,0x01}, + {0x813f,0x70}, + {0x8140,0x4a}, + {0x8141,0xe6}, + {0x8142,0xc3}, + {0x8143,0x78}, + {0x8144,0xc0}, + {0x8145,0x12}, + {0x8146,0x0e}, + {0x8147,0xdf}, + {0x8148,0x40}, + {0x8149,0x05}, + {0x814a,0x12}, + {0x814b,0x0e}, + {0x814c,0xda}, + {0x814d,0x40}, + {0x814e,0x39}, + {0x814f,0x12}, + {0x8150,0x0f}, + {0x8151,0x02}, + {0x8152,0x40}, + {0x8153,0x04}, + {0x8154,0x7f}, + {0x8155,0xfe}, + {0x8156,0x80}, + {0x8157,0x02}, + {0x8158,0x7f}, + {0x8159,0x02}, + {0x815a,0x78}, + {0x815b,0xbd}, + {0x815c,0xa6}, + {0x815d,0x07}, + {0x815e,0x78}, + {0x815f,0xb9}, + {0x8160,0xe6}, + {0x8161,0x24}, + {0x8162,0x03}, + {0x8163,0x78}, + {0x8164,0xbf}, + {0x8165,0xf6}, + {0x8166,0x78}, + {0x8167,0xb9}, + {0x8168,0xe6}, + {0x8169,0x24}, + {0x816a,0xfd}, + {0x816b,0x78}, + {0x816c,0xc0}, + {0x816d,0xf6}, + {0x816e,0x12}, + {0x816f,0x0f}, + {0x8170,0x02}, + {0x8171,0x40}, + {0x8172,0x06}, + {0x8173,0x78}, + {0x8174,0xc0}, + {0x8175,0xe6}, + {0x8176,0xff}, + {0x8177,0x80}, + {0x8178,0x04}, + {0x8179,0x78}, + {0x817a,0xbf}, + {0x817b,0xe6}, + {0x817c,0xff}, + {0x817d,0x78}, + {0x817e,0xbe}, + {0x817f,0xa6}, + {0x8180,0x07}, + {0x8181,0x75}, + {0x8182,0x1f}, + {0x8183,0x02}, + {0x8184,0x78}, + {0x8185,0xb8}, + {0x8186,0x76}, + {0x8187,0x01}, + {0x8188,0x02}, + {0x8189,0x02}, + {0x818a,0x4a}, + {0x818b,0xe5}, + {0x818c,0x1f}, + {0x818d,0x64}, + {0x818e,0x02}, + {0x818f,0x60}, + {0x8190,0x03}, + {0x8191,0x02}, + {0x8192,0x02}, + {0x8193,0x2a}, + {0x8194,0x78}, + {0x8195,0xbe}, + {0x8196,0xe6}, + {0x8197,0xff}, + {0x8198,0xc3}, + {0x8199,0x78}, + {0x819a,0xc0}, + {0x819b,0x12}, + {0x819c,0x0e}, + {0x819d,0xe0}, + {0x819e,0x40}, + {0x819f,0x08}, + {0x81a0,0x12}, + {0x81a1,0x0e}, + {0x81a2,0xda}, + {0x81a3,0x50}, + {0x81a4,0x03}, + {0x81a5,0x02}, + {0x81a6,0x02}, + {0x81a7,0x28}, + {0x81a8,0x12}, + {0x81a9,0x0f}, + {0x81aa,0x02}, + {0x81ab,0x40}, + {0x81ac,0x04}, + {0x81ad,0x7f}, + {0x81ae,0xff}, + {0x81af,0x80}, + {0x81b0,0x02}, + {0x81b1,0x7f}, + {0x81b2,0x01}, + {0x81b3,0x78}, + {0x81b4,0xbd}, + {0x81b5,0xa6}, + {0x81b6,0x07}, + {0x81b7,0x78}, + {0x81b8,0xb9}, + {0x81b9,0xe6}, + {0x81ba,0x04}, + {0x81bb,0x78}, + {0x81bc,0xbf}, + {0x81bd,0xf6}, + {0x81be,0x78}, + {0x81bf,0xb9}, + {0x81c0,0xe6}, + {0x81c1,0x14}, + {0x81c2,0x78}, + {0x81c3,0xc0}, + {0x81c4,0xf6}, + {0x81c5,0x18}, + {0x81c6,0x12}, + {0x81c7,0x0f}, + {0x81c8,0x04}, + {0x81c9,0x40}, + {0x81ca,0x04}, + {0x81cb,0xe6}, + {0x81cc,0xff}, + {0x81cd,0x80}, + {0x81ce,0x02}, + {0x81cf,0x7f}, + {0x81d0,0x00}, + {0x81d1,0x78}, + {0x81d2,0xbf}, + {0x81d3,0xa6}, + {0x81d4,0x07}, + {0x81d5,0xd3}, + {0x81d6,0x08}, + {0x81d7,0xe6}, + {0x81d8,0x64}, + {0x81d9,0x80}, + {0x81da,0x94}, + {0x81db,0x80}, + {0x81dc,0x40}, + {0x81dd,0x04}, + {0x81de,0xe6}, + {0x81df,0xff}, + {0x81e0,0x80}, + {0x81e1,0x02}, + {0x81e2,0x7f}, + {0x81e3,0x00}, + {0x81e4,0x78}, + {0x81e5,0xc0}, + {0x81e6,0xa6}, + {0x81e7,0x07}, + {0x81e8,0xc3}, + {0x81e9,0x18}, + {0x81ea,0xe6}, + {0x81eb,0x64}, + {0x81ec,0x80}, + {0x81ed,0x94}, + {0x81ee,0xb3}, + {0x81ef,0x50}, + {0x81f0,0x04}, + {0x81f1,0xe6}, + {0x81f2,0xff}, + {0x81f3,0x80}, + {0x81f4,0x02}, + {0x81f5,0x7f}, + {0x81f6,0x33}, + {0x81f7,0x78}, + {0x81f8,0xbf}, + {0x81f9,0xa6}, + {0x81fa,0x07}, + {0x81fb,0xc3}, + {0x81fc,0x08}, + {0x81fd,0xe6}, + {0x81fe,0x64}, + {0x81ff,0x80}, + {0x8200,0x94}, + {0x8201,0xb3}, + {0x8202,0x50}, + {0x8203,0x04}, + {0x8204,0xe6}, + {0x8205,0xff}, + {0x8206,0x80}, + {0x8207,0x02}, + {0x8208,0x7f}, + {0x8209,0x33}, + {0x820a,0x78}, + {0x820b,0xc0}, + {0x820c,0xa6}, + {0x820d,0x07}, + {0x820e,0x12}, + {0x820f,0x0f}, + {0x8210,0x02}, + {0x8211,0x40}, + {0x8212,0x06}, + {0x8213,0x78}, + {0x8214,0xc0}, + {0x8215,0xe6}, + {0x8216,0xff}, + {0x8217,0x80}, + {0x8218,0x04}, + {0x8219,0x78}, + {0x821a,0xbf}, + {0x821b,0xe6}, + {0x821c,0xff}, + {0x821d,0x78}, + {0x821e,0xbe}, + {0x821f,0xa6}, + {0x8220,0x07}, + {0x8221,0x75}, + {0x8222,0x1f}, + {0x8223,0x03}, + {0x8224,0x78}, + {0x8225,0xb8}, + {0x8226,0x76}, + {0x8227,0x01}, + {0x8228,0x80}, + {0x8229,0x20}, + {0x822a,0xe5}, + {0x822b,0x1f}, + {0x822c,0x64}, + {0x822d,0x03}, + {0x822e,0x70}, + {0x822f,0x26}, + {0x8230,0x78}, + {0x8231,0xbe}, + {0x8232,0xe6}, + {0x8233,0xff}, + {0x8234,0xc3}, + {0x8235,0x78}, + {0x8236,0xc0}, + {0x8237,0x12}, + {0x8238,0x0e}, + {0x8239,0xe0}, + {0x823a,0x40}, + {0x823b,0x05}, + {0x823c,0x12}, + {0x823d,0x0e}, + {0x823e,0xda}, + {0x823f,0x40}, + {0x8240,0x09}, + {0x8241,0x78}, + {0x8242,0xb9}, + {0x8243,0xe6}, + {0x8244,0x78}, + {0x8245,0xbe}, + {0x8246,0xf6}, + {0x8247,0x75}, + {0x8248,0x1f}, + {0x8249,0x04}, + {0x824a,0x78}, + {0x824b,0xbe}, + {0x824c,0xe6}, + {0x824d,0x75}, + {0x824e,0xf0}, + {0x824f,0x05}, + {0x8250,0xa4}, + {0x8251,0xf5}, + {0x8252,0x4b}, + {0x8253,0x02}, + {0x8254,0x0a}, + {0x8255,0xff}, + {0x8256,0xe5}, + {0x8257,0x1f}, + {0x8258,0xb4}, + {0x8259,0x04}, + {0x825a,0x10}, + {0x825b,0x90}, + {0x825c,0x0e}, + {0x825d,0x94}, + {0x825e,0xe4}, + {0x825f,0x78}, + {0x8260,0xc3}, + {0x8261,0x12}, + {0x8262,0x0e}, + {0x8263,0xe9}, + {0x8264,0x40}, + {0x8265,0x02}, + {0x8266,0xd2}, + {0x8267,0x37}, + {0x8268,0x75}, + {0x8269,0x1f}, + {0x826a,0x05}, + {0x826b,0x22}, + {0x826c,0x30}, + {0x826d,0x01}, + {0x826e,0x03}, + {0x826f,0x02}, + {0x8270,0x04}, + {0x8271,0xc0}, + {0x8272,0x30}, + {0x8273,0x02}, + {0x8274,0x03}, + {0x8275,0x02}, + {0x8276,0x04}, + {0x8277,0xc0}, + {0x8278,0x90}, + {0x8279,0x51}, + {0x827a,0xa5}, + {0x827b,0xe0}, + {0x827c,0x78}, + {0x827d,0x93}, + {0x827e,0xf6}, + {0x827f,0xa3}, + {0x8280,0xe0}, + {0x8281,0x08}, + {0x8282,0xf6}, + {0x8283,0xa3}, + {0x8284,0xe0}, + {0x8285,0x08}, + {0x8286,0xf6}, + {0x8287,0xe5}, + {0x8288,0x1f}, + {0x8289,0x70}, + {0x828a,0x3c}, + {0x828b,0x75}, + {0x828c,0x1e}, + {0x828d,0x20}, + {0x828e,0xd2}, + {0x828f,0x35}, + {0x8290,0x12}, + {0x8291,0x0c}, + {0x8292,0x7a}, + {0x8293,0x78}, + {0x8294,0x7e}, + {0x8295,0xa6}, + {0x8296,0x06}, + {0x8297,0x08}, + {0x8298,0xa6}, + {0x8299,0x07}, + {0x829a,0x78}, + {0x829b,0x8b}, + {0x829c,0xa6}, + {0x829d,0x09}, + {0x829e,0x18}, + {0x829f,0x76}, + {0x82a0,0x01}, + {0x82a1,0x12}, + {0x82a2,0x0c}, + {0x82a3,0x5b}, + {0x82a4,0x78}, + {0x82a5,0x4e}, + {0x82a6,0xa6}, + {0x82a7,0x06}, + {0x82a8,0x08}, + {0x82a9,0xa6}, + {0x82aa,0x07}, + {0x82ab,0x78}, + {0x82ac,0x8b}, + {0x82ad,0xe6}, + {0x82ae,0x78}, + {0x82af,0x6e}, + {0x82b0,0xf6}, + {0x82b1,0x75}, + {0x82b2,0x1f}, + {0x82b3,0x01}, + {0x82b4,0x78}, + {0x82b5,0x93}, + {0x82b6,0xe6}, + {0x82b7,0x78}, + {0x82b8,0x90}, + {0x82b9,0xf6}, + {0x82ba,0x78}, + {0x82bb,0x94}, + {0x82bc,0xe6}, + {0x82bd,0x78}, + {0x82be,0x91}, + {0x82bf,0xf6}, + {0x82c0,0x78}, + {0x82c1,0x95}, + {0x82c2,0xe6}, + {0x82c3,0x78}, + {0x82c4,0x92}, + {0x82c5,0xf6}, + {0x82c6,0x22}, + {0x82c7,0x79}, + {0x82c8,0x90}, + {0x82c9,0xe7}, + {0x82ca,0xd3}, + {0x82cb,0x78}, + {0x82cc,0x93}, + {0x82cd,0x96}, + {0x82ce,0x40}, + {0x82cf,0x05}, + {0x82d0,0xe7}, + {0x82d1,0x96}, + {0x82d2,0xff}, + {0x82d3,0x80}, + {0x82d4,0x08}, + {0x82d5,0xc3}, + {0x82d6,0x79}, + {0x82d7,0x93}, + {0x82d8,0xe7}, + {0x82d9,0x78}, + {0x82da,0x90}, + {0x82db,0x96}, + {0x82dc,0xff}, + {0x82dd,0x78}, + {0x82de,0x88}, + {0x82df,0x76}, + {0x82e0,0x00}, + {0x82e1,0x08}, + {0x82e2,0xa6}, + {0x82e3,0x07}, + {0x82e4,0x79}, + {0x82e5,0x91}, + {0x82e6,0xe7}, + {0x82e7,0xd3}, + {0x82e8,0x78}, + {0x82e9,0x94}, + {0x82ea,0x96}, + {0x82eb,0x40}, + {0x82ec,0x05}, + {0x82ed,0xe7}, + {0x82ee,0x96}, + {0x82ef,0xff}, + {0x82f0,0x80}, + {0x82f1,0x08}, + {0x82f2,0xc3}, + {0x82f3,0x79}, + {0x82f4,0x94}, + {0x82f5,0xe7}, + {0x82f6,0x78}, + {0x82f7,0x91}, + {0x82f8,0x96}, + {0x82f9,0xff}, + {0x82fa,0x12}, + {0x82fb,0x0c}, + {0x82fc,0x8e}, + {0x82fd,0x79}, + {0x82fe,0x92}, + {0x82ff,0xe7}, + {0x8300,0xd3}, + {0x8301,0x78}, + {0x8302,0x95}, + {0x8303,0x96}, + {0x8304,0x40}, + {0x8305,0x05}, + {0x8306,0xe7}, + {0x8307,0x96}, + {0x8308,0xff}, + {0x8309,0x80}, + {0x830a,0x08}, + {0x830b,0xc3}, + {0x830c,0x79}, + {0x830d,0x95}, + {0x830e,0xe7}, + {0x830f,0x78}, + {0x8310,0x92}, + {0x8311,0x96}, + {0x8312,0xff}, + {0x8313,0x12}, + {0x8314,0x0c}, + {0x8315,0x8e}, + {0x8316,0x12}, + {0x8317,0x0c}, + {0x8318,0x5b}, + {0x8319,0x78}, + {0x831a,0x8a}, + {0x831b,0xe6}, + {0x831c,0x25}, + {0x831d,0xe0}, + {0x831e,0x24}, + {0x831f,0x4e}, + {0x8320,0xf8}, + {0x8321,0xa6}, + {0x8322,0x06}, + {0x8323,0x08}, + {0x8324,0xa6}, + {0x8325,0x07}, + {0x8326,0x78}, + {0x8327,0x8a}, + {0x8328,0xe6}, + {0x8329,0x24}, + {0x832a,0x6e}, + {0x832b,0xf8}, + {0x832c,0xa6}, + {0x832d,0x09}, + {0x832e,0x78}, + {0x832f,0x8a}, + {0x8330,0xe6}, + {0x8331,0x24}, + {0x8332,0x01}, + {0x8333,0xff}, + {0x8334,0xe4}, + {0x8335,0x33}, + {0x8336,0xfe}, + {0x8337,0xd3}, + {0x8338,0xef}, + {0x8339,0x94}, + {0x833a,0x0f}, + {0x833b,0xee}, + {0x833c,0x64}, + {0x833d,0x80}, + {0x833e,0x94}, + {0x833f,0x80}, + {0x8340,0x40}, + {0x8341,0x04}, + {0x8342,0x7f}, + {0x8343,0x00}, + {0x8344,0x80}, + {0x8345,0x05}, + {0x8346,0x78}, + {0x8347,0x8a}, + {0x8348,0xe6}, + {0x8349,0x04}, + {0x834a,0xff}, + {0x834b,0x78}, + {0x834c,0x8a}, + {0x834d,0xa6}, + {0x834e,0x07}, + {0x834f,0xe5}, + {0x8350,0x1f}, + {0x8351,0xb4}, + {0x8352,0x01}, + {0x8353,0x0a}, + {0x8354,0xe6}, + {0x8355,0x60}, + {0x8356,0x03}, + {0x8357,0x02}, + {0x8358,0x04}, + {0x8359,0xc0}, + {0x835a,0x75}, + {0x835b,0x1f}, + {0x835c,0x02}, + {0x835d,0x22}, + {0x835e,0x12}, + {0x835f,0x0c}, + {0x8360,0x7a}, + {0x8361,0x78}, + {0x8362,0x80}, + {0x8363,0xa6}, + {0x8364,0x06}, + {0x8365,0x08}, + {0x8366,0xa6}, + {0x8367,0x07}, + {0x8368,0x12}, + {0x8369,0x0c}, + {0x836a,0x7a}, + {0x836b,0x78}, + {0x836c,0x82}, + {0x836d,0xa6}, + {0x836e,0x06}, + {0x836f,0x08}, + {0x8370,0xa6}, + {0x8371,0x07}, + {0x8372,0x78}, + {0x8373,0x6e}, + {0x8374,0xe6}, + {0x8375,0x78}, + {0x8376,0x8c}, + {0x8377,0xf6}, + {0x8378,0x78}, + {0x8379,0x6e}, + {0x837a,0xe6}, + {0x837b,0x78}, + {0x837c,0x8d}, + {0x837d,0xf6}, + {0x837e,0x7f}, + {0x837f,0x01}, + {0x8380,0xef}, + {0x8381,0x25}, + {0x8382,0xe0}, + {0x8383,0x24}, + {0x8384,0x4f}, + {0x8385,0xf9}, + {0x8386,0xc3}, + {0x8387,0x78}, + {0x8388,0x81}, + {0x8389,0xe6}, + {0x838a,0x97}, + {0x838b,0x18}, + {0x838c,0xe6}, + {0x838d,0x19}, + {0x838e,0x97}, + {0x838f,0x50}, + {0x8390,0x0a}, + {0x8391,0x12}, + {0x8392,0x0c}, + {0x8393,0x82}, + {0x8394,0x78}, + {0x8395,0x80}, + {0x8396,0xa6}, + {0x8397,0x04}, + {0x8398,0x08}, + {0x8399,0xa6}, + {0x839a,0x05}, + {0x839b,0x74}, + {0x839c,0x6e}, + {0x839d,0x2f}, + {0x839e,0xf9}, + {0x839f,0x78}, + {0x83a0,0x8c}, + {0x83a1,0xe6}, + {0x83a2,0xc3}, + {0x83a3,0x97}, + {0x83a4,0x50}, + {0x83a5,0x08}, + {0x83a6,0x74}, + {0x83a7,0x6e}, + {0x83a8,0x2f}, + {0x83a9,0xf8}, + {0x83aa,0xe6}, + {0x83ab,0x78}, + {0x83ac,0x8c}, + {0x83ad,0xf6}, + {0x83ae,0xef}, + {0x83af,0x25}, + {0x83b0,0xe0}, + {0x83b1,0x24}, + {0x83b2,0x4f}, + {0x83b3,0xf9}, + {0x83b4,0xd3}, + {0x83b5,0x78}, + {0x83b6,0x83}, + {0x83b7,0xe6}, + {0x83b8,0x97}, + {0x83b9,0x18}, + {0x83ba,0xe6}, + {0x83bb,0x19}, + {0x83bc,0x97}, + {0x83bd,0x40}, + {0x83be,0x0a}, + {0x83bf,0x12}, + {0x83c0,0x0c}, + {0x83c1,0x82}, + {0x83c2,0x78}, + {0x83c3,0x82}, + {0x83c4,0xa6}, + {0x83c5,0x04}, + {0x83c6,0x08}, + {0x83c7,0xa6}, + {0x83c8,0x05}, + {0x83c9,0x74}, + {0x83ca,0x6e}, + {0x83cb,0x2f}, + {0x83cc,0xf9}, + {0x83cd,0x78}, + {0x83ce,0x8d}, + {0x83cf,0xe6}, + {0x83d0,0xd3}, + {0x83d1,0x97}, + {0x83d2,0x40}, + {0x83d3,0x08}, + {0x83d4,0x74}, + {0x83d5,0x6e}, + {0x83d6,0x2f}, + {0x83d7,0xf8}, + {0x83d8,0xe6}, + {0x83d9,0x78}, + {0x83da,0x8d}, + {0x83db,0xf6}, + {0x83dc,0x0f}, + {0x83dd,0xef}, + {0x83de,0x64}, + {0x83df,0x10}, + {0x83e0,0x70}, + {0x83e1,0x9e}, + {0x83e2,0xc3}, + {0x83e3,0x79}, + {0x83e4,0x81}, + {0x83e5,0xe7}, + {0x83e6,0x78}, + {0x83e7,0x83}, + {0x83e8,0x96}, + {0x83e9,0xff}, + {0x83ea,0x19}, + {0x83eb,0xe7}, + {0x83ec,0x18}, + {0x83ed,0x96}, + {0x83ee,0x78}, + {0x83ef,0x84}, + {0x83f0,0xf6}, + {0x83f1,0x08}, + {0x83f2,0xa6}, + {0x83f3,0x07}, + {0x83f4,0xc3}, + {0x83f5,0x79}, + {0x83f6,0x8c}, + {0x83f7,0xe7}, + {0x83f8,0x78}, + {0x83f9,0x8d}, + {0x83fa,0x96}, + {0x83fb,0x08}, + {0x83fc,0xf6}, + {0x83fd,0xd3}, + {0x83fe,0x79}, + {0x83ff,0x81}, + {0x8400,0xe7}, + {0x8401,0x78}, + {0x8402,0x7f}, + {0x8403,0x96}, + {0x8404,0x19}, + {0x8405,0xe7}, + {0x8406,0x18}, + {0x8407,0x96}, + {0x8408,0x40}, + {0x8409,0x05}, + {0x840a,0x09}, + {0x840b,0xe7}, + {0x840c,0x08}, + {0x840d,0x80}, + {0x840e,0x06}, + {0x840f,0xc3}, + {0x8410,0x79}, + {0x8411,0x7f}, + {0x8412,0xe7}, + {0x8413,0x78}, + {0x8414,0x81}, + {0x8415,0x96}, + {0x8416,0xff}, + {0x8417,0x19}, + {0x8418,0xe7}, + {0x8419,0x18}, + {0x841a,0x96}, + {0x841b,0xfe}, + {0x841c,0x78}, + {0x841d,0x86}, + {0x841e,0xa6}, + {0x841f,0x06}, + {0x8420,0x08}, + {0x8421,0xa6}, + {0x8422,0x07}, + {0x8423,0x79}, + {0x8424,0x8c}, + {0x8425,0xe7}, + {0x8426,0xd3}, + {0x8427,0x78}, + {0x8428,0x8b}, + {0x8429,0x96}, + {0x842a,0x40}, + {0x842b,0x05}, + {0x842c,0xe7}, + {0x842d,0x96}, + {0x842e,0xff}, + {0x842f,0x80}, + {0x8430,0x08}, + {0x8431,0xc3}, + {0x8432,0x79}, + {0x8433,0x8b}, + {0x8434,0xe7}, + {0x8435,0x78}, + {0x8436,0x8c}, + {0x8437,0x96}, + {0x8438,0xff}, + {0x8439,0x78}, + {0x843a,0x8f}, + {0x843b,0xa6}, + {0x843c,0x07}, + {0x843d,0xe5}, + {0x843e,0x1f}, + {0x843f,0x64}, + {0x8440,0x02}, + {0x8441,0x70}, + {0x8442,0x69}, + {0x8443,0x90}, + {0x8444,0x0e}, + {0x8445,0x91}, + {0x8446,0x93}, + {0x8447,0xff}, + {0x8448,0x18}, + {0x8449,0xe6}, + {0x844a,0xc3}, + {0x844b,0x9f}, + {0x844c,0x50}, + {0x844d,0x72}, + {0x844e,0x12}, + {0x844f,0x0c}, + {0x8450,0x4a}, + {0x8451,0x12}, + {0x8452,0x0c}, + {0x8453,0x2f}, + {0x8454,0x90}, + {0x8455,0x0e}, + {0x8456,0x8e}, + {0x8457,0x12}, + {0x8458,0x0c}, + {0x8459,0x38}, + {0x845a,0x78}, + {0x845b,0x80}, + {0x845c,0x12}, + {0x845d,0x0c}, + {0x845e,0x6b}, + {0x845f,0x7b}, + {0x8460,0x04}, + {0x8461,0x12}, + {0x8462,0x0c}, + {0x8463,0x1d}, + {0x8464,0xc3}, + {0x8465,0x12}, + {0x8466,0x06}, + {0x8467,0x45}, + {0x8468,0x50}, + {0x8469,0x56}, + {0x846a,0x90}, + {0x846b,0x0e}, + {0x846c,0x92}, + {0x846d,0xe4}, + {0x846e,0x93}, + {0x846f,0xff}, + {0x8470,0x78}, + {0x8471,0x8f}, + {0x8472,0xe6}, + {0x8473,0x9f}, + {0x8474,0x40}, + {0x8475,0x02}, + {0x8476,0x80}, + {0x8477,0x11}, + {0x8478,0x90}, + {0x8479,0x0e}, + {0x847a,0x90}, + {0x847b,0xe4}, + {0x847c,0x93}, + {0x847d,0xff}, + {0x847e,0xd3}, + {0x847f,0x78}, + {0x8480,0x89}, + {0x8481,0xe6}, + {0x8482,0x9f}, + {0x8483,0x18}, + {0x8484,0xe6}, + {0x8485,0x94}, + {0x8486,0x00}, + {0x8487,0x40}, + {0x8488,0x03}, + {0x8489,0x75}, + {0x848a,0x1f}, + {0x848b,0x05}, + {0x848c,0x12}, + {0x848d,0x0c}, + {0x848e,0x4a}, + {0x848f,0x12}, + {0x8490,0x0c}, + {0x8491,0x2f}, + {0x8492,0x90}, + {0x8493,0x0e}, + {0x8494,0x8f}, + {0x8495,0x12}, + {0x8496,0x0c}, + {0x8497,0x38}, + {0x8498,0x78}, + {0x8499,0x7e}, + {0x849a,0x12}, + {0x849b,0x0c}, + {0x849c,0x6b}, + {0x849d,0x7b}, + {0x849e,0x40}, + {0x849f,0x12}, + {0x84a0,0x0c}, + {0x84a1,0x1d}, + {0x84a2,0xd3}, + {0x84a3,0x12}, + {0x84a4,0x06}, + {0x84a5,0x45}, + {0x84a6,0x40}, + {0x84a7,0x18}, + {0x84a8,0x75}, + {0x84a9,0x1f}, + {0x84aa,0x05}, + {0x84ab,0x22}, + {0x84ac,0xe5}, + {0x84ad,0x1f}, + {0x84ae,0xb4}, + {0x84af,0x05}, + {0x84b0,0x0f}, + {0x84b1,0xd2}, + {0x84b2,0x01}, + {0x84b3,0xc2}, + {0x84b4,0x02}, + {0x84b5,0xe4}, + {0x84b6,0xf5}, + {0x84b7,0x1f}, + {0x84b8,0xf5}, + {0x84b9,0x1e}, + {0x84ba,0xd2}, + {0x84bb,0x35}, + {0x84bc,0xd2}, + {0x84bd,0x33}, + {0x84be,0xd2}, + {0x84bf,0x36}, + {0x84c0,0x22}, + {0x84c1,0xef}, + {0x84c2,0x8d}, + {0x84c3,0xf0}, + {0x84c4,0xa4}, + {0x84c5,0xa8}, + {0x84c6,0xf0}, + {0x84c7,0xcf}, + {0x84c8,0x8c}, + {0x84c9,0xf0}, + {0x84ca,0xa4}, + {0x84cb,0x28}, + {0x84cc,0xce}, + {0x84cd,0x8d}, + {0x84ce,0xf0}, + {0x84cf,0xa4}, + {0x84d0,0x2e}, + {0x84d1,0xfe}, + {0x84d2,0x22}, + {0x84d3,0xbc}, + {0x84d4,0x00}, + {0x84d5,0x0b}, + {0x84d6,0xbe}, + {0x84d7,0x00}, + {0x84d8,0x29}, + {0x84d9,0xef}, + {0x84da,0x8d}, + {0x84db,0xf0}, + {0x84dc,0x84}, + {0x84dd,0xff}, + {0x84de,0xad}, + {0x84df,0xf0}, + {0x84e0,0x22}, + {0x84e1,0xe4}, + {0x84e2,0xcc}, + {0x84e3,0xf8}, + {0x84e4,0x75}, + {0x84e5,0xf0}, + {0x84e6,0x08}, + {0x84e7,0xef}, + {0x84e8,0x2f}, + {0x84e9,0xff}, + {0x84ea,0xee}, + {0x84eb,0x33}, + {0x84ec,0xfe}, + {0x84ed,0xec}, + {0x84ee,0x33}, + {0x84ef,0xfc}, + {0x84f0,0xee}, + {0x84f1,0x9d}, + {0x84f2,0xec}, + {0x84f3,0x98}, + {0x84f4,0x40}, + {0x84f5,0x05}, + {0x84f6,0xfc}, + {0x84f7,0xee}, + {0x84f8,0x9d}, + {0x84f9,0xfe}, + {0x84fa,0x0f}, + {0x84fb,0xd5}, + {0x84fc,0xf0}, + {0x84fd,0xe9}, + {0x84fe,0xe4}, + {0x84ff,0xce}, + {0x8500,0xfd}, + {0x8501,0x22}, + {0x8502,0xed}, + {0x8503,0xf8}, + {0x8504,0xf5}, + {0x8505,0xf0}, + {0x8506,0xee}, + {0x8507,0x84}, + {0x8508,0x20}, + {0x8509,0xd2}, + {0x850a,0x1c}, + {0x850b,0xfe}, + {0x850c,0xad}, + {0x850d,0xf0}, + {0x850e,0x75}, + {0x850f,0xf0}, + {0x8510,0x08}, + {0x8511,0xef}, + {0x8512,0x2f}, + {0x8513,0xff}, + {0x8514,0xed}, + {0x8515,0x33}, + {0x8516,0xfd}, + {0x8517,0x40}, + {0x8518,0x07}, + {0x8519,0x98}, + {0x851a,0x50}, + {0x851b,0x06}, + {0x851c,0xd5}, + {0x851d,0xf0}, + {0x851e,0xf2}, + {0x851f,0x22}, + {0x8520,0xc3}, + {0x8521,0x98}, + {0x8522,0xfd}, + {0x8523,0x0f}, + {0x8524,0xd5}, + {0x8525,0xf0}, + {0x8526,0xea}, + {0x8527,0x22}, + {0x8528,0xe8}, + {0x8529,0x8f}, + {0x852a,0xf0}, + {0x852b,0xa4}, + {0x852c,0xcc}, + {0x852d,0x8b}, + {0x852e,0xf0}, + {0x852f,0xa4}, + {0x8530,0x2c}, + {0x8531,0xfc}, + {0x8532,0xe9}, + {0x8533,0x8e}, + {0x8534,0xf0}, + {0x8535,0xa4}, + {0x8536,0x2c}, + {0x8537,0xfc}, + {0x8538,0x8a}, + {0x8539,0xf0}, + {0x853a,0xed}, + {0x853b,0xa4}, + {0x853c,0x2c}, + {0x853d,0xfc}, + {0x853e,0xea}, + {0x853f,0x8e}, + {0x8540,0xf0}, + {0x8541,0xa4}, + {0x8542,0xcd}, + {0x8543,0xa8}, + {0x8544,0xf0}, + {0x8545,0x8b}, + {0x8546,0xf0}, + {0x8547,0xa4}, + {0x8548,0x2d}, + {0x8549,0xcc}, + {0x854a,0x38}, + {0x854b,0x25}, + {0x854c,0xf0}, + {0x854d,0xfd}, + {0x854e,0xe9}, + {0x854f,0x8f}, + {0x8550,0xf0}, + {0x8551,0xa4}, + {0x8552,0x2c}, + {0x8553,0xcd}, + {0x8554,0x35}, + {0x8555,0xf0}, + {0x8556,0xfc}, + {0x8557,0xeb}, + {0x8558,0x8e}, + {0x8559,0xf0}, + {0x855a,0xa4}, + {0x855b,0xfe}, + {0x855c,0xa9}, + {0x855d,0xf0}, + {0x855e,0xeb}, + {0x855f,0x8f}, + {0x8560,0xf0}, + {0x8561,0xa4}, + {0x8562,0xcf}, + {0x8563,0xc5}, + {0x8564,0xf0}, + {0x8565,0x2e}, + {0x8566,0xcd}, + {0x8567,0x39}, + {0x8568,0xfe}, + {0x8569,0xe4}, + {0x856a,0x3c}, + {0x856b,0xfc}, + {0x856c,0xea}, + {0x856d,0xa4}, + {0x856e,0x2d}, + {0x856f,0xce}, + {0x8570,0x35}, + {0x8571,0xf0}, + {0x8572,0xfd}, + {0x8573,0xe4}, + {0x8574,0x3c}, + {0x8575,0xfc}, + {0x8576,0x22}, + {0x8577,0x75}, + {0x8578,0xf0}, + {0x8579,0x08}, + {0x857a,0x75}, + {0x857b,0x82}, + {0x857c,0x00}, + {0x857d,0xef}, + {0x857e,0x2f}, + {0x857f,0xff}, + {0x8580,0xee}, + {0x8581,0x33}, + {0x8582,0xfe}, + {0x8583,0xcd}, + {0x8584,0x33}, + {0x8585,0xcd}, + {0x8586,0xcc}, + {0x8587,0x33}, + {0x8588,0xcc}, + {0x8589,0xc5}, + {0x858a,0x82}, + {0x858b,0x33}, + {0x858c,0xc5}, + {0x858d,0x82}, + {0x858e,0x9b}, + {0x858f,0xed}, + {0x8590,0x9a}, + {0x8591,0xec}, + {0x8592,0x99}, + {0x8593,0xe5}, + {0x8594,0x82}, + {0x8595,0x98}, + {0x8596,0x40}, + {0x8597,0x0c}, + {0x8598,0xf5}, + {0x8599,0x82}, + {0x859a,0xee}, + {0x859b,0x9b}, + {0x859c,0xfe}, + {0x859d,0xed}, + {0x859e,0x9a}, + {0x859f,0xfd}, + {0x85a0,0xec}, + {0x85a1,0x99}, + {0x85a2,0xfc}, + {0x85a3,0x0f}, + {0x85a4,0xd5}, + {0x85a5,0xf0}, + {0x85a6,0xd6}, + {0x85a7,0xe4}, + {0x85a8,0xce}, + {0x85a9,0xfb}, + {0x85aa,0xe4}, + {0x85ab,0xcd}, + {0x85ac,0xfa}, + {0x85ad,0xe4}, + {0x85ae,0xcc}, + {0x85af,0xf9}, + {0x85b0,0xa8}, + {0x85b1,0x82}, + {0x85b2,0x22}, + {0x85b3,0xb8}, + {0x85b4,0x00}, + {0x85b5,0xc1}, + {0x85b6,0xb9}, + {0x85b7,0x00}, + {0x85b8,0x59}, + {0x85b9,0xba}, + {0x85ba,0x00}, + {0x85bb,0x2d}, + {0x85bc,0xec}, + {0x85bd,0x8b}, + {0x85be,0xf0}, + {0x85bf,0x84}, + {0x85c0,0xcf}, + {0x85c1,0xce}, + {0x85c2,0xcd}, + {0x85c3,0xfc}, + {0x85c4,0xe5}, + {0x85c5,0xf0}, + {0x85c6,0xcb}, + {0x85c7,0xf9}, + {0x85c8,0x78}, + {0x85c9,0x18}, + {0x85ca,0xef}, + {0x85cb,0x2f}, + {0x85cc,0xff}, + {0x85cd,0xee}, + {0x85ce,0x33}, + {0x85cf,0xfe}, + {0x85d0,0xed}, + {0x85d1,0x33}, + {0x85d2,0xfd}, + {0x85d3,0xec}, + {0x85d4,0x33}, + {0x85d5,0xfc}, + {0x85d6,0xeb}, + {0x85d7,0x33}, + {0x85d8,0xfb}, + {0x85d9,0x10}, + {0x85da,0xd7}, + {0x85db,0x03}, + {0x85dc,0x99}, + {0x85dd,0x40}, + {0x85de,0x04}, + {0x85df,0xeb}, + {0x85e0,0x99}, + {0x85e1,0xfb}, + {0x85e2,0x0f}, + {0x85e3,0xd8}, + {0x85e4,0xe5}, + {0x85e5,0xe4}, + {0x85e6,0xf9}, + {0x85e7,0xfa}, + {0x85e8,0x22}, + {0x85e9,0x78}, + {0x85ea,0x18}, + {0x85eb,0xef}, + {0x85ec,0x2f}, + {0x85ed,0xff}, + {0x85ee,0xee}, + {0x85ef,0x33}, + {0x85f0,0xfe}, + {0x85f1,0xed}, + {0x85f2,0x33}, + {0x85f3,0xfd}, + {0x85f4,0xec}, + {0x85f5,0x33}, + {0x85f6,0xfc}, + {0x85f7,0xc9}, + {0x85f8,0x33}, + {0x85f9,0xc9}, + {0x85fa,0x10}, + {0x85fb,0xd7}, + {0x85fc,0x05}, + {0x85fd,0x9b}, + {0x85fe,0xe9}, + {0x85ff,0x9a}, + {0x8600,0x40}, + {0x8601,0x07}, + {0x8602,0xec}, + {0x8603,0x9b}, + {0x8604,0xfc}, + {0x8605,0xe9}, + {0x8606,0x9a}, + {0x8607,0xf9}, + {0x8608,0x0f}, + {0x8609,0xd8}, + {0x860a,0xe0}, + {0x860b,0xe4}, + {0x860c,0xc9}, + {0x860d,0xfa}, + {0x860e,0xe4}, + {0x860f,0xcc}, + {0x8610,0xfb}, + {0x8611,0x22}, + {0x8612,0x75}, + {0x8613,0xf0}, + {0x8614,0x10}, + {0x8615,0xef}, + {0x8616,0x2f}, + {0x8617,0xff}, + {0x8618,0xee}, + {0x8619,0x33}, + {0x861a,0xfe}, + {0x861b,0xed}, + {0x861c,0x33}, + {0x861d,0xfd}, + {0x861e,0xcc}, + {0x861f,0x33}, + {0x8620,0xcc}, + {0x8621,0xc8}, + {0x8622,0x33}, + {0x8623,0xc8}, + {0x8624,0x10}, + {0x8625,0xd7}, + {0x8626,0x07}, + {0x8627,0x9b}, + {0x8628,0xec}, + {0x8629,0x9a}, + {0x862a,0xe8}, + {0x862b,0x99}, + {0x862c,0x40}, + {0x862d,0x0a}, + {0x862e,0xed}, + {0x862f,0x9b}, + {0x8630,0xfd}, + {0x8631,0xec}, + {0x8632,0x9a}, + {0x8633,0xfc}, + {0x8634,0xe8}, + {0x8635,0x99}, + {0x8636,0xf8}, + {0x8637,0x0f}, + {0x8638,0xd5}, + {0x8639,0xf0}, + {0x863a,0xda}, + {0x863b,0xe4}, + {0x863c,0xcd}, + {0x863d,0xfb}, + {0x863e,0xe4}, + {0x863f,0xcc}, + {0x8640,0xfa}, + {0x8641,0xe4}, + {0x8642,0xc8}, + {0x8643,0xf9}, + {0x8644,0x22}, + {0x8645,0xeb}, + {0x8646,0x9f}, + {0x8647,0xf5}, + {0x8648,0xf0}, + {0x8649,0xea}, + {0x864a,0x9e}, + {0x864b,0x42}, + {0x864c,0xf0}, + {0x864d,0xe9}, + {0x864e,0x9d}, + {0x864f,0x42}, + {0x8650,0xf0}, + {0x8651,0xe8}, + {0x8652,0x9c}, + {0x8653,0x45}, + {0x8654,0xf0}, + {0x8655,0x22}, + {0x8656,0xe8}, + {0x8657,0x60}, + {0x8658,0x0f}, + {0x8659,0xec}, + {0x865a,0xc3}, + {0x865b,0x13}, + {0x865c,0xfc}, + {0x865d,0xed}, + {0x865e,0x13}, + {0x865f,0xfd}, + {0x8660,0xee}, + {0x8661,0x13}, + {0x8662,0xfe}, + {0x8663,0xef}, + {0x8664,0x13}, + {0x8665,0xff}, + {0x8666,0xd8}, + {0x8667,0xf1}, + {0x8668,0x22}, + {0x8669,0xe8}, + {0x866a,0x60}, + {0x866b,0x0f}, + {0x866c,0xef}, + {0x866d,0xc3}, + {0x866e,0x33}, + {0x866f,0xff}, + {0x8670,0xee}, + {0x8671,0x33}, + {0x8672,0xfe}, + {0x8673,0xed}, + {0x8674,0x33}, + {0x8675,0xfd}, + {0x8676,0xec}, + {0x8677,0x33}, + {0x8678,0xfc}, + {0x8679,0xd8}, + {0x867a,0xf1}, + {0x867b,0x22}, + {0x867c,0xe4}, + {0x867d,0x93}, + {0x867e,0xfc}, + {0x867f,0x74}, + {0x8680,0x01}, + {0x8681,0x93}, + {0x8682,0xfd}, + {0x8683,0x74}, + {0x8684,0x02}, + {0x8685,0x93}, + {0x8686,0xfe}, + {0x8687,0x74}, + {0x8688,0x03}, + {0x8689,0x93}, + {0x868a,0xff}, + {0x868b,0x22}, + {0x868c,0xe6}, + {0x868d,0xfb}, + {0x868e,0x08}, + {0x868f,0xe6}, + {0x8690,0xf9}, + {0x8691,0x08}, + {0x8692,0xe6}, + {0x8693,0xfa}, + {0x8694,0x08}, + {0x8695,0xe6}, + {0x8696,0xcb}, + {0x8697,0xf8}, + {0x8698,0x22}, + {0x8699,0xec}, + {0x869a,0xf6}, + {0x869b,0x08}, + {0x869c,0xed}, + {0x869d,0xf6}, + {0x869e,0x08}, + {0x869f,0xee}, + {0x86a0,0xf6}, + {0x86a1,0x08}, + {0x86a2,0xef}, + {0x86a3,0xf6}, + {0x86a4,0x22}, + {0x86a5,0xa4}, + {0x86a6,0x25}, + {0x86a7,0x82}, + {0x86a8,0xf5}, + {0x86a9,0x82}, + {0x86aa,0xe5}, + {0x86ab,0xf0}, + {0x86ac,0x35}, + {0x86ad,0x83}, + {0x86ae,0xf5}, + {0x86af,0x83}, + {0x86b0,0x22}, + {0x86b1,0xd0}, + {0x86b2,0x83}, + {0x86b3,0xd0}, + {0x86b4,0x82}, + {0x86b5,0xf8}, + {0x86b6,0xe4}, + {0x86b7,0x93}, + {0x86b8,0x70}, + {0x86b9,0x12}, + {0x86ba,0x74}, + {0x86bb,0x01}, + {0x86bc,0x93}, + {0x86bd,0x70}, + {0x86be,0x0d}, + {0x86bf,0xa3}, + {0x86c0,0xa3}, + {0x86c1,0x93}, + {0x86c2,0xf8}, + {0x86c3,0x74}, + {0x86c4,0x01}, + {0x86c5,0x93}, + {0x86c6,0xf5}, + {0x86c7,0x82}, + {0x86c8,0x88}, + {0x86c9,0x83}, + {0x86ca,0xe4}, + {0x86cb,0x73}, + {0x86cc,0x74}, + {0x86cd,0x02}, + {0x86ce,0x93}, + {0x86cf,0x68}, + {0x86d0,0x60}, + {0x86d1,0xef}, + {0x86d2,0xa3}, + {0x86d3,0xa3}, + {0x86d4,0xa3}, + {0x86d5,0x80}, + {0x86d6,0xdf}, + {0x86d7,0x90}, + {0x86d8,0x38}, + {0x86d9,0x04}, + {0x86da,0x78}, + {0x86db,0x52}, + {0x86dc,0x12}, + {0x86dd,0x0b}, + {0x86de,0xfd}, + {0x86df,0x90}, + {0x86e0,0x38}, + {0x86e1,0x00}, + {0x86e2,0xe0}, + {0x86e3,0xfe}, + {0x86e4,0xa3}, + {0x86e5,0xe0}, + {0x86e6,0xfd}, + {0x86e7,0xed}, + {0x86e8,0xff}, + {0x86e9,0xc3}, + {0x86ea,0x12}, + {0x86eb,0x0b}, + {0x86ec,0x9e}, + {0x86ed,0x90}, + {0x86ee,0x38}, + {0x86ef,0x10}, + {0x86f0,0x12}, + {0x86f1,0x0b}, + {0x86f2,0x92}, + {0x86f3,0x90}, + {0x86f4,0x38}, + {0x86f5,0x06}, + {0x86f6,0x78}, + {0x86f7,0x54}, + {0x86f8,0x12}, + {0x86f9,0x0b}, + {0x86fa,0xfd}, + {0x86fb,0x90}, + {0x86fc,0x38}, + {0x86fd,0x02}, + {0x86fe,0xe0}, + {0x86ff,0xfe}, + {0x8700,0xa3}, + {0x8701,0xe0}, + {0x8702,0xfd}, + {0x8703,0xed}, + {0x8704,0xff}, + {0x8705,0xc3}, + {0x8706,0x12}, + {0x8707,0x0b}, + {0x8708,0x9e}, + {0x8709,0x90}, + {0x870a,0x38}, + {0x870b,0x12}, + {0x870c,0x12}, + {0x870d,0x0b}, + {0x870e,0x92}, + {0x870f,0xa3}, + {0x8710,0xe0}, + {0x8711,0xb4}, + {0x8712,0x31}, + {0x8713,0x07}, + {0x8714,0x78}, + {0x8715,0x52}, + {0x8716,0x79}, + {0x8717,0x52}, + {0x8718,0x12}, + {0x8719,0x0c}, + {0x871a,0x13}, + {0x871b,0x90}, + {0x871c,0x38}, + {0x871d,0x14}, + {0x871e,0xe0}, + {0x871f,0xb4}, + {0x8720,0x71}, + {0x8721,0x15}, + {0x8722,0x78}, + {0x8723,0x52}, + {0x8724,0xe6}, + {0x8725,0xfe}, + {0x8726,0x08}, + {0x8727,0xe6}, + {0x8728,0x78}, + {0x8729,0x02}, + {0x872a,0xce}, + {0x872b,0xc3}, + {0x872c,0x13}, + {0x872d,0xce}, + {0x872e,0x13}, + {0x872f,0xd8}, + {0x8730,0xf9}, + {0x8731,0x79}, + {0x8732,0x53}, + {0x8733,0xf7}, + {0x8734,0xee}, + {0x8735,0x19}, + {0x8736,0xf7}, + {0x8737,0x90}, + {0x8738,0x38}, + {0x8739,0x15}, + {0x873a,0xe0}, + {0x873b,0xb4}, + {0x873c,0x31}, + {0x873d,0x07}, + {0x873e,0x78}, + {0x873f,0x54}, + {0x8740,0x79}, + {0x8741,0x54}, + {0x8742,0x12}, + {0x8743,0x0c}, + {0x8744,0x13}, + {0x8745,0x90}, + {0x8746,0x38}, + {0x8747,0x15}, + {0x8748,0xe0}, + {0x8749,0xb4}, + {0x874a,0x71}, + {0x874b,0x15}, + {0x874c,0x78}, + {0x874d,0x54}, + {0x874e,0xe6}, + {0x874f,0xfe}, + {0x8750,0x08}, + {0x8751,0xe6}, + {0x8752,0x78}, + {0x8753,0x02}, + {0x8754,0xce}, + {0x8755,0xc3}, + {0x8756,0x13}, + {0x8757,0xce}, + {0x8758,0x13}, + {0x8759,0xd8}, + {0x875a,0xf9}, + {0x875b,0x79}, + {0x875c,0x55}, + {0x875d,0xf7}, + {0x875e,0xee}, + {0x875f,0x19}, + {0x8760,0xf7}, + {0x8761,0x79}, + {0x8762,0x52}, + {0x8763,0x12}, + {0x8764,0x0b}, + {0x8765,0xd9}, + {0x8766,0x09}, + {0x8767,0x12}, + {0x8768,0x0b}, + {0x8769,0xd9}, + {0x876a,0xaf}, + {0x876b,0x47}, + {0x876c,0x12}, + {0x876d,0x0b}, + {0x876e,0xb2}, + {0x876f,0xe5}, + {0x8770,0x44}, + {0x8771,0xfb}, + {0x8772,0x7a}, + {0x8773,0x00}, + {0x8774,0xfd}, + {0x8775,0x7c}, + {0x8776,0x00}, + {0x8777,0x12}, + {0x8778,0x04}, + {0x8779,0xd3}, + {0x877a,0x78}, + {0x877b,0x5a}, + {0x877c,0xa6}, + {0x877d,0x06}, + {0x877e,0x08}, + {0x877f,0xa6}, + {0x8780,0x07}, + {0x8781,0xaf}, + {0x8782,0x45}, + {0x8783,0x12}, + {0x8784,0x0b}, + {0x8785,0xb2}, + {0x8786,0xad}, + {0x8787,0x03}, + {0x8788,0x7c}, + {0x8789,0x00}, + {0x878a,0x12}, + {0x878b,0x04}, + {0x878c,0xd3}, + {0x878d,0x78}, + {0x878e,0x56}, + {0x878f,0xa6}, + {0x8790,0x06}, + {0x8791,0x08}, + {0x8792,0xa6}, + {0x8793,0x07}, + {0x8794,0xaf}, + {0x8795,0x48}, + {0x8796,0x78}, + {0x8797,0x54}, + {0x8798,0x12}, + {0x8799,0x0b}, + {0x879a,0xb4}, + {0x879b,0xe5}, + {0x879c,0x43}, + {0x879d,0xfb}, + {0x879e,0xfd}, + {0x879f,0x7c}, + {0x87a0,0x00}, + {0x87a1,0x12}, + {0x87a2,0x04}, + {0x87a3,0xd3}, + {0x87a4,0x78}, + {0x87a5,0x5c}, + {0x87a6,0xa6}, + {0x87a7,0x06}, + {0x87a8,0x08}, + {0x87a9,0xa6}, + {0x87aa,0x07}, + {0x87ab,0xaf}, + {0x87ac,0x46}, + {0x87ad,0x7e}, + {0x87ae,0x00}, + {0x87af,0x78}, + {0x87b0,0x54}, + {0x87b1,0x12}, + {0x87b2,0x0b}, + {0x87b3,0xb6}, + {0x87b4,0xad}, + {0x87b5,0x03}, + {0x87b6,0x7c}, + {0x87b7,0x00}, + {0x87b8,0x12}, + {0x87b9,0x04}, + {0x87ba,0xd3}, + {0x87bb,0x78}, + {0x87bc,0x58}, + {0x87bd,0xa6}, + {0x87be,0x06}, + {0x87bf,0x08}, + {0x87c0,0xa6}, + {0x87c1,0x07}, + {0x87c2,0xc3}, + {0x87c3,0x78}, + {0x87c4,0x5b}, + {0x87c5,0xe6}, + {0x87c6,0x94}, + {0x87c7,0x08}, + {0x87c8,0x18}, + {0x87c9,0xe6}, + {0x87ca,0x94}, + {0x87cb,0x00}, + {0x87cc,0x50}, + {0x87cd,0x05}, + {0x87ce,0x76}, + {0x87cf,0x00}, + {0x87d0,0x08}, + {0x87d1,0x76}, + {0x87d2,0x08}, + {0x87d3,0xc3}, + {0x87d4,0x78}, + {0x87d5,0x5d}, + {0x87d6,0xe6}, + {0x87d7,0x94}, + {0x87d8,0x08}, + {0x87d9,0x18}, + {0x87da,0xe6}, + {0x87db,0x94}, + {0x87dc,0x00}, + {0x87dd,0x50}, + {0x87de,0x05}, + {0x87df,0x76}, + {0x87e0,0x00}, + {0x87e1,0x08}, + {0x87e2,0x76}, + {0x87e3,0x08}, + {0x87e4,0x78}, + {0x87e5,0x5a}, + {0x87e6,0x12}, + {0x87e7,0x0b}, + {0x87e8,0xc6}, + {0x87e9,0xff}, + {0x87ea,0xd3}, + {0x87eb,0x78}, + {0x87ec,0x57}, + {0x87ed,0xe6}, + {0x87ee,0x9f}, + {0x87ef,0x18}, + {0x87f0,0xe6}, + {0x87f1,0x9e}, + {0x87f2,0x40}, + {0x87f3,0x0e}, + {0x87f4,0x78}, + {0x87f5,0x5a}, + {0x87f6,0xe6}, + {0x87f7,0x13}, + {0x87f8,0xfe}, + {0x87f9,0x08}, + {0x87fa,0xe6}, + {0x87fb,0x78}, + {0x87fc,0x57}, + {0x87fd,0x12}, + {0x87fe,0x0c}, + {0x87ff,0x08}, + {0x8800,0x80}, + {0x8801,0x04}, + {0x8802,0x7e}, + {0x8803,0x00}, + {0x8804,0x7f}, + {0x8805,0x00}, + {0x8806,0x78}, + {0x8807,0x5e}, + {0x8808,0x12}, + {0x8809,0x0b}, + {0x880a,0xbe}, + {0x880b,0xff}, + {0x880c,0xd3}, + {0x880d,0x78}, + {0x880e,0x59}, + {0x880f,0xe6}, + {0x8810,0x9f}, + {0x8811,0x18}, + {0x8812,0xe6}, + {0x8813,0x9e}, + {0x8814,0x40}, + {0x8815,0x0e}, + {0x8816,0x78}, + {0x8817,0x5c}, + {0x8818,0xe6}, + {0x8819,0x13}, + {0x881a,0xfe}, + {0x881b,0x08}, + {0x881c,0xe6}, + {0x881d,0x78}, + {0x881e,0x59}, + {0x881f,0x12}, + {0x8820,0x0c}, + {0x8821,0x08}, + {0x8822,0x80}, + {0x8823,0x04}, + {0x8824,0x7e}, + {0x8825,0x00}, + {0x8826,0x7f}, + {0x8827,0x00}, + {0x8828,0xe4}, + {0x8829,0xfc}, + {0x882a,0xfd}, + {0x882b,0x78}, + {0x882c,0x62}, + {0x882d,0x12}, + {0x882e,0x06}, + {0x882f,0x99}, + {0x8830,0x78}, + {0x8831,0x5a}, + {0x8832,0x12}, + {0x8833,0x0b}, + {0x8834,0xc6}, + {0x8835,0x78}, + {0x8836,0x57}, + {0x8837,0x26}, + {0x8838,0xff}, + {0x8839,0xee}, + {0x883a,0x18}, + {0x883b,0x36}, + {0x883c,0xfe}, + {0x883d,0x78}, + {0x883e,0x66}, + {0x883f,0x12}, + {0x8840,0x0b}, + {0x8841,0xbe}, + {0x8842,0x78}, + {0x8843,0x59}, + {0x8844,0x26}, + {0x8845,0xff}, + {0x8846,0xee}, + {0x8847,0x18}, + {0x8848,0x36}, + {0x8849,0xfe}, + {0x884a,0xe4}, + {0x884b,0xfc}, + {0x884c,0xfd}, + {0x884d,0x78}, + {0x884e,0x6a}, + {0x884f,0x12}, + {0x8850,0x06}, + {0x8851,0x99}, + {0x8852,0x12}, + {0x8853,0x0b}, + {0x8854,0xce}, + {0x8855,0x78}, + {0x8856,0x66}, + {0x8857,0x12}, + {0x8858,0x06}, + {0x8859,0x8c}, + {0x885a,0xd3}, + {0x885b,0x12}, + {0x885c,0x06}, + {0x885d,0x45}, + {0x885e,0x40}, + {0x885f,0x08}, + {0x8860,0x12}, + {0x8861,0x0b}, + {0x8862,0xce}, + {0x8863,0x78}, + {0x8864,0x66}, + {0x8865,0x12}, + {0x8866,0x06}, + {0x8867,0x99}, + {0x8868,0x78}, + {0x8869,0x54}, + {0x886a,0x12}, + {0x886b,0x0b}, + {0x886c,0xd0}, + {0x886d,0x78}, + {0x886e,0x6a}, + {0x886f,0x12}, + {0x8870,0x06}, + {0x8871,0x8c}, + {0x8872,0xd3}, + {0x8873,0x12}, + {0x8874,0x06}, + {0x8875,0x45}, + {0x8876,0x40}, + {0x8877,0x0a}, + {0x8878,0x78}, + {0x8879,0x54}, + {0x887a,0x12}, + {0x887b,0x0b}, + {0x887c,0xd0}, + {0x887d,0x78}, + {0x887e,0x6a}, + {0x887f,0x12}, + {0x8880,0x06}, + {0x8881,0x99}, + {0x8882,0x78}, + {0x8883,0x61}, + {0x8884,0xe6}, + {0x8885,0x90}, + {0x8886,0x60}, + {0x8887,0x01}, + {0x8888,0xf0}, + {0x8889,0x78}, + {0x888a,0x65}, + {0x888b,0xe6}, + {0x888c,0xa3}, + {0x888d,0xf0}, + {0x888e,0x78}, + {0x888f,0x69}, + {0x8890,0xe6}, + {0x8891,0xa3}, + {0x8892,0xf0}, + {0x8893,0x78}, + {0x8894,0x55}, + {0x8895,0xe6}, + {0x8896,0xa3}, + {0x8897,0xf0}, + {0x8898,0x7d}, + {0x8899,0x01}, + {0x889a,0x78}, + {0x889b,0x61}, + {0x889c,0x12}, + {0x889d,0x0b}, + {0x889e,0xe9}, + {0x889f,0x24}, + {0x88a0,0x01}, + {0x88a1,0x12}, + {0x88a2,0x0b}, + {0x88a3,0xa6}, + {0x88a4,0x78}, + {0x88a5,0x65}, + {0x88a6,0x12}, + {0x88a7,0x0b}, + {0x88a8,0xe9}, + {0x88a9,0x24}, + {0x88aa,0x02}, + {0x88ab,0x12}, + {0x88ac,0x0b}, + {0x88ad,0xa6}, + {0x88ae,0x78}, + {0x88af,0x69}, + {0x88b0,0x12}, + {0x88b1,0x0b}, + {0x88b2,0xe9}, + {0x88b3,0x24}, + {0x88b4,0x03}, + {0x88b5,0x12}, + {0x88b6,0x0b}, + {0x88b7,0xa6}, + {0x88b8,0x78}, + {0x88b9,0x6d}, + {0x88ba,0x12}, + {0x88bb,0x0b}, + {0x88bc,0xe9}, + {0x88bd,0x24}, + {0x88be,0x04}, + {0x88bf,0x12}, + {0x88c0,0x0b}, + {0x88c1,0xa6}, + {0x88c2,0x0d}, + {0x88c3,0xbd}, + {0x88c4,0x05}, + {0x88c5,0xd4}, + {0x88c6,0xc2}, + {0x88c7,0x0e}, + {0x88c8,0xc2}, + {0x88c9,0x06}, + {0x88ca,0x22}, + {0x88cb,0x85}, + {0x88cc,0x08}, + {0x88cd,0x41}, + {0x88ce,0x90}, + {0x88cf,0x30}, + {0x88d0,0x24}, + {0x88d1,0xe0}, + {0x88d2,0xf5}, + {0x88d3,0x3d}, + {0x88d4,0xa3}, + {0x88d5,0xe0}, + {0x88d6,0xf5}, + {0x88d7,0x3e}, + {0x88d8,0xa3}, + {0x88d9,0xe0}, + {0x88da,0xf5}, + {0x88db,0x3f}, + {0x88dc,0xa3}, + {0x88dd,0xe0}, + {0x88de,0xf5}, + {0x88df,0x40}, + {0x88e0,0xa3}, + {0x88e1,0xe0}, + {0x88e2,0xf5}, + {0x88e3,0x3c}, + {0x88e4,0xd2}, + {0x88e5,0x34}, + {0x88e6,0xe5}, + {0x88e7,0x41}, + {0x88e8,0x12}, + {0x88e9,0x06}, + {0x88ea,0xb1}, + {0x88eb,0x09}, + {0x88ec,0x31}, + {0x88ed,0x03}, + {0x88ee,0x09}, + {0x88ef,0x35}, + {0x88f0,0x04}, + {0x88f1,0x09}, + {0x88f2,0x3b}, + {0x88f3,0x05}, + {0x88f4,0x09}, + {0x88f5,0x3e}, + {0x88f6,0x06}, + {0x88f7,0x09}, + {0x88f8,0x41}, + {0x88f9,0x07}, + {0x88fa,0x09}, + {0x88fb,0x4a}, + {0x88fc,0x08}, + {0x88fd,0x09}, + {0x88fe,0x5b}, + {0x88ff,0x12}, + {0x8900,0x09}, + {0x8901,0x73}, + {0x8902,0x18}, + {0x8903,0x09}, + {0x8904,0x89}, + {0x8905,0x19}, + {0x8906,0x09}, + {0x8907,0x5e}, + {0x8908,0x1a}, + {0x8909,0x09}, + {0x890a,0x6a}, + {0x890b,0x1b}, + {0x890c,0x09}, + {0x890d,0xad}, + {0x890e,0x80}, + {0x890f,0x09}, + {0x8910,0xb2}, + {0x8911,0x81}, + {0x8912,0x0a}, + {0x8913,0x1d}, + {0x8914,0x8f}, + {0x8915,0x0a}, + {0x8916,0x09}, + {0x8917,0x90}, + {0x8918,0x0a}, + {0x8919,0x1d}, + {0x891a,0x91}, + {0x891b,0x0a}, + {0x891c,0x1d}, + {0x891d,0x92}, + {0x891e,0x0a}, + {0x891f,0x1d}, + {0x8920,0x93}, + {0x8921,0x0a}, + {0x8922,0x1d}, + {0x8923,0x94}, + {0x8924,0x0a}, + {0x8925,0x1d}, + {0x8926,0x98}, + {0x8927,0x0a}, + {0x8928,0x17}, + {0x8929,0x9f}, + {0x892a,0x0a}, + {0x892b,0x1a}, + {0x892c,0xec}, + {0x892d,0x00}, + {0x892e,0x00}, + {0x892f,0x0a}, + {0x8930,0x38}, + {0x8931,0x12}, + {0x8932,0x0f}, + {0x8933,0x74}, + {0x8934,0x22}, + {0x8935,0x12}, + {0x8936,0x0f}, + {0x8937,0x74}, + {0x8938,0xd2}, + {0x8939,0x03}, + {0x893a,0x22}, + {0x893b,0xd2}, + {0x893c,0x03}, + {0x893d,0x22}, + {0x893e,0xc2}, + {0x893f,0x03}, + {0x8940,0x22}, + {0x8941,0xa2}, + {0x8942,0x37}, + {0x8943,0xe4}, + {0x8944,0x33}, + {0x8945,0xf5}, + {0x8946,0x3c}, + {0x8947,0x02}, + {0x8948,0x0a}, + {0x8949,0x1d}, + {0x894a,0xc2}, + {0x894b,0x01}, + {0x894c,0xc2}, + {0x894d,0x02}, + {0x894e,0xc2}, + {0x894f,0x03}, + {0x8950,0x12}, + {0x8951,0x0d}, + {0x8952,0x0d}, + {0x8953,0x75}, + {0x8954,0x1e}, + {0x8955,0x70}, + {0x8956,0xd2}, + {0x8957,0x35}, + {0x8958,0x02}, + {0x8959,0x0a}, + {0x895a,0x1d}, + {0x895b,0x02}, + {0x895c,0x0a}, + {0x895d,0x04}, + {0x895e,0x85}, + {0x895f,0x40}, + {0x8960,0x4a}, + {0x8961,0x85}, + {0x8962,0x3c}, + {0x8963,0x4b}, + {0x8964,0x12}, + {0x8965,0x0a}, + {0x8966,0xff}, + {0x8967,0x02}, + {0x8968,0x0a}, + {0x8969,0x1d}, + {0x896a,0x85}, + {0x896b,0x4a}, + {0x896c,0x40}, + {0x896d,0x85}, + {0x896e,0x4b}, + {0x896f,0x3c}, + {0x8970,0x02}, + {0x8971,0x0a}, + {0x8972,0x1d}, + {0x8973,0xe4}, + {0x8974,0xf5}, + {0x8975,0x22}, + {0x8976,0xf5}, + {0x8977,0x23}, + {0x8978,0x85}, + {0x8979,0x40}, + {0x897a,0x31}, + {0x897b,0x85}, + {0x897c,0x3f}, + {0x897d,0x30}, + {0x897e,0x85}, + {0x897f,0x3e}, + {0x8980,0x2f}, + {0x8981,0x85}, + {0x8982,0x3d}, + {0x8983,0x2e}, + {0x8984,0x12}, + {0x8985,0x0f}, + {0x8986,0x46}, + {0x8987,0x80}, + {0x8988,0x1f}, + {0x8989,0x75}, + {0x898a,0x22}, + {0x898b,0x00}, + {0x898c,0x75}, + {0x898d,0x23}, + {0x898e,0x01}, + {0x898f,0x74}, + {0x8990,0xff}, + {0x8991,0xf5}, + {0x8992,0x2d}, + {0x8993,0xf5}, + {0x8994,0x2c}, + {0x8995,0xf5}, + {0x8996,0x2b}, + {0x8997,0xf5}, + {0x8998,0x2a}, + {0x8999,0x12}, + {0x899a,0x0f}, + {0x899b,0x46}, + {0x899c,0x85}, + {0x899d,0x2d}, + {0x899e,0x40}, + {0x899f,0x85}, + {0x89a0,0x2c}, + {0x89a1,0x3f}, + {0x89a2,0x85}, + {0x89a3,0x2b}, + {0x89a4,0x3e}, + {0x89a5,0x85}, + {0x89a6,0x2a}, + {0x89a7,0x3d}, + {0x89a8,0xe4}, + {0x89a9,0xf5}, + {0x89aa,0x3c}, + {0x89ab,0x80}, + {0x89ac,0x70}, + {0x89ad,0x12}, + {0x89ae,0x0f}, + {0x89af,0x16}, + {0x89b0,0x80}, + {0x89b1,0x6b}, + {0x89b2,0x85}, + {0x89b3,0x3d}, + {0x89b4,0x45}, + {0x89b5,0x85}, + {0x89b6,0x3e}, + {0x89b7,0x46}, + {0x89b8,0xe5}, + {0x89b9,0x47}, + {0x89ba,0xc3}, + {0x89bb,0x13}, + {0x89bc,0xff}, + {0x89bd,0xe5}, + {0x89be,0x45}, + {0x89bf,0xc3}, + {0x89c0,0x9f}, + {0x89c1,0x50}, + {0x89c2,0x02}, + {0x89c3,0x8f}, + {0x89c4,0x45}, + {0x89c5,0xe5}, + {0x89c6,0x48}, + {0x89c7,0xc3}, + {0x89c8,0x13}, + {0x89c9,0xff}, + {0x89ca,0xe5}, + {0x89cb,0x46}, + {0x89cc,0xc3}, + {0x89cd,0x9f}, + {0x89ce,0x50}, + {0x89cf,0x02}, + {0x89d0,0x8f}, + {0x89d1,0x46}, + {0x89d2,0xe5}, + {0x89d3,0x47}, + {0x89d4,0xc3}, + {0x89d5,0x13}, + {0x89d6,0xff}, + {0x89d7,0xfd}, + {0x89d8,0xe5}, + {0x89d9,0x45}, + {0x89da,0x2d}, + {0x89db,0xfd}, + {0x89dc,0xe4}, + {0x89dd,0x33}, + {0x89de,0xfc}, + {0x89df,0xe5}, + {0x89e0,0x44}, + {0x89e1,0x12}, + {0x89e2,0x0f}, + {0x89e3,0x90}, + {0x89e4,0x40}, + {0x89e5,0x05}, + {0x89e6,0xe5}, + {0x89e7,0x44}, + {0x89e8,0x9f}, + {0x89e9,0xf5}, + {0x89ea,0x45}, + {0x89eb,0xe5}, + {0x89ec,0x48}, + {0x89ed,0xc3}, + {0x89ee,0x13}, + {0x89ef,0xff}, + {0x89f0,0xfd}, + {0x89f1,0xe5}, + {0x89f2,0x46}, + {0x89f3,0x2d}, + {0x89f4,0xfd}, + {0x89f5,0xe4}, + {0x89f6,0x33}, + {0x89f7,0xfc}, + {0x89f8,0xe5}, + {0x89f9,0x43}, + {0x89fa,0x12}, + {0x89fb,0x0f}, + {0x89fc,0x90}, + {0x89fd,0x40}, + {0x89fe,0x05}, + {0x89ff,0xe5}, + {0x8a00,0x43}, + {0x8a01,0x9f}, + {0x8a02,0xf5}, + {0x8a03,0x46}, + {0x8a04,0x12}, + {0x8a05,0x06}, + {0x8a06,0xd7}, + {0x8a07,0x80}, + {0x8a08,0x14}, + {0x8a09,0x85}, + {0x8a0a,0x40}, + {0x8a0b,0x48}, + {0x8a0c,0x85}, + {0x8a0d,0x3f}, + {0x8a0e,0x47}, + {0x8a0f,0x85}, + {0x8a10,0x3e}, + {0x8a11,0x46}, + {0x8a12,0x85}, + {0x8a13,0x3d}, + {0x8a14,0x45}, + {0x8a15,0x80}, + {0x8a16,0x06}, + {0x8a17,0x02}, + {0x8a18,0x06}, + {0x8a19,0xd7}, + {0x8a1a,0x12}, + {0x8a1b,0x0d}, + {0x8a1c,0x7e}, + {0x8a1d,0x90}, + {0x8a1e,0x30}, + {0x8a1f,0x24}, + {0x8a20,0xe5}, + {0x8a21,0x3d}, + {0x8a22,0xf0}, + {0x8a23,0xa3}, + {0x8a24,0xe5}, + {0x8a25,0x3e}, + {0x8a26,0xf0}, + {0x8a27,0xa3}, + {0x8a28,0xe5}, + {0x8a29,0x3f}, + {0x8a2a,0xf0}, + {0x8a2b,0xa3}, + {0x8a2c,0xe5}, + {0x8a2d,0x40}, + {0x8a2e,0xf0}, + {0x8a2f,0xa3}, + {0x8a30,0xe5}, + {0x8a31,0x3c}, + {0x8a32,0xf0}, + {0x8a33,0x90}, + {0x8a34,0x30}, + {0x8a35,0x23}, + {0x8a36,0xe4}, + {0x8a37,0xf0}, + {0x8a38,0x22}, + {0x8a39,0xc0}, + {0x8a3a,0xe0}, + {0x8a3b,0xc0}, + {0x8a3c,0x83}, + {0x8a3d,0xc0}, + {0x8a3e,0x82}, + {0x8a3f,0xc0}, + {0x8a40,0xd0}, + {0x8a41,0x90}, + {0x8a42,0x3f}, + {0x8a43,0x0c}, + {0x8a44,0xe0}, + {0x8a45,0xf5}, + {0x8a46,0x32}, + {0x8a47,0xe5}, + {0x8a48,0x32}, + {0x8a49,0x30}, + {0x8a4a,0xe3}, + {0x8a4b,0x74}, + {0x8a4c,0x30}, + {0x8a4d,0x36}, + {0x8a4e,0x66}, + {0x8a4f,0x90}, + {0x8a50,0x60}, + {0x8a51,0x19}, + {0x8a52,0xe0}, + {0x8a53,0xf5}, + {0x8a54,0x0a}, + {0x8a55,0xa3}, + {0x8a56,0xe0}, + {0x8a57,0xf5}, + {0x8a58,0x0b}, + {0x8a59,0x90}, + {0x8a5a,0x60}, + {0x8a5b,0x1d}, + {0x8a5c,0xe0}, + {0x8a5d,0xf5}, + {0x8a5e,0x14}, + {0x8a5f,0xa3}, + {0x8a60,0xe0}, + {0x8a61,0xf5}, + {0x8a62,0x15}, + {0x8a63,0x90}, + {0x8a64,0x60}, + {0x8a65,0x21}, + {0x8a66,0xe0}, + {0x8a67,0xf5}, + {0x8a68,0x0c}, + {0x8a69,0xa3}, + {0x8a6a,0xe0}, + {0x8a6b,0xf5}, + {0x8a6c,0x0d}, + {0x8a6d,0x90}, + {0x8a6e,0x60}, + {0x8a6f,0x29}, + {0x8a70,0xe0}, + {0x8a71,0xf5}, + {0x8a72,0x0e}, + {0x8a73,0xa3}, + {0x8a74,0xe0}, + {0x8a75,0xf5}, + {0x8a76,0x0f}, + {0x8a77,0x90}, + {0x8a78,0x60}, + {0x8a79,0x31}, + {0x8a7a,0xe0}, + {0x8a7b,0xf5}, + {0x8a7c,0x10}, + {0x8a7d,0xa3}, + {0x8a7e,0xe0}, + {0x8a7f,0xf5}, + {0x8a80,0x11}, + {0x8a81,0x90}, + {0x8a82,0x60}, + {0x8a83,0x39}, + {0x8a84,0xe0}, + {0x8a85,0xf5}, + {0x8a86,0x12}, + {0x8a87,0xa3}, + {0x8a88,0xe0}, + {0x8a89,0xf5}, + {0x8a8a,0x13}, + {0x8a8b,0x30}, + {0x8a8c,0x01}, + {0x8a8d,0x06}, + {0x8a8e,0x30}, + {0x8a8f,0x33}, + {0x8a90,0x03}, + {0x8a91,0xd3}, + {0x8a92,0x80}, + {0x8a93,0x01}, + {0x8a94,0xc3}, + {0x8a95,0x92}, + {0x8a96,0x09}, + {0x8a97,0x30}, + {0x8a98,0x02}, + {0x8a99,0x06}, + {0x8a9a,0x30}, + {0x8a9b,0x33}, + {0x8a9c,0x03}, + {0x8a9d,0xd3}, + {0x8a9e,0x80}, + {0x8a9f,0x01}, + {0x8aa0,0xc3}, + {0x8aa1,0x92}, + {0x8aa2,0x0a}, + {0x8aa3,0x30}, + {0x8aa4,0x33}, + {0x8aa5,0x0c}, + {0x8aa6,0x30}, + {0x8aa7,0x03}, + {0x8aa8,0x09}, + {0x8aa9,0x20}, + {0x8aaa,0x02}, + {0x8aab,0x06}, + {0x8aac,0x20}, + {0x8aad,0x01}, + {0x8aae,0x03}, + {0x8aaf,0xd3}, + {0x8ab0,0x80}, + {0x8ab1,0x01}, + {0x8ab2,0xc3}, + {0x8ab3,0x92}, + {0x8ab4,0x0b}, + {0x8ab5,0x90}, + {0x8ab6,0x30}, + {0x8ab7,0x01}, + {0x8ab8,0xe0}, + {0x8ab9,0x44}, + {0x8aba,0x40}, + {0x8abb,0xf0}, + {0x8abc,0xe0}, + {0x8abd,0x54}, + {0x8abe,0xbf}, + {0x8abf,0xf0}, + {0x8ac0,0xe5}, + {0x8ac1,0x32}, + {0x8ac2,0x30}, + {0x8ac3,0xe1}, + {0x8ac4,0x14}, + {0x8ac5,0x30}, + {0x8ac6,0x34}, + {0x8ac7,0x11}, + {0x8ac8,0x90}, + {0x8ac9,0x30}, + {0x8aca,0x22}, + {0x8acb,0xe0}, + {0x8acc,0xf5}, + {0x8acd,0x08}, + {0x8ace,0xe4}, + {0x8acf,0xf0}, + {0x8ad0,0x30}, + {0x8ad1,0x00}, + {0x8ad2,0x03}, + {0x8ad3,0xd3}, + {0x8ad4,0x80}, + {0x8ad5,0x01}, + {0x8ad6,0xc3}, + {0x8ad7,0x92}, + {0x8ad8,0x08}, + {0x8ad9,0xe5}, + {0x8ada,0x32}, + {0x8adb,0x30}, + {0x8adc,0xe5}, + {0x8add,0x12}, + {0x8ade,0x90}, + {0x8adf,0x56}, + {0x8ae0,0xa1}, + {0x8ae1,0xe0}, + {0x8ae2,0xf5}, + {0x8ae3,0x09}, + {0x8ae4,0x30}, + {0x8ae5,0x31}, + {0x8ae6,0x09}, + {0x8ae7,0x30}, + {0x8ae8,0x05}, + {0x8ae9,0x03}, + {0x8aea,0xd3}, + {0x8aeb,0x80}, + {0x8aec,0x01}, + {0x8aed,0xc3}, + {0x8aee,0x92}, + {0x8aef,0x0d}, + {0x8af0,0x90}, + {0x8af1,0x3f}, + {0x8af2,0x0c}, + {0x8af3,0xe5}, + {0x8af4,0x32}, + {0x8af5,0xf0}, + {0x8af6,0xd0}, + {0x8af7,0xd0}, + {0x8af8,0xd0}, + {0x8af9,0x82}, + {0x8afa,0xd0}, + {0x8afb,0x83}, + {0x8afc,0xd0}, + {0x8afd,0xe0}, + {0x8afe,0x32}, + {0x8aff,0x90}, + {0x8b00,0x0e}, + {0x8b01,0x7e}, + {0x8b02,0xe4}, + {0x8b03,0x93}, + {0x8b04,0xfe}, + {0x8b05,0x74}, + {0x8b06,0x01}, + {0x8b07,0x93}, + {0x8b08,0xff}, + {0x8b09,0xc3}, + {0x8b0a,0x90}, + {0x8b0b,0x0e}, + {0x8b0c,0x7c}, + {0x8b0d,0x74}, + {0x8b0e,0x01}, + {0x8b0f,0x93}, + {0x8b10,0x9f}, + {0x8b11,0xff}, + {0x8b12,0xe4}, + {0x8b13,0x93}, + {0x8b14,0x9e}, + {0x8b15,0xfe}, + {0x8b16,0xe4}, + {0x8b17,0x8f}, + {0x8b18,0x3b}, + {0x8b19,0x8e}, + {0x8b1a,0x3a}, + {0x8b1b,0xf5}, + {0x8b1c,0x39}, + {0x8b1d,0xf5}, + {0x8b1e,0x38}, + {0x8b1f,0xab}, + {0x8b20,0x3b}, + {0x8b21,0xaa}, + {0x8b22,0x3a}, + {0x8b23,0xa9}, + {0x8b24,0x39}, + {0x8b25,0xa8}, + {0x8b26,0x38}, + {0x8b27,0xaf}, + {0x8b28,0x4b}, + {0x8b29,0xfc}, + {0x8b2a,0xfd}, + {0x8b2b,0xfe}, + {0x8b2c,0x12}, + {0x8b2d,0x05}, + {0x8b2e,0x28}, + {0x8b2f,0x12}, + {0x8b30,0x0d}, + {0x8b31,0xe1}, + {0x8b32,0xe4}, + {0x8b33,0x7b}, + {0x8b34,0xff}, + {0x8b35,0xfa}, + {0x8b36,0xf9}, + {0x8b37,0xf8}, + {0x8b38,0x12}, + {0x8b39,0x05}, + {0x8b3a,0xb3}, + {0x8b3b,0x12}, + {0x8b3c,0x0d}, + {0x8b3d,0xe1}, + {0x8b3e,0x90}, + {0x8b3f,0x0e}, + {0x8b40,0x69}, + {0x8b41,0xe4}, + {0x8b42,0x12}, + {0x8b43,0x0d}, + {0x8b44,0xf6}, + {0x8b45,0x12}, + {0x8b46,0x0d}, + {0x8b47,0xe1}, + {0x8b48,0xe4}, + {0x8b49,0x85}, + {0x8b4a,0x4a}, + {0x8b4b,0x37}, + {0x8b4c,0xf5}, + {0x8b4d,0x36}, + {0x8b4e,0xf5}, + {0x8b4f,0x35}, + {0x8b50,0xf5}, + {0x8b51,0x34}, + {0x8b52,0xaf}, + {0x8b53,0x37}, + {0x8b54,0xae}, + {0x8b55,0x36}, + {0x8b56,0xad}, + {0x8b57,0x35}, + {0x8b58,0xac}, + {0x8b59,0x34}, + {0x8b5a,0xa3}, + {0x8b5b,0x12}, + {0x8b5c,0x0d}, + {0x8b5d,0xf6}, + {0x8b5e,0x8f}, + {0x8b5f,0x37}, + {0x8b60,0x8e}, + {0x8b61,0x36}, + {0x8b62,0x8d}, + {0x8b63,0x35}, + {0x8b64,0x8c}, + {0x8b65,0x34}, + {0x8b66,0xe5}, + {0x8b67,0x3b}, + {0x8b68,0x45}, + {0x8b69,0x37}, + {0x8b6a,0xf5}, + {0x8b6b,0x3b}, + {0x8b6c,0xe5}, + {0x8b6d,0x3a}, + {0x8b6e,0x45}, + {0x8b6f,0x36}, + {0x8b70,0xf5}, + {0x8b71,0x3a}, + {0x8b72,0xe5}, + {0x8b73,0x39}, + {0x8b74,0x45}, + {0x8b75,0x35}, + {0x8b76,0xf5}, + {0x8b77,0x39}, + {0x8b78,0xe5}, + {0x8b79,0x38}, + {0x8b7a,0x45}, + {0x8b7b,0x34}, + {0x8b7c,0xf5}, + {0x8b7d,0x38}, + {0x8b7e,0xe4}, + {0x8b7f,0xf5}, + {0x8b80,0x22}, + {0x8b81,0xf5}, + {0x8b82,0x23}, + {0x8b83,0x85}, + {0x8b84,0x3b}, + {0x8b85,0x31}, + {0x8b86,0x85}, + {0x8b87,0x3a}, + {0x8b88,0x30}, + {0x8b89,0x85}, + {0x8b8a,0x39}, + {0x8b8b,0x2f}, + {0x8b8c,0x85}, + {0x8b8d,0x38}, + {0x8b8e,0x2e}, + {0x8b8f,0x02}, + {0x8b90,0x0f}, + {0x8b91,0x46}, + {0x8b92,0xe0}, + {0x8b93,0xa3}, + {0x8b94,0xe0}, + {0x8b95,0x75}, + {0x8b96,0xf0}, + {0x8b97,0x02}, + {0x8b98,0xa4}, + {0x8b99,0xff}, + {0x8b9a,0xae}, + {0x8b9b,0xf0}, + {0x8b9c,0xc3}, + {0x8b9d,0x08}, + {0x8b9e,0xe6}, + {0x8b9f,0x9f}, + {0x8ba0,0xf6}, + {0x8ba1,0x18}, + {0x8ba2,0xe6}, + {0x8ba3,0x9e}, + {0x8ba4,0xf6}, + {0x8ba5,0x22}, + {0x8ba6,0xff}, + {0x8ba7,0xe5}, + {0x8ba8,0xf0}, + {0x8ba9,0x34}, + {0x8baa,0x60}, + {0x8bab,0x8f}, + {0x8bac,0x82}, + {0x8bad,0xf5}, + {0x8bae,0x83}, + {0x8baf,0xec}, + {0x8bb0,0xf0}, + {0x8bb1,0x22}, + {0x8bb2,0x78}, + {0x8bb3,0x52}, + {0x8bb4,0x7e}, + {0x8bb5,0x00}, + {0x8bb6,0xe6}, + {0x8bb7,0xfc}, + {0x8bb8,0x08}, + {0x8bb9,0xe6}, + {0x8bba,0xfd}, + {0x8bbb,0x02}, + {0x8bbc,0x04}, + {0x8bbd,0xc1}, + {0x8bbe,0xe4}, + {0x8bbf,0xfc}, + {0x8bc0,0xfd}, + {0x8bc1,0x12}, + {0x8bc2,0x06}, + {0x8bc3,0x99}, + {0x8bc4,0x78}, + {0x8bc5,0x5c}, + {0x8bc6,0xe6}, + {0x8bc7,0xc3}, + {0x8bc8,0x13}, + {0x8bc9,0xfe}, + {0x8bca,0x08}, + {0x8bcb,0xe6}, + {0x8bcc,0x13}, + {0x8bcd,0x22}, + {0x8bce,0x78}, + {0x8bcf,0x52}, + {0x8bd0,0xe6}, + {0x8bd1,0xfe}, + {0x8bd2,0x08}, + {0x8bd3,0xe6}, + {0x8bd4,0xff}, + {0x8bd5,0xe4}, + {0x8bd6,0xfc}, + {0x8bd7,0xfd}, + {0x8bd8,0x22}, + {0x8bd9,0xe7}, + {0x8bda,0xc4}, + {0x8bdb,0xf8}, + {0x8bdc,0x54}, + {0x8bdd,0xf0}, + {0x8bde,0xc8}, + {0x8bdf,0x68}, + {0x8be0,0xf7}, + {0x8be1,0x09}, + {0x8be2,0xe7}, + {0x8be3,0xc4}, + {0x8be4,0x54}, + {0x8be5,0x0f}, + {0x8be6,0x48}, + {0x8be7,0xf7}, + {0x8be8,0x22}, + {0x8be9,0xe6}, + {0x8bea,0xfc}, + {0x8beb,0xed}, + {0x8bec,0x75}, + {0x8bed,0xf0}, + {0x8bee,0x04}, + {0x8bef,0xa4}, + {0x8bf0,0x22}, + {0x8bf1,0x12}, + {0x8bf2,0x06}, + {0x8bf3,0x7c}, + {0x8bf4,0x8f}, + {0x8bf5,0x48}, + {0x8bf6,0x8e}, + {0x8bf7,0x47}, + {0x8bf8,0x8d}, + {0x8bf9,0x46}, + {0x8bfa,0x8c}, + {0x8bfb,0x45}, + {0x8bfc,0x22}, + {0x8bfd,0xe0}, + {0x8bfe,0xfe}, + {0x8bff,0xa3}, + {0x8c00,0xe0}, + {0x8c01,0xfd}, + {0x8c02,0xee}, + {0x8c03,0xf6}, + {0x8c04,0xed}, + {0x8c05,0x08}, + {0x8c06,0xf6}, + {0x8c07,0x22}, + {0x8c08,0x13}, + {0x8c09,0xff}, + {0x8c0a,0xc3}, + {0x8c0b,0xe6}, + {0x8c0c,0x9f}, + {0x8c0d,0xff}, + {0x8c0e,0x18}, + {0x8c0f,0xe6}, + {0x8c10,0x9e}, + {0x8c11,0xfe}, + {0x8c12,0x22}, + {0x8c13,0xe6}, + {0x8c14,0xc3}, + {0x8c15,0x13}, + {0x8c16,0xf7}, + {0x8c17,0x08}, + {0x8c18,0xe6}, + {0x8c19,0x13}, + {0x8c1a,0x09}, + {0x8c1b,0xf7}, + {0x8c1c,0x22}, + {0x8c1d,0xad}, + {0x8c1e,0x39}, + {0x8c1f,0xac}, + {0x8c20,0x38}, + {0x8c21,0xfa}, + {0x8c22,0xf9}, + {0x8c23,0xf8}, + {0x8c24,0x12}, + {0x8c25,0x05}, + {0x8c26,0x28}, + {0x8c27,0x8f}, + {0x8c28,0x3b}, + {0x8c29,0x8e}, + {0x8c2a,0x3a}, + {0x8c2b,0x8d}, + {0x8c2c,0x39}, + {0x8c2d,0x8c}, + {0x8c2e,0x38}, + {0x8c2f,0xab}, + {0x8c30,0x37}, + {0x8c31,0xaa}, + {0x8c32,0x36}, + {0x8c33,0xa9}, + {0x8c34,0x35}, + {0x8c35,0xa8}, + {0x8c36,0x34}, + {0x8c37,0x22}, + {0x8c38,0x93}, + {0x8c39,0xff}, + {0x8c3a,0xe4}, + {0x8c3b,0xfc}, + {0x8c3c,0xfd}, + {0x8c3d,0xfe}, + {0x8c3e,0x12}, + {0x8c3f,0x05}, + {0x8c40,0x28}, + {0x8c41,0x8f}, + {0x8c42,0x37}, + {0x8c43,0x8e}, + {0x8c44,0x36}, + {0x8c45,0x8d}, + {0x8c46,0x35}, + {0x8c47,0x8c}, + {0x8c48,0x34}, + {0x8c49,0x22}, + {0x8c4a,0x78}, + {0x8c4b,0x84}, + {0x8c4c,0xe6}, + {0x8c4d,0xfe}, + {0x8c4e,0x08}, + {0x8c4f,0xe6}, + {0x8c50,0xff}, + {0x8c51,0xe4}, + {0x8c52,0x8f}, + {0x8c53,0x37}, + {0x8c54,0x8e}, + {0x8c55,0x36}, + {0x8c56,0xf5}, + {0x8c57,0x35}, + {0x8c58,0xf5}, + {0x8c59,0x34}, + {0x8c5a,0x22}, + {0x8c5b,0x90}, + {0x8c5c,0x0e}, + {0x8c5d,0x8c}, + {0x8c5e,0xe4}, + {0x8c5f,0x93}, + {0x8c60,0x25}, + {0x8c61,0xe0}, + {0x8c62,0x24}, + {0x8c63,0x0a}, + {0x8c64,0xf8}, + {0x8c65,0xe6}, + {0x8c66,0xfe}, + {0x8c67,0x08}, + {0x8c68,0xe6}, + {0x8c69,0xff}, + {0x8c6a,0x22}, + {0x8c6b,0xe6}, + {0x8c6c,0xfe}, + {0x8c6d,0x08}, + {0x8c6e,0xe6}, + {0x8c6f,0xff}, + {0x8c70,0xe4}, + {0x8c71,0x8f}, + {0x8c72,0x3b}, + {0x8c73,0x8e}, + {0x8c74,0x3a}, + {0x8c75,0xf5}, + {0x8c76,0x39}, + {0x8c77,0xf5}, + {0x8c78,0x38}, + {0x8c79,0x22}, + {0x8c7a,0x78}, + {0x8c7b,0x4e}, + {0x8c7c,0xe6}, + {0x8c7d,0xfe}, + {0x8c7e,0x08}, + {0x8c7f,0xe6}, + {0x8c80,0xff}, + {0x8c81,0x22}, + {0x8c82,0xef}, + {0x8c83,0x25}, + {0x8c84,0xe0}, + {0x8c85,0x24}, + {0x8c86,0x4e}, + {0x8c87,0xf8}, + {0x8c88,0xe6}, + {0x8c89,0xfc}, + {0x8c8a,0x08}, + {0x8c8b,0xe6}, + {0x8c8c,0xfd}, + {0x8c8d,0x22}, + {0x8c8e,0x78}, + {0x8c8f,0x89}, + {0x8c90,0xef}, + {0x8c91,0x26}, + {0x8c92,0xf6}, + {0x8c93,0x18}, + {0x8c94,0xe4}, + {0x8c95,0x36}, + {0x8c96,0xf6}, + {0x8c97,0x22}, + {0x8c98,0x75}, + {0x8c99,0x89}, + {0x8c9a,0x03}, + {0x8c9b,0x75}, + {0x8c9c,0xa8}, + {0x8c9d,0x01}, + {0x8c9e,0x75}, + {0x8c9f,0xb8}, + {0x8ca0,0x04}, + {0x8ca1,0x75}, + {0x8ca2,0x34}, + {0x8ca3,0xff}, + {0x8ca4,0x75}, + {0x8ca5,0x35}, + {0x8ca6,0x0e}, + {0x8ca7,0x75}, + {0x8ca8,0x36}, + {0x8ca9,0x15}, + {0x8caa,0x75}, + {0x8cab,0x37}, + {0x8cac,0x0d}, + {0x8cad,0x12}, + {0x8cae,0x0e}, + {0x8caf,0x9a}, + {0x8cb0,0x12}, + {0x8cb1,0x00}, + {0x8cb2,0x09}, + {0x8cb3,0x12}, + {0x8cb4,0x0f}, + {0x8cb5,0x16}, + {0x8cb6,0x12}, + {0x8cb7,0x00}, + {0x8cb8,0x06}, + {0x8cb9,0xd2}, + {0x8cba,0x00}, + {0x8cbb,0xd2}, + {0x8cbc,0x34}, + {0x8cbd,0xd2}, + {0x8cbe,0xaf}, + {0x8cbf,0x75}, + {0x8cc0,0x34}, + {0x8cc1,0xff}, + {0x8cc2,0x75}, + {0x8cc3,0x35}, + {0x8cc4,0x0e}, + {0x8cc5,0x75}, + {0x8cc6,0x36}, + {0x8cc7,0x49}, + {0x8cc8,0x75}, + {0x8cc9,0x37}, + {0x8cca,0x03}, + {0x8ccb,0x12}, + {0x8ccc,0x0e}, + {0x8ccd,0x9a}, + {0x8cce,0x30}, + {0x8ccf,0x08}, + {0x8cd0,0x09}, + {0x8cd1,0xc2}, + {0x8cd2,0x34}, + {0x8cd3,0x12}, + {0x8cd4,0x08}, + {0x8cd5,0xcb}, + {0x8cd6,0xc2}, + {0x8cd7,0x08}, + {0x8cd8,0xd2}, + {0x8cd9,0x34}, + {0x8cda,0x30}, + {0x8cdb,0x0b}, + {0x8cdc,0x09}, + {0x8cdd,0xc2}, + {0x8cde,0x36}, + {0x8cdf,0x12}, + {0x8ce0,0x02}, + {0x8ce1,0x6c}, + {0x8ce2,0xc2}, + {0x8ce3,0x0b}, + {0x8ce4,0xd2}, + {0x8ce5,0x36}, + {0x8ce6,0x30}, + {0x8ce7,0x09}, + {0x8ce8,0x09}, + {0x8ce9,0xc2}, + {0x8cea,0x36}, + {0x8ceb,0x12}, + {0x8cec,0x00}, + {0x8ced,0x0e}, + {0x8cee,0xc2}, + {0x8cef,0x09}, + {0x8cf0,0xd2}, + {0x8cf1,0x36}, + {0x8cf2,0x30}, + {0x8cf3,0x0e}, + {0x8cf4,0x03}, + {0x8cf5,0x12}, + {0x8cf6,0x06}, + {0x8cf7,0xd7}, + {0x8cf8,0x30}, + {0x8cf9,0x35}, + {0x8cfa,0xd3}, + {0x8cfb,0x90}, + {0x8cfc,0x30}, + {0x8cfd,0x29}, + {0x8cfe,0xe5}, + {0x8cff,0x1e}, + {0x8d00,0xf0}, + {0x8d01,0xb4}, + {0x8d02,0x10}, + {0x8d03,0x05}, + {0x8d04,0x90}, + {0x8d05,0x30}, + {0x8d06,0x23}, + {0x8d07,0xe4}, + {0x8d08,0xf0}, + {0x8d09,0xc2}, + {0x8d0a,0x35}, + {0x8d0b,0x80}, + {0x8d0c,0xc1}, + {0x8d0d,0xe4}, + {0x8d0e,0xf5}, + {0x8d0f,0x4b}, + {0x8d10,0x90}, + {0x8d11,0x0e}, + {0x8d12,0x7a}, + {0x8d13,0x93}, + {0x8d14,0xff}, + {0x8d15,0xe4}, + {0x8d16,0x8f}, + {0x8d17,0x37}, + {0x8d18,0xf5}, + {0x8d19,0x36}, + {0x8d1a,0xf5}, + {0x8d1b,0x35}, + {0x8d1c,0xf5}, + {0x8d1d,0x34}, + {0x8d1e,0xaf}, + {0x8d1f,0x37}, + {0x8d20,0xae}, + {0x8d21,0x36}, + {0x8d22,0xad}, + {0x8d23,0x35}, + {0x8d24,0xac}, + {0x8d25,0x34}, + {0x8d26,0x90}, + {0x8d27,0x0e}, + {0x8d28,0x6a}, + {0x8d29,0x12}, + {0x8d2a,0x0d}, + {0x8d2b,0xf6}, + {0x8d2c,0x8f}, + {0x8d2d,0x37}, + {0x8d2e,0x8e}, + {0x8d2f,0x36}, + {0x8d30,0x8d}, + {0x8d31,0x35}, + {0x8d32,0x8c}, + {0x8d33,0x34}, + {0x8d34,0x90}, + {0x8d35,0x0e}, + {0x8d36,0x72}, + {0x8d37,0x12}, + {0x8d38,0x06}, + {0x8d39,0x7c}, + {0x8d3a,0xef}, + {0x8d3b,0x45}, + {0x8d3c,0x37}, + {0x8d3d,0xf5}, + {0x8d3e,0x37}, + {0x8d3f,0xee}, + {0x8d40,0x45}, + {0x8d41,0x36}, + {0x8d42,0xf5}, + {0x8d43,0x36}, + {0x8d44,0xed}, + {0x8d45,0x45}, + {0x8d46,0x35}, + {0x8d47,0xf5}, + {0x8d48,0x35}, + {0x8d49,0xec}, + {0x8d4a,0x45}, + {0x8d4b,0x34}, + {0x8d4c,0xf5}, + {0x8d4d,0x34}, + {0x8d4e,0xe4}, + {0x8d4f,0xf5}, + {0x8d50,0x22}, + {0x8d51,0xf5}, + {0x8d52,0x23}, + {0x8d53,0x85}, + {0x8d54,0x37}, + {0x8d55,0x31}, + {0x8d56,0x85}, + {0x8d57,0x36}, + {0x8d58,0x30}, + {0x8d59,0x85}, + {0x8d5a,0x35}, + {0x8d5b,0x2f}, + {0x8d5c,0x85}, + {0x8d5d,0x34}, + {0x8d5e,0x2e}, + {0x8d5f,0x12}, + {0x8d60,0x0f}, + {0x8d61,0x46}, + {0x8d62,0xe4}, + {0x8d63,0xf5}, + {0x8d64,0x22}, + {0x8d65,0xf5}, + {0x8d66,0x23}, + {0x8d67,0x90}, + {0x8d68,0x0e}, + {0x8d69,0x72}, + {0x8d6a,0x12}, + {0x8d6b,0x0d}, + {0x8d6c,0xea}, + {0x8d6d,0x12}, + {0x8d6e,0x0f}, + {0x8d6f,0x46}, + {0x8d70,0xe4}, + {0x8d71,0xf5}, + {0x8d72,0x22}, + {0x8d73,0xf5}, + {0x8d74,0x23}, + {0x8d75,0x90}, + {0x8d76,0x0e}, + {0x8d77,0x6e}, + {0x8d78,0x12}, + {0x8d79,0x0d}, + {0x8d7a,0xea}, + {0x8d7b,0x02}, + {0x8d7c,0x0f}, + {0x8d7d,0x46}, + {0x8d7e,0xe5}, + {0x8d7f,0x40}, + {0x8d80,0x24}, + {0x8d81,0xf2}, + {0x8d82,0xf5}, + {0x8d83,0x37}, + {0x8d84,0xe5}, + {0x8d85,0x3f}, + {0x8d86,0x34}, + {0x8d87,0x43}, + {0x8d88,0xf5}, + {0x8d89,0x36}, + {0x8d8a,0xe5}, + {0x8d8b,0x3e}, + {0x8d8c,0x34}, + {0x8d8d,0xa2}, + {0x8d8e,0xf5}, + {0x8d8f,0x35}, + {0x8d90,0xe5}, + {0x8d91,0x3d}, + {0x8d92,0x34}, + {0x8d93,0x28}, + {0x8d94,0xf5}, + {0x8d95,0x34}, + {0x8d96,0xe5}, + {0x8d97,0x37}, + {0x8d98,0xff}, + {0x8d99,0xe4}, + {0x8d9a,0xfe}, + {0x8d9b,0xfd}, + {0x8d9c,0xfc}, + {0x8d9d,0x78}, + {0x8d9e,0x18}, + {0x8d9f,0x12}, + {0x8da0,0x06}, + {0x8da1,0x69}, + {0x8da2,0x8f}, + {0x8da3,0x40}, + {0x8da4,0x8e}, + {0x8da5,0x3f}, + {0x8da6,0x8d}, + {0x8da7,0x3e}, + {0x8da8,0x8c}, + {0x8da9,0x3d}, + {0x8daa,0xe5}, + {0x8dab,0x37}, + {0x8dac,0x54}, + {0x8dad,0xa0}, + {0x8dae,0xff}, + {0x8daf,0xe5}, + {0x8db0,0x36}, + {0x8db1,0xfe}, + {0x8db2,0xe4}, + {0x8db3,0xfd}, + {0x8db4,0xfc}, + {0x8db5,0x78}, + {0x8db6,0x07}, + {0x8db7,0x12}, + {0x8db8,0x06}, + {0x8db9,0x56}, + {0x8dba,0x78}, + {0x8dbb,0x10}, + {0x8dbc,0x12}, + {0x8dbd,0x0f}, + {0x8dbe,0x9a}, + {0x8dbf,0xe4}, + {0x8dc0,0xff}, + {0x8dc1,0xfe}, + {0x8dc2,0xe5}, + {0x8dc3,0x35}, + {0x8dc4,0xfd}, + {0x8dc5,0xe4}, + {0x8dc6,0xfc}, + {0x8dc7,0x78}, + {0x8dc8,0x0e}, + {0x8dc9,0x12}, + {0x8dca,0x06}, + {0x8dcb,0x56}, + {0x8dcc,0x12}, + {0x8dcd,0x0f}, + {0x8dce,0x9d}, + {0x8dcf,0xe4}, + {0x8dd0,0xff}, + {0x8dd1,0xfe}, + {0x8dd2,0xfd}, + {0x8dd3,0xe5}, + {0x8dd4,0x34}, + {0x8dd5,0xfc}, + {0x8dd6,0x78}, + {0x8dd7,0x18}, + {0x8dd8,0x12}, + {0x8dd9,0x06}, + {0x8dda,0x56}, + {0x8ddb,0x78}, + {0x8ddc,0x08}, + {0x8ddd,0x12}, + {0x8dde,0x0f}, + {0x8ddf,0x9a}, + {0x8de0,0x22}, + {0x8de1,0x8f}, + {0x8de2,0x3b}, + {0x8de3,0x8e}, + {0x8de4,0x3a}, + {0x8de5,0x8d}, + {0x8de6,0x39}, + {0x8de7,0x8c}, + {0x8de8,0x38}, + {0x8de9,0x22}, + {0x8dea,0x12}, + {0x8deb,0x06}, + {0x8dec,0x7c}, + {0x8ded,0x8f}, + {0x8dee,0x31}, + {0x8def,0x8e}, + {0x8df0,0x30}, + {0x8df1,0x8d}, + {0x8df2,0x2f}, + {0x8df3,0x8c}, + {0x8df4,0x2e}, + {0x8df5,0x22}, + {0x8df6,0x93}, + {0x8df7,0xf9}, + {0x8df8,0xf8}, + {0x8df9,0x02}, + {0x8dfa,0x06}, + {0x8dfb,0x69}, + {0x8dfc,0x00}, + {0x8dfd,0x00}, + {0x8dfe,0x00}, + {0x8dff,0x00}, + {0x8e00,0x12}, + {0x8e01,0x01}, + {0x8e02,0x17}, + {0x8e03,0x08}, + {0x8e04,0x31}, + {0x8e05,0x15}, + {0x8e06,0x53}, + {0x8e07,0x54}, + {0x8e08,0x44}, + {0x8e09,0x20}, + {0x8e0a,0x20}, + {0x8e0b,0x20}, + {0x8e0c,0x20}, + {0x8e0d,0x20}, + {0x8e0e,0x13}, + {0x8e0f,0x01}, + {0x8e10,0x10}, + {0x8e11,0x01}, + {0x8e12,0x56}, + {0x8e13,0x40}, + {0x8e14,0x1a}, + {0x8e15,0x30}, + {0x8e16,0x29}, + {0x8e17,0x7e}, + {0x8e18,0x00}, + {0x8e19,0x30}, + {0x8e1a,0x04}, + {0x8e1b,0x20}, + {0x8e1c,0xdf}, + {0x8e1d,0x30}, + {0x8e1e,0x05}, + {0x8e1f,0x40}, + {0x8e20,0xbf}, + {0x8e21,0x50}, + {0x8e22,0x03}, + {0x8e23,0x00}, + {0x8e24,0xfd}, + {0x8e25,0x50}, + {0x8e26,0x27}, + {0x8e27,0x01}, + {0x8e28,0xfe}, + {0x8e29,0x60}, + {0x8e2a,0x00}, + {0x8e2b,0x11}, + {0x8e2c,0x00}, + {0x8e2d,0x3f}, + {0x8e2e,0x05}, + {0x8e2f,0x30}, + {0x8e30,0x00}, + {0x8e31,0x3f}, + {0x8e32,0x06}, + {0x8e33,0x22}, + {0x8e34,0x00}, + {0x8e35,0x3f}, + {0x8e36,0x01}, + {0x8e37,0x2a}, + {0x8e38,0x00}, + {0x8e39,0x3f}, + {0x8e3a,0x02}, + {0x8e3b,0x00}, + {0x8e3c,0x00}, + {0x8e3d,0x36}, + {0x8e3e,0x06}, + {0x8e3f,0x07}, + {0x8e40,0x00}, + {0x8e41,0x3f}, + {0x8e42,0x0b}, + {0x8e43,0x0f}, + {0x8e44,0xf0}, + {0x8e45,0x00}, + {0x8e46,0x00}, + {0x8e47,0x00}, + {0x8e48,0x00}, + {0x8e49,0x30}, + {0x8e4a,0x01}, + {0x8e4b,0x40}, + {0x8e4c,0xbf}, + {0x8e4d,0x30}, + {0x8e4e,0x01}, + {0x8e4f,0x00}, + {0x8e50,0xbf}, + {0x8e51,0x30}, + {0x8e52,0x29}, + {0x8e53,0x70}, + {0x8e54,0x00}, + {0x8e55,0x3a}, + {0x8e56,0x00}, + {0x8e57,0x00}, + {0x8e58,0xff}, + {0x8e59,0x3a}, + {0x8e5a,0x00}, + {0x8e5b,0x00}, + {0x8e5c,0xff}, + {0x8e5d,0x36}, + {0x8e5e,0x03}, + {0x8e5f,0x36}, + {0x8e60,0x02}, + {0x8e61,0x41}, + {0x8e62,0x44}, + {0x8e63,0x58}, + {0x8e64,0x20}, + {0x8e65,0x18}, + {0x8e66,0x10}, + {0x8e67,0x0a}, + {0x8e68,0x04}, + {0x8e69,0x04}, + {0x8e6a,0x00}, + {0x8e6b,0x03}, + {0x8e6c,0xff}, + {0x8e6d,0x64}, + {0x8e6e,0x00}, + {0x8e6f,0x00}, + {0x8e70,0x80}, + {0x8e71,0x00}, + {0x8e72,0x00}, + {0x8e73,0x00}, + {0x8e74,0x00}, + {0x8e75,0x00}, + {0x8e76,0x00}, + {0x8e77,0x02}, + {0x8e78,0x04}, + {0x8e79,0x06}, + {0x8e7a,0x06}, + {0x8e7b,0x00}, + {0x8e7c,0x03}, + {0x8e7d,0x51}, + {0x8e7e,0x00}, + {0x8e7f,0x7a}, + {0x8e80,0x50}, + {0x8e81,0x3c}, + {0x8e82,0x28}, + {0x8e83,0x1e}, + {0x8e84,0x10}, + {0x8e85,0x10}, + {0x8e86,0x50}, + {0x8e87,0x2d}, + {0x8e88,0x28}, + {0x8e89,0x16}, + {0x8e8a,0x10}, + {0x8e8b,0x10}, + {0x8e8c,0x02}, + {0x8e8d,0x00}, + {0x8e8e,0x10}, + {0x8e8f,0x0c}, + {0x8e90,0x10}, + {0x8e91,0x04}, + {0x8e92,0x0c}, + {0x8e93,0x6e}, + {0x8e94,0x06}, + {0x8e95,0x05}, + {0x8e96,0x00}, + {0x8e97,0xa5}, + {0x8e98,0x5a}, + {0x8e99,0x00}, + {0x8e9a,0xae}, + {0x8e9b,0x35}, + {0x8e9c,0xaf}, + {0x8e9d,0x36}, + {0x8e9e,0xe4}, + {0x8e9f,0xfd}, + {0x8ea0,0xed}, + {0x8ea1,0xc3}, + {0x8ea2,0x95}, + {0x8ea3,0x37}, + {0x8ea4,0x50}, + {0x8ea5,0x33}, + {0x8ea6,0x12}, + {0x8ea7,0x0f}, + {0x8ea8,0xe2}, + {0x8ea9,0xe4}, + {0x8eaa,0x93}, + {0x8eab,0xf5}, + {0x8eac,0x38}, + {0x8ead,0x74}, + {0x8eae,0x01}, + {0x8eaf,0x93}, + {0x8eb0,0xf5}, + {0x8eb1,0x39}, + {0x8eb2,0x45}, + {0x8eb3,0x38}, + {0x8eb4,0x60}, + {0x8eb5,0x23}, + {0x8eb6,0x85}, + {0x8eb7,0x39}, + {0x8eb8,0x82}, + {0x8eb9,0x85}, + {0x8eba,0x38}, + {0x8ebb,0x83}, + {0x8ebc,0xe0}, + {0x8ebd,0xfc}, + {0x8ebe,0x12}, + {0x8ebf,0x0f}, + {0x8ec0,0xe2}, + {0x8ec1,0x74}, + {0x8ec2,0x03}, + {0x8ec3,0x93}, + {0x8ec4,0x52}, + {0x8ec5,0x04}, + {0x8ec6,0x12}, + {0x8ec7,0x0f}, + {0x8ec8,0xe2}, + {0x8ec9,0x74}, + {0x8eca,0x02}, + {0x8ecb,0x93}, + {0x8ecc,0x42}, + {0x8ecd,0x04}, + {0x8ece,0x85}, + {0x8ecf,0x39}, + {0x8ed0,0x82}, + {0x8ed1,0x85}, + {0x8ed2,0x38}, + {0x8ed3,0x83}, + {0x8ed4,0xec}, + {0x8ed5,0xf0}, + {0x8ed6,0x0d}, + {0x8ed7,0x80}, + {0x8ed8,0xc7}, + {0x8ed9,0x22}, + {0x8eda,0x78}, + {0x8edb,0xbe}, + {0x8edc,0xe6}, + {0x8edd,0xd3}, + {0x8ede,0x08}, + {0x8edf,0xff}, + {0x8ee0,0xe6}, + {0x8ee1,0x64}, + {0x8ee2,0x80}, + {0x8ee3,0xf8}, + {0x8ee4,0xef}, + {0x8ee5,0x64}, + {0x8ee6,0x80}, + {0x8ee7,0x98}, + {0x8ee8,0x22}, + {0x8ee9,0x93}, + {0x8eea,0xff}, + {0x8eeb,0x7e}, + {0x8eec,0x00}, + {0x8eed,0xe6}, + {0x8eee,0xfc}, + {0x8eef,0x08}, + {0x8ef0,0xe6}, + {0x8ef1,0xfd}, + {0x8ef2,0x12}, + {0x8ef3,0x04}, + {0x8ef4,0xc1}, + {0x8ef5,0x78}, + {0x8ef6,0xc1}, + {0x8ef7,0xe6}, + {0x8ef8,0xfc}, + {0x8ef9,0x08}, + {0x8efa,0xe6}, + {0x8efb,0xfd}, + {0x8efc,0xd3}, + {0x8efd,0xef}, + {0x8efe,0x9d}, + {0x8eff,0xee}, + {0x8f00,0x9c}, + {0x8f01,0x22}, + {0x8f02,0x78}, + {0x8f03,0xbd}, + {0x8f04,0xd3}, + {0x8f05,0xe6}, + {0x8f06,0x64}, + {0x8f07,0x80}, + {0x8f08,0x94}, + {0x8f09,0x80}, + {0x8f0a,0x22}, + {0x8f0b,0x25}, + {0x8f0c,0xe0}, + {0x8f0d,0x24}, + {0x8f0e,0x0a}, + {0x8f0f,0xf8}, + {0x8f10,0xe6}, + {0x8f11,0xfe}, + {0x8f12,0x08}, + {0x8f13,0xe6}, + {0x8f14,0xff}, + {0x8f15,0x22}, + {0x8f16,0xe5}, + {0x8f17,0x3c}, + {0x8f18,0xd3}, + {0x8f19,0x94}, + {0x8f1a,0x00}, + {0x8f1b,0x40}, + {0x8f1c,0x0b}, + {0x8f1d,0x90}, + {0x8f1e,0x0e}, + {0x8f1f,0x88}, + {0x8f20,0x12}, + {0x8f21,0x0b}, + {0x8f22,0xf1}, + {0x8f23,0x90}, + {0x8f24,0x0e}, + {0x8f25,0x86}, + {0x8f26,0x80}, + {0x8f27,0x09}, + {0x8f28,0x90}, + {0x8f29,0x0e}, + {0x8f2a,0x82}, + {0x8f2b,0x12}, + {0x8f2c,0x0b}, + {0x8f2d,0xf1}, + {0x8f2e,0x90}, + {0x8f2f,0x0e}, + {0x8f30,0x80}, + {0x8f31,0xe4}, + {0x8f32,0x93}, + {0x8f33,0xf5}, + {0x8f34,0x44}, + {0x8f35,0xa3}, + {0x8f36,0xe4}, + {0x8f37,0x93}, + {0x8f38,0xf5}, + {0x8f39,0x43}, + {0x8f3a,0xd2}, + {0x8f3b,0x06}, + {0x8f3c,0x30}, + {0x8f3d,0x06}, + {0x8f3e,0x03}, + {0x8f3f,0xd3}, + {0x8f40,0x80}, + {0x8f41,0x01}, + {0x8f42,0xc3}, + {0x8f43,0x92}, + {0x8f44,0x0e}, + {0x8f45,0x22}, + {0x8f46,0xa2}, + {0x8f47,0xaf}, + {0x8f48,0x92}, + {0x8f49,0x32}, + {0x8f4a,0xc2}, + {0x8f4b,0xaf}, + {0x8f4c,0xe5}, + {0x8f4d,0x23}, + {0x8f4e,0x45}, + {0x8f4f,0x22}, + {0x8f50,0x90}, + {0x8f51,0x0e}, + {0x8f52,0x5d}, + {0x8f53,0x60}, + {0x8f54,0x0e}, + {0x8f55,0x12}, + {0x8f56,0x0f}, + {0x8f57,0xcb}, + {0x8f58,0xe0}, + {0x8f59,0xf5}, + {0x8f5a,0x2c}, + {0x8f5b,0x12}, + {0x8f5c,0x0f}, + {0x8f5d,0xc8}, + {0x8f5e,0xe0}, + {0x8f5f,0xf5}, + {0x8f60,0x2d}, + {0x8f61,0x80}, + {0x8f62,0x0c}, + {0x8f63,0x12}, + {0x8f64,0x0f}, + {0x8f65,0xcb}, + {0x8f66,0xe5}, + {0x8f67,0x30}, + {0x8f68,0xf0}, + {0x8f69,0x12}, + {0x8f6a,0x0f}, + {0x8f6b,0xc8}, + {0x8f6c,0xe5}, + {0x8f6d,0x31}, + {0x8f6e,0xf0}, + {0x8f6f,0xa2}, + {0x8f70,0x32}, + {0x8f71,0x92}, + {0x8f72,0xaf}, + {0x8f73,0x22}, + {0x8f74,0xd2}, + {0x8f75,0x01}, + {0x8f76,0xc2}, + {0x8f77,0x02}, + {0x8f78,0xe4}, + {0x8f79,0xf5}, + {0x8f7a,0x1f}, + {0x8f7b,0xf5}, + {0x8f7c,0x1e}, + {0x8f7d,0xd2}, + {0x8f7e,0x35}, + {0x8f7f,0xd2}, + {0x8f80,0x33}, + {0x8f81,0xd2}, + {0x8f82,0x36}, + {0x8f83,0xd2}, + {0x8f84,0x01}, + {0x8f85,0xc2}, + {0x8f86,0x02}, + {0x8f87,0xf5}, + {0x8f88,0x1f}, + {0x8f89,0xf5}, + {0x8f8a,0x1e}, + {0x8f8b,0xd2}, + {0x8f8c,0x35}, + {0x8f8d,0xd2}, + {0x8f8e,0x33}, + {0x8f8f,0x22}, + {0x8f90,0xfb}, + {0x8f91,0xd3}, + {0x8f92,0xed}, + {0x8f93,0x9b}, + {0x8f94,0x74}, + {0x8f95,0x80}, + {0x8f96,0xf8}, + {0x8f97,0x6c}, + {0x8f98,0x98}, + {0x8f99,0x22}, + {0x8f9a,0x12}, + {0x8f9b,0x06}, + {0x8f9c,0x69}, + {0x8f9d,0xe5}, + {0x8f9e,0x40}, + {0x8f9f,0x2f}, + {0x8fa0,0xf5}, + {0x8fa1,0x40}, + {0x8fa2,0xe5}, + {0x8fa3,0x3f}, + {0x8fa4,0x3e}, + {0x8fa5,0xf5}, + {0x8fa6,0x3f}, + {0x8fa7,0xe5}, + {0x8fa8,0x3e}, + {0x8fa9,0x3d}, + {0x8faa,0xf5}, + {0x8fab,0x3e}, + {0x8fac,0xe5}, + {0x8fad,0x3d}, + {0x8fae,0x3c}, + {0x8faf,0xf5}, + {0x8fb0,0x3d}, + {0x8fb1,0x22}, + {0x8fb2,0xc0}, + {0x8fb3,0xe0}, + {0x8fb4,0xc0}, + {0x8fb5,0x83}, + {0x8fb6,0xc0}, + {0x8fb7,0x82}, + {0x8fb8,0x90}, + {0x8fb9,0x3f}, + {0x8fba,0x0d}, + {0x8fbb,0xe0}, + {0x8fbc,0xf5}, + {0x8fbd,0x33}, + {0x8fbe,0xe5}, + {0x8fbf,0x33}, + {0x8fc0,0xf0}, + {0x8fc1,0xd0}, + {0x8fc2,0x82}, + {0x8fc3,0xd0}, + {0x8fc4,0x83}, + {0x8fc5,0xd0}, + {0x8fc6,0xe0}, + {0x8fc7,0x32}, + {0x8fc8,0x90}, + {0x8fc9,0x0e}, + {0x8fca,0x5f}, + {0x8fcb,0xe4}, + {0x8fcc,0x93}, + {0x8fcd,0xfe}, + {0x8fce,0x74}, + {0x8fcf,0x01}, + {0x8fd0,0x93}, + {0x8fd1,0xf5}, + {0x8fd2,0x82}, + {0x8fd3,0x8e}, + {0x8fd4,0x83}, + {0x8fd5,0x22}, + {0x8fd6,0x78}, + {0x8fd7,0x7f}, + {0x8fd8,0xe4}, + {0x8fd9,0xf6}, + {0x8fda,0xd8}, + {0x8fdb,0xfd}, + {0x8fdc,0x75}, + {0x8fdd,0x81}, + {0x8fde,0xcd}, + {0x8fdf,0x02}, + {0x8fe0,0x0c}, + {0x8fe1,0x98}, + {0x8fe2,0x8f}, + {0x8fe3,0x82}, + {0x8fe4,0x8e}, + {0x8fe5,0x83}, + {0x8fe6,0x75}, + {0x8fe7,0xf0}, + {0x8fe8,0x04}, + {0x8fe9,0xed}, + {0x8fea,0x02}, + {0x8feb,0x06}, + {0x8fec,0xa5}, + + {0x3022,0x03}, + {0x3023,0x00}, + {0x3024,0x00}, + {0x3025,0x00}, + {0x3026,0x00}, + {0x3027,0x00}, + {0x3028,0x00}, + {0x3029,0x7f}, + {0x3000,0x00}, + + {0x0000,0x00}, +}; + +#endif //__REG_REGS_H__ From dceb0e324ff94cab294cdc13ac5e89589e7cfd39 Mon Sep 17 00:00:00 2001 From: kidswong999 Date: Mon, 24 Jun 2019 14:46:35 +0800 Subject: [PATCH 4/4] Detect sensor based on I2C address. --- src/omv/sensor.c | 75 +++++++++++++++++++++++++++++------------------- src/omv/sensor.h | 11 +++++++ 2 files changed, 57 insertions(+), 29 deletions(-) diff --git a/src/omv/sensor.c b/src/omv/sensor.c index 18270d85f..efd61ff7e 100644 --- a/src/omv/sensor.c +++ b/src/omv/sensor.c @@ -14,6 +14,7 @@ #include "ov9650.h" #include "ov2640.h" #include "ov7725.h" +#include "ov5640.h" #include "mt9v034.h" #include "lepton.h" #include "sensor.h" @@ -21,8 +22,6 @@ #include "framebuffer.h" #include "omv_boardconfig.h" -#define OV_CHIP_ID (0x0A) -#define ON_CHIP_ID (0x00) #define MAX_XFER_SIZE (0xFFFC*4) sensor_t sensor = {0}; @@ -305,38 +304,56 @@ int sensor_init() // Set default snapshot function. sensor.snapshot = sensor_snapshot; - if (sensor.slv_addr == LEPTON_ID) { + switch (sensor.slv_addr) { + case OV7725_SLV_ADDR: + cambus_readb(sensor.slv_addr, OV_CHIP_ID, &sensor.chip_id); + break; + case OV2640_SLV_ADDR: + cambus_readb(sensor.slv_addr, OV_CHIP_ID, &sensor.chip_id); + break; + case MT9V034_SLV_ADDR: + cambus_readb(sensor.slv_addr, ON_CHIP_ID, &sensor.chip_id); + break; + case LEPTON_SLV_ADDR: sensor.chip_id = LEPTON_ID; + break; + case OV5640_SLV_ADDR: + cambus_readb2(sensor.slv_addr, OV5640_CHIP_ID, &sensor.chip_id); + break; + default: + return -3; + break; + } + + switch (sensor.chip_id) + { + case OV7725_ID: + init_ret = ov7725_init(&sensor); + break; + case MT9V034_ID: + if (extclk_config(MT9V034_XCLK_FREQ) != 0) { + return -3; + } + init_ret = mt9v034_init(&sensor); + break; + case LEPTON_ID: if (extclk_config(LEPTON_XCLK_FREQ) != 0) { return -3; } init_ret = lepton_init(&sensor); - } else { - // Read ON semi sensor ID. - cambus_readb(sensor.slv_addr, ON_CHIP_ID, &sensor.chip_id); - if (sensor.chip_id == MT9V034_ID) { - if (extclk_config(MT9V034_XCLK_FREQ) != 0) { - return -3; - } - init_ret = mt9v034_init(&sensor); - } else { // Read OV sensor ID. - cambus_readb(sensor.slv_addr, OV_CHIP_ID, &sensor.chip_id); - // Initialize sensor struct. - switch (sensor.chip_id) { - case OV9650_ID: - init_ret = ov9650_init(&sensor); - break; - case OV2640_ID: - init_ret = ov2640_init(&sensor); - break; - case OV7725_ID: - init_ret = ov7725_init(&sensor); - break; - default: - // Sensor is not supported. - return -3; - } - } + break; + case OV5640_ID: + init_ret = ov5640_init(&sensor); + break; + case OV2640_ID: + init_ret = ov2640_init(&sensor); + break; + case OV9650_ID: + init_ret = ov9650_init(&sensor); + break; + default: + return -3; + break; } if (init_ret != 0 ) { diff --git a/src/omv/sensor.h b/src/omv/sensor.h index 0b9b09e39..393c697be 100644 --- a/src/omv/sensor.h +++ b/src/omv/sensor.h @@ -12,9 +12,20 @@ #include #include "imlib.h" +#define OV7725_SLV_ADDR (0x42) +#define OV2640_SLV_ADDR (0x60) +#define MT9V034_SLV_ADDR (0xB8) +#define LEPTON_SLV_ADDR (0x54) +#define OV5640_SLV_ADDR (0x78) + +#define OV_CHIP_ID (0x0A) +#define OV5640_CHIP_ID (0x300A) +#define ON_CHIP_ID (0x00) + #define OV9650_ID (0x96) #define OV2640_ID (0x26) #define OV7725_ID (0x77) +#define OV5640_ID (0x56) #define MT9V034_ID (0x13) #define LEPTON_ID (0x54)