From 94b4be7f303dd454f6d054042697fe90242d78b3 Mon Sep 17 00:00:00 2001 From: Grover Yen Date: Mon, 12 Oct 2015 13:24:26 +0800 Subject: buddy: EC flash transmitter firmware and EDID. EC flash transmitter firmware and EDID into transmitter SRAM when transmitter power ready. BUG=chrome-os-partner:44631 BRANCH=none TEST=Update EC firmware and check panel sequence with LGC_SLE/BOE panel Change-Id: Idaf296db8f1610e5047f5656ce16210b3b15b65b Signed-off-by: Grover Yen Reviewed-on: https://chromium-review.googlesource.com/308312 Reviewed-by: Shawn N --- board/buddy/ec.tasklist | 1 + board/buddy/panel.c | 200 ++++++++++++---- board/buddy/panel.h | 614 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 768 insertions(+), 47 deletions(-) create mode 100644 board/buddy/panel.h diff --git a/board/buddy/ec.tasklist b/board/buddy/ec.tasklist index ea633dbbca..0201e17370 100644 --- a/board/buddy/ec.tasklist +++ b/board/buddy/ec.tasklist @@ -18,6 +18,7 @@ */ #define CONFIG_TASK_LIST \ TASK_ALWAYS(HOOKS, hook_task, NULL, LARGER_TASK_STACK_SIZE) \ + TASK_ALWAYS(PANEL, panel_task, NULL, TASK_STACK_SIZE) \ TASK_ALWAYS(CHARGER, charger_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(CHIPSET, chipset_task, NULL, TASK_STACK_SIZE) \ TASK_NOTEST(KEYPROTO, keyboard_protocol_task, NULL, TASK_STACK_SIZE) \ diff --git a/board/buddy/panel.c b/board/buddy/panel.c index f665caa8e6..3f0de1c136 100644 --- a/board/buddy/panel.c +++ b/board/buddy/panel.c @@ -7,54 +7,11 @@ #include "gpio.h" #include "hooks.h" #include "i2c.h" +#include "panel.h" +#include "task.h" #include "timer.h" #include "util.h" -#define I2C_PORT_CONVERT 0 -#define I2C_ADDR_CONVERT 0x62 -#define CMD_NUM 6 - - -enum panel_id_list { - PANEL_LGC_SLE = 0, - PANEL_BOE, - PANEL_LGC_SLK, - PANEL_COUNT, - PANEL_UNKNOWN, - PANEL_NONE, -}; - -struct converter_cfg { - uint8_t reg; - uint8_t val; -}; - -static const struct converter_cfg converter_cfg_vals[PANEL_COUNT][CMD_NUM] = { - { - {0x00, 0xB1}, - {0x01, 0x43}, - {0x02, 0x73}, - {0x03, 0x00}, - {0x04, 0x00}, - {0x05, 0xC7}, - }, - { - {0x00, 0xB1}, - {0x01, 0x43}, - {0x02, 0x7B}, - {0x03, 0x00}, - {0x04, 0x00}, - {0x05, 0xB7}, - }, - { - {0x00, 0x71}, - {0x01, 0x43}, - {0x02, 0x8A}, - {0x03, 0x00}, - {0x04, 0x00}, - {0x05, 0xC7}, - }, -}; static int get_panel_id(void) { @@ -86,7 +43,7 @@ static void panel_converter_setting(void) int i; int panel_id = get_panel_id(); - /* Unidentified panel id must not be configured*/ + /* Unidentified panel id must not be configured */ ASSERT(panel_id != PANEL_UNKNOWN); if (panel_id == PANEL_NONE) @@ -122,9 +79,158 @@ void backlight_interrupt(enum gpio_signal signal) static void convert_init(void) { update_backlight(); - #ifdef CONFIG_BACKLIGHT_REQ_GPIO gpio_enable_interrupt(CONFIG_BACKLIGHT_REQ_GPIO); #endif } DECLARE_HOOK(HOOK_INIT, convert_init, HOOK_PRIO_DEFAULT); + +static int i2c_write_block(int port, int addr, uint8_t *data, int size) +{ + int rv; + + i2c_lock(port, 1); + /* Extend timeout setting to avoid timeout error */ + i2c_set_timeout(port, 700 * MSEC); + rv = i2c_xfer(port, addr, data, size, NULL, 0, I2C_XFER_SINGLE); + i2c_set_timeout(port, 0); + i2c_lock(port, 0); + + return rv; +} + +static int i2c_read_block(int port, int addr, int cmd, uint8_t *buf, int size) +{ + int rv; + uint8_t reg; + reg = cmd; + + i2c_lock(port, 1); + rv = i2c_xfer(port, addr, ®, 1, buf, size, I2C_XFER_SINGLE); + i2c_lock(port, 0); + + return rv; +} + +static int flash_transmitter_fw(void) +{ + int crc = 0; + int crc_done = 0; + int rv = 0; + int retry = 0; + + /* EC program SRAM start */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x6F, 0x80); + + /* Write FW into transmitter SRAM */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5D, 0x00); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5E, 0x00); + i2c_write_block(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, + (uint8_t *)transmitter_fw, sizeof(transmitter_fw)); + + /* Setup HW CRC module, verify range from 0x0000 to 0x17FE for 6K FW */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x70, 0x00); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x71, 0x00); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x72, 0x17); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x73, 0xFE); + + /* HW CRC start */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x74, 0x01); + + /* Check HW CRC ready */ + do { + retry++; + i2c_read8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x74, &crc_done); + } while ((retry < 3) && (crc_done & 0x02) == 0); + + /* Compare HW CRC value with FW CRC (last byte of transmitter FW) */ + if (crc_done & 0x02) { + rv = i2c_read8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x75, &crc); + + if (!rv && (crc == transmitter_fw[sizeof(transmitter_fw)-1])) + return EC_SUCCESS; + + } + + return EC_ERROR_UNKNOWN; +} + +static int flash_edid(void) +{ + int i; + uint8_t edid_tmp[128]; + int panel_id = get_panel_id(); + + /* Setup */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x61, 0x02); + + /* Write EDID into transmitter SRAM */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5D, 0x81); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5E, 0x00); + i2c_write_block(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, + (uint8_t *)edid[panel_id], sizeof(edid_tmp) + 1); + + /* Read EDID from transmitter to verify */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5D, 0x81); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5E, 0x00); + i2c_read_block(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x5C, + edid_tmp, sizeof(edid_tmp)); + + /* Verify EDID */ + for (i = 0; i < sizeof(edid_tmp); i++) { + if (edid_tmp[i] != edid[panel_id][i+1]) + return EC_ERROR_UNKNOWN; + } + + return EC_SUCCESS; +} + +static void transmitter_reset(void) +{ + /* Reset and re-run transmitter */ + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0xFD, 0x05); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0xFC, 0x83); + i2c_write8(I2C_PORT_TRANSM, I2C_ADDR_TRANSM, 0x6F, 0x40); +} + +void panel_task(void) +{ + int rv; + int retry; + + while (1) { + /* Wait for task wake event */ + task_wait_event(-1); + + /* Delay 50ms to wait transmitter ready */ + msleep(50); + + retry = 0; + + do { + retry++; + rv = flash_transmitter_fw(); + } while ((retry < 3) && rv); + + if (rv) + return; + + retry = 0; + + do { + retry++; + rv = flash_edid(); + } while ((retry < 3) && rv); + + if (rv) + return; + + transmitter_reset(); + } +} + +static void transmitter_power_on(void) +{ + task_wake(TASK_ID_PANEL); +} +DECLARE_HOOK(HOOK_CHIPSET_STARTUP, transmitter_power_on, HOOK_PRIO_DEFAULT); diff --git a/board/buddy/panel.h b/board/buddy/panel.h new file mode 100644 index 0000000000..e9d6ce857b --- /dev/null +++ b/board/buddy/panel.h @@ -0,0 +1,614 @@ +/* Copyright 2015 The Chromium OS Authors. All rights reserved. + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +/* EC for Buddy panel control */ + +#define I2C_PORT_TRANSM 5 +#define I2C_ADDR_TRANSM 0x94 + +#define I2C_PORT_CONVERT 0 +#define I2C_ADDR_CONVERT 0x62 +#define CMD_NUM 6 + +enum panel_id_list { + PANEL_LGC_SLE = 0, + PANEL_BOE, + PANEL_LGC_SLK, + PANEL_COUNT, + PANEL_UNKNOWN, + PANEL_NONE, +}; + +static const uint8_t transmitter_fw[] = { + 0x5C, /*I2C offset is 0x5C*/ + 0x02, 0x00, 0x2E, 0x01, 0xBA, 0x00, 0x01, 0x15, 0x00, 0x01, 0x10, 0x00, + 0xC1, 0x20, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x21, 0xC3, 0x90, 0x0C, 0xC1, + 0xE4, 0xF0, 0x90, 0x0C, 0xC2, 0x74, 0x03, 0xF0, 0x74, 0xF0, 0x90, 0x0C, + 0xC3, 0xF0, 0x90, 0x0C, 0xC4, 0x22, 0xFF, 0x02, 0x8A, 0xBC, 0x78, 0x7F, + 0xE4, 0xF6, 0xD8, 0xFD, 0x75, 0x81, 0x72, 0x02, 0x00, 0x75, 0x02, 0x05, + 0x8D, 0xE4, 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0x40, 0x03, 0xF6, 0x80, + 0x01, 0xF2, 0x08, 0xDF, 0xF4, 0x80, 0x29, 0xE4, 0x93, 0xA3, 0xF8, 0x54, + 0x07, 0x24, 0x0C, 0xC8, 0xC3, 0x33, 0xC4, 0x54, 0x0F, 0x44, 0x20, 0xC8, + 0x83, 0x40, 0x04, 0xF4, 0x56, 0x80, 0x01, 0x46, 0xF6, 0xDF, 0xE4, 0x80, + 0x0B, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x90, 0x00, 0x05, + 0xE4, 0x7E, 0x01, 0x93, 0x60, 0xBC, 0xA3, 0xFF, 0x54, 0x3F, 0x30, 0xE5, + 0x09, 0x54, 0x1F, 0xFE, 0xE4, 0x93, 0xA3, 0x60, 0x01, 0x0E, 0xCF, 0x54, + 0xC0, 0x25, 0xE0, 0x60, 0xA8, 0x40, 0xB8, 0xE4, 0x93, 0xA3, 0xFA, 0xE4, + 0x93, 0xA3, 0xF8, 0xE4, 0x93, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, + 0x83, 0xCA, 0xF0, 0xA3, 0xC8, 0xC5, 0x82, 0xC8, 0xCA, 0xC5, 0x83, 0xCA, + 0xDF, 0xE9, 0xDE, 0xE7, 0x80, 0xBE, 0xC0, 0xE0, 0xC0, 0xF0, 0xC0, 0x83, + 0xC0, 0x82, 0xC0, 0xD0, 0xE8, 0xC0, 0xE0, 0xE9, 0xC0, 0xE0, 0xEA, 0xC0, + 0xE0, 0xEB, 0xC0, 0xE0, 0xEC, 0xC0, 0xE0, 0xED, 0xC0, 0xE0, 0xEE, 0xC0, + 0xE0, 0xEF, 0xC0, 0xE0, 0x90, 0xFF, 0xF4, 0xE0, 0xF5, 0x0C, 0x90, 0xFF, + 0xF3, 0xE0, 0xF5, 0x0B, 0x90, 0x0C, 0xC1, 0xE0, 0xF5, 0x08, 0x90, 0x0C, + 0xC2, 0xE0, 0xF5, 0x09, 0x90, 0x0C, 0xC3, 0xE0, 0xF5, 0x0A, 0x11, 0x15, + 0xE0, 0xF5, 0x0F, 0x90, 0x0C, 0xDA, 0xE0, 0xF5, 0x0D, 0x90, 0x0C, 0xD8, + 0xE0, 0xF5, 0x0E, 0x90, 0x0B, 0xEE, 0xE0, 0x44, 0x80, 0xF0, 0x90, 0x0C, + 0xD8, 0xE0, 0x44, 0x1F, 0xF0, 0x90, 0x0C, 0xD9, 0xE0, 0x54, 0xEF, 0xF0, + 0xE0, 0x44, 0x10, 0xF0, 0x90, 0x0C, 0xDA, 0x74, 0xFF, 0xF0, 0x90, 0xFF, + 0x00, 0xE4, 0xF0, 0xE5, 0x0D, 0x30, 0xE6, 0x10, 0x90, 0x02, 0xAF, 0x74, + 0xC0, 0xF0, 0x90, 0x00, 0x09, 0xE0, 0x54, 0xF0, 0x90, 0x02, 0xB0, 0xF0, + 0xE5, 0x0D, 0x54, 0xA0, 0x60, 0x02, 0x51, 0x3F, 0xE5, 0x0D, 0x30, 0xE0, + 0x03, 0x12, 0x82, 0x6B, 0xE5, 0x0E, 0x30, 0xE4, 0x03, 0x12, 0x8B, 0xA1, + 0xE5, 0x0D, 0x30, 0xE2, 0x21, 0x90, 0x0C, 0xC1, 0xE4, 0xF0, 0x90, 0x0C, + 0xC2, 0x74, 0x02, 0xF0, 0x74, 0x70, 0x11, 0x22, 0xE0, 0xFF, 0xBF, 0x01, + 0x04, 0xD2, 0x07, 0xD2, 0x14, 0x7B, 0x20, 0x7D, 0x46, 0x7F, 0x02, 0x12, + 0x8B, 0x1B, 0x11, 0x15, 0xE5, 0x0F, 0xF0, 0x90, 0x0C, 0xC1, 0xE5, 0x08, + 0xF0, 0xE5, 0x09, 0x51, 0xDD, 0xE5, 0x0A, 0xF0, 0x90, 0xFF, 0xF3, 0xE5, + 0x0B, 0xF0, 0x90, 0xFF, 0xF4, 0xE5, 0x0C, 0xF0, 0xD0, 0xE0, 0xFF, 0xD0, + 0xE0, 0xFE, 0xD0, 0xE0, 0xFD, 0xD0, 0xE0, 0xFC, 0xD0, 0xE0, 0xFB, 0xD0, + 0xE0, 0xFA, 0xD0, 0xE0, 0xF9, 0xD0, 0xE0, 0xF8, 0xD0, 0xD0, 0xD0, 0x82, + 0xD0, 0x83, 0xD0, 0xF0, 0xD0, 0xE0, 0x32, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, + 0x82, 0xC0, 0xD0, 0xE8, 0xC0, 0xE0, 0xEE, 0xC0, 0xE0, 0xEF, 0xC0, 0xE0, + 0xC2, 0xAF, 0x90, 0xFF, 0x19, 0xE0, 0x54, 0xCF, 0xF0, 0x20, 0x20, 0x40, + 0x90, 0xFF, 0x1A, 0xE0, 0x54, 0xDF, 0xF0, 0x90, 0xFF, 0x17, 0xE0, 0xFF, + 0x30, 0xE3, 0x06, 0x90, 0xFF, 0x16, 0xE5, 0x10, 0xF0, 0xEF, 0x30, 0xE0, + 0x03, 0x75, 0x15, 0x00, 0xEF, 0x30, 0xE1, 0x03, 0x75, 0x15, 0x00, 0xEF, + 0x30, 0xE2, 0x12, 0xE5, 0x15, 0x70, 0x05, 0x90, 0xFF, 0x14, 0x51, 0x34, + 0x05, 0x15, 0x90, 0xFF, 0x15, 0x51, 0x34, 0xD2, 0x20, 0xEF, 0x54, 0xC0, + 0x90, 0xFF, 0x17, 0xF0, 0xD2, 0xAF, 0xD0, 0xE0, 0xFF, 0xD0, 0xE0, 0xFE, + 0xD0, 0xE0, 0xF8, 0xD0, 0xD0, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, + 0xE0, 0xFE, 0x74, 0x11, 0x25, 0x15, 0xF8, 0xC6, 0xEE, 0xC6, 0x22, 0x90, + 0x0C, 0xCC, 0xE0, 0xF5, 0x19, 0xE0, 0x44, 0x02, 0xF0, 0x90, 0x03, 0xA3, + 0xE0, 0x44, 0x01, 0xF0, 0x90, 0x02, 0xA0, 0x74, 0x0F, 0xF0, 0x90, 0x0A, + 0xA9, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x0A, 0xB4, 0xE0, 0x44, 0x20, 0xF0, + 0x90, 0x0A, 0xA5, 0x74, 0x08, 0xF0, 0xE4, 0xF5, 0x49, 0xF5, 0x4A, 0xF5, + 0x48, 0xF5, 0x47, 0x90, 0x0A, 0xE2, 0x74, 0x80, 0xF0, 0x90, 0x00, 0x09, + 0xE0, 0x54, 0x30, 0xF5, 0x40, 0x90, 0x02, 0xAF, 0x74, 0xC0, 0xF0, 0x90, + 0x00, 0x0A, 0xE0, 0x54, 0x03, 0x60, 0x3A, 0x24, 0xFE, 0x60, 0x2B, 0x04, + 0x70, 0x3B, 0xE5, 0x30, 0x64, 0x03, 0x60, 0x35, 0xE4, 0xFB, 0x7D, 0x02, + 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x91, 0xC5, 0xE4, 0xFB, 0x7D, 0x06, 0x7F, + 0x02, 0x12, 0x8B, 0x1B, 0x7B, 0x80, 0x7D, 0x04, 0x7F, 0x02, 0x12, 0x8B, + 0x1B, 0x12, 0x80, 0x2C, 0x80, 0x13, 0xE5, 0x30, 0x64, 0x05, 0x60, 0x0D, + 0x12, 0x81, 0x1B, 0x80, 0x08, 0xE5, 0x30, 0xB4, 0x05, 0x03, 0x12, 0x82, + 0x39, 0xE4, 0x90, 0x0A, 0xE2, 0xF0, 0x90, 0x0C, 0xCC, 0xE5, 0x19, 0xF0, + 0x22, 0x90, 0x0C, 0xC2, 0xF0, 0x90, 0x0C, 0xC3, 0x22, 0xE5, 0x1A, 0x14, + 0x60, 0x15, 0x14, 0x60, 0x3F, 0x14, 0x70, 0x02, 0x81, 0x06, 0x14, 0x70, + 0x02, 0x81, 0x47, 0x24, 0x04, 0x60, 0x02, 0x81, 0x9C, 0x81, 0x99, 0x90, + 0x00, 0x9A, 0x74, 0x01, 0xF0, 0x30, 0x03, 0x05, 0x75, 0x1A, 0x04, 0x61, + 0xC4, 0x91, 0xD7, 0x50, 0x19, 0x12, 0x84, 0x26, 0x40, 0x02, 0x81, 0x9C, + 0x12, 0x89, 0xEE, 0x30, 0x09, 0xFD, 0x75, 0x1A, 0x02, 0x12, 0x8C, 0x1D, + 0x12, 0x85, 0xEA, 0x02, 0x88, 0xE7, 0x81, 0x99, 0x90, 0x00, 0x9A, 0x74, + 0x02, 0xF0, 0x12, 0x83, 0xF9, 0x40, 0x02, 0x61, 0xD4, 0xE5, 0x38, 0x70, + 0x08, 0x30, 0x05, 0x05, 0x12, 0x8D, 0x6A, 0x80, 0x03, 0x12, 0x8D, 0x83, + 0xE4, 0x90, 0x0C, 0xC1, 0xF0, 0x04, 0x51, 0xDD, 0x74, 0x0A, 0xF0, 0x90, + 0x0C, 0xC4, 0xE0, 0x90, 0x00, 0x50, 0x30, 0xE7, 0x05, 0x74, 0x20, 0xF0, + 0x80, 0x03, 0x74, 0x60, 0xF0, 0x90, 0x00, 0x20, 0xE0, 0x30, 0xE1, 0x0A, + 0x20, 0x05, 0x03, 0x12, 0x8C, 0x1D, 0x7B, 0xFD, 0x91, 0x9D, 0x90, 0x00, + 0x20, 0xE0, 0x30, 0xE0, 0x0E, 0x30, 0x05, 0x07, 0xD2, 0x06, 0x12, 0x8C, + 0xBC, 0xC2, 0x06, 0x7B, 0xFE, 0x91, 0x9D, 0xE5, 0x30, 0x70, 0x02, 0x80, + 0x43, 0x12, 0x88, 0x9C, 0x50, 0x40, 0x12, 0x88, 0xAF, 0x12, 0x88, 0x9C, + 0x50, 0x38, 0x12, 0x83, 0x98, 0x40, 0x07, 0x12, 0x83, 0x98, 0x40, 0x02, + 0x80, 0x2A, 0x12, 0x83, 0xEE, 0x40, 0x1A, 0x12, 0x83, 0xEE, 0x40, 0x15, + 0x90, 0x00, 0x1B, 0xE0, 0x30, 0xE5, 0x0C, 0x12, 0x83, 0x7B, 0x12, 0x86, + 0x51, 0x75, 0x1A, 0x03, 0x02, 0x88, 0xF7, 0x80, 0x0B, 0x12, 0x83, 0xB9, + 0x50, 0x08, 0x12, 0x89, 0x00, 0x12, 0x88, 0xB7, 0x81, 0xA9, 0x12, 0x89, + 0x00, 0x12, 0x88, 0xB7, 0x30, 0x03, 0x03, 0x75, 0x1A, 0x01, 0x90, 0x0B, + 0xBA, 0xE0, 0x30, 0xE0, 0x0A, 0x90, 0x00, 0xBC, 0xE0, 0x54, 0xF0, 0x44, + 0x02, 0xF0, 0x22, 0x90, 0x0B, 0xBA, 0xE0, 0x30, 0xE0, 0x02, 0x81, 0x9C, + 0x90, 0x00, 0xBC, 0xE0, 0x54, 0xF0, 0x44, 0x01, 0xF0, 0x22, 0x90, 0x00, + 0x9A, 0x74, 0x03, 0xF0, 0x12, 0x83, 0x98, 0x40, 0x09, 0x12, 0x83, 0x98, + 0x40, 0x2C, 0x91, 0xA9, 0x80, 0x28, 0x12, 0x83, 0xEE, 0x50, 0x23, 0x12, + 0x88, 0xCA, 0x12, 0x83, 0xCD, 0x50, 0x07, 0xC2, 0x0C, 0x12, 0x86, 0x89, + 0x80, 0x14, 0x12, 0x87, 0x39, 0x50, 0x0F, 0x12, 0x85, 0xEA, 0x90, 0x00, + 0x40, 0x74, 0x80, 0xF0, 0x75, 0x1A, 0x02, 0x12, 0x88, 0xE7, 0x30, 0x03, + 0x57, 0x80, 0x52, 0x90, 0x00, 0x9A, 0x74, 0x04, 0xF0, 0xE5, 0x30, 0x70, + 0x1C, 0xC2, 0x03, 0x75, 0x1A, 0x01, 0x90, 0x0C, 0xCC, 0xE0, 0x54, 0xFD, + 0xF0, 0x7B, 0x01, 0xE4, 0xFD, 0x7F, 0x06, 0x12, 0x8B, 0x1B, 0x90, 0x0C, + 0xCC, 0xE0, 0x44, 0x02, 0xF0, 0x30, 0x02, 0x2C, 0xC2, 0x02, 0x30, 0x03, + 0x1D, 0x90, 0x00, 0x1B, 0xE0, 0x30, 0xE0, 0x07, 0x7F, 0xE8, 0x7E, 0x03, + 0x12, 0x8B, 0xF4, 0x91, 0xCE, 0xE4, 0x90, 0x0A, 0xB7, 0xF0, 0x90, 0x03, + 0xA3, 0xE0, 0x54, 0xFE, 0xF0, 0x22, 0x90, 0x03, 0xA3, 0xE0, 0x44, 0x01, + 0xF0, 0x75, 0x1A, 0x01, 0x22, 0xE4, 0xFD, 0x7F, 0x10, 0x12, 0x8B, 0x30, + 0xE4, 0xFF, 0x02, 0x8C, 0x05, 0x91, 0xCE, 0xE5, 0x1A, 0xB4, 0x02, 0x0D, + 0x12, 0x83, 0x98, 0x50, 0x05, 0x12, 0x83, 0xF9, 0x40, 0x03, 0x12, 0x80, + 0x00, 0x91, 0xC5, 0x75, 0x1A, 0x01, 0x02, 0x88, 0xF7, 0xE4, 0xFB, 0x7D, + 0x05, 0x7F, 0x02, 0x02, 0x8B, 0x1B, 0x12, 0x8D, 0x83, 0x12, 0x86, 0x51, + 0x02, 0x8C, 0xBC, 0xE5, 0x30, 0x60, 0x02, 0xA1, 0x7A, 0x75, 0x30, 0x07, + 0x30, 0x1A, 0x0D, 0x90, 0x0C, 0xC7, 0xE0, 0x54, 0xE0, 0x60, 0x05, 0x74, + 0xE9, 0xF0, 0xC3, 0x22, 0x90, 0x0C, 0xC7, 0x74, 0xE9, 0xF0, 0xE5, 0x3B, + 0x70, 0x3D, 0x05, 0x3B, 0x90, 0x00, 0x9B, 0x30, 0x04, 0x14, 0x74, 0x11, + 0xF0, 0x90, 0x02, 0xAF, 0x74, 0xC0, 0xF0, 0xAD, 0x53, 0xAF, 0x52, 0x12, + 0x83, 0x09, 0xC2, 0x04, 0x80, 0x10, 0x74, 0x22, 0xF0, 0x90, 0x02, 0xAF, + 0x74, 0x80, 0xF0, 0xAD, 0x55, 0xAF, 0x54, 0x12, 0x83, 0x09, 0x12, 0x83, + 0x98, 0x40, 0x0C, 0x90, 0x00, 0x9B, 0xE0, 0xB4, 0x11, 0x03, 0x12, 0x80, + 0x00, 0xC3, 0x22, 0x12, 0x89, 0x9F, 0x12, 0x83, 0x98, 0x40, 0x05, 0x12, + 0x80, 0x00, 0xC3, 0x22, 0x12, 0x83, 0xF9, 0x40, 0x01, 0x22, 0x12, 0x84, + 0x26, 0x40, 0x01, 0x22, 0xF1, 0x8A, 0x40, 0x01, 0x22, 0x12, 0x83, 0xCD, + 0x50, 0x0E, 0xE5, 0x3B, 0xC3, 0x94, 0x06, 0x50, 0x03, 0xE4, 0xF5, 0x30, + 0x05, 0x3B, 0xC3, 0x22, 0x90, 0x0C, 0xC7, 0xE0, 0x54, 0xE0, 0x60, 0x02, + 0xC3, 0x22, 0x12, 0x87, 0x39, 0x40, 0x01, 0x22, 0xD3, 0x22, 0xE5, 0x30, + 0x60, 0x0D, 0x12, 0x84, 0xA8, 0x50, 0x08, 0x12, 0x84, 0x80, 0x50, 0x03, + 0xE4, 0xF5, 0x30, 0xC3, 0x22, 0xD1, 0x15, 0xB1, 0x9B, 0x12, 0x8B, 0x7D, + 0x51, 0xE5, 0x12, 0x82, 0x94, 0x80, 0xF4, 0xE4, 0xFE, 0xFC, 0x30, 0x20, + 0x68, 0xE4, 0xFC, 0xE5, 0x11, 0x24, 0xBF, 0x60, 0x0C, 0x24, 0xFD, 0x60, + 0x11, 0x24, 0xC4, 0x70, 0x11, 0xAE, 0x12, 0x80, 0x48, 0xE5, 0x12, 0xD1, + 0x0D, 0xE0, 0xF5, 0x16, 0x80, 0x00, 0xF1, 0x5F, 0x80, 0x3B, 0xE5, 0x11, + 0x54, 0x0F, 0x14, 0x60, 0x1A, 0x14, 0x60, 0x17, 0x14, 0x60, 0x19, 0x24, + 0xFD, 0x60, 0x15, 0x14, 0x60, 0x17, 0x24, 0x07, 0x70, 0x23, 0xE5, 0x13, + 0xD1, 0x0D, 0xE5, 0x12, 0xF0, 0x80, 0x1A, 0x85, 0x12, 0x13, 0x80, 0x15, + 0x85, 0x12, 0x14, 0x80, 0x10, 0xE5, 0x12, 0xB4, 0x01, 0x05, 0x75, 0x38, + 0x01, 0x80, 0x06, 0xE5, 0x12, 0x70, 0x02, 0xF5, 0x38, 0xC2, 0x20, 0xE4, + 0xF5, 0x15, 0x90, 0xFF, 0x12, 0xE0, 0x54, 0xFE, 0xF0, 0xEE, 0x70, 0x92, + 0x22, 0x90, 0xFF, 0xF4, 0xF0, 0x90, 0xFF, 0xF5, 0x22, 0x90, 0xFF, 0x54, + 0xE0, 0x54, 0x0F, 0x70, 0x0C, 0x90, 0xFF, 0xFD, 0x74, 0x05, 0xF0, 0x90, + 0xFF, 0xFC, 0x74, 0x83, 0xF0, 0x90, 0x03, 0xB0, 0xE0, 0x54, 0xA0, 0x64, + 0x80, 0x60, 0x07, 0xE0, 0x54, 0x70, 0xFF, 0xBF, 0x30, 0x06, 0x90, 0x03, + 0xA3, 0x74, 0xAB, 0xF0, 0x90, 0x00, 0x28, 0x74, 0x10, 0xF0, 0x12, 0x8B, + 0xDC, 0x90, 0x00, 0x07, 0xE0, 0x20, 0xE3, 0x02, 0xC1, 0xFA, 0x90, 0x00, + 0x2C, 0xE0, 0x54, 0x0F, 0x64, 0x05, 0x60, 0x02, 0xC1, 0xFA, 0x90, 0x00, + 0x2F, 0xE0, 0x54, 0xF0, 0x44, 0x0B, 0x90, 0x0A, 0xD0, 0xF0, 0x90, 0x00, + 0x2D, 0xE0, 0x90, 0x0A, 0xD1, 0xF0, 0x90, 0x00, 0x2F, 0xE0, 0x54, 0x0F, + 0xC4, 0x54, 0xF0, 0x44, 0x0E, 0x90, 0x03, 0xB3, 0xF0, 0x7F, 0xF0, 0xF1, + 0x29, 0x7F, 0x0F, 0xF1, 0x29, 0x90, 0x00, 0x30, 0xE0, 0xFD, 0xE4, 0xFB, + 0x7F, 0x14, 0x12, 0x8B, 0x30, 0x90, 0x00, 0x31, 0xE0, 0x54, 0x20, 0xC4, + 0x13, 0x54, 0x07, 0x24, 0xFF, 0x92, 0x11, 0xD2, 0x13, 0xE4, 0xF5, 0x3A, + 0xE5, 0x3A, 0x24, 0x19, 0x90, 0x00, 0x2A, 0xF0, 0x90, 0x00, 0x2B, 0xE0, + 0xFF, 0x74, 0x68, 0x25, 0x3A, 0xF8, 0xC6, 0xEF, 0xC6, 0x05, 0x3A, 0xE5, + 0x3A, 0xB4, 0x07, 0xE4, 0xE5, 0x6D, 0x60, 0x0A, 0x90, 0x03, 0xA0, 0xF0, + 0x90, 0x03, 0xA1, 0xE5, 0x6E, 0xF0, 0x90, 0x00, 0x2D, 0xE0, 0x30, 0xE7, + 0x02, 0xD2, 0x1A, 0x90, 0x00, 0x31, 0xE0, 0x54, 0x40, 0x44, 0x87, 0x90, + 0x0A, 0xB1, 0xF0, 0x90, 0x00, 0x31, 0xE0, 0x54, 0x80, 0xFF, 0xC4, 0x13, + 0x13, 0x13, 0x54, 0x01, 0x24, 0xFF, 0x92, 0x1B, 0x80, 0x1B, 0xD2, 0x13, + 0xC2, 0x11, 0x90, 0x00, 0x0F, 0xE0, 0x54, 0x0F, 0xF5, 0x68, 0x75, 0x69, + 0x02, 0x75, 0x6A, 0x03, 0xE4, 0xF5, 0x6B, 0xF5, 0x6C, 0xC2, 0x1A, 0xC2, + 0x1B, 0x12, 0x89, 0x08, 0xF1, 0x59, 0xF1, 0xEE, 0x12, 0x89, 0xC3, 0x12, + 0x89, 0x58, 0xD2, 0xA8, 0xF1, 0xBA, 0xD2, 0x91, 0x22, 0xCC, 0xEF, 0xCC, + 0xEC, 0x54, 0x11, 0xF5, 0x3A, 0xF1, 0x4E, 0x5C, 0x6E, 0x60, 0x16, 0xF1, + 0x4E, 0x5C, 0xD3, 0x9E, 0x40, 0x06, 0xE0, 0x95, 0x3A, 0xF0, 0x80, 0xED, + 0x90, 0x03, 0xA2, 0xE0, 0x25, 0x3A, 0xF0, 0x80, 0xE4, 0x22, 0x90, 0x00, + 0x2E, 0xE0, 0x5C, 0xFE, 0x90, 0x03, 0xA2, 0xE0, 0x22, 0x12, 0x88, 0xBE, + 0x02, 0x8C, 0x12, 0xE4, 0xFD, 0x90, 0xFF, 0x1A, 0xE0, 0x44, 0x20, 0xF0, + 0x90, 0xFF, 0x1A, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0xFF, 0x16, 0xE5, 0x16, + 0xF0, 0x90, 0xFF, 0x1E, 0xE0, 0x54, 0x1F, 0x64, 0x01, 0x60, 0x0A, 0xCF, + 0xED, 0xCF, 0x0D, 0xEF, 0xC3, 0x94, 0x05, 0x40, 0xDF, 0x22, 0x12, 0x83, + 0x98, 0x40, 0x01, 0x22, 0x7B, 0x01, 0x7D, 0x05, 0x7F, 0x02, 0x12, 0x8B, + 0x1B, 0x12, 0x83, 0xEE, 0x40, 0x04, 0xE4, 0xF5, 0x30, 0x22, 0x90, 0x0C, + 0xA8, 0x74, 0x13, 0xF0, 0x90, 0x0C, 0xA2, 0x74, 0xE1, 0xF0, 0x14, 0xF0, + 0xC2, 0x0C, 0x12, 0x86, 0x89, 0x12, 0x89, 0x73, 0xD3, 0x22, 0x90, 0x0C, + 0xDB, 0x74, 0xE5, 0xF0, 0x30, 0x1A, 0x09, 0x74, 0x05, 0xF0, 0x90, 0x0C, + 0xC6, 0x74, 0xF9, 0xF0, 0x90, 0x0C, 0xD7, 0xE0, 0x54, 0xBF, 0xF0, 0x90, + 0x00, 0x06, 0xE0, 0x44, 0x80, 0xF0, 0x30, 0x00, 0x09, 0x7B, 0x82, 0x7D, + 0x02, 0xE4, 0xFF, 0x12, 0x8B, 0x1B, 0x90, 0x0C, 0xD9, 0xE0, 0x44, 0x10, + 0xF0, 0x22, 0x75, 0x30, 0x07, 0xC2, 0x04, 0xE4, 0xF5, 0x1A, 0xC2, 0x03, + 0xC2, 0x02, 0xF5, 0x38, 0xD2, 0x09, 0x75, 0x71, 0x78, 0x75, 0x72, 0x52, + 0x90, 0xFC, 0x08, 0xE0, 0xB4, 0x4C, 0x0B, 0xA3, 0xE0, 0xB4, 0xA3, 0x06, + 0x75, 0x71, 0x83, 0x75, 0x72, 0x4D, 0x90, 0x00, 0x07, 0xE0, 0x54, 0x10, + 0xC4, 0x54, 0x0F, 0x24, 0xFF, 0x92, 0x00, 0x30, 0x00, 0x02, 0xD2, 0x00, + 0xC2, 0x07, 0xC2, 0x05, 0xC2, 0x06, 0x31, 0x15, 0xFD, 0x7B, 0x7E, 0x7F, + 0x0A, 0x12, 0x8B, 0x30, 0x11, 0x58, 0xE4, 0xF5, 0x3A, 0xE5, 0x3A, 0x24, + 0x09, 0xFD, 0x74, 0x68, 0x25, 0x3A, 0xF8, 0xE6, 0xFB, 0x7F, 0x05, 0x12, + 0x8B, 0x1B, 0x05, 0x3A, 0xE5, 0x3A, 0xC3, 0x94, 0x05, 0x40, 0xE6, 0x22, + 0xC2, 0x0A, 0xC2, 0x17, 0xC2, 0x0F, 0xC2, 0x10, 0xC2, 0x18, 0x31, 0x15, + 0xF5, 0x3A, 0x30, 0x00, 0x36, 0x90, 0xFF, 0x60, 0xE0, 0x20, 0xE0, 0x2F, + 0x90, 0xFF, 0x62, 0xE0, 0xC3, 0x94, 0x05, 0x40, 0x0D, 0xE0, 0xB4, 0x05, + 0x22, 0x90, 0xFF, 0x63, 0xE0, 0xD3, 0x94, 0x56, 0x50, 0x19, 0x90, 0xFF, + 0x64, 0xE0, 0xC3, 0x94, 0x03, 0x40, 0x0D, 0xE0, 0xB4, 0x03, 0x0C, 0x90, + 0xFF, 0x65, 0xE0, 0xD3, 0x94, 0x20, 0x50, 0x03, 0xE4, 0xF5, 0x3A, 0x43, + 0x3A, 0x01, 0xE4, 0xAD, 0x3A, 0x7F, 0x0A, 0x31, 0x0E, 0x7D, 0x14, 0x7F, + 0x01, 0x12, 0x8B, 0x30, 0xE4, 0xFB, 0x7D, 0x50, 0x7F, 0x02, 0x12, 0x8B, + 0x30, 0xE4, 0xFB, 0x7D, 0x2C, 0x7F, 0x03, 0x12, 0x8B, 0x30, 0xE4, 0xFB, + 0x7D, 0xC8, 0x7F, 0x04, 0x12, 0x8B, 0x30, 0xE4, 0xFB, 0x7D, 0x19, 0x7F, + 0x05, 0x12, 0x8B, 0x30, 0xE4, 0x7D, 0x1E, 0x7F, 0x06, 0x31, 0x0E, 0x7D, + 0xFF, 0x7F, 0x07, 0x12, 0x8B, 0x30, 0x7B, 0x7F, 0x7D, 0x80, 0x7F, 0x08, + 0x12, 0x8B, 0x30, 0xE4, 0xFB, 0x7D, 0x30, 0x7F, 0x09, 0x12, 0x8B, 0x30, + 0x7B, 0xC7, 0x7D, 0x38, 0x7F, 0x0E, 0x12, 0x8B, 0x30, 0x75, 0x3E, 0x33, + 0xE4, 0xFF, 0x12, 0x8C, 0x05, 0x90, 0x00, 0x24, 0xE0, 0x24, 0x03, 0xF5, + 0x3D, 0x22, 0xFB, 0x12, 0x8B, 0x30, 0xE4, 0xFB, 0x22, 0xA2, 0x00, 0xE4, + 0x33, 0xC4, 0x33, 0x33, 0x33, 0x54, 0x80, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0x20, 0x12, 0x0A, 0xE5, 0x30, 0xB4, 0x07, 0x05, + 0x75, 0x3F, 0x01, 0x11, 0x0E, 0x22, 0xE4, 0xFB, 0x7D, 0x02, 0x7F, 0x02, + 0x12, 0x8B, 0x1B, 0x7B, 0x80, 0x7D, 0x04, 0x7F, 0x02, 0x12, 0x8B, 0x1B, + 0xC2, 0x91, 0xAF, 0x3F, 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0xD2, 0x91, 0x22, + 0xE4, 0x90, 0x0A, 0xB7, 0xF0, 0x90, 0x0A, 0xC0, 0x74, 0x1F, 0xF0, 0xE5, + 0x40, 0xB4, 0x10, 0x08, 0x90, 0x0A, 0xB7, 0x74, 0x11, 0xF0, 0x80, 0x06, + 0x90, 0x0A, 0xB7, 0x74, 0x33, 0xF0, 0x90, 0x0A, 0xA9, 0x74, 0x07, 0xF0, + 0x74, 0x47, 0xF0, 0x12, 0x8B, 0xE8, 0x90, 0x0A, 0xC3, 0x74, 0xC0, 0xF0, + 0xE0, 0xF5, 0x4F, 0xE4, 0xFF, 0x11, 0xCB, 0x85, 0x32, 0x47, 0x85, 0x33, + 0x49, 0xE5, 0x40, 0xB4, 0x20, 0x0A, 0x7F, 0x01, 0x11, 0xCB, 0x85, 0x32, + 0x48, 0x85, 0x33, 0x4A, 0xE5, 0x47, 0x20, 0xE0, 0x05, 0x75, 0x30, 0x04, + 0x80, 0x1C, 0x75, 0x30, 0x03, 0x90, 0x0A, 0xCD, 0xE0, 0xF5, 0x52, 0xE5, + 0x40, 0xB4, 0x20, 0x0E, 0x90, 0x0A, 0xCE, 0xE0, 0xF5, 0x53, 0xE5, 0x48, + 0x20, 0xE0, 0x03, 0x75, 0x30, 0x04, 0xE5, 0x48, 0xC4, 0x54, 0xF0, 0x45, + 0x47, 0xF5, 0x32, 0xE5, 0x4A, 0xC4, 0x54, 0xF0, 0x45, 0x49, 0xF5, 0x33, + 0xAB, 0x32, 0x7D, 0x02, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0xAB, 0x33, 0x7D, + 0x06, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x7B, 0x80, 0x7D, 0x04, 0x7F, 0x02, + 0x02, 0x8B, 0x1B, 0xEF, 0x70, 0x11, 0x90, 0x0C, 0xC9, 0xE0, 0xF5, 0x46, + 0x90, 0x00, 0x0B, 0xE0, 0xF5, 0x39, 0x75, 0x4E, 0x80, 0x80, 0x0F, 0x90, + 0x0C, 0xCA, 0xE0, 0xF5, 0x46, 0x90, 0x00, 0x0C, 0xE0, 0xF5, 0x39, 0x75, + 0x4E, 0x40, 0xE5, 0x39, 0x54, 0x03, 0xF5, 0x33, 0xE5, 0x4F, 0x55, 0x4E, + 0x70, 0x0F, 0xE5, 0x46, 0x64, 0x4A, 0x60, 0x05, 0xE5, 0x46, 0xB4, 0xB5, + 0x04, 0x75, 0x32, 0x01, 0x22, 0xE4, 0xF5, 0x32, 0xE5, 0x39, 0x20, 0xE2, + 0x09, 0xE5, 0x33, 0xC3, 0x94, 0x03, 0x50, 0x02, 0x05, 0x33, 0x22, 0xAD, + 0x53, 0xAF, 0x52, 0x71, 0x42, 0x90, 0x0C, 0xA1, 0xE0, 0x44, 0x40, 0xF0, + 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x0B, 0xE9, 0x74, 0x80, 0xF0, 0x74, 0x83, + 0xF0, 0xF0, 0xE4, 0xFF, 0x31, 0xC0, 0x85, 0x32, 0x47, 0x85, 0x4C, 0x4D, + 0x85, 0x33, 0x49, 0xE5, 0x40, 0xB4, 0x20, 0x11, 0x7F, 0x01, 0x31, 0xC0, + 0x85, 0x32, 0x48, 0xE5, 0x4C, 0xC4, 0x54, 0xF0, 0x42, 0x4D, 0x85, 0x33, + 0x4A, 0xE4, 0x90, 0x0B, 0xE9, 0xF0, 0x75, 0x41, 0x80, 0xE5, 0x47, 0x64, + 0x07, 0x60, 0x05, 0x75, 0x30, 0x06, 0x80, 0x1D, 0x75, 0x30, 0x05, 0x75, + 0x41, 0x81, 0xE5, 0x40, 0xB4, 0x20, 0x12, 0xE5, 0x48, 0xB4, 0x07, 0x07, + 0x90, 0x0C, 0xBA, 0xE0, 0x20, 0xE0, 0x06, 0x75, 0x30, 0x06, 0x75, 0x41, + 0x80, 0xE5, 0x48, 0xC4, 0x54, 0xF0, 0x45, 0x47, 0xF5, 0x32, 0xE5, 0x49, + 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0xE5, 0x4A, 0xC4, 0x33, 0x33, 0x54, 0xC0, + 0x4F, 0x45, 0x4D, 0xF5, 0x33, 0xAB, 0x32, 0x7D, 0x02, 0x7F, 0x02, 0x12, + 0x8B, 0x1B, 0xAB, 0x41, 0x7D, 0x04, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0xAB, + 0x33, 0x7D, 0x06, 0x7F, 0x02, 0x02, 0x8B, 0x1B, 0xEF, 0x70, 0x0E, 0x90, + 0x00, 0x0B, 0xE0, 0xF5, 0x39, 0x75, 0x4B, 0x01, 0x75, 0x56, 0x01, 0x80, + 0x1F, 0x90, 0x00, 0x0C, 0xE0, 0xF5, 0x39, 0x75, 0x4B, 0x02, 0x90, 0x0C, + 0xBA, 0xE0, 0x54, 0x01, 0xF5, 0x56, 0x20, 0xE0, 0x0B, 0xE4, 0xF0, 0x74, + 0x02, 0xF0, 0x00, 0xE0, 0x54, 0x01, 0xF5, 0x56, 0xE5, 0x39, 0x54, 0x03, + 0xF5, 0x4C, 0xE5, 0x39, 0x54, 0x18, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, + 0xF5, 0x33, 0x75, 0x32, 0x07, 0x90, 0x0B, 0xE9, 0xE0, 0x55, 0x4B, 0x70, + 0x06, 0xE5, 0x56, 0x64, 0x01, 0x60, 0x25, 0x90, 0x0B, 0xE9, 0xE0, 0x55, + 0x4B, 0x60, 0x03, 0x75, 0x32, 0x01, 0xE5, 0x39, 0x20, 0xE5, 0x15, 0xE5, + 0x4C, 0x25, 0x33, 0xFF, 0xE4, 0x33, 0xFE, 0xD3, 0xEF, 0x94, 0x03, 0xEE, + 0x64, 0x80, 0x94, 0x80, 0x50, 0x02, 0x05, 0x33, 0x22, 0xE4, 0xF5, 0x30, + 0xD2, 0x04, 0xF5, 0x3B, 0x20, 0x17, 0x27, 0x90, 0x0C, 0xC1, 0xF0, 0x90, + 0x0C, 0xC2, 0x74, 0x03, 0xF0, 0xD2, 0x12, 0xE4, 0xF5, 0x58, 0x90, 0x0C, + 0xC3, 0xE5, 0x58, 0xF0, 0x90, 0x0C, 0xC4, 0xE0, 0xF5, 0x51, 0x60, 0x03, + 0xC2, 0x12, 0x22, 0x05, 0x58, 0xE5, 0x58, 0xB4, 0x03, 0xE8, 0x22, 0x90, + 0x00, 0x0E, 0xE0, 0xB4, 0x01, 0x04, 0xC2, 0x03, 0x80, 0x1B, 0x90, 0x00, + 0x0E, 0xE0, 0xB4, 0x02, 0x14, 0xD2, 0x03, 0xE4, 0xFB, 0x7D, 0x02, 0x7F, + 0x02, 0x12, 0x8B, 0x1B, 0xE4, 0xFB, 0x7D, 0x05, 0x7F, 0x02, 0x12, 0x8B, + 0x1B, 0xD2, 0x02, 0x22, 0x30, 0x07, 0x71, 0x30, 0x14, 0x0F, 0xE5, 0x1A, + 0xB4, 0x02, 0x0A, 0xE4, 0x90, 0x0C, 0xB0, 0xF0, 0x74, 0xA0, 0xF0, 0xC2, + 0x14, 0x90, 0x0C, 0xB0, 0xE0, 0x30, 0xE6, 0x58, 0xC2, 0x07, 0x90, 0x0C, + 0xB2, 0xE0, 0xFB, 0x7D, 0x40, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x90, 0x0C, + 0xB1, 0xE0, 0xFB, 0x7D, 0x41, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x90, 0x0C, + 0xB4, 0xE0, 0xFB, 0x7D, 0x42, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x90, 0x0C, + 0xB3, 0xE0, 0xFB, 0x7D, 0x43, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x90, 0x0C, + 0xB6, 0xE0, 0xFB, 0x7D, 0x44, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x90, 0x0C, + 0xB5, 0xE0, 0xFB, 0x7D, 0x45, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0x7B, 0x21, + 0x7D, 0x46, 0x7F, 0x02, 0x12, 0x8B, 0x1B, 0xE4, 0x90, 0x0C, 0xB0, 0xF0, + 0x22, 0xE4, 0x90, 0x0A, 0xB7, 0xF0, 0x90, 0x0A, 0xC0, 0x74, 0x0F, 0xF0, + 0x90, 0x0A, 0xA0, 0xEF, 0xF0, 0x90, 0x0A, 0xA1, 0xED, 0xF0, 0x90, 0x02, + 0xAF, 0xE0, 0x54, 0x03, 0xFF, 0xBF, 0x01, 0x04, 0x7F, 0x11, 0x80, 0x02, + 0x7F, 0x33, 0x90, 0x0A, 0xB7, 0xEF, 0xF0, 0x90, 0x0A, 0xA9, 0x74, 0x47, + 0xF0, 0x74, 0x67, 0xF0, 0x74, 0x6F, 0xF0, 0x02, 0x8B, 0xDC, 0xE4, 0x90, + 0x0A, 0xB7, 0xF0, 0x90, 0x0A, 0xC0, 0x74, 0x0F, 0xF0, 0x90, 0x0A, 0xA0, + 0xEF, 0xF0, 0x90, 0x0A, 0xA1, 0xED, 0xF0, 0x90, 0x02, 0xAF, 0xE0, 0x54, + 0x03, 0xFF, 0xBF, 0x01, 0x04, 0x7F, 0x11, 0x80, 0x02, 0x7F, 0x33, 0x90, + 0x0A, 0xB7, 0xEF, 0xF0, 0x90, 0x0A, 0xA9, 0x74, 0x47, 0xF0, 0x74, 0x67, + 0xF0, 0x74, 0x6F, 0xF0, 0x02, 0x8B, 0xE8, 0x90, 0x00, 0x40, 0x74, 0xC0, + 0xF0, 0x22, 0x71, 0x7B, 0x90, 0x0B, 0xC0, 0x74, 0xC0, 0xF0, 0x90, 0x0B, + 0xD3, 0xE0, 0x44, 0xC0, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x02, 0x8A, 0xF2, + 0x90, 0x0A, 0xC3, 0x74, 0xC0, 0xF0, 0xE0, 0x30, 0xE7, 0x02, 0xC3, 0x22, + 0x90, 0x02, 0xAF, 0xE0, 0x54, 0x03, 0xFF, 0xBF, 0x02, 0x09, 0x90, 0x0A, + 0xC3, 0xE0, 0x30, 0xE6, 0x02, 0xC3, 0x22, 0xD3, 0x22, 0x90, 0x0C, 0xA6, + 0xE0, 0x54, 0x03, 0x70, 0x02, 0xC3, 0x22, 0x90, 0x0C, 0xA6, 0x74, 0x03, + 0xF0, 0xD3, 0x22, 0xD3, 0x22, 0x90, 0x0C, 0xA6, 0x74, 0x03, 0xF0, 0x7F, + 0x1E, 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0x71, 0xB9, 0x50, 0x0E, 0x7F, 0x1E, + 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0x71, 0xB9, 0x50, 0x01, 0x22, 0xC3, 0x22, + 0xC3, 0x22, 0x90, 0x0B, 0xA1, 0xE0, 0x30, 0xE3, 0x02, 0xC3, 0x22, 0xD3, + 0x22, 0x90, 0x02, 0xAF, 0xE0, 0x54, 0x03, 0x64, 0x02, 0x70, 0x21, 0x90, + 0x0C, 0xBA, 0xE0, 0x20, 0xE0, 0x1A, 0x12, 0x88, 0xAF, 0x12, 0x8B, 0xDC, + 0x90, 0x0C, 0xBA, 0xE0, 0x20, 0xE0, 0x02, 0xC3, 0x22, 0xE5, 0x1A, 0xB4, + 0x02, 0x03, 0x12, 0x89, 0x00, 0x12, 0x88, 0xB7, 0xD3, 0x22, 0x90, 0x00, + 0x1D, 0xE0, 0x20, 0xE3, 0x03, 0x30, 0x11, 0x02, 0xD3, 0x22, 0x90, 0x00, + 0x1D, 0xE0, 0x20, 0xE2, 0x45, 0x90, 0xFF, 0x60, 0xE0, 0x20, 0xE0, 0x3C, + 0x90, 0x0B, 0xA0, 0x74, 0xC0, 0xF0, 0x90, 0x0B, 0xAC, 0xE0, 0x54, 0x0F, + 0xFF, 0x90, 0xFF, 0x64, 0xE0, 0x6F, 0x70, 0x0C, 0x90, 0x0B, 0xAE, 0xE0, + 0xFF, 0x90, 0xFF, 0x65, 0xE0, 0x6F, 0x60, 0x02, 0xC3, 0x22, 0x90, 0x0B, + 0xA7, 0xE0, 0xFF, 0x90, 0xFF, 0x62, 0xE0, 0x6F, 0x70, 0x0C, 0x90, 0x0B, + 0xA8, 0xE0, 0xFF, 0x90, 0xFF, 0x63, 0xE0, 0x6F, 0x60, 0x02, 0xC3, 0x22, + 0xD3, 0x22, 0xC3, 0x22, 0x12, 0x88, 0xB7, 0x90, 0x0C, 0xAA, 0x74, 0xC3, + 0xF0, 0x7F, 0x1E, 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0x90, 0x0C, 0xAA, 0xE0, + 0x30, 0xE7, 0x0F, 0xE5, 0x31, 0xB4, 0x02, 0x08, 0xE0, 0x30, 0xE6, 0x02, + 0xD3, 0x22, 0xC3, 0x22, 0xD3, 0x22, 0xC3, 0x22, 0xE4, 0xF5, 0x3B, 0x91, + 0xB6, 0x50, 0x05, 0xB1, 0x76, 0x50, 0x01, 0x22, 0xC3, 0x22, 0x30, 0x00, + 0x22, 0xB2, 0x19, 0x90, 0x0A, 0xB4, 0xE0, 0x54, 0xDF, 0xF0, 0x20, 0x19, + 0x08, 0x90, 0x0A, 0xAF, 0x74, 0xFC, 0xF0, 0x80, 0x06, 0x90, 0x0A, 0xAF, + 0x74, 0x0C, 0xF0, 0x90, 0x0A, 0xB7, 0x74, 0x03, 0xF0, 0x80, 0x06, 0x90, + 0x0A, 0xB7, 0x74, 0x01, 0xF0, 0x90, 0x0A, 0xA9, 0xE0, 0x44, 0x80, 0xF0, + 0x90, 0x02, 0xA2, 0x74, 0x01, 0xF0, 0x90, 0x02, 0xA0, 0x74, 0x3F, 0xF0, + 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0x90, 0x02, 0xA1, 0x74, 0x30, + 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0x90, 0x0A, 0xA9, 0xE0, + 0x54, 0x7F, 0xF0, 0x90, 0x02, 0xA0, 0x74, 0x0F, 0xF0, 0x90, 0x02, 0xA1, + 0xE0, 0x54, 0x14, 0x70, 0x55, 0x90, 0x02, 0xA2, 0xE0, 0x30, 0xE2, 0x4E, + 0x75, 0x31, 0x01, 0xE0, 0x54, 0x30, 0xFF, 0xC4, 0x54, 0x0F, 0xF5, 0x59, + 0x90, 0x02, 0xA1, 0xE0, 0x54, 0x28, 0x70, 0x19, 0x90, 0x02, 0xA2, 0xE0, + 0x30, 0xE3, 0x12, 0xE0, 0x54, 0xC0, 0xFF, 0xC4, 0x13, 0x13, 0x54, 0x03, + 0xF5, 0x5A, 0x65, 0x59, 0x70, 0x03, 0x75, 0x31, 0x02, 0x90, 0x02, 0xA2, + 0xE0, 0x54, 0x30, 0xFF, 0x25, 0xE0, 0x25, 0xE0, 0xFF, 0xE5, 0x31, 0x54, + 0x03, 0xFE, 0xC4, 0x54, 0xF0, 0x4F, 0x90, 0x02, 0xB0, 0xF0, 0x90, 0x02, + 0xAF, 0x74, 0x80, 0xF0, 0x80, 0x02, 0xC3, 0x22, 0xD3, 0x22, 0x90, 0x0A, + 0xB4, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x0A, 0xA5, 0x74, 0x28, 0xF0, 0xE4, + 0x90, 0x0A, 0xB7, 0xF0, 0x90, 0x0A, 0xC0, 0x74, 0x2F, 0xF0, 0xE5, 0x31, + 0xB4, 0x01, 0x0E, 0x74, 0xAF, 0xF0, 0x90, 0x0A, 0xB7, 0x74, 0x11, 0xF0, + 0x75, 0x42, 0x80, 0x80, 0x14, 0xE5, 0x31, 0xB4, 0x02, 0x0F, 0x90, 0x0A, + 0xC0, 0x74, 0xEF, 0xF0, 0x90, 0x0A, 0xB7, 0x74, 0x33, 0xF0, 0x75, 0x42, + 0xC0, 0x90, 0x0A, 0xA9, 0x74, 0x07, 0xF0, 0x74, 0x47, 0xF0, 0x7F, 0x19, + 0x7E, 0x00, 0x12, 0x8A, 0xF2, 0x90, 0x0A, 0xC2, 0xE0, 0x55, 0x42, 0x65, + 0x42, 0x70, 0x19, 0x90, 0x0A, 0xC3, 0x74, 0xC0, 0xF0, 0xE0, 0x55, 0x42, + 0x70, 0x0E, 0x90, 0x0A, 0xC5, 0xE0, 0xF5, 0x54, 0x90, 0x0A, 0xC6, 0xE0, + 0xF5, 0x55, 0xD3, 0x22, 0xC3, 0x22, 0x90, 0x00, 0x18, 0xE0, 0x30, 0xE7, + 0x4D, 0xE4, 0x90, 0x00, 0xAA, 0xF0, 0x90, 0x00, 0x19, 0xE0, 0x90, 0x00, + 0xAB, 0xF0, 0x90, 0x00, 0xAA, 0xE0, 0xFF, 0x90, 0x00, 0x18, 0xE0, 0x54, + 0x60, 0xFE, 0xEF, 0x4E, 0x90, 0x00, 0xAA, 0xF0, 0xE0, 0x44, 0x02, 0xF0, + 0x90, 0x00, 0xAC, 0xE0, 0x44, 0x10, 0xF0, 0x12, 0x8B, 0xDC, 0x90, 0x00, + 0xAE, 0xE0, 0x54, 0x0F, 0xFF, 0x90, 0x00, 0xAC, 0xE0, 0x54, 0xF0, 0x4F, + 0xF0, 0x90, 0x00, 0xAF, 0xE0, 0x54, 0xFC, 0x90, 0x00, 0xAD, 0xF0, 0x90, + 0x00, 0xAA, 0xE0, 0x54, 0xFD, 0xF0, 0x90, 0x00, 0xAA, 0xE0, 0xFF, 0x90, + 0x00, 0x18, 0xE0, 0x54, 0x80, 0xFE, 0xEF, 0x4E, 0x90, 0x00, 0xAA, 0xF0, + 0x22, 0x90, 0x00, 0xAA, 0xE0, 0x54, 0x7F, 0xF0, 0xE0, 0x44, 0x08, 0xF0, + 0x90, 0x00, 0xA1, 0x74, 0x11, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0xBF, + 0xF0, 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x00, 0xA1, 0x74, 0x22, 0xF0, 0x90, + 0x00, 0xA0, 0xE0, 0x44, 0x20, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x44, + 0x20, 0xF0, 0x7F, 0x01, 0x7E, 0x00, 0x02, 0x8A, 0xF2, 0x30, 0x0C, 0x10, + 0x90, 0x00, 0xA4, 0xE0, 0x44, 0x40, 0xF0, 0x90, 0x00, 0xBC, 0xE0, 0x54, + 0x7F, 0xF0, 0xE1, 0x2F, 0x20, 0x0F, 0x09, 0x90, 0x00, 0xBC, 0xE0, 0x44, + 0x80, 0xF0, 0x80, 0x07, 0x90, 0x00, 0xBC, 0xE0, 0x54, 0x7F, 0xF0, 0x90, + 0x0B, 0xBA, 0xE0, 0x30, 0xE0, 0x17, 0x90, 0x0B, 0xB9, 0xE0, 0xFF, 0xC3, + 0x13, 0xFF, 0xE0, 0x2F, 0xF5, 0x3C, 0x90, 0x00, 0xBC, 0xE0, 0x54, 0x80, + 0x44, 0x02, 0xF0, 0x80, 0x0F, 0x90, 0x0B, 0xB9, 0xE0, 0xF5, 0x3C, 0x90, + 0x00, 0xBC, 0xE0, 0x54, 0x80, 0x44, 0x01, 0xF0, 0x90, 0x00, 0x1A, 0xE0, + 0x20, 0xE7, 0x0B, 0x90, 0x00, 0xC1, 0x74, 0x60, 0xF0, 0xE4, 0xF5, 0x64, + 0x80, 0x08, 0x90, 0x00, 0xC1, 0x74, 0x20, 0xF0, 0xF5, 0x64, 0xE5, 0x3C, + 0xC3, 0x94, 0x8B, 0x40, 0x05, 0x75, 0x64, 0x90, 0x80, 0x24, 0xE5, 0x3C, + 0xC3, 0x94, 0x46, 0x40, 0x08, 0x74, 0x90, 0x25, 0x64, 0xF5, 0x64, 0x80, + 0x15, 0xE5, 0x3C, 0xC3, 0x94, 0x23, 0x40, 0x08, 0x74, 0xB0, 0x25, 0x64, + 0xF5, 0x64, 0x80, 0x06, 0x74, 0xD0, 0x25, 0x64, 0xF5, 0x64, 0x90, 0x00, + 0xC0, 0xE5, 0x64, 0xF0, 0x12, 0x88, 0xCA, 0x90, 0x00, 0xC1, 0xE0, 0x44, + 0x01, 0xF0, 0x02, 0x8B, 0xDC, 0x30, 0x10, 0x03, 0x02, 0x88, 0x9A, 0x85, + 0x71, 0x5B, 0x85, 0x72, 0x5C, 0xE5, 0x5C, 0xB4, 0xFF, 0x02, 0xD3, 0x22, + 0x90, 0x0B, 0xBC, 0xE0, 0x70, 0x30, 0xE5, 0x5B, 0x13, 0x13, 0x13, 0x54, + 0x1F, 0xFF, 0xE5, 0x5B, 0xC3, 0x13, 0xC3, 0x9F, 0xF5, 0x6F, 0xC3, 0xE5, + 0x5C, 0x95, 0x6F, 0xF5, 0x70, 0x13, 0x13, 0x54, 0x3F, 0xFF, 0xC3, 0xE5, + 0x70, 0x9F, 0xF5, 0x70, 0x25, 0x6F, 0xF5, 0x5C, 0xE5, 0x5B, 0x75, 0xF0, + 0x03, 0x84, 0x25, 0x5B, 0xF5, 0x5B, 0xC2, 0x15, 0xC2, 0x16, 0x90, 0x00, + 0xA0, 0xE0, 0x54, 0x7F, 0xF0, 0x90, 0x00, 0xA4, 0xE0, 0x54, 0x0F, 0xFF, + 0xC4, 0x54, 0xF0, 0xFF, 0x90, 0x00, 0xA5, 0xE0, 0x54, 0xF0, 0xFE, 0xC4, + 0x54, 0x0F, 0x4F, 0xF5, 0x5F, 0xE0, 0x54, 0x0F, 0xF5, 0x5D, 0x90, 0x00, + 0xA6, 0xE0, 0xF5, 0x5E, 0x90, 0x00, 0xA7, 0xE0, 0x90, 0x00, 0xA3, 0xF0, + 0x90, 0x0B, 0xC5, 0xE5, 0x5B, 0xF0, 0x90, 0x0B, 0xC0, 0xE0, 0x44, 0x40, + 0xF0, 0x75, 0x60, 0x01, 0xE5, 0x5C, 0x24, 0x0A, 0xF5, 0x62, 0xE5, 0x5C, + 0x24, 0xF6, 0xF5, 0x63, 0xC2, 0x0B, 0x75, 0x36, 0x07, 0x75, 0x37, 0xD0, + 0x71, 0xB9, 0x40, 0x04, 0x71, 0x98, 0x40, 0x02, 0xC3, 0x22, 0x90, 0x00, + 0x06, 0xE0, 0x20, 0xE0, 0x03, 0x02, 0x88, 0x92, 0xE5, 0x5F, 0x54, 0xF0, + 0xFF, 0xC4, 0x54, 0x0F, 0xFF, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0xF0, 0x4F, + 0xF0, 0xE5, 0x5F, 0x54, 0x0F, 0xFF, 0xC4, 0x54, 0xF0, 0xFF, 0xE5, 0x5D, + 0x54, 0x0F, 0x4F, 0x90, 0x00, 0xA1, 0xF0, 0x90, 0x00, 0xA2, 0xE5, 0x5E, + 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x54, 0xBF, 0xF0, 0xE0, 0x44, 0x80, 0xF0, + 0xE0, 0x44, 0x20, 0xF0, 0x90, 0x0B, 0xBD, 0xE0, 0x44, 0x01, 0xF0, 0x7F, + 0x1C, 0x7E, 0x00, 0x51, 0xF2, 0x90, 0x0B, 0xBE, 0xE0, 0xF5, 0x61, 0xE0, + 0xF5, 0x61, 0xE5, 0x63, 0xD3, 0x95, 0x61, 0x50, 0x06, 0xE5, 0x61, 0x95, + 0x62, 0x40, 0x4F, 0xE5, 0x61, 0xC3, 0x95, 0x63, 0x50, 0x1A, 0xE5, 0x5E, + 0xC3, 0x95, 0x60, 0x50, 0x08, 0xE5, 0x5D, 0x70, 0x02, 0x15, 0x5F, 0x15, + 0x5D, 0xC3, 0xE5, 0x5E, 0x95, 0x60, 0xF5, 0x5E, 0xD2, 0x15, 0x80, 0x20, + 0xE5, 0x61, 0xD3, 0x95, 0x62, 0x40, 0x19, 0xE5, 0x60, 0x25, 0x5E, 0xF5, + 0x5E, 0xC3, 0x95, 0x60, 0x50, 0x0C, 0xE5, 0x5D, 0x54, 0x0F, 0xFF, 0xBF, + 0x0F, 0x02, 0x05, 0x5F, 0x05, 0x5D, 0xD2, 0x16, 0x30, 0x15, 0x03, 0x20, + 0x16, 0x08, 0x20, 0x0B, 0x03, 0x02, 0x87, 0xDC, 0xC3, 0x22, 0xD3, 0x22, + 0x12, 0x83, 0x98, 0x50, 0x0A, 0x12, 0x83, 0xB9, 0x40, 0x05, 0x12, 0x83, + 0xEE, 0x40, 0x02, 0xD3, 0x22, 0xC3, 0x22, 0x90, 0x0C, 0xA2, 0xE0, 0x54, + 0x1F, 0xF0, 0x22, 0x90, 0x0C, 0xA2, 0x74, 0xE0, 0xF0, 0x22, 0x90, 0x0C, + 0xA1, 0xE0, 0x44, 0x40, 0xF0, 0xE0, 0x54, 0xBF, 0xF0, 0x22, 0x90, 0x00, + 0xA4, 0xE0, 0x54, 0xBF, 0xF0, 0x90, 0x00, 0xA0, 0xE0, 0x44, 0x40, 0xF0, + 0xE0, 0x44, 0x80, 0xF0, 0x22, 0x90, 0x10, 0xC0, 0xEF, 0xF0, 0x90, 0x10, + 0xC1, 0xF0, 0x22, 0x30, 0x1B, 0x0C, 0x90, 0x0A, 0xC3, 0x74, 0xC0, 0xF0, + 0x90, 0x0B, 0xED, 0x74, 0x01, 0xF0, 0x22, 0x30, 0x1B, 0x05, 0xE4, 0x90, + 0x0B, 0xED, 0xF0, 0x22, 0x30, 0x1B, 0x04, 0x11, 0xF7, 0x11, 0xE7, 0x22, + 0x75, 0xA8, 0xA0, 0xE4, 0xF5, 0x8E, 0xD2, 0xBD, 0xF5, 0x90, 0xF5, 0xB0, + 0x75, 0xCC, 0x99, 0x75, 0xCD, 0xFB, 0x75, 0xCA, 0x99, 0x75, 0xCB, 0xFB, + 0xF5, 0xC8, 0xD2, 0xCA, 0x90, 0xFF, 0xEA, 0xE0, 0x44, 0x80, 0xF0, 0xE0, + 0x44, 0x40, 0xF0, 0xE4, 0x90, 0xFF, 0x3B, 0xF0, 0x74, 0x80, 0xF0, 0x90, + 0xFF, 0x4F, 0x74, 0x9B, 0xF0, 0x90, 0xFF, 0x50, 0x74, 0xB2, 0xF0, 0x90, + 0x00, 0x01, 0x74, 0x83, 0xF0, 0x90, 0x00, 0x02, 0x74, 0x02, 0xF0, 0x90, + 0xFF, 0x57, 0xE0, 0x90, 0x00, 0x03, 0xF0, 0x22, 0x90, 0xFF, 0x13, 0x74, + 0x6B, 0xF0, 0x90, 0xFF, 0x18, 0x74, 0x06, 0xF0, 0x90, 0xFF, 0x01, 0x74, + 0x01, 0xF0, 0x90, 0xFF, 0x1A, 0x74, 0x80, 0xF0, 0xD2, 0xAA, 0x22, 0x90, + 0x0B, 0xC5, 0x74, 0xAA, 0xF0, 0x30, 0x10, 0x08, 0x90, 0x0B, 0xD3, 0x74, + 0x05, 0xF0, 0x80, 0x06, 0x90, 0x0B, 0xD3, 0x74, 0x0D, 0xF0, 0x90, 0x00, + 0x1A, 0xE0, 0x30, 0xE7, 0x07, 0x90, 0x0B, 0xC0, 0x74, 0xD7, 0xF0, 0x22, + 0x90, 0x0B, 0xC0, 0x74, 0xD4, 0xF0, 0x22, 0x11, 0xBE, 0x11, 0xB7, 0x90, + 0x0C, 0xA9, 0x74, 0x80, 0xF0, 0x90, 0x0B, 0xA0, 0x74, 0xC4, 0xF0, 0x90, + 0x0C, 0xA3, 0x74, 0x0C, 0xF0, 0x7F, 0x4B, 0x7E, 0x00, 0x51, 0xF2, 0x90, + 0x0B, 0xA0, 0x74, 0xC0, 0xF0, 0x81, 0x12, 0x90, 0x10, 0xA0, 0x74, 0x20, + 0xF0, 0x90, 0x10, 0xA3, 0x74, 0x03, 0xF0, 0x7F, 0x20, 0x11, 0xDD, 0x30, + 0x11, 0x17, 0x90, 0x0C, 0xCB, 0x74, 0x3A, 0xF0, 0x90, 0x0C, 0xCD, 0xE0, + 0x44, 0xA0, 0xF0, 0xE4, 0x90, 0xFF, 0x10, 0xF0, 0x90, 0x10, 0xB1, 0x04, + 0xF0, 0x22, 0x90, 0x00, 0x50, 0x74, 0x20, 0xF0, 0x90, 0x00, 0x1A, 0xE0, + 0x90, 0x00, 0x51, 0xF0, 0x90, 0x00, 0xD2, 0xE5, 0x3D, 0xF0, 0x90, 0x00, + 0xD8, 0xE5, 0x3E, 0xF0, 0x90, 0x00, 0x55, 0x74, 0x80, 0xF0, 0x90, 0x00, + 0x1C, 0xE0, 0xF5, 0x44, 0x90, 0x00, 0x1E, 0xE0, 0xF5, 0x45, 0xE5, 0x44, + 0x30, 0xE0, 0x14, 0x90, 0x00, 0x55, 0xE0, 0xFF, 0xE5, 0x44, 0x54, 0x08, + 0xFE, 0x25, 0xE0, 0x44, 0x20, 0xFE, 0xEF, 0x4E, 0xF0, 0x80, 0x12, 0x90, + 0x00, 0x55, 0xE0, 0xFF, 0xE5, 0x45, 0x54, 0x04, 0xFE, 0x25, 0xE0, 0x25, + 0xE0, 0xFE, 0xEF, 0x4E, 0xF0, 0xE5, 0x44, 0x30, 0xE1, 0x15, 0x90, 0x00, + 0x55, 0xE0, 0xFF, 0xE5, 0x44, 0x54, 0x10, 0xFE, 0xC4, 0x54, 0x0F, 0x44, + 0x02, 0xFE, 0xEF, 0x4E, 0xF0, 0x80, 0x10, 0x90, 0x00, 0x55, 0xE0, 0xFF, + 0xE5, 0x45, 0x54, 0x02, 0xFE, 0xC3, 0x13, 0xFE, 0xEF, 0x4E, 0xF0, 0xE5, + 0x44, 0x30, 0xE2, 0x17, 0x90, 0x00, 0x55, 0xE0, 0xFF, 0xE5, 0x44, 0x54, + 0x20, 0xFE, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x44, 0x08, 0xFE, 0xEF, 0x4E, + 0xF0, 0x80, 0x12, 0x90, 0x00, 0x55, 0xE0, 0xFF, 0xE5, 0x45, 0x54, 0x01, + 0xFE, 0x25, 0xE0, 0x25, 0xE0, 0xFE, 0xEF, 0x4E, 0xF0, 0x90, 0x00, 0x55, + 0xE0, 0x90, 0x00, 0x56, 0xF0, 0x90, 0x00, 0x1A, 0xE0, 0x30, 0xE7, 0x08, + 0x90, 0x00, 0xD0, 0xE0, 0x44, 0xB0, 0xF0, 0x22, 0x90, 0x00, 0xD0, 0xE0, + 0x44, 0xA0, 0xF0, 0x22, 0xC0, 0xE0, 0xC0, 0x83, 0xC0, 0x82, 0xC2, 0xCF, + 0x90, 0xFF, 0xEA, 0xE0, 0x44, 0x40, 0xF0, 0xD2, 0x08, 0xE5, 0x35, 0x15, + 0x35, 0x70, 0x02, 0x15, 0x34, 0x14, 0x45, 0x34, 0x70, 0x02, 0xD2, 0x09, + 0xE5, 0x37, 0x15, 0x37, 0x70, 0x02, 0x15, 0x36, 0x14, 0x45, 0x36, 0x70, + 0x02, 0xD2, 0x0B, 0xD0, 0x82, 0xD0, 0x83, 0xD0, 0xE0, 0x32, 0xEF, 0x4E, + 0x60, 0x24, 0xC2, 0xCA, 0xC2, 0xCF, 0x75, 0xCC, 0x99, 0x75, 0xCD, 0xFB, + 0xD2, 0xCA, 0xEF, 0x2F, 0xFF, 0xEE, 0x33, 0xFE, 0xC2, 0x08, 0xEF, 0x4E, + 0x60, 0x0C, 0x30, 0x08, 0xF9, 0xC2, 0x08, 0xEF, 0x1F, 0x70, 0x01, 0x1E, + 0x80, 0xF0, 0x22, 0xE4, 0x90, 0x0C, 0xC1, 0xF0, 0x90, 0x0C, 0xC2, 0xEF, + 0xF0, 0x90, 0x0C, 0xC3, 0xED, 0xF0, 0x90, 0x0C, 0xC4, 0xEB, 0xF0, 0x22, + 0xCC, 0xEF, 0xCC, 0x90, 0x0C, 0xCC, 0xE0, 0x54, 0xFD, 0xF0, 0xE4, 0x90, + 0x0C, 0xC1, 0xF0, 0x90, 0x0C, 0xC2, 0x74, 0x03, 0xF0, 0x90, 0x0C, 0xC3, + 0x74, 0xF0, 0xF0, 0x90, 0x0C, 0xC4, 0xEC, 0xF0, 0x90, 0x0C, 0xC3, 0x74, + 0xF1, 0xF0, 0x90, 0x0C, 0xC4, 0xE0, 0xF5, 0x43, 0x90, 0x0C, 0xC3, 0x74, + 0xF0, 0xF0, 0x90, 0x0C, 0xC4, 0xEC, 0xF0, 0x90, 0x0C, 0xC3, 0x74, 0xF1, + 0xF0, 0xE5, 0x43, 0x5B, 0x4D, 0x90, 0x0C, 0xC4, 0xF0, 0x90, 0x0C, 0xCC, + 0xE0, 0x44, 0x02, 0xF0, 0x22, 0x90, 0x00, 0x1D, 0xE0, 0x30, 0xE2, 0x1C, + 0x90, 0xFF, 0x61, 0xE0, 0x20, 0xE1, 0x15, 0x90, 0xFF, 0x10, 0xE0, 0x44, + 0x01, 0xF0, 0x7B, 0xFB, 0xE4, 0xFD, 0x7F, 0x0D, 0x71, 0x30, 0xE4, 0xFF, + 0x91, 0x05, 0x91, 0x12, 0x22, 0x7B, 0xFE, 0xE4, 0xFD, 0x7F, 0x0D, 0x71, + 0x30, 0xE4, 0xFF, 0x91, 0x05, 0x90, 0x00, 0x1D, 0xE0, 0x30, 0xE2, 0x0D, + 0x90, 0xFF, 0x10, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0xFF, 0x61, 0x74, 0x02, + 0xF0, 0x90, 0x00, 0x23, 0xE0, 0xB4, 0xA5, 0x13, 0x90, 0x00, 0x24, 0xE0, + 0xF5, 0x3D, 0x90, 0x00, 0x25, 0xE0, 0xF5, 0x3E, 0xE4, 0xFB, 0xFD, 0x7F, + 0x13, 0x71, 0x30, 0x22, 0xE4, 0xF5, 0x3A, 0x00, 0x05, 0x3A, 0xE5, 0x3A, + 0xB4, 0x64, 0xF8, 0x22, 0xE4, 0xF5, 0x58, 0x00, 0x05, 0x58, 0xE5, 0x58, + 0xB4, 0x64, 0xF8, 0x22, 0xC2, 0x0B, 0x8E, 0x36, 0x8F, 0x37, 0x20, 0x0B, + 0x07, 0x90, 0x00, 0x06, 0xE0, 0x30, 0xE0, 0xF6, 0x22, 0x90, 0x00, 0x06, + 0xE0, 0x54, 0xCF, 0x4F, 0xF0, 0xE0, 0x44, 0x20, 0xF0, 0x22, 0x90, 0xFF, + 0x61, 0x74, 0x01, 0xF0, 0xFF, 0x7E, 0x00, 0x41, 0xF2, 0x90, 0x00, 0x40, + 0x74, 0x80, 0xF0, 0x7B, 0xF3, 0xE4, 0xFD, 0x7F, 0x0B, 0x71, 0x30, 0x20, + 0x0A, 0x0F, 0x90, 0x03, 0xB3, 0xE0, 0x54, 0xFE, 0xF0, 0x90, 0x03, 0xB1, + 0x74, 0x80, 0xF0, 0x80, 0x19, 0x90, 0x00, 0x1E, 0xE0, 0x54, 0x20, 0xFF, + 0xC4, 0x13, 0x54, 0x07, 0x24, 0xFF, 0x92, 0x0D, 0xA2, 0x0D, 0x92, 0xB3, + 0x90, 0x10, 0xA4, 0x74, 0x20, 0xF0, 0x90, 0x00, 0x11, 0xE0, 0xFF, 0x7E, + 0x00, 0x51, 0xF2, 0xE4, 0xFF, 0x11, 0xDD, 0x90, 0x00, 0x50, 0x74, 0x60, + 0xF0, 0x90, 0x00, 0x12, 0xE0, 0x75, 0xF0, 0x04, 0xA4, 0xFF, 0xAE, 0xF0, + 0x51, 0xF2, 0x90, 0x00, 0x1E, 0xE0, 0x54, 0x10, 0xFF, 0xC4, 0x54, 0x0F, + 0x24, 0xFF, 0x92, 0x0E, 0x20, 0x0E, 0x09, 0x90, 0xFF, 0x81, 0xE0, 0x44, + 0x01, 0xF0, 0x80, 0x07, 0x90, 0xFF, 0x81, 0xE0, 0x54, 0xFE, 0xF0, 0x90, + 0x10, 0xA3, 0x74, 0x63, 0xF0, 0x90, 0x00, 0x13, 0xE0, 0xFF, 0x7E, 0x00, + 0x51, 0xF2, 0xE5, 0x38, 0x70, 0x02, 0xB1, 0x6A, 0x90, 0x10, 0xA5, 0x74, + 0x22, 0xF0, 0xD2, 0x05, 0x7B, 0xFD, 0x7D, 0x02, 0x7F, 0x0B, 0x61, 0x30, + 0x7B, 0xFB, 0x7D, 0x04, 0x7F, 0x0B, 0x71, 0x30, 0xB1, 0x83, 0x20, 0x06, + 0x1D, 0x20, 0x18, 0x1D, 0xD2, 0x0C, 0x12, 0x86, 0x89, 0x20, 0x10, 0x0D, + 0xE4, 0x90, 0x0A, 0xB7, 0xF0, 0x11, 0xAF, 0x7F, 0x32, 0x7E, 0x00, 0x71, + 0xF4, 0x12, 0x83, 0x82, 0x80, 0x03, 0x12, 0x83, 0x7B, 0x90, 0x00, 0x14, + 0xE0, 0xFF, 0x7E, 0x00, 0x51, 0xF2, 0x90, 0x10, 0xA3, 0x74, 0x03, 0xF0, + 0x90, 0x00, 0x15, 0xE0, 0x75, 0xF0, 0x04, 0xA4, 0xFF, 0xAE, 0xF0, 0x51, + 0xF2, 0x7F, 0x20, 0x11, 0xDD, 0x90, 0x00, 0x50, 0x74, 0x20, 0xF0, 0x90, + 0x00, 0x16, 0xE0, 0xFF, 0x7E, 0x00, 0x51, 0xF2, 0x20, 0x0A, 0x0E, 0x90, + 0x03, 0xB3, 0xE0, 0x44, 0x01, 0xF0, 0xE4, 0x90, 0x03, 0xB1, 0xF0, 0x80, + 0x16, 0x90, 0x00, 0x1E, 0xE0, 0x54, 0x20, 0xFF, 0xC4, 0x13, 0x54, 0x07, + 0x24, 0xFF, 0x92, 0x0D, 0xA2, 0x0D, 0xB3, 0x92, 0xB3, 0x92, 0x97, 0x20, + 0x06, 0x07, 0x90, 0x00, 0xC1, 0xE0, 0x54, 0xFE, 0xF0, 0x7B, 0xF7, 0x7D, + 0x08, 0x7F, 0x0B, 0x71, 0x30, 0xC2, 0x09, 0x90, 0x00, 0x17, 0xE0, 0x75, + 0xF0, 0x08, 0xA4, 0x85, 0xF0, 0x34, 0xF5, 0x35, 0xC2, 0x05, 0x7B, 0xFD, + 0xE4, 0xFD, 0x7F, 0x0B, 0x61, 0x30, 0x90, 0x00, 0x1E, 0xE0, 0x54, 0x08, + 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x24, 0xFF, 0x92, 0x01, 0xA2, 0x01, + 0x92, 0x93, 0xA2, 0x01, 0x92, 0x92, 0x22, 0x90, 0x00, 0x1E, 0xE0, 0x54, + 0x08, 0xFF, 0x13, 0x13, 0x13, 0x54, 0x1F, 0x24, 0xFF, 0x92, 0x01, 0xA2, + 0x01, 0xB3, 0x92, 0x93, 0x92, 0x92, 0x22, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, + 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x94 +}; + +static const uint8_t edid[PANEL_COUNT][129] = { + {/*LGC_SLE*/ + 0x5C, /*I2C offset is 0x5C*/ + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x30, 0xE4, 0x80, 0x23, + 0x78, 0x56, 0x34, 0x12, 0x28, 0x18, 0x01, 0x03, 0x81, 0x34, 0x1D, 0x78, + 0xEA, 0x64, 0xB5, 0xAB, 0x52, 0x38, 0xAB, 0x25, 0x13, 0x50, 0x54, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x35, 0x80, 0x88, 0x70, 0x38, + 0x14, 0x40, 0x3C, 0x3C, 0x88, 0x00, 0x09, 0x25, 0x21, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x4C, + 0x4D, 0x32, 0x33, 0x38, 0x57, 0x46, 0x31, 0x2D, 0x53, 0x4C, 0x45, 0x31, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x75 + }, + {/*BOE*/ + 0x5C, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x09, 0xE5, 0x8D, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x19, 0x01, 0x04, 0x80, 0x35, 0x1E, 0x78, + 0x0A, 0xA2, 0xA0, 0xA3, 0x56, 0x4C, 0x9D, 0x26, 0x0D, 0x50, 0x54, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x02, 0x3A, 0x80, 0x94, 0x70, 0x38, + 0x24, 0x40, 0x58, 0x2C, 0x45, 0x00, 0x0F, 0x28, 0x21, 0x00, 0x00, 0x1A, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x42, + 0x4F, 0x45, 0x20, 0x58, 0x53, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x00, 0x00, 0x00, 0xFE, 0x00, 0x4D, 0x56, 0x32, 0x33, 0x38, 0x46, 0x48, + 0x4D, 0x2D, 0x4E, 0x31, 0x30, 0x0A, 0x00, 0x07 + }, + {/*LGC_SLK*/ + 0x5C, + 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x30, 0xE4, 0x81, 0x23, + 0x78, 0x56, 0x34, 0x12, 0x28, 0x18, 0x01, 0x03, 0x81, 0x34, 0x1D, 0x78, + 0xEA, 0x64, 0xB5, 0xAB, 0x52, 0x38, 0xAB, 0x25, 0x13, 0x50, 0x54, 0x00, + 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x35, 0x80, 0x88, 0x70, 0x38, + 0x14, 0x40, 0x3C, 0x3C, 0x88, 0x00, 0x09, 0x25, 0x21, 0x00, 0x00, 0x7E, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x4C, + 0x4D, 0x32, 0x33, 0x38, 0x57, 0x46, 0x31, 0x2D, 0x53, 0x4C, 0x4B, 0x31, + 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E + } +}; + +struct converter_cfg { + uint8_t reg; + uint8_t val; +}; + +static const struct converter_cfg converter_cfg_vals[PANEL_COUNT][CMD_NUM] = { + { + {0x00, 0xB1}, + {0x01, 0x43}, + {0x02, 0x73}, + {0x03, 0x00}, + {0x04, 0x00}, + {0x05, 0xC7}, + }, + { + {0x00, 0xB1}, + {0x01, 0x43}, + {0x02, 0x7B}, + {0x03, 0x00}, + {0x04, 0x00}, + {0x05, 0xB7}, + }, + { + {0x00, 0x71}, + {0x01, 0x43}, + {0x02, 0x8A}, + {0x03, 0x00}, + {0x04, 0x00}, + {0x05, 0xC7}, + }, +}; -- cgit v1.2.1