Prometheus board config (#561)

This commit is contained in:
andreika-git 2018-01-30 01:27:01 +02:00 committed by rusefi
parent 4a43a77b79
commit dc6317a737
14 changed files with 3756 additions and 0 deletions

View File

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

View File

@ -0,0 +1,100 @@
/*
ChibiOS - Copyright (C) 2006..2015 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* ST32F469xI memory setup.
* Note: Use of ram1, ram2 and ram3 is mutually exclusive with use of ram0.
*/
MEMORY
{
bl : org = 0x08000000, len = 16k /* bootloader section */
flash : org = DEFINED(BOOTLOADER) ? 0x08008000 : 0x08000000, len = DEFINED(BOOTLOADER) ? 864k : 896k /* change address & length if bootloader */
flash0 : org = DEFINED(BOOTLOADER) ? 0x08008000 : 0x08000000, len = DEFINED(BOOTLOADER) ? 864k : 896k /* change address & length if bootloader */
flash1 : org = 0x00000000, len = 0
flash2 : org = 0x00000000, len = 0
flash3 : org = 0x00000000, len = 0
flash4 : org = 0x00000000, len = 0
flash5 : org = 0x00000000, len = 0
flash6 : org = 0x00000000, len = 0
flash7 : org = 0x00000000, len = 0
ram0 : org = 0x20000000, len = 384k /* SRAM1 + SRAM2 + SRAM3 */
ram1 : org = 0x20000000, len = 160k /* SRAM1 */
ram2 : org = 0x20028000, len = 32k /* SRAM2 */
ram3 : org = 0x20030000, len = 128k /* SRAM3 */
ram4 : org = 0x10000000, len = 64k /* CCM SRAM */
ram5 : org = 0x40024000, len = 4k /* BCKP SRAM */
ram6 : org = 0x00000000, len = 0
ram7 : org = 0x00000000, len = 0
}
/* For each data/text section two region are defined, a virtual region
and a load region (_LMA suffix).*/
/* Flash region to be used for exception vectors.*/
REGION_ALIAS("VECTORS_FLASH", flash0);
REGION_ALIAS("VECTORS_FLASH_LMA", flash0);
/* Flash region to be used for constructors and destructors.*/
REGION_ALIAS("XTORS_FLASH", flash0);
REGION_ALIAS("XTORS_FLASH_LMA", flash0);
/* Flash region to be used for code text.*/
REGION_ALIAS("TEXT_FLASH", flash0);
REGION_ALIAS("TEXT_FLASH_LMA", flash0);
/* Flash region to be used for read only data.*/
REGION_ALIAS("RODATA_FLASH", flash0);
REGION_ALIAS("RODATA_FLASH_LMA", flash0);
/* Flash region to be used for various.*/
REGION_ALIAS("VARIOUS_FLASH", flash0);
REGION_ALIAS("VARIOUS_FLASH_LMA", flash0);
/* Flash region to be used for RAM(n) initialization data.*/
REGION_ALIAS("RAM_INIT_FLASH_LMA", flash0);
/* RAM region to be used for Main stack. This stack accommodates the processing
of all exceptions and interrupts.*/
REGION_ALIAS("MAIN_STACK_RAM", ram0);
/* RAM region to be used for the process stack. This is the stack used by
the main() function.*/
REGION_ALIAS("PROCESS_STACK_RAM", ram0);
/* RAM region to be used for data segment.*/
REGION_ALIAS("DATA_RAM", ram0);
REGION_ALIAS("DATA_RAM_LMA", flash0);
/* RAM region to be used for BSS segment.*/
REGION_ALIAS("BSS_RAM", ram0);
/* RAM region to be used for the default heap.*/
REGION_ALIAS("HEAP_RAM", ram0);
/* Bootloader section */
SECTIONS
{
.bl : ALIGN(4)
{
. = ALIGN(4);
*(.bl)
*(.bl.*)
. = ALIGN(4);
} > bl AT > bl
}
/* Generic rules inclusion.*/
INCLUDE rules.ld

View File

@ -0,0 +1,156 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
/*
* This file has been automatically generated using ChibiStudio board
* generator plugin. Do not edit manually.
*/
#include "hal.h"
#if HAL_USE_PAL || defined(__DOXYGEN__)
/**
* @brief PAL setup.
* @details Digital I/O ports static configuration as defined in @p board.h.
* This variable is used by the HAL when initializing the PAL driver.
*/
const PALConfig pal_default_config = {
#if STM32_HAS_GPIOA
{VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
VAL_GPIOA_ODR, VAL_GPIOA_AFRL, VAL_GPIOA_AFRH},
#endif
#if STM32_HAS_GPIOB
{VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
VAL_GPIOB_ODR, VAL_GPIOB_AFRL, VAL_GPIOB_AFRH},
#endif
#if STM32_HAS_GPIOC
{VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
VAL_GPIOC_ODR, VAL_GPIOC_AFRL, VAL_GPIOC_AFRH},
#endif
#if STM32_HAS_GPIOD
{VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
VAL_GPIOD_ODR, VAL_GPIOD_AFRL, VAL_GPIOD_AFRH},
#endif
#if STM32_HAS_GPIOE
{VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
VAL_GPIOE_ODR, VAL_GPIOE_AFRL, VAL_GPIOE_AFRH},
#endif
#if STM32_HAS_GPIOF
{VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
VAL_GPIOF_ODR, VAL_GPIOF_AFRL, VAL_GPIOF_AFRH},
#endif
#if STM32_HAS_GPIOG
{VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
VAL_GPIOG_ODR, VAL_GPIOG_AFRL, VAL_GPIOG_AFRH},
#endif
#if STM32_HAS_GPIOH
{VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
VAL_GPIOH_ODR, VAL_GPIOH_AFRL, VAL_GPIOH_AFRH},
#endif
#if STM32_HAS_GPIOI
{VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
VAL_GPIOI_ODR, VAL_GPIOI_AFRL, VAL_GPIOI_AFRH},
#endif
#if STM32_HAS_GPIOJ
{VAL_GPIOJ_MODER, VAL_GPIOJ_OTYPER, VAL_GPIOJ_OSPEEDR, VAL_GPIOJ_PUPDR,
VAL_GPIOJ_ODR, VAL_GPIOJ_AFRL, VAL_GPIOJ_AFRH},
#endif
#if STM32_HAS_GPIOK
{VAL_GPIOK_MODER, VAL_GPIOK_OTYPER, VAL_GPIOK_OSPEEDR, VAL_GPIOK_PUPDR,
VAL_GPIOK_ODR, VAL_GPIOK_AFRL, VAL_GPIOK_AFRH}
#endif
};
#endif
/**
* @brief Early initialization code.
* @details This initialization must be performed just after stack setup
* and before any other initialization.
*/
void __early_init(void) {
stm32_clock_init();
}
#if HAL_USE_SDC || defined(__DOXYGEN__)
/**
* @brief SDC card detection.
*/
bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
(void)sdcp;
/* TODO: Fill the implementation.*/
return true;
}
/**
* @brief SDC card write protection detection.
*/
bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
(void)sdcp;
/* TODO: Fill the implementation.*/
return false;
}
#endif /* HAL_USE_SDC */
#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
/**
* @brief MMC_SPI card detection.
*/
bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
(void)mmcp;
/* TODO: Fill the implementation.*/
return true;
}
/**
* @brief MMC_SPI card write protection detection.
*/
bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
(void)mmcp;
/* TODO: Fill the implementation.*/
return false;
}
#endif
/**
* @brief Board-specific initialization code.
* @todo Add your board-specific code, if any.
*/
void boardInit(void) {
}
#define PROMETHEUS_LED 13
// BLIIINK!!!!!!!!!!
void BLIIINK(int t) {
int i, j;
palSetPadMode(GPIOA, PROMETHEUS_LED, PAL_MODE_OUTPUT_PUSHPULL);
//while (true) {
for (j = 0; j < 2; j++) {
palClearPad(GPIOA, PROMETHEUS_LED);
for (i = 0; i < 2*t; i++) {
palTogglePad(GPIOA, PROMETHEUS_LED);
chThdSleepMilliseconds(250);
}
chThdSleepMilliseconds(1000);
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,17 @@
# List of all the board related files.
BOARDSRC = $(PROJECT_DIR)/config/boards/Prometheus/board.c
BOARDSRC_CPP = $(PROJECT_DIR)/config/boards/Prometheus/board_configuration.cpp
# Required include directories
BOARDINC = $(PROJECT_DIR)/config/boards/Prometheus
# Override LD script
ifeq ($(USE_BOOTLOADER),yes)
# include Prometheus bootloader code
BOOTLOADERINC= $(PROJECT_DIR)/bootloader/Prometheus
endif
LDSCRIPT= $(PROJECT_DIR)/config/boards/Prometheus/STM32F469xI.ld
# Override DEFAULT_ENGINE_TYPE
DDEFS += -DDEFAULT_ENGINE_TYPE=PROMETHEUS_DEFAULTS -DSTM32F469xx

View File

@ -0,0 +1,279 @@
/**
* @file boards/Prometheus/board_configuration.h
*
* @brief In this file we can override engine_configuration.cpp.
*
* @date Apr 22, 2017
* @author andreika, (c) 2017
*/
#include "main.h"
#include "engine.h"
#include "engine_math.h"
#include "allsensors.h"
#include "fsio_impl.h"
#include "engine_configuration.h"
EXTERN_ENGINE;
#ifdef STM32F469xx
static bool is469 = true;
#else
static bool is469 = false;
#endif
static void setPrometheusDefaults(DECLARE_ENGINE_PARAMETER_SIGNATURE) {
setOperationMode(engineConfiguration, FOUR_STROKE_CRANK_SENSOR/*FOUR_STROKE_CAM_SENSOR*/);
engineConfiguration->trigger.type = TT_TOOTHED_WHEEL_60_2;
//engineConfiguration->useOnlyRisingEdgeForTrigger = true;
setAlgorithm(LM_SPEED_DENSITY PASS_ENGINE_PARAMETER_SUFFIX);
engineConfiguration->specs.cylindersCount = 4;
engineConfiguration->specs.firingOrder = FO_1_3_4_2;
engineConfiguration->ignitionMode = IM_INDIVIDUAL_COILS; // IM_WASTED_SPARK
engineConfiguration->crankingInjectionMode = IM_SIMULTANEOUS;
engineConfiguration->injectionMode = IM_SIMULTANEOUS;//IM_BATCH;// IM_SEQUENTIAL;
engineConfiguration->globalTriggerAngleOffset = 114; // the end of 19th tooth?
engineConfiguration->specs.displacement = 1.645;
engineConfiguration->injector.flow = 200;
engineConfiguration->cranking.baseFuel = 5; // ???
engineConfiguration->crankingChargeAngle = 70;
engineConfiguration->cranking.rpm = 600;
engineConfiguration->rpmHardLimit = 8500; // yes, 3k. let's play it safe for now
engineConfiguration->map.sensor.type = MT_MPX4250;
engineConfiguration->idleStepperReactionTime = 10;
engineConfiguration->stepperDirectionPinMode = OM_INVERTED;
engineConfiguration->useLinearCltSensor = true;
//engineConfiguration->canNbcType = CAN_BUS_NBC_BMW;
engineConfiguration->canNbcType = CAN_BUS_MAZDA_RX8;
engineConfiguration->canReadEnabled = true;
engineConfiguration->canWriteEnabled = false;
engineConfiguration->tpsMin = convertVoltageTo10bitADC(0.250);
engineConfiguration->tpsMax = convertVoltageTo10bitADC(4.538);
engineConfiguration->tpsErrorDetectionTooLow = -10; // -10% open
engineConfiguration->tpsErrorDetectionTooHigh = 110; // 110% open
boardConfiguration->mapMinBufferLength = 4;
}
void setPinConfigurationOverrides(void) {
#if 0
boardConfiguration->injectionPins[0] = is469 ? GPIOD_9 : GPIOB_14; // #1
boardConfiguration->injectionPins[1] = is469 ? GPIOD_15 : GPIOC_7; // #2
boardConfiguration->injectionPins[2] = is469 ? GPIOD_10 : GPIOB_15; // #3
boardConfiguration->injectionPins[3] = is469 ? GPIOD_14 : GPIOC_6; // #4
boardConfiguration->ignitionPins[0] = GPIOA_10;
boardConfiguration->ignitionPins[1] = GPIOA_9;
boardConfiguration->ignitionPins[2] = GPIOA_8;
boardConfiguration->ignitionPins[3] = GPIOA_11;
boardConfiguration->ignitionPinMode = OM_INVERTED;
enginePins.startInjectionPins();
enginePins.startIgnitionPins();
for (int i = 0; i < 4; i++) {
enginePins.injectors[i].setLow();
enginePins.coils[i].setLow();
}
#else
palSetPadMode(GPIOA, 10, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOA, 10, true);
palSetPadMode(GPIOA, 9, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOA, 9, true);
palSetPadMode(GPIOA, 8, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOA, 8, true);
palSetPadMode(GPIOA, 11, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOA, 11, true);
palSetPadMode(GPIOD, 9, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOD, 9, false);
palSetPadMode(GPIOD, 15, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOD, 15, false);
palSetPadMode(GPIOD, 10, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOD, 10, false);
palSetPadMode(GPIOD, 14, PAL_MODE_OUTPUT_PUSHPULL);
palWritePad(GPIOD, 14, false);
#endif
}
void setSerialConfigurationOverrides(void) {
boardConfiguration->useSerialPort = true;
engineConfiguration->binarySerialTxPin = GPIOA_0;
engineConfiguration->binarySerialRxPin = GPIOA_1;
engineConfiguration->consoleSerialTxPin = GPIOA_0;
engineConfiguration->consoleSerialRxPin = GPIOA_1;
boardConfiguration->tunerStudioSerialSpeed = SERIAL_SPEED;
engineConfiguration->uartConsoleSerialSpeed = SERIAL_SPEED;
}
void setSdCardConfigurationOverrides(void) {
boardConfiguration->is_enabled_spi_1 = true;
engineConfiguration->sdCardSpiDevice = SPI_DEVICE_1;
boardConfiguration->sdCardCsPin = GPIOA_2;
boardConfiguration->isSdCardEnabled = true;
}
/**
* @brief Board-specific configuration code overrides.
* @todo Add your board-specific code, if any.
*/
void setBoardConfigurationOverrides(void) {
// give a chance to trigger SWD programmer... Wait for 2 secs (=2000 ms).
// TODO: remove it when the bootloader is ready
Delay(2000);
setSerialConfigurationOverrides();
engineConfiguration->vbattAdcChannel = EFI_ADC_13;
engineConfiguration->tpsAdcChannel = is469 ? EFI_ADC_7 : EFI_ADC_14;
engineConfiguration->map.sensor.hwChannel = is469 ? EFI_ADC_8 : EFI_ADC_15;
engineConfiguration->clt.adcChannel = EFI_ADC_3;
engineConfiguration->iat.adcChannel = EFI_ADC_4;
engineConfiguration->afr.hwChannel = is469 ? EFI_ADC_9 : EFI_ADC_8;
engineConfiguration->adcVcc = ADC_VCC;
engineConfiguration->baroSensor.hwChannel = EFI_ADC_NONE;
engineConfiguration->pedalPositionChannel = EFI_ADC_NONE;
boardConfiguration->injectionPins[0] = is469 ? GPIOD_9 : GPIOB_14; // #1
boardConfiguration->injectionPins[1] = is469 ? GPIOD_15 : GPIOC_7; // #2
boardConfiguration->injectionPins[2] = is469 ? GPIOD_10 : GPIOB_15; // #3
boardConfiguration->injectionPins[3] = is469 ? GPIOD_14 : GPIOC_6; // #4
boardConfiguration->ignitionPins[0] = GPIOA_10;
boardConfiguration->ignitionPins[1] = GPIOA_9;
boardConfiguration->ignitionPins[2] = GPIOA_8;
boardConfiguration->ignitionPins[3] = GPIOA_11;
boardConfiguration->ignitionPinMode = OM_INVERTED;
engineConfiguration->vbattDividerCoeff = ((float) (2 + 10)) / 2;
engineConfiguration->clt.config.bias_resistor = 2700;
engineConfiguration->iat.config.bias_resistor = 2700;
boardConfiguration->useStepperIdle = true;
boardConfiguration->idle.stepperDirectionPin = is469 ? GPIOB_14 : GPIOB_12;
boardConfiguration->idle.stepperStepPin = is469 ? GPIOB_15 : GPIOB_13;
engineConfiguration->stepperEnablePin = GPIO_UNASSIGNED;
engineConfiguration->stepperEnablePinMode = OM_DEFAULT;
engineConfiguration->communicationPin = GPIO_UNASSIGNED;// GPIOA_13; // yellow LED
engineConfiguration->runningPin = GPIOA_13; //GPIOA_13; // yellow LED
engineConfiguration->fatalErrorPin = GPIOA_13;
engineConfiguration->warninigPin = GPIO_UNASSIGNED;
engineConfiguration->configResetPin = GPIO_UNASSIGNED;
boardConfiguration->triggerInputPins[0] = is469 ? GPIOA_5 : GPIOA_5;
boardConfiguration->triggerInputPins[1] = GPIO_UNASSIGNED;
boardConfiguration->triggerInputPins[2] = GPIO_UNASSIGNED;
engineConfiguration->camInput = is469 ? GPIOE_9 : GPIOA_6;
boardConfiguration->tachOutputPin = GPIOC_8;
boardConfiguration->tachOutputPinMode = OM_DEFAULT;
boardConfiguration->fuelPumpPin = is469 ? GPIOD_6 : GPIOB_7;
boardConfiguration->fuelPumpPinMode = OM_DEFAULT;
boardConfiguration->mainRelayPin = is469 ? GPIOB_11 : GPIOB_2;
boardConfiguration->mainRelayPinMode = OM_DEFAULT;
boardConfiguration->fanPin = GPIOC_9;
boardConfiguration->fanPinMode = OM_DEFAULT;
boardConfiguration->malfunctionIndicatorPin = GPIOC_1;
boardConfiguration->malfunctionIndicatorPinMode = OM_DEFAULT;
// starter block
setFsio(0, (is469 ? GPIOB_10 : GPIOB_1), STARTER_BLOCK PASS_ENGINE_PARAMETER_SUFFIX);
// debug pad
boardConfiguration->triggerSimulatorPins[0] = GPIOD_8;
boardConfiguration->triggerSimulatorPinModes[0] = OM_DEFAULT;
// not used
engineConfiguration->dizzySparkOutputPin = GPIO_UNASSIGNED;
engineConfiguration->externalKnockSenseAdc = EFI_ADC_NONE;
engineConfiguration->displayMode = DM_NONE;
boardConfiguration->HD44780_rs = GPIO_UNASSIGNED;
boardConfiguration->HD44780_e = GPIO_UNASSIGNED;
boardConfiguration->HD44780_db4 = GPIO_UNASSIGNED;
boardConfiguration->HD44780_db5 = GPIO_UNASSIGNED;
boardConfiguration->HD44780_db6 = GPIO_UNASSIGNED;
boardConfiguration->HD44780_db7 = GPIO_UNASSIGNED;
boardConfiguration->digitalPotentiometerChipSelect[0] = GPIO_UNASSIGNED;
boardConfiguration->digitalPotentiometerChipSelect[1] = GPIO_UNASSIGNED;
boardConfiguration->digitalPotentiometerChipSelect[2] = GPIO_UNASSIGNED;
boardConfiguration->digitalPotentiometerChipSelect[3] = GPIO_UNASSIGNED;
boardConfiguration->triggerSimulatorPins[1] = GPIO_UNASSIGNED;
boardConfiguration->triggerSimulatorPins[2] = GPIO_UNASSIGNED;
boardConfiguration->triggerSimulatorPinModes[1] = OM_DEFAULT;
boardConfiguration->triggerSimulatorPinModes[2] = OM_DEFAULT;
boardConfiguration->vehicleSpeedSensorInputPin = GPIO_UNASSIGNED;
boardConfiguration->boardTestModeJumperPin = GPIO_UNASSIGNED;
boardConfiguration->acRelayPin = GPIO_UNASSIGNED;
boardConfiguration->digitalPotentiometerSpiDevice = SPI_NONE;
boardConfiguration->max31855spiDevice = SPI_NONE;
/////////////////////////////////////////////////////////
boardConfiguration->is_enabled_spi_1 = true;
boardConfiguration->is_enabled_spi_2 = false;
boardConfiguration->is_enabled_spi_3 = true;
boardConfiguration->spi1mosiPin = GPIOB_5;
engineConfiguration->spi1MosiMode = 0; // PAL_STM32_OTYPE_PUSHPULL
boardConfiguration->spi1misoPin = GPIOB_4;
engineConfiguration->spi1MisoMode = 0; // PAL_STM32_OTYPE_PUSHPULL
boardConfiguration->spi1sckPin = GPIOB_3;
engineConfiguration->spi1SckMode = 0; // PAL_STM32_OTYPE_PUSHPULL
boardConfiguration->spi3mosiPin = GPIOC_12;
engineConfiguration->spi3MosiMode = PAL_STM32_OTYPE_OPENDRAIN; // 4
boardConfiguration->spi3misoPin = GPIOC_11;
engineConfiguration->spi3MisoMode = PAL_STM32_PUPDR_PULLUP; // 32
boardConfiguration->spi3sckPin = GPIOC_10;
engineConfiguration->spi3SckMode = PAL_STM32_OTYPE_OPENDRAIN; // 4
engineConfiguration->hip9011SpiDevice = SPI_DEVICE_3;
boardConfiguration->hip9011CsPin = is469 ? GPIOD_1 : GPIOD_2;
boardConfiguration->hip9011CsPinMode = OM_OPENDRAIN;
boardConfiguration->hip9011IntHoldPin = GPIOC_14;
boardConfiguration->hip9011IntHoldPinMode = OM_OPENDRAIN;
engineConfiguration->hipOutputChannel = EFI_ADC_10; // PC0
boardConfiguration->isHip9011Enabled = true;
engineConfiguration->cj125SpiDevice = SPI_DEVICE_3;
engineConfiguration->cj125ua = is469 ? EFI_ADC_9 : EFI_ADC_8;
engineConfiguration->cj125ur = EFI_ADC_12;
boardConfiguration->cj125CsPin = GPIOA_15;
engineConfiguration->cj125CsPinMode = OM_OPENDRAIN;
boardConfiguration->wboHeaterPin = GPIOC_13;
boardConfiguration->o2heaterPin = GPIOC_13;
//boardConfiguration->isCJ125Enabled = true;
boardConfiguration->isCJ125Enabled = false;
boardConfiguration->canDeviceMode = CD_USE_CAN1;
boardConfiguration->canTxPin = GPIOB_9;
boardConfiguration->canRxPin = GPIOB_8;
//!!!!!!!!!!!!!!!
#if 1
setPrometheusDefaults(PASS_ENGINE_PARAMETER_SIGNATURE);
#endif
//!!!!!!!!!!!!!!!!!!!
//engineConfiguration->silentTriggerError = true;
//!!!!!!!!!!!!!
//engineConfiguration->isEngineChartEnabled = false;
}

View File

@ -0,0 +1,115 @@
/**
* @file boards/Prometheus/efifeatures.h
*
* @brief In this header we can override efifeatures.h.
*
* @date Apr 22, 2017
* @author andreika, (c) 2017
*/
#include "../../stm32f4ems/efifeatures.h"
#ifndef EFIFEATURES_PROMETHEUS_H_
#define EFIFEATURES_PROMETHEUS_H_
#undef EFI_RTC
#define EFI_RTC FALSE
#undef EFI_POTENTIOMETER
#define EFI_POTENTIOMETER FALSE
#undef EFI_MAX_31855
#define EFI_MAX_31855 FALSE
#undef EFI_HD44780_LCD
#define EFI_HD44780_LCD FALSE
#undef EFI_USB_SERIAL
#define EFI_USB_SERIAL FALSE
#undef MMC_CARD_SPI
#define MMC_CARD_SPI SPID1
#define ADC_CHANNEL_VREF ADC_CHANNEL_IN14
#undef EFI_CONSOLE_UART_DEVICE
//#define EFI_CONSOLE_UART_DEVICE (&SD4)
#undef EFI_UART_GPS
#define EFI_UART_GPS FALSE
//!!!!!!!!!!!!!!!!!
#undef TS_UART_DMA_MODE
#define TS_UART_DMA_MODE TRUE
#undef TS_DMA_UART_DEVICE
#define TS_DMA_UART_DEVICE (&UARTD4)
#undef TS_SERIAL_UART_DEVICE
#define TS_SERIAL_UART_DEVICE (&SD4)
#undef EFI_BLUETOOTH_SETUP
#define EFI_BLUETOOTH_SETUP TRUE
#undef SERIAL_SPEED
#define SERIAL_SPEED 115200
#undef EFI_CONSOLE_TX_PORT
#define EFI_CONSOLE_TX_PORT GPIOA
#undef EFI_CONSOLE_TX_PIN
#define EFI_CONSOLE_TX_PIN 0
#undef EFI_CONSOLE_RX_PORT
#define EFI_CONSOLE_RX_PORT GPIOA
#undef EFI_CONSOLE_RX_PIN
#define EFI_CONSOLE_RX_PIN 1
#undef EFI_CONSOLE_AF
#define EFI_CONSOLE_AF 8
#undef TS_SERIAL_AF
#define TS_SERIAL_AF 8
#undef LED_WARNING_BRAIN_PIN
#define LED_WARNING_BRAIN_PIN GPIOA_13
#undef LED_ERROR_BRAIN_PIN
#define LED_ERROR_BRAIN_PIN GPIOA_13
#undef LED_ERROR_PORT
#define LED_ERROR_PORT GPIOA
#undef LED_ERROR_PIN
#define LED_ERROR_PIN 13
#undef EFI_WARNING_LED
#define EFI_WARNING_LED FALSE
#undef CONSOLE_MODE_SWITCH_PORT
#define CONSOLE_MODE_SWITCH_PORT GPIOE // ???
#undef CONFIG_RESET_SWITCH_PORT
#define CONFIG_RESET_SWITCH_PORT GPIOE // ???
//!!!!!!!!!!!!!!!
//#undef EFI_INTERNAL_ADC
//#define EFI_INTERNAL_ADC FALSE
#undef ADC_VCC
#define ADC_VCC 3.275f
#undef EFI_MAIN_RELAY_CONTROL
#define EFI_MAIN_RELAY_CONTROL TRUE
#undef EFI_MEMS
#define EFI_MEMS FALSE
#undef EFI_IDLE_INCREMENTAL_PID_CIC
#define EFI_IDLE_INCREMENTAL_PID_CIC TRUE
#undef EFI_CJ125_DIRECTLY_CONNECTED_UR
#define EFI_CJ125_DIRECTLY_CONNECTED_UR TRUE
#define RPM_LOW_THRESHOLD 60
#define EFI_PRINT_ERRORS_AS_WARNINGS TRUE
#define EFI_NARROW_EGO_AVERAGING TRUE
#endif /* EFIFEATURES_PROMETHEUS_H_ */

View File

@ -0,0 +1,38 @@
/**
* @file boards/Prometheus/halconf.h
*
* @brief In this header we can override halconf.h.
*
* @date Apr 22, 2017
* @author andreika, (c) 2017
*/
#include "mcuconf.h"
#include "../../stm32f4ems/halconf.h"
#ifndef _HALCONF_PROMETHEUS_H_
#define _HALCONF_PROMETHEUS_H_
#undef HAL_USE_I2C
#define HAL_USE_I2C FALSE
#undef HAL_USE_SERIAL_USB
#define HAL_USE_SERIAL_USB FALSE
#undef HAL_USE_SERIAL
#define HAL_USE_SERIAL FALSE
#undef HAL_USE_UART
#if TS_UART_DMA_MODE
#define HAL_USE_UART TRUE
#else
#define HAL_USE_UART FALSE
#endif
#undef HAL_USE_USB
#define HAL_USE_USB FALSE
#undef HAL_USE_USB_MSD
#define HAL_USE_USB_MSD FALSE
#endif /* _HALCONF_PROMETHEUS_H_ */

View File

@ -0,0 +1,70 @@
/**
* @file boards/Prometheus/mcuconf.h
*
* @brief In this header we can override mcuconf.h.
*
* @date Apr 22, 2017
* @author andreika, (c) 2017
*/
#include "../../stm32f4ems/mcuconf.h"
#ifndef _MCUCONF_PROMETHEUS_H_
#define _MCUCONF_PROMETHEUS_H_
//#define STM32_ADC_ADCPRE ADC_CCR_ADCPRE_DIV2 // ADC_CCR_ADCPRE_DIV4
/*
#undef STM32_PLLN_VALUE
#define STM32_PLLN_VALUE 360 // 180 MHz
#undef STM32_PLLI2SR_VALUE
#define STM32_PLLI2SR_VALUE 4
#undef STM32_PLLSAIP_VALUE
#define STM32_PLLSAIP_VALUE 4
*/
#undef STM32_LSE_ENABLED
#define STM32_LSE_ENABLED FALSE
#undef STM32_RTCSEL
#define STM32_RTCSEL STM32_RTCSEL_HSEDIV // STM32_RTCSEL_LSI
#undef STM32_SERIAL_USE_USART1
#define STM32_SERIAL_USE_USART1 FALSE
#undef STM32_SERIAL_USE_USART2
#define STM32_SERIAL_USE_USART2 FALSE
#undef STM32_SERIAL_USE_USART3
#define STM32_SERIAL_USE_USART3 FALSE
#undef STM32_SERIAL_USE_UART4
#if TS_UART_DMA_MODE
#define STM32_SERIAL_USE_UART4 FALSE
#else
#define STM32_SERIAL_USE_UART4 TRUE
#endif
#undef STM32_UART_USE_USART3
#define STM32_UART_USE_USART3 FALSE
#undef STM32_UART_USE_UART4
#define STM32_UART_USE_UART4 TRUE
//#undef STM32_USB_USE_OTG1
//#define STM32_USB_USE_OTG1 FALSE
#undef STM32_I2C_USE_I2C1
#define STM32_I2C_USE_I2C1 FALSE
#undef STM32_SPI_USE_SPI2
#define STM32_SPI_USE_SPI2 FALSE
//#undef STM32_CAN_CAN1_IRQ_PRIORITY
//#define STM32_CAN_CAN1_IRQ_PRIORITY 4
#endif /* _MCUCONF_PROMETHEUS_H_ */

View File

@ -0,0 +1,4 @@
Prometheus board.
http://rusefi.com/forum/viewtopic.php?f=4&t=1215
https://github.com/andreika-git/rusefi/

View File

@ -0,0 +1,8 @@
/* Stack rules inclusion.*/
INCLUDE rules_stacks.ld
/* Code rules inclusion.*/
INCLUDE rules_code.ld
/* Data rules inclusion.*/
INCLUDE rules_data.ld

View File

@ -0,0 +1,77 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
ENTRY(Reset_Handler)
SECTIONS
{
.vectors : ALIGN(16)
{
KEEP(*(.vectors))
} > VECTORS_FLASH AT > VECTORS_FLASH_LMA
.xtors : ALIGN(4)
{
__init_array_start = .;
KEEP(*(SORT(.init_array.*)))
KEEP(*(.init_array))
__init_array_end = .;
__fini_array_start = .;
KEEP(*(.fini_array))
KEEP(*(SORT(.fini_array.*)))
__fini_array_end = .;
} > XTORS_FLASH AT > XTORS_FLASH_LMA
.text ALIGN(16) : ALIGN(16)
{
*(.text)
*(.text.*)
*(.glue_7t)
*(.glue_7)
*(.gcc*)
} > TEXT_FLASH AT > TEXT_FLASH_LMA
.rodata : ALIGN(4)
{
. = ALIGN(4);
__rodata_base__ = .;
*(.rodata)
*(.rodata.*)
. = ALIGN(4);
__rodata_end__ = .;
} > RODATA_FLASH AT > RODATA_FLASH_LMA
.ARM.extab :
{
*(.ARM.extab* .gnu.linkonce.armextab.*)
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
.ARM.exidx : {
__exidx_start = .;
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
__exidx_end = .;
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
.eh_frame_hdr :
{
*(.eh_frame_hdr)
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
.eh_frame : ONLY_IF_RO
{
*(.eh_frame)
} > VARIOUS_FLASH AT > VARIOUS_FLASH_LMA
}

View File

@ -0,0 +1,273 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
__ram0_start__ = ORIGIN(ram0);
__ram0_size__ = LENGTH(ram0);
__ram0_end__ = __ram0_start__ + __ram0_size__;
__ram1_start__ = ORIGIN(ram1);
__ram1_size__ = LENGTH(ram1);
__ram1_end__ = __ram1_start__ + __ram1_size__;
__ram2_start__ = ORIGIN(ram2);
__ram2_size__ = LENGTH(ram2);
__ram2_end__ = __ram2_start__ + __ram2_size__;
__ram3_start__ = ORIGIN(ram3);
__ram3_size__ = LENGTH(ram3);
__ram3_end__ = __ram3_start__ + __ram3_size__;
__ram4_start__ = ORIGIN(ram4);
__ram4_size__ = LENGTH(ram4);
__ram4_end__ = __ram4_start__ + __ram4_size__;
__ram5_start__ = ORIGIN(ram5);
__ram5_size__ = LENGTH(ram5);
__ram5_end__ = __ram5_start__ + __ram5_size__;
__ram6_start__ = ORIGIN(ram6);
__ram6_size__ = LENGTH(ram6);
__ram6_end__ = __ram6_start__ + __ram6_size__;
__ram7_start__ = ORIGIN(ram7);
__ram7_size__ = LENGTH(ram7);
__ram7_end__ = __ram7_start__ + __ram7_size__;
ENTRY(Reset_Handler)
SECTIONS
{
.data : ALIGN(4)
{
. = ALIGN(4);
PROVIDE(_textdata = LOADADDR(.data));
PROVIDE(_data = .);
_textdata_start = LOADADDR(.data);
_data_start = .;
*(.data)
*(.data.*)
*(.ramtext)
. = ALIGN(4);
PROVIDE(_edata = .);
_data_end = .;
} > DATA_RAM AT > DATA_RAM_LMA
.bss (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
_bss_start = .;
*(.bss)
*(.bss.*)
*(COMMON)
. = ALIGN(4);
_bss_end = .;
PROVIDE(end = .);
} > BSS_RAM
.ram0_init : ALIGN(4)
{
. = ALIGN(4);
__ram0_init_text__ = LOADADDR(.ram0_init);
__ram0_init__ = .;
KEEP(*(.ram0_init))
KEEP(*(.ram0_init.*))
. = ALIGN(4);
} > ram0 AT > RAM_INIT_FLASH_LMA
.ram0 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram0_clear__ = .;
*(.ram0_clear)
*(.ram0_clear.*)
. = ALIGN(4);
__ram0_noinit__ = .;
*(.ram0)
*(.ram0.*)
. = ALIGN(4);
__ram0_free__ = .;
} > ram0
.ram1_init : ALIGN(4)
{
. = ALIGN(4);
__ram1_init_text__ = LOADADDR(.ram1_init);
__ram1_init__ = .;
KEEP(*(.ram1_init))
KEEP(*(.ram1_init.*))
. = ALIGN(4);
} > ram1 AT > RAM_INIT_FLASH_LMA
.ram1 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram1_clear__ = .;
*(.ram1_clear)
*(.ram1_clear.*)
. = ALIGN(4);
__ram1_noinit__ = .;
*(.ram1)
*(.ram1.*)
. = ALIGN(4);
__ram1_free__ = .;
} > ram1
.ram2_init : ALIGN(4)
{
. = ALIGN(4);
__ram2_init_text__ = LOADADDR(.ram2_init);
__ram2_init__ = .;
KEEP(*(.ram2_init))
KEEP(*(.ram2_init.*))
. = ALIGN(4);
} > ram2 AT > RAM_INIT_FLASH_LMA
.ram2 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram2_clear__ = .;
*(.ram2_clear)
*(.ram2_clear.*)
. = ALIGN(4);
__ram2_noinit__ = .;
*(.ram2)
*(.ram2.*)
. = ALIGN(4);
__ram2_free__ = .;
} > ram2
.ram3_init : ALIGN(4)
{
. = ALIGN(4);
__ram3_init_text__ = LOADADDR(.ram3_init);
__ram3_init__ = .;
KEEP(*(.ram3_init))
KEEP(*(.ram3_init.*))
. = ALIGN(4);
} > ram3 AT > RAM_INIT_FLASH_LMA
.ram3 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram3_clear__ = .;
*(.ram3_clear)
*(.ram3_clear.*)
. = ALIGN(4);
__ram3_noinit__ = .;
*(.ram3)
*(.ram3.*)
. = ALIGN(4);
__ram3_free__ = .;
} > ram3
.ram4_init : ALIGN(4)
{
. = ALIGN(4);
__ram4_init_text__ = LOADADDR(.ram4_init);
__ram4_init__ = .;
KEEP(*(.ram4_init))
KEEP(*(.ram4_init.*))
. = ALIGN(4);
} > ram4 AT > RAM_INIT_FLASH_LMA
.ram4 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram4_clear__ = .;
*(.ram4_clear)
*(.ram4_clear.*)
. = ALIGN(4);
__ram4_noinit__ = .;
*(.ram4)
*(.ram4.*)
. = ALIGN(4);
__ram4_free__ = .;
} > ram4
.ram5_init : ALIGN(4)
{
. = ALIGN(4);
__ram5_init_text__ = LOADADDR(.ram5_init);
__ram5_init__ = .;
KEEP(*(.ram5_init))
KEEP(*(.ram5_init.*))
. = ALIGN(4);
} > ram5 AT > RAM_INIT_FLASH_LMA
.ram5 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram5_clear__ = .;
*(.ram5_clear)
*(.ram5_clear.*)
. = ALIGN(4);
__ram5_noinit__ = .;
*(.ram5)
*(.ram5.*)
. = ALIGN(4);
__ram5_free__ = .;
} > ram5
.ram6_init : ALIGN(4)
{
. = ALIGN(4);
__ram6_init_text__ = LOADADDR(.ram6_init);
__ram6_init__ = .;
KEEP(*(.ram6_init))
KEEP(*(.ram6_init.*))
. = ALIGN(4);
} > ram6 AT > RAM_INIT_FLASH_LMA
.ram6 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram6_clear__ = .;
*(.ram6_clear)
*(.ram6_clear.*)
. = ALIGN(4);
__ram6_noinit__ = .;
*(.ram6)
*(.ram6.*)
. = ALIGN(4);
__ram6_free__ = .;
} > ram6
.ram7_init : ALIGN(4)
{
. = ALIGN(4);
__ram7_init_text__ = LOADADDR(.ram7_init);
__ram7_init__ = .;
KEEP(*(.ram7_init))
KEEP(*(.ram7_init.*))
. = ALIGN(4);
} > ram7 AT > RAM_INIT_FLASH_LMA
.ram7 (NOLOAD) : ALIGN(4)
{
. = ALIGN(4);
__ram7_clear__ = .;
*(.ram7_clear)
*(.ram7_clear.*)
. = ALIGN(4);
__ram7_noinit__ = .;
*(.ram7)
*(.ram7.*)
. = ALIGN(4);
__ram7_free__ = .;
} > ram7
/* The default heap uses the (statically) unused part of a RAM section.*/
.heap (NOLOAD) :
{
. = ALIGN(8);
__heap_base__ = .;
. = ORIGIN(HEAP_RAM) + LENGTH(HEAP_RAM);
__heap_end__ = .;
} > HEAP_RAM
}

View File

@ -0,0 +1,38 @@
/*
ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
SECTIONS
{
/* Special section for exceptions stack.*/
.mstack :
{
. = ALIGN(8);
__main_stack_base__ = .;
. += __main_stack_size__;
. = ALIGN(8);
__main_stack_end__ = .;
} > MAIN_STACK_RAM
/* Special section for process stack.*/
.pstack :
{
__process_stack_base__ = .;
__main_thread_stack_base__ = .;
. += __process_stack_size__;
. = ALIGN(8);
__process_stack_end__ = .;
__main_thread_stack_end__ = .;
} > PROCESS_STACK_RAM
}