//****************************************
// 功能: 顯示加速度計和陀螺儀的原始數(shù)據(jù)
//****************************************
// BMI270 IIC測試程序
// MCU:STC15F2K60SA
// 晶振:11.0592M
// 顯示1:I2C OLED12864 SSD1306
// 顯示2:ISP LCD12864
// 時間:2024年11月17日
//****************************************
#include <STC15WXX.h>
#include <math.h> //Keil library
#include <stdio.h> //Keil library
#include <INTRINS.H>
#include <uart.H>
#include <OLED12864.H>
#include "myfun.h"
//#include "imu660ra_config.h"
typedef unsigned char uchar;
typedef unsigned short ushort;
typedef unsigned int uint;
//typedef unsigned long uint32 ; // 32 bits
//#define N1 21 //消抖顯示
//****************************************
// 定義51單片機(jī)端口
//****************************************
sbit SCL=P1^2; //IIC時鐘引腳定義
sbit SDA=P1^3; //IIC數(shù)據(jù)引腳定義
//****************************************
// 定義BMI270內(nèi)部地址
//****************************************
//#define SMPLRT_DIV 0x41 //陀螺儀采樣率,典型值:0x07(125Hz)
//#define CONFIG 0x06 //低通濾波頻率,典型值:0x06(5Hz)
//#define GYRO_CONFIG 0x43 //陀螺儀自檢及測量范圍,典型值:0x00(2000deg/s)
//#define ACCEL_CONFIG 0x41 //加速計自檢、測量范圍及高通濾波頻率,典型值:0x03(不自檢,2G,5Hz)
#define ACCEL_CONF 0x40 //加速計速率,帶寬,讀取模式,典型值:0xA8
#define ACCEL_RANGE 0x41 //加速計測量范圍,典型值:0x02
#define GYRO_CONF 0x42 //陀螺儀角速度速率,帶寬,典型值:0xA9
#define GYRO_RANGE 0x43 //陀螺儀角速度測量范圍,典型值:0x00
#define ACCEL_XOUT_H 0x0D
#define ACCEL_XOUT_L 0x0C
#define ACCEL_YOUT_H 0x0F
#define ACCEL_YOUT_L 0x0E
#define ACCEL_ZOUT_H 0x11
#define ACCEL_ZOUT_L 0x10
#define TEMP_OUT_H 0x23
#define TEMP_OUT_L 0x22
#define GYRO_XOUT_H 0x13
#define GYRO_XOUT_L 0x12
#define GYRO_YOUT_H 0x15
#define GYRO_YOUT_L 0x14
#define GYRO_ZOUT_H 0x17
#define GYRO_ZOUT_L 0x16
#define PWR_CONF 0x7C //電源 典型值:0x03,
#define PWR_CTRL 0x7D //電源 典型值:0x00 ,0X0E 禁用輔助接口
#define CHIP_ID 0x00 //IIC地址寄存器0X00(默認(rèn)值0x24,只讀)
#define SlaveAddress 0xD2 //IIC寫入時的地址字節(jié)數(shù)據(jù),+0為寫,0X68對應(yīng)OXD0,0X69對應(yīng)OXD2,+1為讀,
//當(dāng)SDO腳接“GND”的時候,BMI270的I2C地址是 0x68;
//當(dāng)SDO腳接“VDDIO”的時候,BMI270的I2C地址是 0x69.本測試架接“VDDIO”
//****************************************
//定義類型及變量
//****************************************
uchar dis[4]; //顯示數(shù)字(-511至512)的字符數(shù)組
int dis_data; //變量
int Temperature,Temper,Temp_h,Temp_l; //溫度及高低位數(shù)據(jù)
int AX,AX_H,AX_L;
int AY,AY_H,AY_L;
int AZ,AZ_H,AZ_L;
int GX,GX_H,GX_L;
int GY,GY_H,GY_L;
int GZ,GZ_H,GZ_L;
int Who;
//****************************************
//函數(shù)聲明
//****************************************
void delay(unsigned int k);
void delay_50us(unsigned int z); //延時50us
void Delay450us(); //延時450us
void Delay5us(); //延時5us
void lcd_printf(uchar *s,int temp_data);//轉(zhuǎn)換為10進(jìn)制數(shù)
void lcd_printf16(uchar *s,int temp_data1);//轉(zhuǎn)換為16進(jìn)制數(shù)
void Display_ACCEL_XOUT();
void Display_ACCEL_YOUT();
void Display_ACCEL_ZOUT();
void Display_GYRO_XOUT();
void Display_GYRO_YOUT();
void Display_GYRO_ZOUT();
void Display_Ad();
void Display_temp();
//BMI270操作函數(shù)
void InitBMI270(); //初始化BMI270
void I2C_Start();
void I2C_Stop();
void I2C_SendACK(bit ack);
bit I2C_RecvACK();
void I2C_SendByte(uchar dat);
uchar I2C_RecvByte();
void I2C_ReadPage();
void I2C_WritePage();
void display_ACCEL_x();
void display_ACCEL_y();
void display_ACCEL_z();
uchar Single_ReadI2C(uchar REG_Address); //讀取I2C數(shù)據(jù)
void Single_WriteI2C(uchar REG_Address,uchar REG_data); //向I2C寫入數(shù)據(jù)
void Single_WriteI2CS(uchar REG_Address,uchar *dat,uchar len); //向I2C寫入一串?dāng)?shù)據(jù)
const unsigned char code bmi270_config_file[] = // BMI270配置文件,需寫入OX5E中
{
0xc8, 0x2e, 0x00, 0x2e, 0x80, 0x2e, 0xb6, 0xb0, 0xc8, 0x2e, 0x00, 0x2e,
0x80, 0x2e, 0xee, 0x00, 0x80, 0x2e, 0x6a, 0x01, 0x80, 0x2e, 0xad, 0x01,
0xc8, 0x2e, 0x00, 0x2e, 0x80, 0x2e, 0x01, 0xb0, 0x50, 0x32, 0x21, 0x2e,
0x59, 0xf5, 0x10, 0x30, 0x21, 0x2e, 0x6a, 0xf5, 0x80, 0x2e, 0xea, 0x00,
0x00, 0x00, 0x00, 0x00, 0x3e, 0x21, 0x01, 0x00, 0x22, 0x00, 0x7f, 0x00,
0x00, 0x0c, 0xff, 0x0f, 0xbc, 0x00, 0x85, 0x33, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0xac, 0xa2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x32, 0x01, 0xe6, 0x78,
0x84, 0x00, 0x9c, 0x6c, 0x07, 0x00, 0x64, 0x75, 0xaa, 0x7e, 0x5f, 0x05,
0xbe, 0x0a, 0x5f, 0x05, 0x96, 0xe8, 0xef, 0x41, 0x01, 0x00, 0x0c, 0x00,
0x0c, 0x00, 0x4a, 0x00, 0xa0, 0x00, 0x00, 0x00, 0x0c, 0x00, 0xf0, 0x3c,
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x02,
0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0xc1, 0x4a, 0x00, 0x00, 0x6d, 0x57, 0x00, 0x00, 0x77, 0x8e, 0x00, 0x00,
0xe0, 0xff, 0xff, 0xff, 0xd3, 0xff, 0xff, 0xff, 0xe5, 0xff, 0xff, 0xff,
0xee, 0xe1, 0xff, 0xff, 0x7c, 0x13, 0x00, 0x00, 0x46, 0xe6, 0xff, 0xff,
0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x1a, 0x24, 0x22, 0x00, 0x80, 0x2e, 0x48, 0x02, 0x10, 0x50, 0xf7, 0x7f,
0x00, 0x2e, 0x0f, 0x2e, 0x69, 0xf5, 0xff, 0xbf, 0xff, 0xbb, 0xc0, 0x91,
0x02, 0x2f, 0x37, 0x30, 0x2f, 0x2e, 0x69, 0xf5, 0xf7, 0x6f, 0xf0, 0x5f,
0xc8, 0x2e, 0x80, 0x2e, 0x00, 0xc1, 0xfd, 0x2d, 0xc2, 0x00, 0xaa, 0xaa,
0xd0, 0x07, 0xc0, 0xf5, 0xdc, 0x00, 0x1e, 0xf2, 0x69, 0xf5, 0x19, 0xf4,
0x66, 0xf5, 0x00, 0x04, 0xff, 0x00, 0x64, 0xf5, 0xc6, 0x00, 0x08, 0x02,
0xc9, 0x00, 0xa2, 0x00, 0xa4, 0x00, 0x87, 0x00, 0xda, 0x00, 0xff, 0x3f,
0xff, 0xfb, 0x00, 0x18, 0x00, 0x10, 0xfd, 0xf5, 0xe2, 0x00, 0xac, 0x00,
0xe2, 0x00, 0xe5, 0x00, 0x34, 0x43, 0x34, 0x4b, 0xff, 0xfd, 0x9a, 0xf1,
0x99, 0x51, 0x9a, 0xf9, 0xc1, 0xf5, 0x8d, 0xf1, 0x80, 0x00, 0x00, 0x40,
0x4d, 0x01, 0xeb, 0x00, 0x7f, 0xff, 0xc2, 0xf5, 0x68, 0xf7, 0xba, 0x00,
0xae, 0x00, 0xb4, 0x00, 0xc0, 0x00, 0x60, 0x01, 0x61, 0xf7, 0x5b, 0xf7,
0x63, 0x01, 0x78, 0xf7, 0x77, 0xf7, 0x00, 0x80, 0xff, 0x7f, 0x86, 0x00,
0x52, 0x01, 0x65, 0x01, 0xb3, 0xf1, 0x5f, 0x01, 0x6c, 0xf7, 0xb9, 0xf1,
0xc6, 0xf1, 0x00, 0xe0, 0x00, 0xff, 0xd1, 0xf5, 0x67, 0x01, 0x6a, 0x01,
0xff, 0x03, 0x00, 0xfc, 0xf0, 0x3f, 0x0d, 0x02, 0x10, 0x02, 0x12, 0x02,
0xb9, 0x00, 0x2d, 0xf5, 0xca, 0xf5, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0xa0, 0x50, 0x80, 0x7f, 0x91, 0x7f, 0xd7, 0x7f,
0xc5, 0x7f, 0xb3, 0x7f, 0xa2, 0x7f, 0xe4, 0x7f, 0xf6, 0x7f, 0x7b, 0x7f,
0x00, 0x2e, 0x0d, 0x50, 0x00, 0x2e, 0x01, 0x40, 0x9f, 0xbc, 0x9f, 0xb8,
0x40, 0x90, 0x02, 0x2f, 0x31, 0x30, 0x23, 0x2e, 0x69, 0xf5, 0x37, 0x80,
0x00, 0x2e, 0x00, 0x40, 0x60, 0x7f, 0x98, 0x2e, 0xdc, 0x01, 0x62, 0x6f,
0x01, 0x32, 0x91, 0x08, 0x80, 0xb2, 0x0d, 0x2f, 0x00, 0xb2, 0x03, 0x2f,
0x05, 0x2e, 0x18, 0x00, 0x80, 0x90, 0x05, 0x2f, 0x17, 0x56, 0x02, 0x30,
0xc1, 0x42, 0xc2, 0x86, 0x00, 0x2e, 0xc2, 0x42, 0x23, 0x2e, 0x60, 0xf5,
0x00, 0x90, 0x00, 0x30, 0x06, 0x2f, 0x21, 0x2e, 0x81, 0x00, 0x15, 0x50,
0x21, 0x2e, 0x5a, 0xf2, 0x98, 0x2e, 0xf0, 0x01, 0xf6, 0x6f, 0xe4, 0x6f,
0x80, 0x6f, 0x91, 0x6f, 0xa2, 0x6f, 0xb3, 0x6f, 0xc5, 0x6f, 0xd7, 0x6f,
0x7b, 0x6f, 0x60, 0x5f, 0xc8, 0x2e, 0x30, 0x50, 0xe5, 0x7f, 0xf6, 0x7f,
0xd7, 0x7f, 0x00, 0x2e, 0x0d, 0x5a, 0x00, 0x2e, 0x46, 0x41, 0x6f, 0xbf,
0x6f, 0xbb, 0x80, 0x91, 0x02, 0x2f, 0x36, 0x30, 0x2d, 0x2e, 0x69, 0xf5,
0x46, 0x30, 0x0f, 0x2e, 0xa4, 0xf1, 0xbe, 0x09, 0x77, 0x8b, 0x80, 0xb3,
0x06, 0x2f, 0x0d, 0x2e, 0xa8, 0x00, 0x84, 0xaf, 0x02, 0x2f, 0x16, 0x30,
0x2d, 0x2e, 0x84, 0x00, 0x86, 0x30, 0x46, 0x43, 0x00, 0x2e, 0xf6, 0x6f,
0xe5, 0x6f, 0xd7, 0x6f, 0xd0, 0x5f, 0xc8, 0x2e, 0x03, 0x2e, 0xa7, 0x00,
0x16, 0xb8, 0x02, 0x34, 0x4a, 0x0c, 0x21, 0x2e, 0x2d, 0xf5, 0xc0, 0x2e,
0x23, 0x2e, 0xa7, 0x00, 0x2f, 0x52, 0x00, 0x2e, 0x60, 0x40, 0x41, 0x40,
0x0d, 0xbc, 0x98, 0xbc, 0xc0, 0x2e, 0x01, 0x0a, 0x0f, 0xb8, 0x43, 0x86,
0x25, 0x40, 0x04, 0x40, 0xd8, 0xbe, 0x2c, 0x0b, 0x22, 0x11, 0x54, 0x42,
0x03, 0x80, 0x4b, 0x0e, 0xf6, 0x2f, 0xb8, 0x2e, 0x10, 0x50, 0xfb, 0x7f,
0x98, 0x2e, 0x56, 0xc7, 0xfb, 0x6f, 0xf0, 0x5f, 0x80, 0x2e, 0x49, 0xc3,
0x21, 0x2e, 0x59, 0xf5, 0x10, 0x30, 0xc0, 0x2e, 0x21, 0x2e, 0x4a, 0xf1,
0x80, 0x2e, 0x00, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x07,
0x3e, 0x21, 0x00, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x05, 0xe0, 0xaa, 0x38, 0x05, 0xe0, 0x90, 0x30, 0x1e, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x25, 0x50, 0x10, 0x50,
0x31, 0x52, 0x05, 0x2e, 0xa7, 0x00, 0xfb, 0x7f, 0x00, 0x2e, 0x13, 0x40,
0x93, 0x42, 0x41, 0x0e, 0xfb, 0x2f, 0x98, 0x2e, 0xd2, 0x01, 0x98, 0x2e,
0x87, 0xcf, 0x01, 0x2e, 0xad, 0x00, 0x00, 0xb2, 0x08, 0x2f, 0x01, 0x2e,
0x69, 0xf7, 0xb1, 0x3f, 0x01, 0x08, 0x01, 0x30, 0x23, 0x2e, 0xad, 0x00,
0x21, 0x2e, 0x69, 0xf7, 0xfb, 0x6f, 0xf0, 0x5f, 0xb8, 0x2e, 0x44, 0x47,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x40, 0x50, 0x98, 0x2e, 0xf5, 0xb5, 0x00, 0x30,
0xf0, 0x7f, 0xe0, 0x7f, 0x21, 0x2e, 0x69, 0xf5, 0x00, 0x2e, 0x00, 0x2e,
0xd0, 0x2e, 0x00, 0x2e, 0x01, 0x80, 0x08, 0xa2, 0xfb, 0x2f, 0x01, 0x2e,
0xc5, 0x00, 0x00, 0xb2, 0x1a, 0x2f, 0x05, 0x2e, 0x0c, 0x02, 0x01, 0x52,
0x98, 0x2e, 0xc7, 0xc1, 0x03, 0x2e, 0x18, 0x00, 0x40, 0xb2, 0xf0, 0x7f,
0x10, 0x2f, 0x01, 0x2e, 0x0c, 0x02, 0x06, 0xbc, 0x0f, 0xb8, 0x00, 0x90,
0x0a, 0x2f, 0x01, 0x50, 0x98, 0x2e, 0x4d, 0xc3, 0x01, 0x50, 0x98, 0x2e,
0x5a, 0xc7, 0x98, 0x2e, 0x3e, 0xb1, 0x10, 0x30, 0x21, 0x2e, 0x19, 0x00,
0x01, 0x2e, 0x0c, 0x02, 0x06, 0xbc, 0x0f, 0xb8, 0x00, 0xb2, 0x0e, 0x2f,
0xe0, 0x6f, 0x00, 0x90, 0x0b, 0x2f, 0x07, 0x52, 0x00, 0x2e, 0x50, 0x40,
0x41, 0x40, 0x21, 0x2e, 0xe8, 0x00, 0x23, 0x2e, 0xe9, 0x00, 0x98, 0x2e,
0x91, 0x03, 0x10, 0x30, 0xe0, 0x7f, 0x98, 0x2e, 0xd7, 0xb1, 0x01, 0x2e,
0xa8, 0x00, 0x04, 0xae, 0x0b, 0x2f, 0x01, 0x2e, 0xc5, 0x00, 0x00, 0xb2,
0x07, 0x2f, 0x01, 0x52, 0x98, 0x2e, 0xa9, 0xb5, 0x00, 0xb2, 0x02, 0x2f,
0x10, 0x30, 0x21, 0x2e, 0x86, 0x00, 0x01, 0x2e, 0x86, 0x00, 0x00, 0x90,
0x36, 0x2f, 0x01, 0x2e, 0xab, 0x00, 0x00, 0xb2, 0x04, 0x2f, 0x98, 0x2e,
0xf2, 0x03, 0x00, 0x30, 0x21, 0x2e, 0x84, 0x00, 0x01, 0x2e, 0x84, 0x00,
0x00, 0xb2, 0x0b, 0x2f, 0x01, 0x2e, 0xa8, 0x00, 0x00, 0x90, 0x02, 0x2f,
0x98, 0x2e, 0x43, 0xb5, 0x02, 0x2d, 0x98, 0x2e, 0x9b, 0xb4, 0x00, 0x30,
0x21, 0x2e, 0x84, 0x00, 0x01, 0x2e, 0x85, 0x00, 0x00, 0xb2, 0x31, 0x2f,
0x01, 0x2e, 0x85, 0x00, 0x01, 0x31, 0x01, 0x08, 0x00, 0xb2, 0x04, 0x2f,
0x98, 0x2e, 0x47, 0xcb, 0x10, 0x30, 0x21, 0x2e, 0x19, 0x00, 0x81, 0x30,
0x01, 0x2e, 0x85, 0x00, 0x01, 0x08, 0x00, 0xb2, 0x04, 0x2f, 0x98, 0x2e,
0x53, 0xb5, 0x00, 0x30, 0x21, 0x2e, 0xa8, 0x00, 0x00, 0x30, 0x21, 0x2e,
0x85, 0x00, 0x18, 0x2d, 0x01, 0x2e, 0xa8, 0x00, 0x03, 0xaa, 0x01, 0x2f,
0x98, 0x2e, 0x60, 0xb5, 0x01, 0x2e, 0xa8, 0x00, 0x3f, 0x80, 0x03, 0xa2,
0x01, 0x2f, 0x00, 0x2e, 0x02, 0x2d, 0x98, 0x2e, 0x76, 0xb5, 0x30, 0x30,
0x98, 0x2e, 0xbf, 0x03, 0x00, 0x30, 0x21, 0x2e, 0x86, 0x00, 0x50, 0x32,
0x98, 0x2e, 0xf8, 0x01, 0x01, 0x2e, 0x19, 0x00, 0x00, 0xb2, 0x1f, 0x2f,
0x98, 0x2e, 0xf5, 0xcb, 0x03, 0x2e, 0xa9, 0x00, 0x01, 0x0a, 0x21, 0x2e,
0xdc, 0x00, 0x09, 0x52, 0x7e, 0x82, 0x0b, 0x50, 0x41, 0x40, 0x18, 0xb9,
0x11, 0x42, 0x02, 0x82, 0x02, 0x42, 0xd1, 0x7f, 0xf0, 0x31, 0x41, 0x40,
0xf2, 0x6f, 0x25, 0xbd, 0x08, 0x08, 0x02, 0x0a, 0xc0, 0x7f, 0x98, 0x2e,
0xa8, 0xcf, 0x06, 0xbc, 0xc1, 0x6f, 0xd2, 0x6f, 0x08, 0x0a, 0x80, 0x42,
0x98, 0x2e, 0x20, 0x02, 0x00, 0x30, 0x03, 0x2e, 0xa8, 0x00, 0x21, 0x2e,
0x19, 0x00, 0x21, 0x2e, 0xc5, 0x00, 0x44, 0x90, 0x90, 0x2e, 0x4e, 0x02,
0x03, 0x2e, 0xfd, 0xf5, 0x42, 0x30, 0x8a, 0x08, 0x80, 0xb2, 0x05, 0x2f,
0x05, 0x2e, 0xc0, 0xf5, 0x28, 0xbd, 0x2f, 0xb9, 0x80, 0x90, 0x0b, 0x2f,
0x22, 0x30, 0x4a, 0x08, 0x40, 0xb2, 0x90, 0x2e, 0x4e, 0x02, 0x03, 0x2e,
0xc2, 0xf5, 0x98, 0xbc, 0x9f, 0xb8, 0x40, 0xb2, 0x90, 0x2e, 0x4e, 0x02,
0x03, 0x52, 0x05, 0x54, 0x03, 0x30, 0x23, 0x2e, 0x00, 0xb0, 0x41, 0x16,
0xc1, 0x86, 0x23, 0x2e, 0xff, 0xb7, 0x5a, 0x0e, 0xf7, 0x2f, 0x80, 0x2e,
0x4e, 0x02, 0x11, 0x30, 0x81, 0x08, 0x01, 0x2e, 0x6a, 0xf7, 0x71, 0x3f,
0x23, 0xbd, 0x01, 0x08, 0x02, 0x0a, 0xc0, 0x2e, 0x21, 0x2e, 0x6a, 0xf7,
0x80, 0x2e, 0x00, 0xc1, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x9a, 0x01, 0x34, 0x03, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x2f, 0x50, 0x41, 0x30, 0x02, 0x40, 0x51, 0x0a, 0x01, 0x42,
0x41, 0x3c, 0x01, 0x00, 0x31, 0x30, 0x02, 0x40, 0x51, 0x0a, 0x21, 0x42,
0x71, 0x3f, 0x33, 0x54, 0x02, 0x42, 0x90, 0x31, 0x05, 0x2e, 0xed, 0xf4,
0x51, 0x08, 0x23, 0x2e, 0xed, 0xf4, 0x21, 0x2e, 0xc1, 0x00, 0x01, 0x30,
0xc0, 0x2e, 0x23, 0x2e, 0xaa, 0x00, 0x03, 0xbc, 0x21, 0x2e, 0xa9, 0x00,
0x03, 0x2e, 0xa9, 0x00, 0x40, 0xb2, 0x10, 0x30, 0x21, 0x2e, 0x19, 0x00,
0x01, 0x30, 0x05, 0x2f, 0x05, 0x2e, 0xac, 0x00, 0x80, 0x90, 0x01, 0x2f,
0x23, 0x2e, 0x6f, 0xf5, 0xc0, 0x2e, 0x21, 0x2e, 0xad, 0x00, 0x30, 0x25,
0x00, 0x30, 0x21, 0x2e, 0x5a, 0xf5, 0x10, 0x50, 0x21, 0x2e, 0x84, 0x00,
0x21, 0x2e, 0x85, 0x00, 0xfb, 0x7f, 0x98, 0x2e, 0x43, 0x03, 0x40, 0x30,
0x21, 0x2e, 0xa8, 0x00, 0xfb, 0x6f, 0xf0, 0x5f, 0x03, 0x25, 0x80, 0x2e,
0xab, 0x03, 0x01, 0x2e, 0x5d, 0xf7, 0x08, 0xbc, 0x80, 0xac, 0x0e, 0xbb,
0x02, 0x2f, 0x00, 0x30, 0x41, 0x04, 0x82, 0x06, 0xc0, 0xa4, 0x00, 0x30,
0x11, 0x2f, 0x40, 0xa9, 0x03, 0x2f, 0x40, 0x91, 0x0d, 0x2f, 0x00, 0xa7,
0x0b, 0x2f, 0x80, 0xb3, 0x4b, 0x58, 0x02, 0x2f, 0x90, 0xa1, 0x26, 0x13,
0x20, 0x23, 0x80, 0x90, 0x10, 0x30, 0x01, 0x2f, 0xcc, 0x0e, 0x00, 0x2f,
0x00, 0x30, 0xb8, 0x2e, 0x01, 0x2e, 0xab, 0x00, 0x03, 0x2e, 0xaa, 0x00,
0x48, 0x0e, 0x01, 0x2f, 0x80, 0x2e, 0x43, 0xb5, 0xb8, 0x2e, 0x80, 0x2e,
0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0xfd, 0x2d, 0x00, 0x00, 0xa0, 0x50,
0x82, 0x7f, 0x90, 0x7f, 0xa1, 0x7f, 0xd7, 0x7f, 0xc5, 0x7f, 0xb3, 0x7f,
0xe4, 0x7f, 0xf6, 0x7f, 0x7b, 0x7f, 0x00, 0x2e, 0x0d, 0x54, 0x00, 0x2e,
0x80, 0x40, 0x0f, 0xbc, 0x0f, 0xb8, 0x00, 0x90, 0x02, 0x2f, 0x30, 0x30,
0x21, 0x2e, 0x69, 0xf5, 0xf0, 0x3e, 0x03, 0x2e, 0xeb, 0xf0, 0x48, 0x08,
0x01, 0x2e, 0xa8, 0x00, 0xb7, 0x84, 0x23, 0x2e, 0xeb, 0xf0, 0x04, 0x90,
0x62, 0x7f, 0x05, 0x2f, 0xf2, 0x3b, 0x01, 0x2e, 0xc2, 0xf5, 0x82, 0x08,
0x25, 0x2e, 0xc2, 0xf5, 0x98, 0x2e, 0xdc, 0x01, 0x00, 0xb2, 0x63, 0x2f,
0x05, 0x2e, 0x11, 0x02, 0x01, 0x2e, 0x13, 0x02, 0x8f, 0xb8, 0x07, 0x2e,
0x08, 0x02, 0x2f, 0xb9, 0x91, 0x0a, 0xb3, 0xbd, 0x01, 0x2e, 0x08, 0x02,
0xbf, 0xb8, 0x04, 0xbc, 0x91, 0x0a, 0x0f, 0xb8, 0x90, 0x0a, 0x25, 0x2e,
0x18, 0x00, 0x05, 0x2e, 0xc1, 0xf5, 0x2e, 0xbc, 0x05, 0x2e, 0xa8, 0x00,
0x84, 0xa2, 0x0e, 0xb8, 0x31, 0x30, 0x88, 0x04, 0x07, 0x2f, 0x01, 0x2e,
0x18, 0x00, 0x00, 0x90, 0x03, 0x2f, 0x01, 0x2e, 0x82, 0x00, 0x00, 0xb2,
0x19, 0x2f, 0x0f, 0x50, 0x01, 0x52, 0x98, 0x2e, 0xe5, 0x01, 0x05, 0x2e,
0x81, 0x00, 0x25, 0x2e, 0xc5, 0x00, 0x05, 0x2e, 0x81, 0x00, 0x80, 0x90,
0x02, 0x2f, 0x12, 0x30, 0x25, 0x2e, 0x81, 0x00, 0x01, 0x2e, 0x82, 0x00,
0x00, 0xb2, 0x10, 0x30, 0x05, 0x2e, 0x18, 0x00, 0x01, 0x2f, 0x21, 0x2e,
0x18, 0x00, 0x25, 0x2e, 0x82, 0x00, 0x05, 0x2e, 0x18, 0x00, 0x80, 0xb2,
0x20, 0x2f, 0x01, 0x2e, 0xc0, 0xf5, 0xf2, 0x30, 0x02, 0x08, 0x07, 0xaa,
0x73, 0x30, 0x03, 0x2e, 0x83, 0x00, 0x18, 0x22, 0x41, 0x1a, 0x05, 0x2f,
0x03, 0x2e, 0x66, 0xf5, 0x9f, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x0c, 0x2f,
0x11, 0x52, 0x03, 0x30, 0x53, 0x42, 0x2b, 0x30, 0x90, 0x04, 0x5b, 0x42,
0x21, 0x2e, 0x83, 0x00, 0x24, 0xbd, 0x7e, 0x80, 0x81, 0x84, 0x43, 0x42,
0x02, 0x42, 0x02, 0x32, 0x25, 0x2e, 0x62, 0xf5, 0x05, 0x2e, 0xaa, 0x00,
0x81, 0x80, 0x21, 0x2e, 0xaa, 0x00, 0x62, 0x6f, 0x00, 0x31, 0x80, 0x42,
0x00, 0x2e, 0x05, 0x2e, 0x0c, 0x02, 0x13, 0x50, 0x90, 0x08, 0x80, 0xb2,
0x0b, 0x2f, 0x05, 0x2e, 0xca, 0xf5, 0xf0, 0x3e, 0x90, 0x08, 0x25, 0x2e,
0xca, 0xf5, 0x05, 0x2e, 0x59, 0xf5, 0xe0, 0x3f, 0x90, 0x08, 0x25, 0x2e,
0x59, 0xf5, 0xf6, 0x6f, 0xe4, 0x6f, 0x90, 0x6f, 0xa1, 0x6f, 0xb3, 0x6f,
0xc5, 0x6f, 0xd7, 0x6f, 0x7b, 0x6f, 0x82, 0x6f, 0x60, 0x5f, 0xc8, 0x2e,
0xd0, 0x50, 0x80, 0x7f, 0x91, 0x7f, 0xd7, 0x7f, 0xc5, 0x7f, 0xb3, 0x7f,
0xa2, 0x7f, 0xe4, 0x7f, 0xf6, 0x7f, 0x7b, 0x7f, 0x00, 0x2e, 0x0d, 0x50,
0x00, 0x2e, 0x01, 0x40, 0x9f, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x02, 0x2f,
0x31, 0x30, 0x23, 0x2e, 0x69, 0xf5, 0x38, 0x82, 0x61, 0x7f, 0x20, 0x30,
0x41, 0x40, 0x23, 0x2e, 0x85, 0x00, 0x03, 0x2e, 0x85, 0x00, 0x08, 0x08,
0x00, 0xb2, 0x11, 0x2f, 0x19, 0x50, 0x1a, 0x25, 0x12, 0x40, 0x32, 0x7f,
0x73, 0x82, 0x12, 0x40, 0x42, 0x7f, 0x00, 0x2e, 0x00, 0x40, 0x50, 0x7f,
0x98, 0x2e, 0x6a, 0xd6, 0x01, 0x2e, 0x61, 0xf7, 0x01, 0x31, 0x01, 0x0a,
0x21, 0x2e, 0x61, 0xf7, 0x80, 0x30, 0x03, 0x2e, 0x85, 0x00, 0x08, 0x08,
0x00, 0xb2, 0x40, 0x2f, 0x01, 0x2e, 0x14, 0x02, 0x05, 0x2e, 0x0b, 0x02,
0x03, 0x2e, 0x0b, 0x02, 0x96, 0xbc, 0x27, 0xbd, 0x9f, 0xb8, 0x40, 0x90,
0x2f, 0xb9, 0x21, 0x2e, 0xc0, 0x00, 0x25, 0x2e, 0xac, 0x00, 0x10, 0x30,
0x01, 0x30, 0x24, 0x2f, 0x03, 0x2e, 0xa8, 0x00, 0x44, 0xb2, 0x05, 0x2f,
0x47, 0xb2, 0x00, 0x30, 0x27, 0x2f, 0x21, 0x2e, 0x85, 0x00, 0x25, 0x2d,
0x03, 0x2e, 0xfd, 0xf5, 0x9e, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x0e, 0x2f,
0x03, 0x2e, 0xfc, 0xf5, 0x99, 0xbc, 0x9f, 0xb8, 0x40, 0x90, 0x08, 0x2f,
0x98, 0x2e, 0xdc, 0x01, 0x00, 0xb2, 0x10, 0x30, 0x03, 0x2f, 0x50, 0x30,
0x21, 0x2e, 0xa8, 0x00, 0x10, 0x2d, 0x98, 0x2e, 0xab, 0x03, 0x00, 0x30,
0x21, 0x2e, 0x85, 0x00, 0x0a, 0x2d, 0x05, 0x2e, 0x69, 0xf7, 0x2d, 0xbd,
0x2f, 0xb9, 0x80, 0xb2, 0x01, 0x2f, 0x21, 0x2e, 0x86, 0x00, 0x23, 0x2e,
0x85, 0x00, 0x60, 0x6f, 0xe1, 0x31, 0x01, 0x42, 0x00, 0x2e, 0xf6, 0x6f,
0xe4, 0x6f, 0x80, 0x6f, 0x91, 0x6f, 0xa2, 0x6f, 0xb3, 0x6f, 0xc5, 0x6f,
0xd7, 0x6f, 0x7b, 0x6f, 0x30, 0x5f, 0xc8, 0x2e, 0x1b, 0x50, 0xe0, 0x50,
0x12, 0x40, 0x06, 0x40, 0x1a, 0x25, 0x6c, 0xbe, 0x77, 0x8a, 0x75, 0x80,
0xfb, 0x7f, 0x0b, 0x30, 0x2b, 0x56, 0xd3, 0x08, 0x4c, 0xba, 0x68, 0xbb,
0x0b, 0x42, 0xd0, 0x7f, 0x6b, 0x7f, 0x4b, 0x43, 0xc0, 0xb2, 0x2d, 0x2e,
0x8c, 0x00, 0xc4, 0x7f, 0xe5, 0x7f, 0xb3, 0x7f, 0x74, 0x2f, 0x01, 0x2e,
0xa6, 0x00, 0x00, 0xb2, 0x0b, 0x2f, 0x1d, 0x52, 0x01, 0x2e, 0xa1, 0x00,
0xa2, 0x7f, 0x98, 0x2e, 0xbb, 0xcc, 0x01, 0x30, 0x23, 0x2e, 0xa6, 0x00,
0xa2, 0x6f, 0xb3, 0x6f, 0x1a, 0x25, 0x26, 0xbc, 0x86, 0xba, 0x25, 0xbc,
0x0f, 0xb8, 0x54, 0xb1, 0x00, 0xb2, 0xa6, 0x7f, 0x0c, 0x2f, 0x1f, 0x50,
0x21, 0x54, 0x0b, 0x30, 0x0b, 0x2e, 0x08, 0x02, 0x29, 0x58, 0x1b, 0x42,
0x9b, 0x42, 0x6c, 0x09, 0x0b, 0x42, 0x2b, 0x2e, 0x08, 0x02, 0x8b, 0x42,
0x72, 0x84, 0x2d, 0x50, 0x58, 0x09, 0x27, 0x52, 0x01, 0x50, 0x92, 0x7f,
0x85, 0x7f, 0x98, 0x2e, 0xc2, 0xc0, 0x01, 0x2e, 0xa1, 0x00, 0xe5, 0x6f,
0xd4, 0x6f, 0x83, 0x6f, 0x92, 0x6f, 0x1d, 0x52, 0x23, 0x5c, 0x98, 0x2e,
0x06, 0xcd, 0xb3, 0x6f, 0x1f, 0x50, 0x72, 0x6f, 0xb4, 0xbc, 0x14, 0x40,
0x80, 0xb2, 0x9f, 0xba, 0x02, 0x40, 0x01, 0x30, 0xe0, 0x7f, 0x05, 0x2f,
0x40, 0xb3, 0x03, 0x2f, 0x21, 0x5c, 0x11, 0x30, 0x94, 0x43, 0x82, 0x43,
0xb3, 0xbd, 0xbf, 0xb9, 0xc0, 0xb2, 0x1c, 0x2f, 0x53, 0x6f, 0x23, 0x01,
0x63, 0x6f, 0x93, 0x02, 0x02, 0x42, 0x40, 0x91, 0x29, 0x2e, 0xa2, 0x00,
0x21, 0x50, 0x12, 0x2f, 0x21, 0x56, 0x00, 0x2e, 0xd5, 0x40, 0xc3, 0x40,
0x65, 0x05, 0xd3, 0x06, 0xc0, 0xaa, 0x04, 0x2f, 0xc0, 0x90, 0x08, 0x2f,
0xa3, 0x6f, 0x5d, 0x0f, 0x05, 0x2f, 0xa5, 0x6f, 0x40, 0xb3, 0x02, 0x2f,
0x14, 0x42, 0x02, 0x42, 0x11, 0x30, 0xc0, 0x6f, 0x98, 0x2e, 0x95, 0xcf,
0xe2, 0x6f, 0x25, 0x52, 0x01, 0x2e, 0xa2, 0x00, 0x82, 0x40, 0x50, 0x42,
0x08, 0x2c, 0x42, 0x42, 0x11, 0x30, 0x23, 0x2e, 0xa6, 0x00, 0x01, 0x30,
0xc0, 0x6f, 0x98, 0x2e, 0x95, 0xcf, 0x00, 0x2e, 0xfb, 0x6f, 0x20, 0x5f,
0xb8, 0x2e, 0x01, 0x2e, 0xc1, 0x00, 0x19, 0xb2, 0x90, 0x2e, 0x88, 0xb2,
0x1a, 0xb2, 0x76, 0x2f, 0x1b, 0xb2, 0x25, 0x2f, 0x1d, 0x90, 0x90, 0x2e,
0x9f, 0xb2, 0x03, 0x2e, 0xaa, 0x00, 0x41, 0xa2, 0x90, 0x2e, 0x9f, 0xb2,
0x02, 0x30, 0x25, 0x2e, 0xaa, 0x00, 0x45, 0x52, 0x05, 0x2e, 0xe9, 0x00,
0x62, 0x42, 0xd2, 0x33, 0x07, 0x2e, 0xe8, 0x00, 0x43, 0x42, 0x4a, 0x00,
0x42, 0x30, 0x43, 0x40, 0x9a, 0x0a, 0x42, 0x42, 0x11, 0x30, 0x49, 0x56,
0x03, 0x0a, 0x05, 0x2e, 0x0c, 0x02, 0x3d, 0x58, 0x21, 0x2e, 0xc1, 0x00,
0x23, 0x2e, 0x19, 0x00, 0x94, 0x08, 0xc0, 0x2e, 0x25, 0x2e, 0x0c, 0x02,
0x01, 0x2e, 0xaa, 0x00, 0x03, 0xa2, 0x90, 0x2e, 0x9f, 0xb2, 0x00, 0x30,
0x21, 0x2e, 0xaa, 0x00, 0x47, 0x52, 0x05, 0x2e, 0xc1, 0xf5, 0x66, 0x40,
0xae, 0xbd, 0x44, 0x40, 0xbe, 0xb9, 0x35, 0x30, 0x43, 0x82, 0x68, 0xbf,
0xeb, 0x04, 0x62, 0x40, 0x74, 0x0b, 0x28, 0xbf, 0x43, 0x84, 0x44, 0x40,
0xa7, 0x40, 0x34, 0x0b, 0x86, 0x40, 0xab, 0x10, 0xf8, 0xbf, 0x35, 0x52,
0x7e, 0x0b, 0x56, 0x40, 0x23, 0x11, 0xb2, 0x05, 0x3f, 0x5e, 0xeb, 0x10,
0xb7, 0x01, 0x39, 0x5a, 0x57, 0x40, 0x75, 0x0e, 0xbc, 0x05, 0x41, 0x5e,
0xb7, 0x01, 0x21, 0x2e, 0xed, 0xf4, 0x17, 0x30, 0x38, 0x22, 0x75, 0x0e,
0x37, 0x5a, 0x41, 0x40, 0x52, 0x43, 0x8b, 0x04, 0x21, 0x30, 0x41, 0x0a,
0x48, 0x22, 0x43, 0x50, 0x54, 0x43, 0x10, 0x00, 0x3b, 0x54, 0x43, 0x43,
0x42, 0x0e, 0x43, 0x30, 0x8b, 0x0a, 0xc0, 0x33, 0x45, 0x56, 0x18, 0x00,
0x51, 0x22, 0x02, 0x40, 0x91, 0xbc, 0xb3, 0x3f, 0x93, 0x08, 0x41, 0x82,
0xd4, 0x31, 0x29, 0x2e, 0xc1, 0x00, 0x02, 0x42, 0x23, 0x2e, 0xdd, 0x00,
0xb8, 0x2e, 0x01, 0x2e, 0xaa, 0x00, 0x03, 0xa2, 0x45, 0x2f, 0x00, 0x30,
0x21, 0x2e, 0xaa, 0x00, 0x47, 0x54, 0x03, 0x2e, 0xc1, 0xf5, 0xa0, 0x40,
0x83, 0x8a, 0x83, 0x40, 0x08, 0xbe, 0x60, 0x41, 0x42, 0x41, 0x43, 0x8b,
0x08, 0xbf, 0x60, 0x41, 0xe3, 0x0a, 0x44, 0x41, 0xb2, 0x0a, 0x0b, 0x2e,
0xed, 0xf4, 0xb6, 0x3f, 0x6e, 0x09, 0x9e, 0xbc, 0x08, 0xbc, 0x04, 0x0b,
0x9e, 0xb8, 0x36, 0x30, 0x71, 0x04, 0x2b, 0x2e, 0xed, 0xf4, 0x35, 0x50,
0x59, 0x11, 0x15, 0x42, 0x91, 0x10, 0x07, 0x2e, 0xed, 0xf4, 0x16, 0x30,
0x12, 0x42, 0x61, 0x10, 0xde, 0x0a, 0xb5, 0x31, 0x2b, 0x2e, 0xc1, 0x00,
0x01, 0x42, 0x27, 0x2e, 0xed, 0xf4, 0xb8, 0x2e, 0x01, 0x2e, 0xaa, 0x00,
0x01, 0xa2, 0x12, 0x2f, 0x00, 0x30, 0x21, 0x2e, 0xaa, 0x00, 0x01, 0x2e,
0xed, 0xf4, 0x41, 0x30, 0x01, 0x0a, 0x21, 0x2e, 0xed, 0xf4, 0x01, 0x2e,
0xed, 0xf4, 0x11, 0x30, 0x01, 0x0a, 0x21, 0x2e, 0xed, 0xf4, 0xa1, 0x31,
0xc0, 0x2e, 0x23, 0x2e, 0xc1, 0x00, 0xb8, 0x2e, 0x53, 0x56, 0x4d, 0x54,
0xd0, 0x40, 0xc4, 0x40, 0x0b, 0x2e, 0xfd, 0xf3, 0x53, 0x52, 0x90, 0x42,
0x94, 0x42, 0x95, 0x42, 0x05, 0x30, 0x55, 0x50, 0x0f, 0x88, 0x06, 0x40,
0x04, 0x41, 0x96, 0x42, 0xc5, 0x42, 0x48, 0xbe, 0x73, 0x30, 0x0d, 0x2e,
0xac, 0x00, 0x4f, 0xba, 0x84, 0x42, 0x03, 0x42, 0x81, 0xb3, 0x02, 0x2f,
0x2b, 0x2e, 0x6f, 0xf5, 0x06, 0x2d, 0x05, 0x2e, 0x77, 0xf7, 0x51, 0x56,
0x93, 0x08, 0x25, 0x2e, 0x77, 0xf7, 0x4f, 0x54, 0x25, 0x2e, 0xc2, 0xf5,
0x07, 0x2e, 0xfd, 0xf3, 0x42, 0x30, 0xb4, 0x33, 0xda, 0x0a, 0x4c, 0x00,
0x27, 0x2e, 0xfd, 0xf3, 0x43, 0x40, 0xd4, 0x3f, 0xdc, 0x08, 0x43, 0x42,
0x00, 0x2e, 0x00, 0x2e, 0x43, 0x40, 0x24, 0x30, 0xdc, 0x0a, 0x43, 0x42,
0x04, 0x80, 0x03, 0x2e, 0xfd, 0xf3, 0x4a, 0x0a, 0x23, 0x2e, 0xfd, 0xf3,
0x61, 0x34, 0xc0, 0x2e, 0x01, 0x42, 0x00, 0x2e, 0xf0, 0x52, 0xfb, 0x7f,
0x98, 0x2e, 0x0d, 0xb5, 0x98, 0x2e, 0x34, 0xb5, 0x5f, 0x58, 0xe1, 0x7f,
0x32, 0x83, 0x81, 0x7f, 0x3a, 0x25, 0x57, 0x54, 0xe5, 0x8a, 0xc2, 0x7f,
0xeb, 0x86, 0x59, 0x52, 0xb4, 0x7f, 0x51, 0x7f, 0x73, 0x7f, 0x65, 0x7f,
0xd0, 0x7f, 0xa3, 0x7f, 0x95, 0x7f, 0x14, 0x30, 0x5b, 0x54, 0x81, 0x6f,
0x42, 0x7f, 0x00, 0x2e, 0x53, 0x40, 0x45, 0x8c, 0x42, 0x40, 0x90, 0x41,
0xbb, 0x83, 0x86, 0x41, 0xd8, 0x04, 0x16, 0x06, 0x00, 0xac, 0x81, 0x7f,
0x02, 0x2f, 0x02, 0x30, 0xd3, 0x04, 0x10, 0x06, 0xc1, 0x84, 0x01, 0x30,
0xc1, 0x02, 0x0b, 0x16, 0x04, 0x09, 0x14, 0x01, 0x99, 0x02, 0xc1, 0xb9,
0xaf, 0xbc, 0x59, 0x0a, 0xc4, 0x6f, 0x51, 0x43, 0xa1, 0xb4, 0x12, 0x41,
0x13, 0x41, 0x41, 0x43, 0x35, 0x7f, 0xc4, 0x7f, 0x26, 0x31, 0xe5, 0x6f,
0xd4, 0x6f, 0x98, 0x2e, 0x37, 0xca, 0x32, 0x6f, 0x65, 0x6f, 0x83, 0x40,
0x42, 0x41, 0x23, 0x7f, 0x12, 0x7f, 0xf6, 0x30, 0x40, 0x25, 0x51, 0x25,
0x98, 0x2e, 0x37, 0xca, 0x14, 0x6f, 0x20, 0x05, 0x60, 0x6f, 0x25, 0x6f,
0x69, 0x07, 0x72, 0x6f, 0x31, 0x6f, 0x0b, 0x30, 0x04, 0x42, 0x9b, 0x42,
0x8b, 0x42, 0x55, 0x42, 0x32, 0x7f, 0x40, 0xa9, 0xb3, 0x6f, 0x61, 0x7f,
0x02, 0x30, 0xd0, 0x40, 0xb3, 0x7f, 0x03, 0x2f, 0x40, 0x91, 0x15, 0x2f,
0x00, 0xa7, 0x13, 0x2f, 0x00, 0xa4, 0x11, 0x2f, 0x84, 0xbd, 0x98, 0x2e,
0x79, 0xca, 0x55, 0x6f, 0x6b, 0x54, 0x54, 0x41, 0x82, 0x00, 0xf3, 0x3f,
0x45, 0x41, 0xcb, 0x02, 0xf6, 0x30, 0x98, 0x2e, 0x37, 0xca, 0x33, 0x6f,
0x74, 0x6f, 0xc1, 0x42, 0x03, 0x2c, 0x00, 0x43, 0x74, 0x6f, 0x33, 0x6f,
0x00, 0x2e, 0x42, 0x6f, 0x55, 0x6f, 0x91, 0x40, 0x42, 0x8b, 0x00, 0x41,
0x41, 0x00, 0x01, 0x43, 0x55, 0x7f, 0x14, 0x30, 0xc1, 0x40, 0x95, 0x40,
0x4d, 0x02, 0xb5, 0x6f, 0x65, 0x50, 0x68, 0x0e, 0x65, 0x6f, 0xd1, 0x42,
0x73, 0x7f, 0x8a, 0x2f, 0x09, 0x2e, 0xac, 0x00, 0x01, 0xb3, 0x23, 0x2f,
0x5f, 0x58, 0x90, 0x6f, 0x17, 0x30, 0x13, 0x41, 0xa6, 0x6f, 0xe4, 0x7f,
0x00, 0x2e, 0x91, 0x41, 0x14, 0x40, 0x92, 0x41, 0x15, 0x40, 0x17, 0x2e,
0x6f, 0xf5, 0xa6, 0x7f, 0xd0, 0x7f, 0xcb, 0x7f, 0x98, 0x2e, 0xd3, 0x03,
0x07, 0x15, 0xc2, 0x6f, 0x14, 0x0b, 0x29, 0x2e, 0x6f, 0xf5, 0xc3, 0xa3,
0xc1, 0x8f, 0xe4, 0x6f, 0xd0, 0x6f, 0xe6, 0x2f, 0x14, 0x30, 0x05, 0x2e,
0x6f, 0xf5, 0x14, 0x0b, 0x29, 0x2e, 0x6f, 0xf5, 0x80, 0x2e, 0x97, 0xb4,
0x61, 0x54, 0x34, 0x30, 0x85, 0x40, 0xab, 0x84, 0xec, 0x08, 0x91, 0x40,
0xb8, 0xbd, 0xd9, 0x00, 0x36, 0xbc, 0xc1, 0x30, 0xe9, 0x08, 0x86, 0xb6,
0x25, 0x7e, 0x98, 0x8a, 0x81, 0x40, 0x69, 0x85, 0xb6, 0xbd, 0x59, 0x00,
0x45, 0x41, 0x90, 0x32, 0xd0, 0x00, 0x6c, 0x09, 0x82, 0x40, 0xd8, 0xbe,
0x96, 0xbc, 0x6a, 0x01, 0x16, 0xb5, 0x32, 0x7e, 0x1a, 0x25, 0x70, 0x3d,
0x88, 0x00, 0x56, 0xbc, 0x0b, 0x30, 0x06, 0xb4, 0x7b, 0x7d, 0x62, 0x82,
0x40, 0x7e, 0x8b, 0x7d, 0xfd, 0x8a, 0xd1, 0x7f, 0x9b, 0x7d, 0xe2, 0x7f,
0xe1, 0x30, 0xc3, 0x40, 0x69, 0x50, 0x9c, 0x09, 0xb1, 0x15, 0xee, 0xb7,
0x56, 0x41, 0xf8, 0xbf, 0xb7, 0x0b, 0x42, 0xbe, 0x7e, 0x82, 0x68, 0x0e,
0x96, 0x42, 0xf4, 0x2f, 0x4a, 0x25, 0xa2, 0x3d, 0x22, 0x01, 0x2a, 0x25,
0xa0, 0x82, 0xb4, 0x7f, 0xc4, 0x7f, 0x81, 0x7f, 0x05, 0x30, 0x67, 0x54,
0xb7, 0x80, 0x15, 0x56, 0x6b, 0x58, 0xa0, 0x8c, 0x60, 0x7f, 0x72, 0x7f,
0x00, 0x2e, 0x80, 0x41, 0xc3, 0x08, 0xb8, 0xbd, 0x38, 0xb7, 0xe6, 0xbd,
0x82, 0x40, 0x1c, 0x01, 0x29, 0xbd, 0xce, 0x16, 0x29, 0xb5, 0x6a, 0xbb,
0xb6, 0xbd, 0xa0, 0x6f, 0x52, 0x7f, 0xde, 0x0a, 0x5d, 0x03, 0x12, 0x40,
0x54, 0x42, 0x45, 0x42, 0x41, 0x7f, 0xf6, 0x30, 0x13, 0x40, 0xa0, 0x7f,
0x98, 0x2e, 0x37, 0xca, 0x1a, 0xbd, 0x16, 0xb6, 0x86, 0xba, 0x00, 0xa9,
0xaa, 0x0a, 0x6d, 0x52, 0x0f, 0x2f, 0x00, 0x91, 0x6d, 0x52, 0x03, 0x2f,
0x6d, 0x5a, 0x55, 0x0f, 0x6d, 0x52, 0x08, 0x2f, 0x3f, 0xa1, 0x04, 0x2f,
0x3f, 0x91, 0x03, 0x2f, 0x6b, 0x58, 0xd4, 0x0f, 0x00, 0x2f, 0x6b, 0x54,
0x12, 0x25, 0xf2, 0x33, 0x98, 0x2e, 0xd9, 0xc0, 0x74, 0x6f, 0xf2, 0x37,
0x42, 0x09, 0x05, 0x43, 0x21, 0x85, 0x54, 0x6f, 0xd9, 0xbe, 0x72, 0x7f,
0x8c, 0x16, 0xd9, 0xb5, 0x66, 0x6f, 0x26, 0xbc, 0xca, 0xba, 0xa1, 0x41,
0x8b, 0x16, 0x45, 0x0b, 0x3a, 0xb8, 0x56, 0x7f, 0x26, 0xbd, 0x90, 0x0a,
0x98, 0xbf, 0x86, 0x41, 0x80, 0x6f, 0xfe, 0x0b, 0x41, 0x6f, 0x06, 0x40,
0xb6, 0xbd, 0x60, 0x40, 0xf3, 0x00, 0x46, 0xbe, 0x82, 0x02, 0x34, 0x01,
0x2f, 0xbf, 0x47, 0x7f, 0x81, 0x7f, 0xb1, 0xb8, 0x3f, 0xbd, 0xcf, 0x17,
0x45, 0x03, 0xf1, 0x0a, 0x37, 0x7f, 0x98, 0x2e, 0x79, 0xca, 0xb4, 0x6f,
0x35, 0x6f, 0x10, 0x43, 0x11, 0x43, 0xb4, 0x7f, 0xf6, 0x30, 0x44, 0x6f,
0x20, 0x25, 0x31, 0x25, 0x98, 0x2e, 0x37, 0xca, 0x62, 0x6f, 0x88, 0xb6,
0x85, 0x42, 0x02, 0x32, 0x54, 0x6f, 0x75, 0x6f, 0x63, 0x52, 0x00, 0x43,
0x69, 0x0e, 0x03, 0x81, 0xaa, 0x00, 0x81, 0x6f, 0x15, 0x56, 0x6b, 0x58,
0x05, 0x30, 0x82, 0x2f, 0xe1, 0x6f, 0xf3, 0x30, 0xd4, 0x6f, 0xd1, 0x7f,
0x22, 0x30, 0x15, 0x41, 0x41, 0x40, 0xb4, 0x7f, 0xa1, 0x7f, 0x85, 0x7f,
0x98, 0x2e, 0x0f, 0xca, 0xc1, 0x6f, 0x82, 0x6f, 0x54, 0x40, 0x90, 0x00,
0x55, 0x40, 0xca, 0x16, 0xc1, 0x7f, 0x82, 0x7f, 0xf6, 0x30, 0x98, 0x2e,
0x37, 0xca, 0x84, 0x6f, 0x60, 0x04, 0x22, 0x30, 0xf3, 0x30, 0x98, 0x2e,
0x5a, 0xca, 0xa4, 0x6f, 0xa0, 0x00, 0xd1, 0x6f, 0xb4, 0x6f, 0x95, 0x6f,
0x65, 0x0e, 0x52, 0x42, 0xf3, 0x30, 0xdc, 0x2f, 0x69, 0x58, 0x0d, 0x2e,
0x77, 0xf7, 0x3d, 0x85, 0xe5, 0x6f, 0x31, 0x30, 0x03, 0x30, 0x30, 0x30,
0xc0, 0x17, 0xb7, 0x09, 0x5d, 0x5e, 0xb7, 0x0b, 0x57, 0x41, 0x97, 0x42,
0xf8, 0xbb, 0xf9, 0x09, 0xfb, 0x15, 0x02, 0xbc, 0xc2, 0x86, 0x54, 0x0e,
0xb7, 0x0b, 0xf1, 0x2f, 0x86, 0x42, 0x00, 0x2e, 0xfb, 0x6f, 0x10, 0x5d,
0xb8, 0x2e, 0x10, 0x50, 0x01, 0x2e, 0xa8, 0x00, 0x00, 0xb2, 0xfb, 0x7f,
0x5d, 0x2f, 0x01, 0xb2, 0x54, 0x2f, 0x02, 0xb2, 0x4e, 0x2f, 0x03, 0x90,
0x63, 0x2f, 0x73, 0x50, 0x39, 0x82, 0x02, 0x40, 0x81, 0x88, 0x75, 0x54,
0x41, 0x40, 0x7b, 0x56, 0x04, 0x42, 0x00, 0x2e, 0x94, 0x40, 0x95, 0x40,
0xd8, 0xbe, 0x2c, 0x0b, 0x45, 0x40, 0x6c, 0x01, 0x55, 0x42, 0x0c, 0x17,
0x45, 0x40, 0x2c, 0x03, 0x54, 0x42, 0x53, 0x0e, 0xf2, 0x2f, 0x7d, 0x56,
0x3e, 0x82, 0xe2, 0x40, 0xc3, 0x40, 0x28, 0xbd, 0x93, 0x0a, 0x43, 0x40,
0xda, 0x00, 0x53, 0x42, 0x8a, 0x16, 0x43, 0x40, 0x9a, 0x02, 0x52, 0x42,
0x00, 0x2e, 0x41, 0x40, 0x49, 0x54, 0x4a, 0x0e, 0x3b, 0x2f, 0x3a, 0x82,
0x00, 0x30, 0x41, 0x40, 0x21, 0x2e, 0x65, 0x01, 0x40, 0xb2, 0x0a, 0x2f,
0x98, 0x2e, 0xe2, 0xb2, 0x98, 0x2e, 0x60, 0xb5, 0x98, 0x2e, 0x76, 0xb5,
0xfb, 0x6f, 0xf0, 0x5f, 0x00, 0x30, 0x80, 0x2e, 0xbf, 0x03, 0x79, 0x54,
0x6f, 0x56, 0x83, 0x42, 0x8f, 0x86, 0x74, 0x30, 0x77, 0x54, 0xc4, 0x42,
0x11, 0x30, 0x23, 0x2e, 0xa8, 0x00, 0xa1, 0x42, 0x23, 0x30, 0x27, 0x2e,
0xab, 0x00, 0x21, 0x2e, 0xaa, 0x00, 0xba, 0x82, 0x18, 0x2c, 0x81, 0x42,
0x30, 0x30, 0x21, 0x2e, 0xa8, 0x00, 0x13, 0x2d, 0x21, 0x30, 0x00, 0x30,
0x23, 0x2e, 0xa8, 0x00, 0x21, 0x2e, 0x7b, 0xf7, 0x0c, 0x2d, 0x77, 0x30,
0x98, 0x2e, 0xa0, 0xb2, 0x71, 0x50, 0x0c, 0x82, 0x12, 0x30, 0x40, 0x42,
0x25, 0x2e, 0xa8, 0x00, 0x2f, 0x2e, 0x7b, 0xf7, 0xfb, 0x6f, 0xf0, 0x5f,
0xb8, 0x2e, 0x70, 0x50, 0x0a, 0x25, 0x39, 0x86, 0xfb, 0x7f, 0xe1, 0x32,
0x62, 0x30, 0x98, 0x2e, 0xc2, 0xc4, 0x15, 0x56, 0xa5, 0x6f, 0xab, 0x08,
0x91, 0x6f, 0x4b, 0x08, 0x7f, 0x56, 0xc4, 0x6f, 0x23, 0x09, 0x4d, 0xba,
0x93, 0xbc, 0x8c, 0x0b, 0xd1, 0x6f, 0x0b, 0x09, 0x5f, 0x52, 0x81, 0x5e,
0x56, 0x42, 0xaf, 0x09, 0x4d, 0xba, 0x23, 0xbd, 0x94, 0x0a, 0xe5, 0x6f,
0x68, 0xbb, 0xeb, 0x08, 0xbd, 0xb9, 0x63, 0xbe, 0xfb, 0x6f, 0x52, 0x42,
0xe3, 0x0a, 0xc0, 0x2e, 0x43, 0x42, 0x90, 0x5f, 0x65, 0x50, 0x03, 0x2e,
0x25, 0xf3, 0x12, 0x40, 0x00, 0x40, 0x28, 0xba, 0x9b, 0xbc, 0x88, 0xbd,
0x93, 0xb4, 0xe3, 0x0a, 0x89, 0x16, 0x08, 0xb6, 0xc0, 0x2e, 0x19, 0x00,
0x62, 0x02, 0x10, 0x50, 0xfb, 0x7f, 0x98, 0x2e, 0x9b, 0xb4, 0x01, 0x2e,
0xa8, 0x00, 0x31, 0x30, 0x08, 0x04, 0xfb, 0x6f, 0x01, 0x30, 0xf0, 0x5f,
0x23, 0x2e, 0xaa, 0x00, 0x21, 0x2e, 0xab, 0x00, 0xb8, 0x2e, 0x83, 0x50,
0x21, 0x34, 0x01, 0x42, 0x82, 0x30, 0xc1, 0x32, 0x25, 0x2e, 0x62, 0xf5,
0x01, 0x00, 0x22, 0x30, 0x01, 0x40, 0x4a, 0x0a, 0x01, 0x42, 0xb8, 0x2e,
0x83, 0x54, 0xf0, 0x3b, 0x83, 0x40, 0xd8, 0x08, 0x85, 0x52, 0x83, 0x42,
0x00, 0x30, 0x83, 0x30, 0x50, 0x42, 0xc4, 0x32, 0x27, 0x2e, 0x64, 0xf5,
0x94, 0x00, 0x50, 0x42, 0x40, 0x42, 0xd3, 0x3f, 0x84, 0x40, 0x7d, 0x82,
0xe3, 0x08, 0x40, 0x42, 0x83, 0x42, 0xb8, 0x2e, 0x79, 0x52, 0x00, 0x30,
0x40, 0x42, 0x7c, 0x86, 0x4d, 0x52, 0x09, 0x2e, 0x50, 0x01, 0x53, 0x54,
0xc4, 0x42, 0xd3, 0x86, 0x54, 0x40, 0x55, 0x40, 0x94, 0x42, 0x85, 0x42,
0x21, 0x2e, 0xab, 0x00, 0x42, 0x40, 0x25, 0x2e, 0xfd, 0xf3, 0xc0, 0x42,
0x7e, 0x82, 0x05, 0x2e, 0x86, 0x00, 0x80, 0xb2, 0x14, 0x2f, 0x05, 0x2e,
0x0b, 0x02, 0x27, 0xbd, 0x2f, 0xb9, 0x80, 0x90, 0x02, 0x2f, 0x21, 0x2e,
0x6f, 0xf5, 0x0c, 0x2d, 0x07, 0x2e, 0x51, 0x01, 0x14, 0x30, 0x1c, 0x09,
0x05, 0x2e, 0x77, 0xf7, 0x51, 0x56, 0x47, 0xbe, 0x93, 0x08, 0x94, 0x0a,
0x25, 0x2e, 0x77, 0xf7, 0x87, 0x54, 0x50, 0x42, 0x4a, 0x0e, 0xfc, 0x2f,
0xb8, 0x2e, 0x50, 0x50, 0x02, 0x30, 0x43, 0x86, 0x85, 0x50, 0xfb, 0x7f,
0xe1, 0x7f, 0xd3, 0x7f, 0xc2, 0x7f, 0xb0, 0x7f, 0x00, 0x2e, 0x41, 0x40,
0x00, 0x40, 0x48, 0x04, 0x98, 0x2e, 0x74, 0xc0, 0x05, 0x2e, 0xc0, 0x00,
0x42, 0x0f, 0xc2, 0x6f, 0xe1, 0x6f, 0x13, 0x30, 0x9a, 0x22, 0xb0, 0x6f,
0x5b, 0x40, 0xd3, 0x6f, 0x4b, 0x0e, 0x1b, 0x42, 0xe1, 0x7f, 0xc2, 0x7f,
0xe9, 0x2f, 0x03, 0x2e, 0x66, 0x01, 0x40, 0x90, 0x11, 0x30, 0x03, 0x2f,
0x23, 0x2e, 0x66, 0x01, 0x02, 0x2c, 0x00, 0x30, 0xc0, 0x6f, 0xfb, 0x6f,
0xb0, 0x5f, 0xb8, 0x2e, 0x40, 0x50, 0xf1, 0x7f, 0x0a, 0x25, 0x3c, 0x86,
0xeb, 0x7f, 0x41, 0x33, 0x22, 0x30, 0x98, 0x2e, 0xc2, 0xc4, 0xd3, 0x6f,
0xf4, 0x30, 0xdc, 0x09, 0x8b, 0x58, 0xc2, 0x6f, 0x94, 0x09, 0x8d, 0x58,
0x6a, 0xbb, 0xdc, 0x08, 0xb4, 0xb9, 0xb1, 0xbd, 0x89, 0x5a, 0x95, 0x08,
0x21, 0xbd, 0xf6, 0xbf, 0x77, 0x0b, 0x51, 0xbe, 0xf1, 0x6f, 0xeb, 0x6f,
0x52, 0x42, 0x54, 0x42, 0xc0, 0x2e, 0x43, 0x42, 0xc0, 0x5f, 0x50, 0x50,
0x97, 0x50, 0x91, 0x30, 0x11, 0x42, 0xfb, 0x7f, 0x3b, 0x30, 0x0b, 0x42,
0x11, 0x30, 0x02, 0x80, 0x23, 0x33, 0x01, 0x42, 0x03, 0x00, 0x07, 0x2e,
0x80, 0x03, 0x05, 0x2e, 0xa7, 0x00, 0x19, 0x52, 0xe2, 0x7f, 0xd3, 0x7f,
0xc0, 0x7f, 0x98, 0x2e, 0xd4, 0xb5, 0xd1, 0x6f, 0x08, 0x0a, 0x1a, 0x25,
0x7b, 0x86, 0xd0, 0x7f, 0x01, 0x33, 0x12, 0x30, 0x98, 0x2e, 0xc2, 0xc4,
0xd1, 0x6f, 0x08, 0x0a, 0x00, 0xb2, 0x0d, 0x2f, 0xe3, 0x6f, 0x01, 0x2e,
0x80, 0x03, 0x51, 0x30, 0xc7, 0x86, 0x23, 0x2e, 0x21, 0xf2, 0x08, 0xbc,
0xc0, 0x42, 0x98, 0x2e, 0xd2, 0x01, 0x00, 0x2e, 0x00, 0x2e, 0xd0, 0x2e,
0xb0, 0x6f, 0x0b, 0xb8, 0x03, 0x2e, 0x1b, 0x00, 0x08, 0x1a, 0xb0, 0x7f,
0x70, 0x30, 0x04, 0x2f, 0x21, 0x2e, 0x21, 0xf2, 0x00, 0x2e, 0x00, 0x2e,
0xd0, 0x2e, 0x98, 0x2e, 0x6d, 0xc0, 0x98, 0x2e, 0x5d, 0xc0, 0x8f, 0x50,
0x98, 0x2e, 0x44, 0xcb, 0x91, 0x50, 0x98, 0x2e, 0x46, 0xc3, 0x93, 0x50,
0x98, 0x2e, 0x53, 0xc7, 0x20, 0x26, 0xc0, 0x6f, 0x02, 0x31, 0x12, 0x42,
0xab, 0x31, 0x0b, 0x42, 0x37, 0x80, 0x01, 0x30, 0x01, 0x42, 0x23, 0x33,
0x99, 0x52, 0xf0, 0x37, 0x44, 0x40, 0xa2, 0x0a, 0x42, 0x42, 0x4b, 0x00,
0x07, 0x2e, 0x5e, 0xf7, 0x18, 0x08, 0x21, 0x2e, 0xe0, 0x00, 0xe1, 0x7f,
0x98, 0x2e, 0x20, 0x02, 0xe0, 0x6f, 0x81, 0x30, 0x01, 0x42, 0x01, 0x30,
0xfb, 0x6f, 0x95, 0x56, 0x02, 0x30, 0x00, 0x2e, 0x00, 0x2e, 0x81, 0x84,
0x53, 0x0e, 0xfa, 0x2f, 0x01, 0x42, 0x10, 0x30, 0xb0, 0x5f, 0x21, 0x2e,
0x21, 0xf2, 0xb8, 0x2e, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0xfd, 0x2d, 0x00, 0x00,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1,
0x80, 0x2e, 0x00, 0xc1, 0x80, 0x2e, 0x00, 0xc1
};
//****************************************
//整數(shù)轉(zhuǎn)字符串
//****************************************
void lcd_printf(uchar *s,int temp_data)//10進(jìn)制轉(zhuǎn)換
{
if(temp_data<0)
{
temp_data=-temp_data;
*s='-';
}
else *s=' ';
*++s =temp_data/100+0x30;
temp_data=temp_data%100; //取余運(yùn)算
*++s =temp_data/10+0x30;
temp_data=temp_data%10; //取余運(yùn)算
*++s =temp_data+0x30;
}
void lcd_printf16(uchar *s,int temp_data1)//16進(jìn)制轉(zhuǎn)換
{
if(temp_data1<0)
{
temp_data1=-temp_data1;
*s='-';
}
else *s=' ';
*++s =temp_data1/256+0x30;
temp_data1=temp_data1%256; //取余運(yùn)算
*++s =temp_data1/16+0x30;
temp_data1=temp_data1%16; //取余運(yùn)算
*++s =temp_data1+0x30;
}
void Delay450us() //@11.0592MHz
{
unsigned char i, j;
_nop_();
i = 5;
j = 212;
do
{
while (--j);
} while (--i);
}
void Delay5us() //@11.0592MHz
{
unsigned char i;
_nop_();
i = 11;
while (--i);
}
//**************************************
//I2C起始信號
//**************************************
void I2C_Start()
{
SDA = 1; //拉高數(shù)據(jù)線
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SDA = 0; //產(chǎn)生下降沿
Delay5us(); //延時
SCL = 0; //拉低時鐘線
}
//**************************************
//I2C停止信號
//**************************************
void I2C_Stop()
{
SDA = 0; //拉低數(shù)據(jù)線
SCL = 0;
Delay5us();
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SDA = 1; //產(chǎn)生上升沿
Delay5us(); //延時
}
//**************************************
//I2C發(fā)送應(yīng)答信號
//入口參數(shù):ack (0:ACK 1:NAK)
//**************************************
void I2C_SendACK(bit ack)
{
SDA = ack; //寫應(yīng)答信號
SCL = 1; //拉高時鐘線
Delay5us(); //延時
SCL = 0; //拉低時鐘線
Delay5us(); //延時
}
//**************************************
//主應(yīng)答(包含ack:SDA=0和no_ack:SDA=0)
//I2C接收應(yīng)答信號
//**************************************
bit I2C_RecvACK()
{
SCL = 1; //拉高時鐘線
Delay5us(); //延時
CY = SDA; //讀應(yīng)答信號
SCL = 0; //拉低時鐘線
Delay5us(); //延時
return CY;
}
//**************************************
//向I2C總線發(fā)送一個字節(jié)數(shù)據(jù)
//**************************************
void I2C_SendByte(uchar dat)
{
uchar i;
for(i=0;i<8;i++)
{
if(dat & 0x80)
SDA=1;
else
SDA=0;
SCL=1;
SCL=0;
dat<<=1;
}
I2C_RecvACK();
}
//**************************************
//從I2C總線接收一個字節(jié)數(shù)據(jù)
//**************************************
uchar I2C_RecvByte()
{
uchar i;
uchar dat = 0;
SDA = 1; //使能內(nèi)部上拉,準(zhǔn)備讀取數(shù)據(jù),
for (i=0; i<8; i++) //8位計數(shù)器
{
dat <<= 1;
SCL = 1; //拉高時鐘線
Delay5us(); //延時
dat |= SDA; //讀數(shù)據(jù)
SCL = 0; //拉低時鐘線
Delay5us(); //延時
}
return dat;
}
//**************************************
//向I2C設(shè)備寫入一個字節(jié)數(shù)據(jù)
//**************************************
void Single_WriteI2C(uchar REG_Address,uchar REG_data)
{
I2C_Start(); //起始信號
I2C_SendByte(SlaveAddress); //發(fā)送設(shè)備地址+寫信號
I2C_SendByte(REG_Address); //內(nèi)部寄存器地址,
I2C_SendByte(REG_data); //內(nèi)部寄存器數(shù)據(jù),
I2C_Stop(); //發(fā)送停止信號
}
//**************************************
//向I2C設(shè)備寫入一串?dāng)?shù)據(jù)
//**************************************
void Single_WriteI2CS(uchar REG_Address,uchar *dat,uchar len)
{
I2C_Start(); //起始信號
I2C_SendByte(SlaveAddress); //發(fā)送設(shè)備地址+寫信號
I2C_SendByte(REG_Address); //內(nèi)部寄存器地址,
while(len--)
{
I2C_SendByte(*dat++); //內(nèi)部寄存器數(shù)據(jù) 發(fā)送需要寫入的數(shù)據(jù)
}
I2C_Stop(); //發(fā)送停止信號
}
//**************************************
//從I2C設(shè)備讀取一個字節(jié)數(shù)據(jù)
//**************************************
uchar Single_ReadI2C(uchar REG_Address)
{
uchar REG_data;
I2C_Start(); //起始信號
I2C_SendByte(SlaveAddress); //發(fā)送設(shè)備地址+寫信號
I2C_SendByte(REG_Address); //發(fā)送存儲單元地址,從0開始
I2C_Start(); //起始信號
I2C_SendByte(SlaveAddress+1); //發(fā)送設(shè)備地址+讀信號
REG_data=I2C_RecvByte(); //讀出寄存器數(shù)據(jù)
I2C_SendACK(1); //接收應(yīng)答信號
I2C_Stop(); //停止信號
return REG_data;
}
//**************************************
//初始化BMI270
//**************************************
void InitBMI270()
{
Single_WriteI2C(0x7C,0x00); //關(guān)閉高級省電模式PWR_CONF 0x7C 電源模式 典型值:0x03
Delay450us();
Single_WriteI2C(0x59,0x00); // 開始對模塊進(jìn)行初始化配置
//Single_WriteI2CS(0x5E,bmi270_config_file,sizeof(bmi270_config_file)); // 輸出配置文件
Single_WriteI2C(0x59,0x01); // 初始化配置結(jié)束
//if(Single_ReadI2C(0x21) == 0) // 檢查是否配置完成
Single_WriteI2C(0x7D,0x0E); // 開啟性能模式 使能陀螺儀、加速度、溫度傳感器
Single_WriteI2C(0x40,0xA7); // 加速度采集配置 性能模式 正常采集 50Hz 采樣頻率
Single_WriteI2C(0x42,0xA9); // 陀螺儀采集配置 性能模式 正常采集 200Hz 采樣頻率
Single_WriteI2C(0x41,0x00);//加速度量程:0X00 2,0X01 4,0X02 8,0X03 16 加速度量程配置 配置量程為:±8g
Single_WriteI2C(0x43,0x03);//角速度量程:0X00 2000,0X01 1000,0X02 500,0X03 250,0X04 125 陀螺儀量程配置 配置量程為:±2000dps
//Single_WriteI2C(0x5E,0x03);
//Single_WriteI2C(0x7C,0x02);
}
void Display_ACCEL_XOUT()
{
AX_H=Single_ReadI2C(ACCEL_XOUT_H); //讀取
AX_L=Single_ReadI2C(ACCEL_XOUT_L); //讀取
AX=(AX_H<<8)+AX_L;
AX/=32.7; //計算出AX
lcd_printf(dis, AX); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("X軸加速度:");
UART_Send_Str(dis);
OLED_P8x16Str(24, 2,dis);
}
void Display_ACCEL_YOUT()
{
AY_H=Single_ReadI2C(ACCEL_YOUT_H); //讀取
AY_L=Single_ReadI2C(ACCEL_YOUT_L); //讀取
AY=(AY_H<<8)+AY_L;
AY/=32.7; // 計算AY
lcd_printf(dis, AY); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("Y軸加速度:");
UART_Send_Str(dis);
OLED_P8x16Str(24, 4,dis);
}
void Display_ACCEL_ZOUT()
{
// AZ_H=Single_ReadI2C(ACCEL_ZOUT_H); //讀取
// AZ_L=Single_ReadI2C(ACCEL_ZOUT_L); //讀取
// AZ=(AZ_H<<8)+AZ_L;
// AZ/=32.7; // 計算AZ
// lcd_printf(dis, AZ); //轉(zhuǎn)換數(shù)據(jù)顯示
// UART_Send_Str("Z軸加速度:");
// UART_Send_Str(dis);
// OLED_P8x16Str(24, 6,dis);
Who=Single_ReadI2C(0x02); //讀取芯片
lcd_printf16(dis,Who); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("0X02:");
UART_Send_Str(dis);
OLED_P168x16Str(24,6, dis);
}
void Display_GYRO_XOUT()
{
// GX_H=Single_ReadI2C(GYRO_XOUT_H); //讀取
// GX_L=Single_ReadI2C(GYRO_XOUT_L); //讀取
// GX=(GX_H<<8)+GZ_L;
// GX/=835.9;
// lcd_printf(dis, GX); //轉(zhuǎn)換數(shù)據(jù)顯示
// UART_Send_Str("X軸角速度:");
// UART_Send_Str(dis);
// OLED_P8x16Str(96, 2,dis);
// delay(100);
Who=Single_ReadI2C(0x21); //讀取芯片
lcd_printf16(dis,Who); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("0X21:");
UART_Send_Str(dis);
OLED_P168x16Str(96,2, dis);
}
void Display_GYRO_YOUT()
{
//
// GY_H=Single_ReadI2C(GYRO_YOUT_H); //讀取
// GY_L=Single_ReadI2C(GYRO_YOUT_L); //讀取
// GY=(GY_H<<8)+GY_L;
// GY/=835.9; // 計算出YZ
// lcd_printf(dis, GY); //轉(zhuǎn)換數(shù)據(jù)顯示
// UART_Send_Str("Y軸角速度:");
// UART_Send_Str(dis);
// OLED_P8x16Str(96, 4,dis);
// delay(100);
Who=Single_ReadI2C(0x43); //讀取芯片
lcd_printf16(dis,Who); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("0X43:");
UART_Send_Str(dis);
OLED_P168x16Str(96,4, dis);
}
void Display_GYRO_ZOUT()
{
// GZ_H=Single_ReadI2C(GYRO_ZOUT_H); //讀取
// GZ_L=Single_ReadI2C(GYRO_ZOUT_L); //讀取
// GZ=(GZ_H<<8)+GZ_L;
// GZ/=835.9; // 計算出GZ
// lcd_printf(dis, GZ); //轉(zhuǎn)換數(shù)據(jù)顯示
// UART_Send_Str("Z軸角速度:");
// UART_Send_Str(dis);
// OLED_P8x16Str(96, 6,dis);
delay(100);
Who=Single_ReadI2C(0x5E); //讀取芯片
lcd_printf16(dis,Who); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("0X5E:");
UART_Send_Str(dis);
OLED_P168x16Str(96,6, dis);
}
void Display_temp()
{
Temp_h=Single_ReadI2C(TEMP_OUT_H); //讀取溫度
Temp_l=Single_ReadI2C(TEMP_OUT_L); //讀取溫度
Temperature=Temp_h<<8|Temp_l; //合成溫度
Temper =23+(double)(Temperature)/512; // 計算出溫度
lcd_printf(dis, Temper); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("溫度: ");
UART_Send_Str(dis);
OLED_P8x16Str(96,0,dis);
}
void Display_Add()
{
Who=Single_ReadI2C(CHIP_ID); //讀取芯片ID
lcd_printf16(dis,Who); //轉(zhuǎn)換數(shù)據(jù)顯示
UART_Send_Str("CHIP ID:");
UART_Send_Str(dis);
OLED_P168x16Str(24,0, dis);
}
//*********************************************************
//主程序
//*********************************************************
void main()
{
//delay(100);
Single_WriteI2C(0x7E,0xB6);
//delay(100);
OLED_Init(); //初始化OLED
//delay(100);
//InitBMI270(); //初始化BMI270
UART_Init(); //UART初始化
//delay(100);
while(1)
{
InitBMI270(); //初始化BMI270
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_ACCEL_YOUT();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_ACCEL_ZOUT();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_ACCEL_XOUT();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_GYRO_XOUT();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_GYRO_YOUT();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_GYRO_ZOUT();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_Add();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
Display_temp();
UART_Send_Str("\r\n"); //輸出光標(biāo)移到下一行
}
} |