Compare commits

...

34 Commits
mvp1 ... main

Author SHA1 Message Date
Siwat Sirichai 23413d84e9 set flash size 2025-03-07 20:54:56 +07:00
Siwat Sirichai f869c507b5 bridge 2025-03-07 14:22:37 +07:00
Siwat Sirichai 64564023ca tamper detection 2024-06-29 00:00:14 -07:00
Siwat Sirichai 23911f60a4 Update main.cpp 2024-06-28 21:29:17 -07:00
Siwat Sirichai 04a9a49875 change preload action 2024-06-28 21:28:29 -07:00
Siwat Sirichai c4691c62be Update platformio.ini 2024-06-28 23:48:33 +07:00
Siwat Sirichai 6a7b950a77 Update platformio.ini 2024-06-28 18:44:57 +07:00
Siwat Sirichai 4c0f66539c NTP Sync 2024-05-22 00:17:36 +07:00
Siwat Sirichai 8e12a748e4 add cud to firmware name 2024-05-20 22:21:32 +07:00
Siwat Sirichai 596a69bf4d Update platformio.ini 2024-05-20 22:15:16 +07:00
Siwat Sirichai faca71475f multivariant building 2024-05-20 22:11:46 +07:00
Siwat Sirichai 615c3f5f9e upgrade SDK to v2.8.0 2024-05-20 22:07:43 +07:00
Siwat Sirichai ab0c340014 network port delay 2024-05-17 22:15:06 +07:00
Siwat Sirichai 487e4068e8 Update platformio.ini 2024-05-17 22:00:59 +07:00
Siwat Sirichai 426d0b8bb9 always turn on to cool mode 2024-05-17 21:17:06 +07:00
Siwat Sirichai ec5c41561b add 3rd ac variant 2024-05-02 21:32:22 +07:00
Siwat Sirichai 0a0c8fe2aa change ac type naming 2024-04-23 14:15:58 +07:00
Siwat Sirichai 810b65d0b9 swap fan speed 2024-04-06 16:03:03 +07:00
Siwat Sirichai 784cdaab93 set all outputs to max on boot 2024-04-06 12:42:16 +07:00
Siwat Sirichai 94f007d9be fix temp adj element id 2024-04-06 12:24:05 +07:00
Siwat Sirichai 1075ec5f99 fix display boot loop 2024-04-06 12:21:46 +07:00
Siwat Sirichai cb0c3ecd8b M1, M4, M5, M6 IR Codes 2024-04-04 18:04:01 +07:00
Siwat Sirichai cd2f4618d7 Update config.hpp 2024-03-31 00:25:01 +07:00
Siwat Sirichai 6d635c3140 Add OTA and change IR Codes 2024-03-31 00:21:46 +07:00
Siwat Sirichai b4afcd58f8 Update display.cpp 2024-03-30 23:07:12 +07:00
Siwat Sirichai b5b0c866f8 fix bound check recursion bug 2024-03-30 22:58:25 +07:00
Siwat Sirichai dfcc27420a adjust serial baudrate 2024-03-30 03:14:15 +07:00
Siwat Sirichai a2422a75fd add display timeout & init request 2024-03-30 01:50:06 +07:00
Siwat Sirichai 6198be7af3 Update cud_display_v3.HMI 2024-03-28 18:41:39 +07:00
Siwat Sirichai ef3f0558ed ac lock fix all system issue 2024-03-24 16:01:56 +07:00
Siwat Sirichai 1da05baad6 Delete Untitled-1.m 2024-03-24 14:41:39 +07:00
Siwat Sirichai df6e0f94bf change ac lock button image 2024-03-24 14:41:14 +07:00
Siwat Sirichai e926b0a160 Update lcd_elements.hpp 2024-03-24 10:54:11 +07:00
Siwat Sirichai 6f887b642e Prepared picture for better A/C Lock Representation 2024-03-24 01:48:41 +07:00
34 changed files with 416 additions and 161 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

View File

@ -59,5 +59,6 @@
"C_Cpp_Runner.useLeakSanitizer": false,
"C_Cpp_Runner.showCompilationTime": false,
"C_Cpp_Runner.useLinkTimeOptimization": false,
"C_Cpp_Runner.msvcSecureNoWarnings": false
"C_Cpp_Runner.msvcSecureNoWarnings": false,
"idf.portWin": "COM34"
}

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 510 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 167 KiB

After

Width:  |  Height:  |  Size: 166 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 83 B

6
partitions_custom.csv Normal file
View File

@ -0,0 +1,6 @@
# Name, Type, SubType, Offset, Size, Flags
nvs, data, nvs, 0x9000, 0x5000,
otadata, data, ota, 0xe000, 0x2000,
app0, app, factory, 0x10000, 0x1E0000,
app1, app, ota_0, 0x1F0000, 0x1E0000,
spiffs, data, spiffs, 0x3D0000, 0x20000,
1 # Name Type SubType Offset Size Flags
2 nvs data nvs 0x9000 0x5000
3 otadata data ota 0xe000 0x2000
4 app0 app factory 0x10000 0x1E0000
5 app1 app ota_0 0x1F0000 0x1E0000
6 spiffs data spiffs 0x3D0000 0x20000

View File

@ -8,12 +8,24 @@
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:wt32-eth01]
; Ducted A/C Variant
[env:satitm-ducted]
platform = espressif32
board = wt32-eth01
framework = arduino
lib_deps = siwats/ESPMegaPROR3@^2.4.3
lib_deps = siwats/ESPMegaPROR3@^2.9.4
monitor_speed = 115200
build_flags = -DCORE_DEBUG_LEVEL=0
monitor_port = COM36
upload_port = COM36
board_build.partitions = partitions_custom.csv
board_upload.flash_size = 4MB
build_flags = -DCORE_DEBUG_LEVEL=0 -DSW_VERSION='"cud-dev-duct"' -DBOARD_MODEL='"ESPMegaPRO R3.3c"' -DAC_TYPE=AC_TYPE_DUCTED
; Ceiling A/C Variant (and newer ducted models)
[env:satitm-ceiling]
platform = espressif32
board = wt32-eth01
framework = arduino
lib_deps = siwats/ESPMegaPROR3@^2.9.4
monitor_speed = 115200
board_build.partitions = partitions_custom.csv
board_upload.flash_size = 4MB
build_flags = -DCORE_DEBUG_LEVEL=0 -DSW_VERSION='"cud-dev-ceiling"' -DBOARD_MODEL='"ESPMegaPRO R3.3c"' -DAC_TYPE=AC_TYPE_CEILING

View File

@ -1,5 +1,12 @@
#pragma once
#include "constants.hpp"
/***********************************************
* Variants *
***********************************************/
// @note You can use -D flag to define the variant and comment out the line below
// #define AC_TYPE AC_TYPE_CEILING
/***********************************************
* Pin Definitions *
***********************************************/
@ -23,12 +30,27 @@
***********************************************/
// @note The infrared codes are defined in ir_codes.hpp and ir_codes.cpp
// Air Conditioner Type for First and Second3 Year Classrooms
#if AC_TYPE == AC_TYPE_DUCTED
#define AC_MIN_TEMP 15
#define AC_MAX_TEMP 30
#define AC_MODES 3
#define AC_FAN_SPEEDS 4
#define AC_MODE_NAMES {"off", "fan_only", "cool"}
#define AC_FAN_SPEED_NAMES {"auto", "high", "medium", "low"}
#endif
// Air Conditioner Type for Third, Fourth, Fifth, and Sixth Year Classrooms
#if AC_TYPE == AC_TYPE_CEILING
#define AC_MIN_TEMP 16
#define AC_MAX_TEMP 32
#define AC_MODES 3
#define AC_FAN_SPEEDS 4
#define AC_MODE_NAMES {"off", "cool", "fan_only"}
#define AC_MODE_NAMES {"off", "fan_only", "cool"}
#define AC_FAN_SPEED_NAMES {"auto", "high", "medium", "low"}
#endif
#define AC_IR_TX_PIN 12 // GP Type
#define AC_IR_CHANNEL RMT_CHANNEL_0
#define AC_SENSOR_TYPE AC_SENSOR_TYPE_DHT22
@ -38,6 +60,7 @@
* Display Configuration *
***********************************************/
// UART Configuration
#define TAMPER_DETECTION
#define INTERNAL_DISPLAY_UART Serial
#define INTERNAL_DISPLAY_BAUDRATE 115200
#define DISPLAY_UART Serial1

View File

@ -1,4 +1,5 @@
#pragma once
#define AC_TYPE_M1M2 0
#define AC_TYPE_M3M4M5M6 1
#define AC_TYPE_DUCTED 0
#define AC_TYPE_CEILING 1
#define AC_TYPE_DUCTED_VARIANT_2 1

View File

@ -125,7 +125,6 @@ void CUDDisplay::begin(cud_display_cards_t cards)
sprintf(ac_temp_lower_bound_request_topic, "%s%s/request", base_topic, AC_TEMP_LOWER_BOUND_RELATIVE_TOPIC);
this->ac_temp_lower_bound.enableValueRequest(ac_temp_lower_bound_request_topic);
auto binded_ac_temp_lower_bound_callback = std::bind(&CUDDisplay::handle_bound_change, this, std::placeholders::_1);
this->ac_temp_lower_bound.registerCallback(binded_ac_temp_lower_bound_callback);
// AC Temp Upper Bound
this->ac_temp_upper_bound.begin(6);
this->ac_temp_upper_bound.bindFRAM(this->cards.fram, AC_DISPLAY_TEMP_UPPER_BOUND_ADDR);
@ -140,7 +139,7 @@ void CUDDisplay::begin(cud_display_cards_t cards)
sprintf(ac_temp_upper_bound_request_topic, "%s%s/request", base_topic, AC_TEMP_UPPER_BOUND_RELATIVE_TOPIC);
this->ac_temp_upper_bound.enableValueRequest(ac_temp_upper_bound_request_topic);
auto binded_ac_temp_upper_bound_callback = std::bind(&CUDDisplay::handle_bound_change, this, std::placeholders::_1);
this->ac_temp_upper_bound.registerCallback(binded_ac_temp_upper_bound_callback);
// Check Bound Validity
// Lower Bound must be less than Upper Bound
@ -149,12 +148,19 @@ void CUDDisplay::begin(cud_display_cards_t cards)
// If any of the bound is invalid, set all to default
if (this->ac_temp_lower_bound.getIntValue() < AC_MIN_TEMP || this->ac_temp_upper_bound.getIntValue() > AC_MAX_TEMP || this->ac_temp_lower_bound.getIntValue() >= this->ac_temp_upper_bound.getIntValue())
{
ESP_LOGW("CUD Display", "Temperature Bounds are invalid, setting to default");
this->ac_temp_lower_bound.setIntValue(DEFAULT_TEMP_LOWER_BOUND);
this->ac_temp_upper_bound.setIntValue(DEFAULT_TEMP_UPPER_BOUND);
}
this->ac_temp_lower_bound.registerCallback(binded_ac_temp_lower_bound_callback);
this->ac_temp_upper_bound.registerCallback(binded_ac_temp_upper_bound_callback);
// Initialize the display
ESP_LOGV("CUD Display", "Initializing display");
this->sendStopBytes();
this->reset();
vTaskDelay(1000 / portTICK_PERIOD_MS);
this->display_init();
}
@ -186,6 +192,7 @@ void CUDDisplay::loop()
ESP_LOGD("CUD Display", "Checking MQTT Connection, Connection is %s", this->cards.iot->mqttConnected() ? "true" : "false");
if (!this->cards.iot->mqttConnected())
{
this->standalone = true;
if (first_disconnect)
{
// When MQTT is disconnected, enter standalone mode
@ -196,7 +203,6 @@ void CUDDisplay::loop()
this->cards.outputCard->setState(this->conf->socket_contactor_pin, true);
first_disconnect = false;
}
this->standalone = true;
}
else
{
@ -209,11 +215,11 @@ void CUDDisplay::loop()
// A/C temperature range limits are set
first_disconnect = true;
// Rebound the temperature
if(this->cards.ac->getTemperature() < this->get_ac_temp_lower_bound())
if (this->cards.ac->getTemperature() < this->get_ac_temp_lower_bound())
{
this->cards.ac->setTemperature(this->get_ac_temp_lower_bound());
}
else if(this->cards.ac->getTemperature() > this->get_ac_temp_upper_bound())
else if (this->cards.ac->getTemperature() > this->get_ac_temp_upper_bound())
{
this->cards.ac->setTemperature(this->get_ac_temp_upper_bound());
}
@ -228,7 +234,6 @@ void CUDDisplay::display_init()
{
// Perform a reset on the display
ESP_LOGV("CUD Display", "Resetting display");
this->reset();
vTaskDelay(1000 / portTICK_PERIOD_MS);
// Set the display to the main screen
ESP_LOGV("CUD Display", "Setting display to main screen");
@ -393,8 +398,8 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
}
else
{
// If it is not, turn it on
this->cards.ac->setMode(previous_mode);
// If it is not, turn it on, always set the mode to cool when turning on
this->cards.ac->setMode(AC_MODE_COOL);
}
return;
}
@ -435,7 +440,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
if (this->get_ac_lock())
return;
// Set the AC fan speed to low
this->cards.ac->setFanSpeed(1);
this->cards.ac->setFanSpeed(3);
return;
}
// Check if element_id is the AC fan speed medium button
@ -455,7 +460,7 @@ void CUDDisplay::handle_touch(uint8_t page_id, uint8_t element_id, uint8_t touch
if (this->get_ac_lock())
return;
// Set the AC fan speed to high
this->cards.ac->setFanSpeed(3);
this->cards.ac->setFanSpeed(1);
return;
}
// Check if element_id is the AC temperature up button
@ -539,8 +544,25 @@ void CUDDisplay::handle_bound_change(char *value)
// Lower Bound can't be less than AC_MIN_TEMP
// Upper Bound can't be more than AC_MAX_TEMP
// If any of the bound is invalid, set all to default
if (this->ac_temp_lower_bound.getIntValue() < AC_MIN_TEMP || this->ac_temp_upper_bound.getIntValue() > AC_MAX_TEMP || this->ac_temp_lower_bound.getIntValue() >= this->ac_temp_upper_bound.getIntValue())
// Check if the lower bound is less than AC_MIN_TEMP or greater than or equal to the upper bound
// Check if the lower bound is less than AC_MIN_TEMP
if (this->ac_temp_lower_bound.getIntValue() < AC_MIN_TEMP)
{
ESP_LOGV("CUD Display", "Invalid Lower Bound %d Setting to Default", this->ac_temp_lower_bound.getIntValue());
this->ac_temp_lower_bound.setIntValue(DEFAULT_TEMP_LOWER_BOUND);
}
// Check if the upper bound is greater than AC_MAX_TEMP
if (this->ac_temp_upper_bound.getIntValue() > AC_MAX_TEMP)
{
ESP_LOGV("CUD Display", "Invalid Upper Bound %d Setting to Default", this->ac_temp_upper_bound.getIntValue());
this->ac_temp_upper_bound.setIntValue(DEFAULT_TEMP_UPPER_BOUND);
}
// After correcting invalid lower or upper bounds, check if lower bound is still greater than or equal to upper bound
if (this->ac_temp_lower_bound.getIntValue() >= this->ac_temp_upper_bound.getIntValue())
{
ESP_LOGV("CUD Display", "Lower Bound %d is greater than Upper Bound %d. Setting both to defaults", this->ac_temp_lower_bound.getIntValue(), this->ac_temp_upper_bound.getIntValue());
this->ac_temp_lower_bound.setIntValue(DEFAULT_TEMP_LOWER_BOUND);
this->ac_temp_upper_bound.setIntValue(DEFAULT_TEMP_UPPER_BOUND);
}
@ -764,10 +786,10 @@ void CUDDisplay::refresh_display_ac()
uint8_t temperature = this->cards.ac->getTemperature();
ESP_LOGV("CUD Display", "Mode: %d, Fan Speed: %d, Temperature: %d", mode, fan_speed, temperature);
ESP_LOGV("CUD Display", "Previous Mode: %d, Drawn Mode: %d", previous_mode, drawn_mode);
// Draw the state picture set
// Is the AC locked?
if (this->get_ac_lock())
{
// Draw the state picture set
// When the display is locked
// the state picture set we use is the locked state picture set
this->takeSerialMutex();
@ -779,6 +801,42 @@ void CUDDisplay::refresh_display_ac()
// Set Alpha of Locked Icon to 127
this->displayAdapter->printf("%s.aph=%d", LCD_DASHBOARD_ELEMENT_NAME_ICO_LOCK, 127);
this->sendStopBytes();
// Overlay the ac container
this->displayAdapter->printf("vis %s,1", LCD_DASHBOARD_ELEMENT_NAME_AC_PANEL_OVERLAY);
this->sendStopBytes();
// Hide the temperature adjustment buttons
this->displayAdapter->printf("vis %s,0", LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_UP_BUTTON);
this->sendStopBytes();
this->displayAdapter->printf("vis %s,0", LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_DOWN_BUTTON);
this->sendStopBytes();
// Draw the mode picture set
// If it is not locked
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL, drawn_mode == 2 ? (LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_LOCKED) : LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL, drawn_mode == 2 ? LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN, drawn_mode == 1 ? LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN, drawn_mode == 1 ? LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE);
this->sendStopBytes();
// Draw fan speed auto picture set
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO, fan_speed == 0 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO, fan_speed == 0 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW, fan_speed == 3 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW, fan_speed == 3 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM, fan_speed == 2 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM, fan_speed == 2 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH, fan_speed == 1 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH, fan_speed == 1 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_LOCKED : LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE);
this->sendStopBytes();
this->giveSerialMutex();
}
else
@ -794,38 +852,46 @@ void CUDDisplay::refresh_display_ac()
// Set Alpha of Locked Icon to 0
this->displayAdapter->printf("%s.aph=%d", LCD_DASHBOARD_ELEMENT_NAME_ICO_LOCK, 0);
this->sendStopBytes();
// Hide the ac container overlay
this->displayAdapter->printf("vis %s,0", LCD_DASHBOARD_ELEMENT_NAME_AC_PANEL_OVERLAY);
this->sendStopBytes();
// Show the temperature adjustment buttons
this->displayAdapter->printf("vis %s,1", LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_UP_BUTTON);
this->sendStopBytes();
this->displayAdapter->printf("vis %s,1", LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_DOWN_BUTTON);
this->sendStopBytes();
// Draw the mode picture set
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL, drawn_mode == 2 ? (LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE) : LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL, drawn_mode == 2 ? LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN, drawn_mode == 1 ? LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE : LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN, drawn_mode == 1 ? LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE_PRESS);
this->sendStopBytes();
this->giveSerialMutex();
// Draw fan speed picture set
this->takeSerialMutex();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO, fan_speed == 0 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO, fan_speed == 0 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW, fan_speed == 3 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW, fan_speed == 3 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM, fan_speed == 2 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM, fan_speed == 2 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH, fan_speed == 1 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH, fan_speed == 1 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE_PRESS);
this->sendStopBytes();
this->giveSerialMutex();
}
// Draw the mode picture set
this->takeSerialMutex();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL, drawn_mode == 2 ? LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE : LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL, drawn_mode == 2 ? LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN, drawn_mode == 1 ? LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE : LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN, drawn_mode == 1 ? LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE_PRESS);
this->sendStopBytes();
this->giveSerialMutex();
// Draw the fan speed picture set
this->takeSerialMutex();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO, fan_speed == 0 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO, fan_speed == 0 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW, fan_speed == 1 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW, fan_speed == 1 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM, fan_speed == 2 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM, fan_speed == 2 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE_PRESS);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH, fan_speed == 3 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE : LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE);
this->sendStopBytes();
this->displayAdapter->printf("%s.pic2=%d", LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH, fan_speed == 3 ? LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_PRESS : LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE_PRESS);
this->sendStopBytes();
this->giveSerialMutex();
// Draw the temperature
this->takeSerialMutex();
this->displayAdapter->printf("%s.txt=\"%d\"", LCD_DASHBOARD_ELEMENT_NAME_AC_TEMPERATURE, temperature);
@ -876,7 +942,7 @@ void CUDDisplay::system_toggle()
this->cards.outputCard->setState(this->conf->air_purifier_pin, false);
if (this->cards.outputCard->getState(this->conf->mosquito_zapper_pin))
this->cards.outputCard->setState(this->conf->mosquito_zapper_pin, false);
if (!ac_lock.getIntValue() && this->cards.ac->getMode() != 0)
if (!get_ac_lock() && this->cards.ac->getMode() != 0)
this->cards.ac->setMode(0);
}
// If the system is off, turn lights, mosquito zapper, air purifier and AC on if they are off
@ -891,8 +957,8 @@ void CUDDisplay::system_toggle()
this->cards.outputCard->setState(this->conf->mosquito_zapper_pin, true);
if (!this->cards.outputCard->getState(this->conf->air_purifier_pin))
this->cards.outputCard->setState(this->conf->air_purifier_pin, true);
if (!ac_lock.getIntValue())
this->cards.ac->setMode(previous_mode);
if (!get_ac_lock())
this->cards.ac->setMode(AC_MODE_COOL);
}
}

View File

@ -1,96 +1,91 @@
#include "ir_codes.hpp"
const uint16_t ir_code_cool[4][17][407] = {
#if AC_TYPE == AC_TYPE_DUCTED
const uint16_t ir_code_cool[4][16][91] = {
// Fan Speed Auto
{
{5043, 2131, 404, 1747, 379, 697, 379, 697, 379, 695, 407, 1746, 379, 698, 378, 697, 379, 697, 379, 696, 406, 1745, 380, 697, 380, 1772, 379, 1772, 379, 697, 379, 1773, 379, 1772, 379, 1773, 379, 1772, 406, 1746, 379, 697, 379, 1772, 380, 695, 381, 696, 405, 670, 406, 671, 379, 696, 380, 697, 379, 1772, 405, 671, 379, 696, 380, 1771, 407, 670, 379, 696, 380, 696, 380, 1772, 405, 670, 405, 672, 379, 697, 379, 695, 380, 697, 379, 697, 379, 696, 380, 696, 379, 697, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 1772, 379, 1772, 380, 1772, 379, 696, 380, 697, 379, 1772, 379, 697, 379, 29383, 5043, 2130, 380, 1772, 380, 696, 405, 671, 379, 697, 405, 1746, 380, 696, 380, 696, 405, 670, 406, 670, 380, 1772, 380, 696, 405, 1746, 405, 1747, 405, 671, 379, 1773, 405, 1746, 379, 1773, 379, 1773, 379, 1773, 379, 695, 380, 1772, 407, 669, 379, 697, 379, 696, 407, 670, 379, 696, 380, 696, 379, 1773, 405, 671, 379, 695, 380, 1773, 379, 697, 405, 670, 380, 696, 380, 696, 405, 671, 379, 697, 379, 697, 379, 696, 380, 696, 379, 1772, 380, 1772, 379, 696, 405, 671, 380, 1772, 406, 1746, 380, 1772, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 380, 695, 381, 695, 380, 697, 405, 1746, 380, 696, 379, 697, 406, 670, 379, 697, 378, 1773, 379, 697, 405, 670, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 697, 379, 696, 405, 670, 406, 671, 382, 693, 405, 671, 380, 695, 408, 1748, 401, 1747, 379, 1773, 379, 696, 406, 670, 380, 695, 381, 697, 378, 1773, 405, 1746, 379, 1772, 380, 1772, 380, 696, 379, 696, 380, 697, 379, 697, 379, 696, 380, 697, 405, 670, 379, 696, 380, 696, 380, 697, 379, 696, 379, 697, 405, 671, 379, 696, 380, 696, 381, 695, 379, 697, 379, 1772, 380, 696, 379, 696, 380, 697, 379, 696, 380, 696, 380, 696, 405, 670, 380, 697, 379, 697, 379, 696, 380, 696, 380, 695, 380, 696, 380, 697, 404, 671, 406, 671, 378, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 406, 669, 407, 669, 380, 696, 380, 696, 404, 1748, 379, 1772, 380, 697, 378, 1773, 379, 1772, 380, 697, 378, 696, 380, 696, 380}, // 16C
{5043, 2130, 405, 1747, 380, 696, 380, 696, 406, 670, 384, 1767, 380, 696, 380, 695, 380, 702, 374, 697, 405, 1746, 407, 669, 405, 1747, 406, 1745, 380, 696, 379, 1773, 379, 1772, 380, 1772, 379, 1772, 380, 1772, 379, 697, 379, 1772, 380, 696, 406, 670, 405, 671, 406, 670, 379, 696, 406, 671, 379, 1771, 406, 670, 380, 697, 406, 1745, 405, 671, 379, 697, 379, 696, 405, 1747, 380, 696, 380, 696, 379, 696, 406, 670, 380, 696, 380, 696, 379, 697, 380, 695, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 405, 1746, 406, 1746, 380, 1772, 405, 671, 379, 696, 382, 1770, 380, 696, 379, 29384, 5042, 2130, 380, 1772, 407, 670, 406, 669, 380, 696, 379, 1773, 379, 697, 406, 669, 380, 695, 381, 695, 385, 1767, 406, 670, 380, 1777, 402, 1744, 407, 669, 380, 1772, 379, 1772, 401, 1750, 381, 1771, 380, 1772, 406, 670, 380, 1771, 380, 697, 379, 696, 406, 670, 379, 697, 379, 696, 380, 696, 405, 1747, 406, 670, 379, 696, 406, 1746, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 381, 695, 407, 669, 380, 696, 380, 1771, 380, 1772, 380, 696, 380, 696, 379, 1772, 380, 1772, 380, 1772, 379, 697, 379, 697, 404, 672, 378, 696, 380, 697, 405, 670, 380, 696, 380, 696, 379, 697, 380, 1771, 380, 697, 381, 694, 380, 696, 380, 695, 380, 1775, 377, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 406, 669, 380, 697, 379, 696, 408, 668, 404, 672, 379, 697, 406, 669, 380, 695, 381, 696, 380, 695, 405, 672, 379, 696, 380, 696, 380, 696, 406, 669, 381, 696, 379, 1772, 380, 696, 379, 697, 405, 670, 406, 1746, 380, 1771, 406, 1746, 380, 1771, 380, 696, 380, 697, 379, 696, 380, 696, 379, 697, 380, 695, 380, 697, 379, 696, 406, 670, 379, 697, 379, 696, 380, 696, 406, 670, 380, 696, 379, 697, 379, 697, 379, 697, 379, 1771, 380, 696, 380, 696, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 405, 671, 379, 696, 380, 696, 407, 670, 405, 670, 407, 669, 379, 697, 405, 670, 380, 696, 380, 696, 405, 670, 381, 696, 379, 696, 380, 696, 380, 696, 405, 670, 406, 670, 380, 696, 380, 1771, 381, 696, 379, 1771, 381, 1772, 409, 1743, 379, 696, 380, 696, 406, 670, 379}, // 17C
{5069, 2104, 407, 1745, 380, 696, 380, 696, 380, 695, 380, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1772, 380, 696, 379, 1772, 380, 1771, 381, 696, 405, 1746, 380, 1771, 381, 1771, 380, 1772, 380, 1771, 380, 696, 380, 1772, 380, 695, 406, 670, 408, 668, 380, 696, 380, 695, 380, 697, 406, 1745, 380, 696, 380, 696, 379, 1772, 407, 669, 405, 671, 380, 695, 406, 1746, 380, 696, 405, 671, 380, 695, 380, 697, 380, 695, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 406, 670, 380, 696, 388, 687, 380, 696, 380, 1771, 381, 1771, 380, 1772, 380, 696, 379, 697, 405, 1746, 380, 696, 380, 29361, 5064, 2130, 406, 1746, 380, 696, 379, 697, 405, 670, 380, 1772, 380, 695, 380, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 1771, 381, 1771, 380, 696, 406, 1745, 381, 1771, 380, 1771, 381, 1771, 380, 1772, 380, 696, 406, 1745, 407, 669, 381, 694, 381, 696, 380, 695, 406, 670, 380, 696, 405, 1746, 380, 696, 380, 696, 407, 1745, 407, 669, 405, 671, 379, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 406, 670, 406, 1745, 380, 1772, 405, 671, 379, 696, 380, 1771, 381, 1772, 380, 1771, 380, 696, 406, 670, 384, 691, 381, 695, 380, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 1772, 406, 669, 407, 669, 380, 696, 380, 696, 380, 1772, 406, 669, 407, 669, 407, 669, 380, 696, 405, 671, 405, 670, 380, 696, 380, 696, 380, 695, 408, 668, 406, 669, 381, 695, 380, 697, 379, 696, 380, 696, 407, 669, 405, 671, 380, 695, 408, 668, 405, 1746, 381, 695, 380, 695, 381, 1772, 380, 696, 406, 669, 380, 696, 380, 1771, 406, 1746, 380, 1771, 381, 1771, 406, 670, 380, 696, 406, 670, 405, 671, 380, 695, 381, 695, 407, 669, 379, 697, 405, 670, 380, 696, 406, 670, 380, 696, 407, 668, 380, 696, 407, 669, 405, 671, 405, 670, 381, 1771, 407, 673, 376, 696, 380, 695, 381, 695, 406, 670, 380, 696, 407, 669, 405, 670, 381, 695, 406, 670, 405, 671, 406, 670, 407, 668, 407, 669, 380, 696, 406, 670, 405, 671, 380, 695, 406, 670, 380, 696, 405, 670, 381, 696, 406, 668, 407, 670, 380, 695, 381, 695, 380, 1772, 380, 1771, 408, 1744, 407, 1745, 380, 1771, 380, 696, 380, 696, 380, 695, 407}, // 18C
{5069, 2105, 380, 1771, 380, 696, 406, 670, 379, 697, 404, 1747, 380, 696, 407, 669, 380, 696, 406, 670, 379, 1772, 380, 696, 406, 1745, 380, 1772, 406, 670, 406, 1745, 406, 1746, 406, 1746, 379, 1773, 379, 1772, 380, 696, 379, 1773, 404, 671, 380, 696, 386, 690, 405, 670, 405, 672, 404, 671, 379, 1773, 379, 696, 407, 670, 379, 1771, 406, 671, 406, 669, 406, 670, 380, 1773, 378, 696, 380, 696, 380, 696, 379, 697, 380, 696, 379, 696, 405, 670, 406, 671, 379, 697, 379, 696, 380, 696, 380, 696, 406, 670, 379, 696, 380, 1772, 380, 1772, 380, 1771, 380, 696, 380, 695, 380, 1773, 379, 697, 379, 29360, 5065, 2130, 380, 1773, 379, 697, 379, 697, 379, 696, 379, 1771, 381, 696, 380, 696, 405, 672, 378, 697, 379, 1772, 379, 697, 379, 1772, 380, 1772, 405, 672, 378, 1772, 380, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 696, 407, 1745, 380, 696, 380, 697, 404, 670, 380, 696, 380, 697, 379, 696, 379, 1773, 378, 697, 380, 697, 378, 1772, 407, 670, 379, 697, 379, 697, 378, 697, 379, 697, 404, 672, 381, 694, 380, 696, 405, 670, 380, 1775, 377, 1771, 380, 697, 379, 696, 380, 1772, 405, 1746, 380, 1772, 380, 696, 379, 697, 404, 672, 379, 697, 405, 671, 379, 696, 379, 697, 379, 696, 380, 697, 379, 1772, 379, 697, 379, 696, 380, 697, 406, 668, 380, 1772, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 697, 378, 697, 380, 696, 379, 696, 380, 697, 379, 696, 379, 697, 380, 696, 379, 698, 378, 697, 378, 697, 380, 695, 380, 696, 380, 697, 379, 696, 379, 1773, 379, 697, 379, 1772, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 1773, 379, 1773, 379, 1772, 379, 697, 379, 697, 404, 672, 405, 670, 379, 697, 379, 697, 379, 697, 378, 697, 406, 670, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 406, 670, 379, 697, 379, 1773, 379, 697, 404, 672, 378, 697, 379, 697, 379, 697, 379, 696, 380, 695, 380, 696, 380, 697, 379, 697, 379, 695, 380, 696, 380, 696, 380, 697, 380, 695, 379, 696, 380, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 407, 669, 379, 697, 379, 1772, 380, 696, 379, 696, 383, 693, 380, 695, 381, 1772, 380, 695, 406, 670, 380}, // 19C
{5087, 2108, 380, 1772, 406, 670, 379, 696, 380, 696, 380, 1772, 379, 697, 379, 697, 379, 696, 407, 669, 379, 1772, 380, 697, 379, 1773, 378, 1772, 380, 696, 380, 1771, 380, 1772, 380, 1772, 379, 1772, 407, 1745, 380, 695, 380, 1773, 379, 696, 380, 696, 379, 697, 379, 696, 406, 671, 379, 696, 407, 1745, 405, 671, 379, 697, 379, 1772, 379, 697, 379, 696, 380, 697, 379, 1772, 379, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 696, 379, 696, 381, 696, 379, 697, 406, 669, 380, 697, 379, 697, 382, 693, 380, 695, 380, 1773, 378, 1773, 379, 1772, 380, 696, 406, 671, 378, 1772, 380, 697, 379, 29360, 5065, 2130, 380, 1773, 379, 696, 405, 670, 380, 697, 379, 1772, 380, 696, 380, 695, 380, 697, 379, 696, 406, 1747, 378, 697, 379, 1773, 378, 1773, 379, 697, 379, 1772, 405, 1747, 379, 1772, 380, 1772, 379, 1773, 379, 696, 380, 1772, 379, 697, 378, 697, 406, 670, 379, 697, 379, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 697, 379, 696, 379, 1773, 379, 1773, 404, 671, 379, 697, 379, 1772, 405, 1747, 380, 1771, 380, 696, 380, 697, 384, 692, 378, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 697, 379, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 697, 378, 697, 379, 697, 379, 697, 379, 697, 378, 697, 405, 671, 379, 698, 378, 697, 379, 696, 379, 696, 380, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 1773, 379, 697, 404, 1747, 379, 697, 379, 696, 379, 698, 404, 1747, 379, 1773, 378, 1772, 380, 1773, 379, 697, 433, 643, 379, 696, 379, 697, 379, 696, 380, 696, 379, 696, 380, 697, 379, 697, 379, 696, 379, 697, 405, 671, 379, 696, 380, 697, 383, 693, 404, 671, 379, 697, 379, 1777, 375, 697, 378, 697, 405, 671, 379, 697, 379, 697, 403, 672, 379, 696, 380, 697, 379, 696, 379, 697, 379, 697, 379, 697, 379, 697, 379, 696, 406, 670, 379, 697, 379, 696, 380, 697, 378, 698, 379, 696, 379, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 696, 380, 1772, 379, 1773, 379, 697, 378, 697, 379, 697, 379, 1772, 380, 697, 379, 696, 380}, // 20C
{5043, 2130, 407, 1745, 407, 669, 379, 696, 381, 695, 405, 1747, 380, 695, 406, 670, 406, 670, 380, 696, 406, 1745, 380, 697, 405, 1745, 406, 1746, 406, 670, 406, 1746, 405, 1746, 406, 1745, 407, 1745, 407, 1745, 390, 686, 380, 1772, 405, 670, 406, 670, 380, 695, 380, 696, 380, 697, 405, 670, 406, 1745, 408, 668, 405, 670, 407, 1745, 393, 683, 406, 670, 380, 696, 406, 1745, 380, 696, 406, 670, 405, 670, 381, 696, 379, 696, 380, 696, 406, 669, 408, 669, 406, 670, 379, 696, 380, 697, 379, 696, 406, 670, 405, 670, 384, 1768, 406, 1746, 380, 1770, 407, 670, 405, 670, 406, 1746, 380, 696, 405, 29336, 5064, 2130, 380, 1772, 406, 670, 405, 671, 395, 680, 380, 1772, 406, 670, 380, 696, 380, 696, 379, 696, 380, 1772, 405, 671, 406, 1746, 379, 1772, 379, 696, 380, 1771, 381, 1772, 405, 1746, 380, 1771, 380, 1772, 380, 697, 405, 1745, 380, 696, 380, 696, 380, 696, 380, 696, 407, 669, 379, 696, 380, 1771, 381, 695, 380, 696, 380, 1771, 380, 696, 380, 697, 379, 696, 380, 696, 405, 671, 379, 697, 379, 696, 380, 696, 406, 669, 380, 1772, 406, 1746, 382, 694, 405, 671, 379, 1772, 380, 1771, 381, 1771, 380, 697, 405, 669, 381, 695, 405, 672, 405, 671, 379, 696, 405, 671, 405, 670, 380, 696, 380, 1771, 381, 696, 379, 695, 381, 696, 380, 695, 380, 1773, 405, 670, 380, 696, 406, 669, 407, 670, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 697, 405, 670, 406, 669, 406, 671, 379, 695, 381, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 1771, 381, 1771, 406, 671, 379, 696, 380, 696, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 380, 696, 405, 670, 381, 696, 405, 670, 380, 697, 406, 669, 380, 695, 381, 695, 380, 697, 379, 696, 380, 696, 379, 697, 379, 697, 406, 669, 407, 668, 381, 696, 405, 670, 380, 1772, 380, 696, 380, 696, 379, 697, 405, 670, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 404, 672, 379, 697, 406, 669, 380, 695, 407, 670, 379, 696, 406, 670, 380, 695, 381, 696, 384, 692, 404, 671, 407, 669, 380, 695, 406, 671, 405, 670, 380, 696, 380, 1771, 380, 696, 407, 1745, 380, 696, 379, 697, 405, 1746, 380, 696, 407, 669, 405}, // 21C
{5042, 2131, 379, 1773, 378, 699, 377, 697, 402, 674, 379, 1773, 381, 694, 379, 698, 378, 697, 379, 697, 379, 1772, 406, 670, 379, 1772, 379, 1773, 379, 697, 379, 1772, 379, 1773, 378, 1774, 378, 1774, 378, 1772, 380, 697, 378, 1773, 379, 698, 378, 697, 379, 697, 379, 697, 378, 698, 405, 670, 379, 1772, 379, 698, 378, 697, 379, 1773, 378, 698, 378, 697, 379, 697, 379, 1773, 405, 670, 379, 697, 379, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 697, 405, 670, 380, 697, 378, 697, 379, 696, 380, 697, 378, 698, 378, 1774, 378, 1772, 405, 1748, 378, 697, 379, 697, 378, 1773, 380, 697, 378, 29362, 5090, 2103, 381, 1771, 380, 696, 380, 696, 384, 691, 381, 1771, 380, 696, 405, 671, 380, 696, 379, 696, 380, 1772, 384, 691, 381, 1771, 406, 1745, 407, 669, 406, 1746, 407, 1744, 407, 1745, 406, 1746, 406, 1745, 406, 669, 407, 1745, 407, 670, 404, 671, 407, 669, 405, 670, 381, 695, 406, 670, 406, 1746, 405, 670, 380, 696, 380, 1772, 380, 695, 407, 669, 406, 670, 406, 670, 405, 671, 406, 669, 406, 670, 384, 692, 380, 695, 381, 1770, 406, 1746, 380, 696, 380, 697, 406, 1744, 407, 1745, 406, 1746, 406, 670, 379, 696, 398, 678, 379, 698, 377, 698, 378, 697, 379, 697, 378, 698, 378, 698, 377, 1774, 377, 699, 351, 726, 349, 726, 350, 726, 349, 1802, 349, 728, 348, 731, 344, 728, 348, 728, 347, 729, 371, 704, 372, 705, 372, 702, 373, 704, 373, 702, 373, 703, 373, 702, 374, 702, 373, 703, 373, 703, 374, 701, 374, 703, 373, 702, 373, 703, 373, 1778, 374, 702, 373, 1778, 373, 1779, 373, 703, 372, 704, 371, 706, 369, 1781, 371, 1780, 347, 1805, 347, 1804, 347, 730, 346, 729, 347, 729, 347, 731, 345, 728, 348, 728, 347, 729, 347, 729, 347, 728, 373, 703, 373, 703, 373, 703, 374, 701, 374, 702, 374, 702, 375, 701, 375, 700, 376, 1776, 376, 700, 376, 699, 377, 699, 377, 699, 377, 698, 378, 698, 377, 698, 384, 693, 377, 698, 378, 697, 405, 671, 389, 692, 374, 697, 404, 672, 404, 671, 404, 672, 404, 672, 403, 673, 403, 672, 378, 698, 404, 672, 403, 673, 403, 673, 377, 698, 403, 673, 403, 673, 403, 1748, 403, 1749, 402, 1749, 377, 699, 402, 674, 377, 1775, 401, 675, 376, 699, 376}, // 22C
{5043, 2131, 379, 1772, 380, 697, 379, 697, 378, 697, 379, 1772, 380, 697, 378, 697, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 1772, 380, 1772, 379, 698, 378, 1772, 406, 1746, 379, 1772, 380, 1772, 379, 1772, 380, 697, 379, 1772, 379, 698, 378, 698, 378, 697, 379, 697, 379, 696, 379, 697, 379, 1772, 380, 696, 380, 697, 382, 1768, 380, 697, 379, 696, 379, 697, 379, 1772, 380, 696, 406, 670, 380, 695, 380, 697, 379, 696, 380, 696, 379, 696, 380, 697, 379, 696, 379, 696, 381, 696, 379, 697, 379, 697, 379, 696, 379, 1772, 380, 1773, 379, 1773, 404, 671, 379, 697, 379, 1773, 378, 696, 380, 29382, 5043, 2131, 404, 1748, 379, 696, 380, 697, 379, 696, 405, 1746, 380, 696, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 1772, 380, 1772, 379, 697, 379, 1772, 380, 1772, 379, 1773, 379, 1772, 379, 1772, 380, 696, 380, 1772, 379, 697, 379, 696, 380, 697, 379, 697, 379, 695, 380, 697, 379, 1771, 381, 696, 406, 669, 380, 1772, 379, 698, 378, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 696, 380, 695, 380, 1773, 379, 1771, 381, 695, 381, 696, 379, 1772, 380, 1772, 379, 1773, 378, 697, 380, 697, 378, 697, 379, 696, 380, 697, 379, 696, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 697, 379, 697, 379, 697, 378, 1773, 379, 696, 379, 697, 406, 671, 378, 697, 379, 697, 379, 696, 380, 697, 378, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 696, 380, 697, 378, 698, 378, 697, 379, 696, 380, 696, 380, 696, 380, 1772, 379, 1773, 379, 1773, 404, 671, 379, 696, 380, 697, 378, 1773, 379, 1772, 380, 1772, 379, 1772, 380, 695, 381, 696, 405, 671, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 379, 697, 379, 698, 378, 697, 378, 697, 380, 697, 378, 697, 379, 697, 379, 697, 379, 1772, 379, 698, 378, 697, 379, 697, 378, 698, 379, 696, 379, 698, 378, 697, 379, 696, 406, 671, 379, 697, 378, 697, 379, 697, 379, 697, 379, 696, 379, 696, 380, 697, 379, 697, 378, 697, 379, 696, 380, 697, 379, 696, 380, 696, 380, 696, 379, 697, 380, 696, 379, 697, 379, 1771, 380, 696, 380, 697, 379, 1772, 379, 697, 379, 1772, 407, 670, 379, 696, 405}, // 23C
{5034, 2137, 375, 1778, 398, 679, 397, 677, 373, 703, 373, 1780, 373, 703, 371, 703, 372, 706, 397, 705, 345, 1779, 373, 705, 369, 1807, 344, 1781, 399, 678, 370, 1781, 397, 1754, 371, 1781, 380, 1770, 372, 1808, 344, 706, 370, 1780, 371, 707, 368, 733, 343, 733, 371, 678, 371, 703, 372, 732, 370, 1781, 370, 705, 346, 731, 369, 1759, 368, 731, 370, 706, 344, 732, 344, 1808, 343, 732, 344, 707, 394, 707, 345, 731, 370, 680, 396, 705, 344, 732, 343, 706, 370, 733, 370, 679, 370, 706, 370, 733, 343, 731, 345, 731, 371, 1781, 344, 1808, 342, 1783, 394, 709, 342, 733, 343, 1808, 344, 732, 344, 29393, 5032, 2140, 397, 1781, 343, 709, 368, 732, 342, 734, 341, 1810, 343, 733, 341, 735, 343, 733, 367, 710, 340, 1839, 311, 735, 344, 1781, 369, 1810, 342, 733, 370, 1783, 365, 1785, 343, 1811, 341, 1809, 336, 1789, 368, 735, 341, 1809, 342, 734, 341, 737, 367, 708, 368, 708, 341, 735, 342, 732, 369, 1784, 341, 734, 340, 736, 342, 1810, 339, 737, 368, 706, 343, 734, 342, 732, 342, 735, 343, 733, 342, 734, 340, 735, 342, 735, 342, 1808, 343, 1808, 370, 710, 341, 704, 372, 1807, 342, 1810, 371, 1780, 345, 704, 371, 732, 343, 733, 344, 731, 345, 731, 342, 734, 371, 677, 372, 731, 343, 733, 370, 1754, 398, 679, 371, 703, 372, 704, 372, 704, 373, 1778, 372, 703, 374, 703, 399, 676, 373, 704, 397, 678, 372, 703, 403, 673, 374, 702, 400, 675, 399, 677, 400, 676, 400, 675, 399, 677, 401, 675, 427, 649, 374, 701, 401, 675, 401, 674, 402, 675, 402, 1750, 401, 1750, 401, 1751, 404, 1747, 403, 674, 401, 673, 376, 700, 402, 1750, 401, 1750, 375, 1777, 375, 1777, 374, 701, 375, 701, 403, 673, 402, 673, 402, 674, 404, 672, 376, 700, 403, 673, 403, 672, 403, 673, 405, 671, 403, 672, 406, 670, 377, 699, 376, 699, 404, 672, 377, 699, 433, 1719, 404, 672, 403, 673, 375, 700, 404, 672, 404, 672, 406, 670, 402, 673, 405, 671, 405, 671, 403, 672, 433, 643, 430, 647, 402, 673, 406, 669, 406, 671, 404, 671, 406, 670, 406, 670, 404, 671, 379, 698, 433, 642, 403, 673, 402, 674, 377, 698, 378, 698, 404, 672, 403, 1748, 406, 1746, 403, 673, 406, 1745, 377, 700, 377, 1774, 406, 670, 377, 698, 405}, // 24C
{5069, 2103, 406, 1746, 406, 669, 407, 669, 407, 669, 380, 1772, 407, 668, 381, 696, 380, 695, 380, 696, 380, 1771, 406, 670, 381, 1771, 406, 1745, 380, 696, 385, 1767, 380, 1771, 381, 1771, 406, 1745, 381, 1771, 407, 669, 406, 1745, 380, 696, 406, 670, 380, 696, 406, 670, 406, 670, 381, 694, 407, 1745, 400, 676, 405, 671, 405, 1746, 380, 696, 380, 695, 407, 670, 379, 1772, 407, 668, 381, 696, 379, 696, 407, 670, 406, 669, 380, 696, 380, 696, 406, 672, 402, 671, 384, 692, 407, 669, 382, 694, 405, 670, 406, 669, 407, 1745, 406, 1746, 380, 1772, 405, 670, 406, 670, 380, 1772, 380, 695, 380, 29383, 5043, 2130, 407, 1744, 406, 671, 379, 696, 407, 668, 381, 1772, 380, 696, 379, 697, 406, 669, 380, 696, 380, 1772, 405, 670, 406, 1746, 405, 1747, 379, 697, 404, 1746, 406, 1746, 380, 1772, 380, 1771, 380, 1772, 380, 696, 380, 1771, 406, 671, 405, 671, 379, 695, 380, 697, 379, 697, 405, 670, 380, 1772, 379, 696, 380, 697, 404, 1747, 380, 695, 380, 696, 406, 670, 380, 696, 405, 671, 407, 669, 405, 670, 380, 695, 380, 696, 380, 1772, 405, 1747, 405, 671, 406, 669, 380, 1772, 406, 1750, 375, 1772, 406, 670, 405, 670, 380, 696, 406, 670, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 406, 1746, 405, 670, 407, 670, 379, 696, 406, 669, 380, 1772, 380, 696, 406, 671, 404, 670, 380, 696, 380, 696, 380, 696, 386, 690, 379, 696, 407, 670, 405, 670, 380, 695, 406, 670, 380, 696, 396, 680, 380, 696, 380, 696, 405, 671, 405, 670, 380, 696, 380, 696, 405, 670, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 405, 1747, 379, 1772, 380, 1771, 407, 1745, 380, 696, 380, 696, 380, 696, 407, 668, 407, 669, 380, 696, 406, 670, 405, 670, 380, 696, 380, 696, 380, 696, 406, 673, 402, 670, 380, 696, 405, 671, 406, 670, 380, 695, 380, 1772, 406, 670, 405, 671, 380, 695, 380, 696, 380, 696, 405, 671, 379, 697, 407, 668, 380, 696, 393, 683, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1772, 380, 695, 406, 1746, 380, 1771, 380, 697, 379, 1772, 380, 696, 379, 697, 379}, // 2C5C
{5043, 2131, 380, 1772, 379, 696, 380, 696, 379, 698, 378, 1772, 380, 696, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 1773, 379, 1772, 380, 696, 379, 1772, 388, 1763, 381, 1771, 380, 1772, 379, 1773, 379, 697, 379, 1772, 379, 697, 405, 670, 380, 696, 380, 696, 405, 671, 380, 696, 383, 1768, 380, 696, 380, 696, 379, 1772, 380, 696, 379, 697, 379, 697, 379, 1772, 407, 669, 380, 696, 379, 696, 380, 696, 407, 670, 378, 697, 379, 697, 380, 695, 379, 697, 379, 697, 379, 697, 405, 671, 379, 697, 379, 696, 379, 1773, 379, 1772, 379, 1773, 379, 696, 380, 697, 379, 1772, 379, 697, 379, 29383, 5043, 2130, 380, 1771, 380, 696, 379, 697, 379, 697, 379, 1772, 380, 696, 379, 697, 380, 696, 379, 697, 379, 1772, 379, 696, 380, 1772, 380, 1772, 379, 697, 379, 1772, 379, 1773, 380, 1771, 380, 1772, 380, 1771, 381, 695, 379, 1772, 406, 670, 380, 696, 380, 695, 380, 697, 379, 697, 379, 697, 403, 1748, 379, 697, 380, 696, 406, 1745, 378, 698, 380, 696, 379, 696, 380, 697, 404, 670, 381, 696, 379, 697, 379, 696, 380, 696, 379, 1772, 380, 1772, 380, 696, 379, 697, 379, 1772, 407, 1745, 380, 1771, 380, 696, 406, 669, 407, 669, 381, 695, 380, 695, 381, 696, 405, 671, 379, 696, 380, 696, 406, 1746, 380, 695, 406, 671, 379, 695, 381, 695, 381, 1771, 381, 695, 380, 695, 380, 697, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 406, 670, 380, 695, 407, 669, 381, 695, 402, 674, 380, 696, 406, 669, 381, 696, 405, 670, 380, 1771, 406, 669, 382, 695, 406, 670, 380, 1771, 381, 695, 380, 695, 407, 1745, 380, 1771, 407, 1745, 406, 1746, 380, 695, 381, 695, 406, 670, 406, 669, 381, 696, 406, 669, 380, 696, 407, 669, 406, 669, 407, 669, 406, 670, 407, 669, 405, 670, 381, 695, 406, 670, 407, 669, 406, 670, 406, 1745, 406, 670, 379, 697, 380, 695, 381, 695, 406, 670, 380, 696, 393, 682, 380, 696, 380, 696, 380, 696, 380, 696, 404, 671, 380, 696, 382, 694, 379, 697, 379, 696, 380, 696, 405, 671, 379, 697, 379, 696, 380, 696, 379, 697, 378, 698, 377, 699, 378, 698, 377, 699, 376, 1775, 350, 1802, 350, 1801, 350, 1801, 350, 726, 349, 1803, 349, 727, 374, 702, 372}, // 26C
{5039, 2132, 379, 1772, 379, 697, 379, 696, 379, 697, 379, 1772, 379, 697, 379, 697, 379, 696, 380, 696, 379, 1773, 379, 697, 379, 1772, 379, 1772, 380, 697, 379, 1772, 379, 1773, 379, 1772, 379, 1773, 379, 1772, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 1772, 379, 697, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 697, 379, 1772, 380, 696, 379, 696, 380, 696, 379, 697, 380, 695, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 379, 1772, 380, 1771, 380, 1772, 380, 696, 379, 697, 379, 1772, 379, 697, 379, 29381, 5042, 2131, 379, 1773, 378, 697, 433, 643, 432, 644, 378, 1773, 432, 644, 433, 642, 434, 643, 431, 644, 379, 1772, 435, 641, 433, 1719, 432, 1719, 433, 643, 434, 1717, 433, 1719, 433, 1718, 379, 1773, 433, 1718, 378, 698, 378, 1773, 379, 698, 432, 644, 431, 644, 432, 644, 433, 643, 433, 642, 433, 1718, 432, 644, 432, 644, 432, 1719, 433, 643, 433, 643, 432, 644, 434, 642, 433, 642, 432, 644, 434, 642, 431, 645, 433, 643, 401, 1749, 434, 1718, 432, 644, 430, 646, 432, 1719, 378, 1773, 432, 1720, 433, 642, 432, 644, 433, 643, 433, 643, 432, 644, 433, 643, 431, 644, 378, 698, 432, 644, 432, 1719, 432, 643, 462, 614, 379, 697, 433, 643, 433, 1718, 434, 642, 378, 698, 433, 643, 432, 643, 433, 643, 433, 643, 432, 644, 431, 644, 433, 643, 433, 643, 378, 698, 431, 645, 433, 642, 378, 698, 432, 644, 432, 643, 432, 645, 432, 643, 433, 642, 404, 673, 432, 1719, 433, 643, 432, 643, 432, 1719, 434, 643, 432, 644, 432, 1719, 378, 1773, 379, 1773, 378, 1773, 379, 697, 433, 643, 434, 642, 431, 644, 432, 644, 433, 643, 433, 642, 430, 646, 379, 697, 432, 644, 432, 643, 434, 642, 433, 643, 432, 644, 432, 643, 434, 642, 431, 644, 433, 1719, 433, 643, 378, 699, 431, 644, 432, 643, 433, 644, 429, 645, 434, 642, 432, 644, 433, 643, 433, 643, 431, 645, 434, 641, 432, 644, 431, 645, 378, 698, 432, 643, 433, 642, 434, 642, 433, 643, 379, 697, 433, 642, 434, 643, 432, 643, 432, 644, 431, 645, 431, 645, 431, 1720, 432, 643, 433, 643, 433, 643, 431, 1720, 379, 1773, 433, 643, 431, 645, 430}, // 27C
{5043, 2130, 405, 1746, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 697, 379, 696, 380, 696, 380, 695, 380, 1772, 380, 696, 405, 1747, 379, 1772, 380, 695, 381, 1771, 406, 1745, 381, 1772, 379, 1772, 380, 1771, 380, 697, 379, 1772, 380, 695, 381, 696, 379, 696, 409, 668, 379, 696, 380, 695, 407, 1745, 405, 672, 379, 696, 380, 1771, 380, 696, 380, 696, 380, 695, 381, 1771, 380, 697, 404, 671, 380, 696, 380, 695, 380, 696, 380, 695, 381, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 695, 380, 697, 379, 696, 380, 1771, 381, 1771, 380, 1772, 379, 697, 379, 696, 380, 1771, 381, 696, 405, 29356, 5044, 2130, 380, 1771, 381, 695, 380, 695, 381, 696, 380, 1772, 405, 670, 380, 695, 381, 696, 379, 696, 380, 1771, 435, 642, 380, 1771, 380, 1772, 380, 696, 379, 1772, 380, 1771, 381, 1772, 404, 1746, 381, 1772, 380, 696, 379, 1772, 380, 696, 380, 696, 379, 696, 380, 695, 381, 696, 380, 695, 381, 1771, 380, 696, 380, 695, 406, 1745, 381, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 695, 381, 1772, 380, 1771, 380, 696, 380, 696, 380, 1772, 379, 1772, 380, 1771, 380, 697, 379, 696, 380, 695, 381, 695, 406, 670, 407, 669, 380, 696, 380, 696, 380, 695, 380, 1772, 380, 695, 381, 696, 379, 697, 379, 696, 380, 1772, 380, 696, 380, 695, 380, 696, 380, 697, 379, 695, 380, 697, 379, 696, 380, 695, 408, 669, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 1771, 381, 1771, 380, 697, 379, 696, 380, 1771, 380, 696, 406, 670, 380, 1771, 380, 1772, 380, 1772, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 380, 695, 380, 1771, 381, 696, 406, 669, 380, 697, 379, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 407, 669, 380, 696, 380, 695, 380, 696, 405, 671, 380, 696, 435, 640, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 380, 696, 406, 669, 381, 695, 380, 697, 379, 696, 380, 1771, 380, 1772, 380, 696, 432, 644, 380, 1770, 381, 1771, 381, 694, 381, 696, 380}, // 28C
{5070, 2104, 407, 1745, 379, 696, 379, 697, 379, 697, 378, 1774, 378, 698, 378, 696, 407, 671, 377, 697, 434, 1719, 378, 697, 379, 1773, 379, 1772, 378, 698, 379, 1773, 378, 1773, 379, 1772, 379, 1773, 379, 1772, 379, 698, 378, 1773, 379, 697, 379, 697, 378, 698, 378, 697, 379, 697, 379, 697, 378, 1773, 380, 696, 378, 699, 378, 1772, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 697, 378, 697, 379, 698, 378, 697, 378, 698, 378, 697, 379, 697, 379, 697, 379, 697, 379, 696, 380, 697, 379, 697, 378, 696, 380, 1772, 380, 1772, 405, 1746, 406, 670, 380, 696, 380, 1772, 406, 669, 380, 29383, 5042, 2131, 379, 1772, 380, 696, 405, 671, 380, 695, 381, 1771, 380, 696, 380, 696, 379, 696, 406, 670, 380, 1772, 405, 670, 381, 1771, 406, 1746, 380, 695, 380, 1772, 380, 1772, 405, 1746, 380, 1771, 380, 1772, 380, 695, 381, 1771, 380, 697, 378, 697, 380, 696, 379, 696, 381, 696, 379, 696, 380, 1771, 381, 696, 379, 696, 380, 1772, 379, 697, 379, 696, 380, 696, 406, 670, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 406, 1745, 380, 1771, 380, 697, 379, 700, 376, 1772, 380, 1771, 380, 1772, 406, 670, 380, 696, 379, 696, 380, 696, 380, 696, 406, 669, 381, 696, 379, 696, 407, 669, 380, 1771, 381, 695, 380, 696, 379, 697, 380, 696, 379, 1772, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 695, 380, 1772, 380, 696, 380, 696, 379, 1772, 380, 1772, 380, 1772, 379, 1772, 380, 696, 405, 671, 405, 670, 406, 670, 380, 696, 380, 696, 379, 699, 404, 669, 380, 695, 380, 697, 380, 695, 381, 695, 407, 670, 379, 696, 379, 696, 380, 696, 380, 696, 380, 1772, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 407, 670, 379, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 381, 695, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 1771, 380, 697, 379, 1772, 380, 1771, 380, 697, 379, 696, 380}, // 29C
{5042, 2131, 384, 1768, 405, 670, 380, 695, 381, 696, 380, 1771, 380, 696, 406, 669, 380, 697, 405, 670, 406, 1745, 406, 671, 379, 1771, 381, 1772, 380, 696, 380, 1770, 407, 1745, 407, 1745, 406, 1746, 380, 1771, 407, 669, 380, 1772, 380, 696, 405, 670, 383, 693, 380, 696, 405, 670, 406, 670, 406, 1746, 380, 696, 405, 671, 379, 1771, 407, 670, 407, 669, 405, 670, 380, 1771, 381, 696, 380, 695, 380, 696, 380, 695, 381, 696, 406, 670, 379, 696, 380, 695, 381, 696, 380, 696, 405, 670, 405, 672, 379, 696, 380, 696, 405, 1746, 380, 1772, 379, 1773, 379, 697, 379, 696, 406, 1746, 405, 671, 406, 29355, 5044, 2129, 381, 1771, 406, 670, 405, 671, 380, 695, 380, 1771, 381, 695, 381, 695, 380, 697, 388, 687, 380, 1771, 381, 696, 379, 1771, 381, 1771, 380, 696, 380, 1772, 380, 1771, 380, 1772, 380, 1771, 406, 1746, 407, 669, 380, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 379, 696, 407, 669, 380, 1772, 403, 672, 380, 696, 380, 1771, 380, 695, 407, 670, 380, 696, 380, 696, 405, 670, 381, 696, 379, 696, 382, 694, 405, 671, 406, 1745, 380, 1772, 405, 670, 381, 695, 407, 1745, 406, 1746, 405, 1745, 381, 696, 380, 696, 379, 697, 380, 695, 406, 670, 380, 695, 406, 670, 380, 696, 380, 696, 380, 1772, 379, 697, 379, 696, 407, 669, 380, 696, 379, 1772, 380, 696, 380, 696, 380, 695, 406, 670, 380, 695, 381, 695, 381, 696, 379, 697, 406, 669, 380, 696, 407, 669, 379, 696, 380, 696, 380, 696, 380, 695, 406, 671, 379, 697, 383, 691, 381, 696, 380, 1771, 380, 697, 379, 1772, 384, 692, 406, 1744, 381, 695, 408, 668, 380, 1772, 405, 1746, 381, 1771, 380, 1772, 379, 697, 379, 697, 379, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 407, 669, 380, 697, 406, 670, 379, 696, 405, 671, 379, 696, 380, 696, 380, 697, 379, 1772, 405, 671, 406, 669, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 696, 380, 696, 379, 695, 381, 696, 380, 696, 380, 696, 407, 669, 379, 696, 380, 696, 380, 696, 380, 696, 407, 1744, 380, 1772, 380, 1772, 379, 696, 405, 1746, 380, 1772, 405, 672, 379, 700, 375}, // 30C
{5043, 2131, 379, 1772, 380, 696, 379, 697, 406, 670, 379, 1773, 379, 696, 379, 696, 380, 696, 380, 696, 380, 1771, 380, 697, 379, 1771, 381, 1771, 380, 696, 380, 1772, 405, 1746, 380, 1771, 407, 1746, 381, 1770, 406, 670, 379, 1772, 406, 670, 380, 696, 380, 696, 379, 697, 379, 696, 380, 697, 405, 1746, 379, 697, 379, 697, 404, 1747, 379, 697, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 697, 405, 669, 381, 696, 379, 697, 379, 697, 379, 696, 380, 696, 380, 695, 380, 697, 379, 697, 405, 670, 380, 696, 379, 697, 379, 1772, 380, 1772, 379, 1772, 380, 696, 379, 698, 378, 1773, 379, 697, 378, 29383, 5042, 2131, 380, 1771, 380, 697, 379, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 403, 674, 378, 697, 379, 1772, 380, 696, 380, 1772, 379, 1773, 379, 696, 380, 1772, 379, 1773, 379, 1772, 379, 1772, 380, 1773, 378, 696, 380, 1772, 380, 697, 378, 696, 406, 671, 379, 696, 380, 696, 380, 695, 380, 1772, 380, 696, 380, 696, 380, 1771, 405, 671, 380, 696, 380, 696, 405, 671, 379, 696, 405, 671, 380, 696, 379, 697, 379, 697, 379, 1773, 379, 1772, 381, 695, 379, 696, 406, 1746, 379, 1772, 380, 1772, 379, 697, 379, 696, 380, 697, 378, 697, 379, 696, 380, 696, 380, 696, 379, 696, 407, 669, 405, 1747, 380, 696, 380, 696, 379, 696, 380, 697, 379, 1772, 407, 668, 404, 672, 380, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 697, 379, 696, 379, 696, 380, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 696, 405, 672, 378, 697, 379, 697, 406, 670, 379, 1771, 380, 1773, 405, 671, 379, 1772, 379, 697, 379, 696, 380, 1773, 378, 1773, 379, 1772, 379, 1773, 379, 696, 380, 696, 380, 696, 379, 697, 380, 695, 380, 696, 395, 681, 379, 697, 379, 698, 378, 697, 379, 696, 379, 697, 380, 696, 379, 696, 380, 696, 406, 670, 379, 697, 379, 1772, 406, 670, 379, 697, 379, 697, 379, 696, 379, 697, 380, 695, 380, 697, 379, 696, 380, 695, 381, 696, 405, 671, 379, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 379, 697, 380, 696, 379, 696, 380, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 1772, 379, 1773, 405, 1746, 379, 696, 380, 696, 380}, // 31C
{5043, 2131, 379, 1772, 380, 696, 405, 671, 405, 670, 380, 1772, 380, 696, 379, 697, 405, 670, 380, 696, 407, 1744, 380, 697, 379, 1772, 406, 1746, 406, 669, 405, 1747, 405, 1746, 407, 1745, 380, 1771, 407, 1744, 381, 696, 380, 1772, 379, 697, 379, 695, 408, 669, 406, 669, 380, 696, 380, 696, 380, 1772, 380, 695, 380, 696, 380, 1772, 405, 670, 380, 696, 380, 696, 380, 1771, 406, 671, 405, 670, 406, 670, 380, 696, 405, 670, 406, 670, 407, 669, 380, 696, 405, 671, 379, 697, 405, 670, 380, 696, 380, 696, 404, 672, 379, 1772, 406, 1745, 406, 1746, 406, 671, 404, 671, 406, 1745, 407, 669, 405, 29356, 5044, 2130, 380, 1771, 407, 670, 405, 670, 380, 696, 380, 1772, 380, 696, 379, 696, 407, 670, 379, 695, 381, 1772, 380, 695, 406, 1746, 406, 1745, 380, 696, 380, 1771, 407, 1745, 380, 1772, 380, 1771, 406, 1746, 405, 671, 380, 1771, 406, 670, 409, 667, 380, 695, 380, 696, 380, 697, 379, 696, 380, 1771, 380, 697, 379, 696, 380, 1772, 380, 696, 379, 697, 379, 697, 379, 696, 380, 695, 406, 670, 406, 670, 380, 696, 406, 669, 381, 1771, 380, 1772, 379, 697, 405, 670, 407, 1745, 380, 1771, 406, 1746, 380, 696, 379, 696, 407, 670, 379, 695, 381, 695, 380, 697, 379, 697, 379, 696, 380, 696, 405, 1747, 406, 669, 380, 696, 380, 696, 405, 670, 380, 1771, 381, 696, 380, 696, 405, 670, 380, 697, 379, 697, 379, 696, 388, 688, 379, 696, 380, 696, 380, 695, 381, 696, 379, 696, 405, 672, 406, 668, 407, 670, 379, 696, 380, 696, 408, 667, 381, 696, 405, 1746, 406, 1745, 406, 1747, 379, 696, 380, 1772, 379, 697, 405, 670, 380, 1772, 405, 1746, 380, 1771, 381, 1771, 406, 671, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 405, 671, 379, 697, 379, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 697, 379, 696, 379, 697, 406, 1745, 380, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 405, 670, 380, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 695, 381, 695, 380, 697, 405, 669, 381, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 1772, 379, 1773, 379, 695, 389, 1764, 405, 1746, 406, 1745, 407, 670, 379, 696, 380} // 32C
{8976, 4498, 562, 546, 589, 547, 588, 1649, 588, 548, 587, 1649, 588, 547, 589, 548, 587, 564, 589, 547, 588, 1649, 588, 548, 587, 547, 588, 548, 588, 548, 588, 547, 587, 566, 587, 548, 587, 548, 588, 548, 587, 548, 588, 548, 587, 549, 586, 548, 587, 565, 588, 549, 586, 548, 588, 548, 588, 548, 560, 577, 584, 549, 586, 551, 585, 565, 588, 549, 587, 548, 560, 576, 560, 574, 587, 549, 587, 550, 586, 548, 588, 570, 560, 576, 586, 549, 560, 575, 560, 1665, 560}, // 15C
{8976, 4498, 560, 548, 587, 549, 587, 1650, 587, 549, 587, 1649, 586, 550, 587, 548, 587, 565, 587, 549, 586, 1652, 586, 549, 586, 549, 587, 548, 587, 549, 586, 549, 587, 1667, 587, 548, 587, 548, 587, 549, 588, 547, 587, 549, 587, 549, 587, 548, 587, 565, 587, 549, 586, 549, 587, 549, 586, 548, 587, 549, 587, 549, 587, 547, 589, 564, 587, 548, 588, 548, 587, 548, 587, 549, 587, 550, 585, 549, 587, 549, 586, 570, 587, 548, 587, 550, 586, 549, 587, 536, 587}, // 16C
{8976, 4499, 531, 577, 558, 577, 559, 1678, 559, 577, 558, 1679, 559, 577, 558, 577, 558, 595, 558, 577, 558, 1679, 558, 577, 559, 576, 559, 578, 558, 576, 559, 1679, 558, 594, 558, 578, 558, 577, 559, 576, 558, 578, 558, 577, 558, 577, 558, 578, 558, 594, 559, 577, 558, 577, 558, 578, 557, 578, 558, 577, 559, 577, 557, 578, 559, 593, 559, 577, 558, 577, 559, 576, 559, 577, 558, 578, 557, 578, 559, 576, 559, 599, 558, 1678, 559, 1679, 559, 1678, 558, 1666, 560}, // 17C
{8977, 4498, 561, 549, 587, 547, 588, 1649, 588, 547, 589, 1648, 589, 547, 588, 548, 587, 565, 589, 547, 587, 1650, 587, 547, 589, 548, 588, 546, 589, 547, 588, 1649, 588, 1667, 587, 548, 588, 547, 588, 548, 588, 547, 588, 548, 588, 548, 587, 548, 587, 565, 587, 548, 588, 547, 588, 549, 587, 548, 587, 548, 588, 548, 587, 548, 588, 564, 588, 547, 588, 549, 586, 550, 587, 547, 588, 548, 587, 548, 588, 548, 587, 570, 587, 1649, 588, 1650, 588, 1649, 588, 536, 587}, // 18C
{8998, 4502, 534, 574, 587, 549, 585, 1652, 586, 550, 560, 1677, 560, 575, 586, 550, 561, 591, 587, 548, 586, 1651, 587, 549, 586, 549, 585, 550, 561, 1676, 563, 573, 560, 592, 587, 549, 561, 574, 586, 550, 586, 550, 559, 575, 561, 575, 561, 575, 560, 592, 560, 576, 560, 575, 560, 576, 560, 574, 561, 575, 560, 576, 560, 575, 560, 593, 559, 576, 560, 575, 560, 577, 558, 576, 560, 575, 562, 574, 560, 576, 560, 597, 560, 1676, 562, 1676, 559, 576, 561, 1665, 560}, // 19C
{8978, 4503, 562, 548, 586, 549, 588, 1649, 587, 547, 589, 1649, 588, 547, 588, 548, 587, 565, 590, 546, 587, 1649, 588, 548, 588, 548, 587, 548, 587, 1649, 588, 548, 588, 1666, 588, 547, 588, 547, 588, 549, 587, 548, 588, 547, 588, 547, 589, 547, 587, 565, 588, 547, 588, 549, 587, 548, 587, 549, 587, 547, 588, 548, 588, 547, 588, 564, 589, 547, 587, 549, 587, 548, 588, 548, 588, 547, 588, 547, 588, 547, 588, 570, 588, 1649, 588, 1649, 587, 548, 588, 535, 589}, // 20C
{8977, 4503, 560, 549, 587, 548, 560, 1677, 587, 548, 587, 1650, 587, 549, 586, 549, 586, 567, 587, 548, 587, 1650, 588, 547, 587, 549, 587, 548, 587, 1650, 587, 1650, 588, 565, 588, 547, 587, 549, 587, 548, 587, 548, 587, 548, 588, 548, 587, 549, 587, 565, 586, 549, 587, 548, 588, 548, 587, 549, 586, 549, 587, 548, 587, 548, 588, 565, 588, 547, 588, 548, 587, 548, 588, 548, 587, 548, 587, 548, 588, 548, 587, 570, 588, 1649, 588, 547, 588, 1650, 588, 1635, 589}, // 21C
{8996, 4503, 506, 603, 533, 603, 533, 1703, 534, 602, 532, 1705, 533, 602, 533, 602, 533, 619, 533, 603, 533, 1704, 533, 602, 533, 603, 533, 603, 531, 1705, 533, 1704, 532, 1722, 533, 602, 533, 603, 533, 602, 534, 602, 533, 602, 533, 602, 533, 603, 533, 619, 533, 602, 533, 603, 533, 603, 532, 603, 533, 602, 533, 602, 534, 602, 533, 620, 532, 603, 533, 602, 533, 603, 533, 602, 533, 602, 533, 603, 533, 602, 533, 624, 533, 1705, 533, 602, 533, 1704, 533, 590, 533}, // 22C
{8976, 4504, 560, 549, 587, 548, 587, 1650, 587, 548, 587, 1650, 587, 549, 587, 548, 587, 566, 587, 548, 587, 1649, 589, 548, 587, 548, 587, 1650, 587, 549, 587, 548, 588, 564, 588, 548, 587, 548, 587, 549, 587, 548, 587, 548, 587, 548, 588, 548, 588, 565, 587, 548, 588, 548, 587, 547, 588, 548, 587, 549, 586, 549, 587, 548, 588, 565, 587, 548, 587, 548, 588, 548, 586, 549, 587, 549, 587, 548, 588, 548, 587, 570, 587, 1650, 588, 547, 587, 549, 587, 1637, 588}, // 23C
{8976, 4504, 560, 549, 587, 549, 586, 1651, 586, 549, 586, 1651, 587, 548, 587, 548, 588, 565, 587, 548, 587, 1650, 587, 549, 586, 549, 587, 1650, 587, 549, 586, 549, 587, 1667, 587, 548, 587, 549, 587, 549, 586, 549, 586, 549, 587, 548, 588, 548, 587, 565, 587, 548, 587, 549, 587, 548, 587, 549, 587, 548, 587, 549, 587, 548, 586, 567, 586, 549, 586, 549, 586, 549, 587, 548, 588, 549, 586, 549, 586, 550, 587, 570, 586, 1650, 587, 549, 587, 548, 587, 537, 586}, // 24C
{8977, 4503, 531, 578, 534, 602, 556, 1680, 534, 602, 533, 1704, 556, 579, 557, 579, 533, 619, 533, 603, 532, 1704, 558, 578, 533, 603, 532, 1705, 555, 580, 532, 1705, 557, 595, 557, 579, 556, 579, 557, 579, 557, 578, 557, 579, 557, 578, 557, 578, 557, 596, 557, 578, 557, 579, 557, 577, 559, 577, 559, 576, 558, 578, 557, 578, 558, 594, 559, 577, 558, 578, 558, 577, 558, 577, 559, 577, 559, 576, 560, 575, 560, 598, 558, 578, 558, 1678, 559, 1679, 559, 1666, 558}, // 25C
{8976, 4498, 507, 602, 534, 602, 533, 1703, 534, 602, 533, 1704, 533, 602, 557, 579, 533, 619, 533, 602, 557, 1680, 534, 602, 533, 602, 534, 1703, 534, 602, 556, 1680, 534, 1720, 533, 602, 534, 602, 534, 602, 533, 602, 556, 580, 533, 601, 535, 601, 534, 619, 533, 602, 534, 602, 534, 601, 534, 602, 533, 602, 558, 577, 534, 602, 533, 619, 534, 602, 557, 578, 557, 578, 534, 602, 533, 603, 532, 603, 556, 579, 533, 624, 557, 579, 533, 1704, 533, 1704, 533, 590, 533}, // 26C
{8977, 4503, 533, 576, 560, 575, 559, 1679, 559, 577, 559, 1677, 559, 576, 559, 580, 556, 593, 559, 577, 559, 1677, 561, 575, 559, 576, 560, 1678, 559, 1678, 560, 575, 559, 593, 559, 577, 559, 576, 560, 575, 560, 576, 559, 576, 560, 576, 560, 576, 559, 592, 560, 576, 560, 575, 560, 576, 559, 576, 560, 576, 559, 577, 558, 576, 560, 593, 559, 576, 560, 575, 561, 575, 560, 575, 559, 577, 559, 576, 560, 576, 559, 598, 560, 576, 560, 1677, 558, 577, 559, 1667, 559}, // 27C
{8996, 4504, 483, 626, 533, 602, 510, 1727, 533, 602, 533, 1704, 533, 602, 534, 602, 510, 642, 533, 603, 533, 1704, 532, 602, 534, 602, 533, 1704, 533, 1704, 533, 603, 512, 1742, 531, 604, 532, 603, 533, 603, 531, 604, 532, 603, 532, 603, 533, 603, 532, 620, 532, 604, 531, 604, 531, 604, 533, 602, 511, 626, 532, 603, 509, 626, 510, 643, 531, 604, 532, 603, 533, 603, 532, 603, 531, 605, 532, 602, 533, 602, 533, 625, 531, 605, 532, 1704, 533, 603, 533, 590, 534}, // 28C
{8977, 4497, 508, 601, 534, 601, 535, 1702, 535, 601, 534, 1703, 534, 601, 535, 601, 534, 618, 534, 601, 535, 1702, 534, 602, 535, 600, 534, 1703, 534, 1703, 534, 1704, 534, 618, 534, 601, 534, 602, 534, 601, 534, 601, 535, 600, 535, 601, 535, 601, 534, 618, 534, 602, 534, 600, 535, 601, 535, 600, 535, 601, 534, 602, 533, 602, 534, 619, 534, 600, 535, 601, 534, 602, 533, 602, 535, 600, 535, 601, 534, 601, 535, 623, 533, 602, 534, 601, 534, 1703, 535, 1690, 534}, // 29C
{8978, 4503, 533, 575, 561, 575, 559, 1678, 559, 577, 559, 1678, 559, 577, 558, 576, 560, 593, 559, 576, 560, 1677, 560, 575, 559, 577, 560, 1677, 560, 1677, 559, 1679, 558, 1696, 559, 576, 559, 576, 560, 576, 559, 576, 559, 576, 560, 576, 560, 575, 559, 594, 559, 576, 560, 575, 560, 576, 560, 575, 560, 576, 559, 576, 560, 575, 560, 594, 558, 576, 560, 575, 559, 577, 560, 575, 560, 576, 559, 577, 561, 574, 559, 599, 559, 576, 559, 579, 557, 1677, 560, 564, 559} // 30C
},
// Fan Speed High
{
{5043, 2130, 380, 1772, 380, 696, 404, 671, 406, 670, 380, 1771, 380, 696, 406, 670, 379, 696, 406, 670, 380, 1771, 407, 670, 379, 1772, 405, 1746, 406, 670, 406, 1746, 386, 1765, 406, 1745, 380, 1772, 380, 1771, 380, 697, 406, 1745, 379, 697, 380, 694, 407, 670, 406, 670, 405, 670, 405, 672, 379, 1771, 381, 696, 379, 696, 379, 1773, 379, 696, 380, 695, 381, 695, 380, 1771, 407, 670, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 379, 696, 407, 669, 380, 696, 380, 695, 406, 670, 380, 1772, 380, 1771, 380, 1772, 380, 695, 380, 696, 380, 1771, 381, 695, 380, 29381, 5043, 2130, 380, 1772, 380, 695, 381, 695, 380, 696, 406, 1745, 380, 697, 379, 696, 406, 670, 379, 696, 380, 1772, 380, 696, 379, 1771, 381, 1771, 381, 694, 407, 1746, 405, 1746, 384, 1768, 379, 1772, 407, 1744, 381, 695, 380, 1771, 381, 696, 380, 696, 379, 696, 380, 696, 406, 669, 380, 696, 380, 1772, 406, 669, 380, 696, 380, 1772, 380, 696, 379, 696, 406, 670, 379, 697, 405, 671, 379, 696, 406, 670, 407, 669, 383, 693, 379, 1772, 380, 1770, 408, 669, 380, 696, 379, 1772, 380, 1772, 405, 1746, 405, 671, 379, 697, 379, 696, 380, 695, 381, 696, 380, 695, 406, 670, 407, 669, 406, 670, 380, 1771, 380, 696, 382, 693, 380, 697, 379, 696, 380, 1770, 381, 696, 380, 696, 380, 696, 406, 670, 379, 696, 380, 696, 405, 671, 379, 697, 379, 696, 380, 696, 380, 695, 406, 671, 379, 696, 406, 669, 406, 671, 379, 696, 380, 696, 407, 669, 380, 696, 405, 1746, 380, 1772, 405, 1745, 381, 695, 406, 670, 380, 696, 380, 696, 379, 1772, 380, 1772, 405, 1746, 380, 1771, 381, 1771, 406, 669, 406, 1746, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 695, 406, 671, 405, 670, 380, 696, 409, 667, 379, 697, 379, 696, 406, 670, 379, 696, 406, 1745, 381, 696, 380, 696, 379, 696, 406, 670, 405, 671, 405, 670, 380, 696, 406, 670, 380, 695, 407, 670, 404, 671, 407, 669, 380, 696, 379, 696, 406, 670, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 407, 669, 407, 669, 380, 696, 380, 696, 406, 670, 405, 670, 406, 1745, 380, 1772, 380, 696, 379, 1772, 380, 695, 381, 1770, 408, 1746, 379, 696, 379}, // 16C
{5043, 2130, 405, 1746, 380, 697, 379, 696, 380, 696, 405, 1746, 405, 671, 379, 696, 407, 669, 406, 670, 406, 1745, 380, 696, 380, 1771, 381, 1771, 380, 696, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 405, 1746, 380, 696, 380, 1772, 380, 696, 379, 697, 379, 696, 405, 671, 379, 696, 380, 696, 379, 1773, 379, 697, 379, 696, 380, 1772, 406, 669, 406, 669, 381, 696, 379, 1772, 380, 696, 380, 696, 405, 670, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 695, 380, 697, 379, 696, 407, 1743, 409, 1744, 380, 1771, 380, 696, 380, 696, 405, 1747, 406, 669, 380, 29357, 5067, 2130, 380, 1771, 380, 697, 379, 696, 380, 696, 379, 1772, 380, 696, 380, 695, 405, 672, 379, 696, 380, 1771, 406, 670, 407, 1744, 380, 1772, 380, 696, 380, 1771, 380, 1772, 380, 1772, 406, 1744, 407, 1745, 380, 696, 380, 1772, 379, 697, 405, 670, 380, 696, 379, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 406, 671, 378, 1771, 407, 671, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1772, 379, 1771, 381, 695, 380, 697, 379, 1771, 381, 1771, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1771, 381, 695, 382, 694, 380, 695, 381, 695, 381, 1771, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 696, 433, 642, 406, 670, 380, 695, 407, 669, 380, 696, 380, 696, 380, 695, 380, 695, 381, 696, 380, 696, 405, 671, 406, 669, 406, 670, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 695, 406, 1746, 380, 1773, 405, 1745, 380, 1771, 380, 1773, 379, 697, 405, 1746, 379, 696, 380, 696, 379, 696, 406, 670, 380, 695, 381, 696, 406, 670, 379, 696, 380, 696, 380, 695, 406, 670, 380, 695, 381, 696, 380, 696, 379, 1772, 380, 695, 380, 696, 380, 696, 380, 696, 379, 696, 406, 670, 380, 697, 379, 696, 379, 697, 379, 697, 379, 696, 380, 696, 379, 696, 380, 696, 381, 695, 379, 697, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 695, 381, 695, 380, 697, 379, 696, 380, 1771, 380, 695, 381, 1771, 380, 1771, 381, 695, 407, 1745, 405, 1747, 379, 696, 380}, // 17C
{5044, 2129, 381, 1772, 379, 696, 406, 670, 405, 671, 380, 1771, 380, 696, 406, 668, 382, 696, 379, 696, 380, 1771, 380, 696, 380, 1771, 381, 1771, 380, 695, 381, 1771, 380, 1772, 380, 1771, 381, 1772, 379, 1771, 381, 695, 380, 1772, 406, 670, 379, 696, 380, 696, 379, 697, 380, 695, 381, 695, 380, 1772, 380, 695, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 695, 381, 695, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 379, 696, 381, 695, 380, 696, 380, 695, 381, 696, 379, 1772, 380, 1771, 380, 1772, 380, 696, 379, 696, 380, 1772, 380, 695, 380, 29381, 5043, 2130, 380, 1771, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 695, 381, 696, 380, 696, 379, 696, 380, 1771, 406, 671, 379, 1771, 381, 1770, 381, 696, 380, 1771, 380, 1772, 380, 1771, 406, 1745, 381, 1771, 380, 696, 380, 1771, 407, 669, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 1771, 380, 696, 380, 696, 380, 1771, 406, 670, 380, 696, 380, 695, 380, 697, 379, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 1770, 381, 1772, 380, 696, 404, 672, 379, 1772, 380, 1771, 380, 1772, 380, 695, 380, 697, 379, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 695, 380, 696, 380, 1771, 381, 696, 379, 696, 405, 671, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 406, 670, 380, 696, 380, 1771, 381, 695, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 1771, 380, 1772, 379, 1772, 380, 1772, 379, 1772, 379, 697, 405, 1746, 380, 695, 381, 696, 379, 696, 380, 696, 405, 671, 379, 696, 407, 669, 380, 696, 379, 696, 405, 672, 379, 696, 379, 696, 407, 669, 380, 696, 380, 1772, 379, 696, 405, 671, 380, 696, 379, 696, 406, 670, 380, 695, 381, 696, 405, 670, 406, 670, 406, 669, 380, 696, 380, 696, 405, 671, 379, 696, 406, 670, 405, 672, 405, 669, 381, 695, 407, 669, 380, 696, 405, 671, 379, 696, 380, 695, 407, 670, 379, 696, 407, 669, 406, 1745, 407, 1744, 408, 1744, 407, 1745, 405, 671, 406, 1745, 406, 1745, 406, 670, 406}, // 18C
{5044, 2130, 380, 1771, 379, 697, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 696, 380, 695, 380, 695, 381, 1772, 379, 697, 379, 1772, 380, 1771, 380, 695, 381, 1772, 379, 1771, 381, 1772, 379, 1773, 379, 1771, 380, 695, 381, 1771, 381, 696, 379, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 379, 697, 379, 1773, 379, 695, 381, 695, 380, 697, 379, 695, 381, 696, 380, 696, 379, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1771, 381, 1770, 381, 1771, 381, 695, 380, 696, 380, 1772, 379, 696, 380, 29380, 5044, 2130, 380, 1771, 380, 695, 381, 696, 380, 696, 379, 1772, 405, 671, 380, 696, 379, 696, 380, 695, 381, 1772, 379, 695, 381, 1771, 380, 1772, 380, 696, 380, 1771, 380, 1771, 381, 1771, 406, 1745, 381, 1770, 381, 696, 380, 1771, 405, 672, 379, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 1772, 405, 670, 405, 670, 381, 1771, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 1772, 405, 671, 380, 695, 380, 1772, 380, 1771, 380, 1771, 380, 698, 378, 696, 380, 695, 381, 695, 381, 694, 381, 696, 380, 696, 380, 696, 379, 696, 380, 1772, 380, 694, 381, 696, 380, 696, 380, 694, 381, 1772, 380, 695, 381, 695, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 695, 381, 695, 381, 695, 380, 697, 379, 695, 381, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 1771, 380, 696, 380, 1770, 381, 696, 380, 695, 381, 696, 387, 1763, 381, 1772, 379, 1771, 381, 1771, 380, 1771, 381, 696, 379, 1771, 381, 695, 380, 695, 381, 696, 380, 695, 383, 693, 380, 696, 380, 696, 380, 695, 380, 700, 376, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 1771, 407, 670, 379, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 695, 380, 697, 379, 695, 380, 696, 380, 697, 379, 696, 379, 697, 379, 695, 407, 670, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 406, 669, 380, 696, 406, 670, 379, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 379, 697, 406, 1745, 406, 1745, 406, 1745, 407, 669, 406}, // 19C
{5069, 2104, 406, 1745, 380, 696, 380, 700, 376, 696, 380, 1771, 380, 696, 380, 696, 379, 696, 380, 697, 379, 1772, 406, 669, 407, 1744, 407, 1745, 380, 697, 379, 1771, 381, 1770, 407, 1745, 406, 1746, 380, 1772, 406, 669, 405, 1746, 381, 695, 380, 696, 406, 670, 406, 670, 379, 697, 379, 696, 406, 1746, 379, 696, 380, 696, 380, 1772, 379, 696, 406, 670, 405, 670, 381, 1770, 381, 696, 380, 695, 380, 696, 406, 670, 380, 696, 380, 696, 406, 669, 380, 696, 380, 696, 380, 696, 379, 696, 382, 694, 380, 696, 380, 696, 379, 1772, 384, 1767, 380, 1772, 406, 675, 374, 696, 380, 1771, 381, 695, 407, 29354, 5043, 2130, 380, 1771, 407, 670, 405, 671, 379, 696, 380, 1772, 380, 695, 380, 696, 380, 696, 380, 695, 381, 1770, 381, 696, 406, 1745, 406, 1745, 381, 696, 379, 1771, 381, 1772, 405, 1745, 407, 1745, 380, 1772, 379, 697, 379, 1772, 380, 696, 406, 670, 379, 696, 380, 696, 379, 697, 379, 695, 381, 1771, 381, 696, 379, 696, 380, 1772, 380, 695, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 381, 695, 380, 1771, 381, 1771, 380, 695, 381, 695, 380, 1772, 380, 1772, 406, 1745, 380, 695, 381, 695, 380, 697, 379, 696, 407, 669, 405, 671, 379, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 407, 669, 379, 696, 380, 696, 380, 696, 405, 670, 406, 671, 379, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 694, 381, 696, 380, 1771, 380, 1771, 381, 696, 379, 1772, 380, 697, 379, 695, 406, 671, 379, 1772, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 380, 695, 380, 1772, 380, 695, 381, 696, 379, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 695, 381, 695, 380, 695, 381, 696, 380, 696, 379, 696, 380, 1771, 381, 696, 379, 696, 380, 696, 405, 670, 405, 671, 407, 669, 380, 695, 380, 697, 406, 670, 379, 695, 381, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 695, 380, 697, 405, 670, 380, 696, 405, 671, 379, 1772, 406, 1746, 379, 696, 406, 670, 380, 1770, 381, 1771, 381, 1771, 380, 696, 406}, // 20C
{5065, 2131, 379, 1773, 379, 696, 379, 696, 380, 697, 379, 1771, 407, 669, 380, 696, 380, 696, 380, 695, 380, 1772, 380, 696, 380, 1771, 380, 1772, 380, 696, 379, 1772, 406, 1746, 410, 1740, 381, 1771, 380, 1772, 380, 695, 380, 1772, 380, 696, 405, 671, 381, 694, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 695, 380, 1771, 381, 695, 381, 696, 405, 671, 379, 1771, 381, 696, 404, 671, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 406, 670, 404, 671, 380, 696, 381, 1770, 380, 1772, 396, 1754, 381, 695, 381, 696, 405, 1746, 380, 696, 380, 29380, 5070, 2103, 407, 1745, 380, 696, 406, 669, 407, 670, 405, 1746, 380, 695, 380, 696, 405, 671, 380, 696, 380, 1770, 381, 696, 380, 1770, 381, 1772, 381, 694, 381, 1770, 407, 1745, 380, 1772, 380, 1771, 407, 1744, 381, 695, 380, 1772, 380, 695, 407, 670, 379, 697, 404, 671, 380, 695, 406, 670, 406, 1745, 381, 695, 380, 697, 379, 1771, 407, 669, 381, 696, 379, 696, 380, 695, 407, 670, 379, 696, 380, 696, 380, 696, 404, 671, 380, 1772, 380, 1771, 407, 669, 380, 696, 379, 1772, 380, 1771, 381, 1771, 380, 696, 406, 670, 380, 695, 406, 670, 407, 668, 407, 669, 381, 695, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1771, 381, 695, 380, 696, 380, 696, 405, 671, 379, 696, 380, 696, 380, 696, 406, 669, 380, 697, 379, 696, 380, 696, 405, 670, 380, 696, 380, 695, 407, 669, 380, 696, 380, 695, 381, 696, 406, 670, 379, 696, 380, 696, 380, 1771, 380, 1771, 407, 669, 380, 696, 407, 669, 380, 1771, 380, 1772, 380, 1770, 381, 1771, 381, 1771, 381, 695, 380, 1772, 380, 695, 380, 697, 406, 669, 379, 696, 380, 697, 379, 696, 406, 669, 381, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 695, 380, 1772, 406, 670, 380, 696, 380, 695, 380, 696, 406, 670, 380, 695, 407, 669, 405, 671, 380, 696, 387, 688, 380, 696, 380, 696, 380, 696, 380, 696, 405, 670, 380, 696, 406, 669, 380, 697, 405, 669, 381, 695, 407, 669, 406, 671, 379, 696, 380, 695, 397, 678, 381, 696, 380, 1771, 381, 696, 379, 1772, 379, 696, 380, 1771, 406, 1746, 381, 1770, 407, 670, 404}, // 21C
{5069, 2103, 381, 1771, 380, 696, 405, 670, 380, 696, 406, 1745, 381, 695, 381, 696, 405, 670, 380, 696, 380, 1770, 381, 696, 380, 1771, 406, 1745, 407, 670, 379, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 1772, 405, 671, 405, 1746, 380, 696, 405, 671, 380, 696, 389, 687, 379, 696, 380, 695, 407, 1745, 380, 696, 407, 667, 408, 1745, 406, 670, 380, 696, 406, 669, 380, 1772, 405, 671, 379, 696, 406, 670, 380, 696, 379, 696, 405, 671, 380, 696, 406, 670, 406, 670, 379, 696, 405, 670, 407, 670, 379, 696, 380, 696, 380, 1771, 380, 1772, 380, 1771, 406, 670, 380, 696, 380, 1771, 380, 696, 406, 29355, 5043, 2130, 380, 1771, 380, 696, 380, 695, 406, 671, 379, 1772, 380, 696, 380, 695, 380, 697, 379, 696, 380, 1771, 380, 696, 380, 1771, 381, 1771, 380, 695, 381, 1771, 380, 1772, 380, 1770, 381, 1772, 380, 1771, 380, 696, 404, 1747, 381, 694, 381, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 1772, 379, 696, 380, 696, 380, 1772, 379, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1771, 380, 1772, 380, 695, 380, 696, 380, 1772, 380, 1771, 380, 1771, 380, 696, 380, 696, 405, 671, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 1771, 406, 670, 380, 695, 381, 696, 379, 697, 406, 1745, 380, 696, 380, 695, 380, 695, 406, 671, 380, 695, 381, 695, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 1771, 380, 696, 380, 1771, 380, 1772, 380, 696, 405, 671, 379, 696, 380, 1771, 380, 1772, 380, 1771, 380, 1771, 381, 1772, 380, 695, 380, 1771, 381, 696, 380, 695, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 406, 669, 406, 671, 380, 695, 380, 696, 380, 1771, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 406, 670, 380, 695, 380, 696, 405, 671, 380, 696, 380, 696, 379, 697, 379, 695, 381, 695, 380, 696, 380, 1771, 381, 1770, 381, 1771, 381, 695, 380, 1772, 380, 1771, 407, 1744, 381, 695, 380}, // 22C
{5042, 2131, 379, 1772, 380, 696, 406, 670, 379, 696, 380, 1772, 379, 697, 404, 671, 380, 696, 379, 697, 379, 1773, 379, 696, 379, 1772, 380, 1772, 379, 697, 379, 1772, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 379, 696, 381, 1771, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 1772, 380, 696, 379, 696, 380, 1772, 379, 696, 380, 696, 379, 697, 379, 1773, 379, 695, 381, 696, 379, 696, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 697, 379, 696, 382, 693, 380, 697, 379, 696, 405, 671, 379, 1772, 380, 1772, 379, 1772, 405, 671, 379, 696, 380, 1772, 380, 695, 380, 29382, 5042, 2130, 380, 1771, 381, 696, 379, 697, 406, 669, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 1771, 380, 1772, 380, 696, 379, 1772, 380, 1772, 379, 1772, 379, 1773, 379, 1772, 380, 695, 380, 1773, 379, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 405, 1746, 380, 695, 408, 669, 379, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 379, 697, 380, 695, 380, 1772, 379, 1773, 379, 696, 380, 696, 380, 1771, 380, 1772, 379, 1771, 407, 670, 406, 670, 380, 696, 379, 696, 379, 698, 379, 696, 380, 695, 380, 696, 380, 696, 379, 1772, 380, 696, 379, 697, 379, 697, 379, 696, 380, 1772, 379, 697, 405, 670, 380, 696, 380, 696, 405, 671, 379, 696, 380, 696, 380, 695, 380, 696, 406, 670, 380, 696, 406, 669, 407, 669, 380, 695, 408, 669, 380, 698, 377, 697, 378, 697, 380, 696, 380, 695, 380, 1772, 379, 1772, 406, 1746, 405, 671, 405, 670, 380, 696, 379, 1772, 380, 1772, 380, 1771, 380, 1772, 406, 1745, 380, 696, 380, 1771, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 379, 696, 407, 670, 379, 696, 379, 697, 379, 697, 379, 696, 407, 668, 381, 696, 379, 1772, 380, 696, 379, 697, 405, 670, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 404, 671, 380, 696, 380, 695, 380, 696, 380, 697, 379, 695, 406, 670, 381, 695, 380, 696, 406, 670, 379, 697, 379, 696, 380, 696, 405, 675, 376, 695, 407, 669, 406, 1745, 380, 695, 381, 696, 406, 1746, 379, 1771, 407, 1745, 406, 1745, 408, 668, 380}, // 23C
{5043, 2130, 381, 1771, 380, 696, 380, 696, 380, 695, 381, 1770, 381, 696, 380, 695, 380, 696, 380, 696, 379, 1772, 380, 697, 379, 1771, 380, 1772, 380, 696, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 379, 1772, 380, 696, 380, 1771, 406, 671, 379, 696, 405, 670, 380, 695, 408, 669, 380, 695, 407, 1745, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 695, 381, 696, 379, 1772, 380, 696, 379, 696, 380, 696, 380, 695, 405, 672, 379, 696, 380, 695, 380, 696, 381, 695, 380, 697, 379, 696, 405, 670, 380, 697, 379, 695, 381, 1772, 404, 1746, 381, 1772, 379, 696, 380, 696, 380, 1771, 407, 668, 381, 29380, 5044, 2130, 380, 1770, 381, 696, 380, 695, 381, 696, 379, 1772, 380, 696, 405, 671, 379, 697, 379, 696, 379, 1773, 384, 691, 407, 1744, 381, 1771, 405, 672, 406, 1745, 404, 1746, 380, 1772, 380, 1772, 405, 1745, 381, 696, 380, 1772, 379, 697, 379, 695, 381, 695, 380, 697, 379, 695, 381, 696, 380, 1772, 379, 696, 380, 695, 380, 1773, 379, 696, 380, 696, 379, 696, 433, 643, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 1771, 380, 1771, 380, 697, 379, 696, 380, 1772, 379, 1772, 406, 1745, 406, 670, 380, 695, 381, 695, 380, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 695, 381, 1772, 380, 695, 380, 696, 380, 696, 380, 695, 380, 1772, 380, 696, 380, 695, 380, 697, 379, 696, 380, 695, 380, 697, 405, 670, 405, 671, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 697, 403, 672, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 1771, 407, 1745, 406, 1745, 381, 696, 379, 696, 380, 697, 379, 1771, 380, 1772, 380, 1771, 406, 1746, 406, 1745, 380, 697, 379, 1772, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 695, 381, 696, 406, 669, 380, 697, 379, 696, 380, 696, 379, 697, 379, 695, 381, 696, 379, 1771, 407, 670, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 379, 696, 405, 671, 380, 696, 380, 695, 406, 670, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 405, 671, 379, 697, 405, 670, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 1771, 381, 696, 380, 1770, 381, 1771, 380, 1773, 379, 1772, 379, 696, 406}, // 24C
{5043, 2130, 381, 1772, 379, 696, 380, 695, 380, 696, 380, 1772, 380, 695, 380, 697, 404, 670, 381, 696, 379, 1772, 406, 670, 380, 1771, 380, 1772, 406, 669, 406, 1746, 380, 1772, 379, 1772, 380, 1771, 380, 1772, 380, 696, 379, 1772, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 379, 697, 384, 1766, 381, 696, 380, 696, 379, 1772, 380, 697, 404, 670, 380, 696, 380, 1772, 380, 696, 379, 696, 380, 696, 380, 695, 405, 671, 380, 696, 380, 695, 381, 696, 379, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 1772, 379, 1771, 381, 1772, 379, 696, 406, 670, 380, 1771, 380, 696, 380, 29381, 5043, 2130, 380, 1770, 381, 697, 379, 696, 380, 695, 380, 1771, 381, 696, 379, 696, 380, 697, 379, 696, 380, 1772, 405, 670, 405, 1747, 379, 1772, 380, 696, 379, 1772, 380, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 696, 380, 1771, 404, 672, 380, 696, 380, 695, 380, 696, 406, 669, 381, 695, 380, 1772, 380, 696, 379, 696, 380, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 405, 670, 381, 696, 379, 696, 380, 696, 380, 696, 379, 1772, 380, 1772, 379, 697, 379, 696, 380, 1771, 380, 1772, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 379, 696, 407, 670, 379, 696, 380, 1772, 379, 696, 407, 668, 381, 697, 378, 697, 405, 1746, 380, 695, 380, 697, 379, 695, 381, 696, 380, 695, 380, 696, 380, 696, 380, 696, 407, 669, 379, 696, 380, 696, 380, 696, 379, 697, 379, 695, 381, 697, 379, 696, 380, 696, 379, 696, 380, 697, 379, 696, 379, 697, 379, 696, 393, 684, 378, 1772, 380, 697, 379, 696, 380, 1770, 381, 1771, 382, 1770, 406, 1746, 379, 1773, 379, 696, 380, 1771, 380, 696, 409, 667, 380, 695, 381, 696, 379, 696, 380, 695, 381, 695, 435, 641, 380, 696, 380, 695, 406, 671, 379, 696, 380, 695, 380, 696, 380, 1772, 380, 695, 380, 697, 379, 696, 380, 696, 406, 670, 379, 697, 379, 696, 380, 696, 380, 695, 406, 670, 406, 670, 380, 695, 380, 696, 380, 696, 380, 696, 379, 697, 379, 695, 381, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 1771, 406, 670, 406, 1745, 380, 1772, 380, 1772, 379, 1772, 386, 1765, 380, 696, 380}, // 25C
{5044, 2129, 408, 1743, 407, 670, 406, 670, 379, 696, 380, 1772, 406, 669, 407, 669, 407, 669, 383, 692, 408, 1744, 380, 697, 379, 1771, 406, 1746, 405, 671, 380, 1771, 380, 1772, 380, 1771, 380, 1771, 381, 1772, 405, 669, 407, 1745, 406, 670, 380, 696, 405, 670, 406, 671, 379, 696, 406, 670, 406, 1746, 405, 670, 406, 670, 405, 1746, 380, 696, 406, 670, 380, 695, 381, 1771, 406, 670, 380, 695, 406, 670, 380, 696, 405, 671, 406, 669, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 406, 670, 407, 669, 380, 1771, 381, 1771, 380, 1771, 408, 669, 379, 696, 380, 1771, 380, 696, 406, 29355, 5043, 2130, 380, 1772, 380, 696, 406, 669, 407, 670, 379, 1771, 407, 669, 406, 670, 406, 669, 406, 670, 380, 1772, 380, 695, 380, 1772, 380, 1772, 380, 696, 406, 1745, 405, 1746, 407, 1745, 406, 1745, 380, 1772, 380, 696, 380, 1771, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 694, 381, 1772, 379, 696, 407, 669, 380, 1772, 379, 696, 406, 670, 407, 669, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 379, 697, 379, 1772, 379, 1772, 406, 670, 380, 695, 380, 1772, 380, 1771, 381, 1771, 380, 695, 381, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 380, 696, 406, 669, 405, 1746, 380, 696, 406, 670, 379, 697, 379, 695, 381, 1772, 379, 696, 407, 670, 379, 696, 379, 696, 380, 696, 407, 669, 405, 670, 380, 696, 380, 696, 406, 670, 380, 696, 379, 696, 406, 669, 408, 669, 405, 670, 407, 670, 379, 696, 380, 696, 405, 671, 379, 1772, 379, 696, 406, 671, 379, 696, 380, 1772, 379, 696, 380, 696, 380, 1772, 406, 1745, 380, 1771, 380, 1772, 405, 1746, 406, 670, 380, 1771, 406, 670, 407, 669, 380, 695, 380, 696, 407, 669, 406, 670, 405, 670, 381, 695, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 406, 670, 405, 1746, 404, 672, 405, 670, 380, 697, 405, 669, 381, 695, 381, 696, 379, 697, 404, 671, 380, 696, 405, 670, 380, 696, 380, 697, 378, 697, 380, 695, 380, 696, 380, 695, 380, 697, 404, 672, 379, 696, 380, 696, 380, 696, 406, 669, 380, 696, 380, 696, 379, 697, 379, 695, 407, 1745, 407, 1745, 380, 1771, 380, 1772, 406, 1745, 380, 1771, 381, 1771, 380, 696, 407}, // 26C
{5043, 2130, 406, 1746, 379, 696, 380, 697, 405, 670, 380, 1772, 379, 696, 380, 696, 380, 695, 408, 668, 380, 1772, 405, 671, 405, 1746, 406, 1745, 381, 696, 405, 1746, 379, 1772, 380, 1770, 381, 1772, 407, 1745, 379, 696, 380, 1772, 380, 695, 386, 691, 404, 670, 381, 696, 380, 696, 379, 697, 379, 1772, 379, 697, 379, 696, 380, 1772, 380, 695, 406, 670, 407, 669, 380, 1771, 405, 671, 380, 696, 406, 670, 379, 696, 380, 696, 380, 696, 405, 671, 379, 697, 383, 693, 378, 697, 380, 695, 380, 697, 404, 670, 381, 696, 379, 1771, 381, 1771, 380, 1772, 406, 670, 379, 696, 406, 1746, 380, 696, 379, 29381, 5043, 2130, 406, 1746, 380, 696, 379, 697, 379, 695, 381, 1772, 379, 695, 381, 697, 379, 696, 379, 697, 379, 1771, 381, 696, 379, 1773, 379, 1772, 407, 669, 405, 1746, 379, 1773, 379, 1772, 380, 1771, 380, 1772, 379, 697, 405, 1745, 381, 696, 379, 696, 380, 696, 380, 695, 381, 696, 379, 696, 380, 1772, 405, 671, 379, 697, 379, 1772, 379, 696, 407, 670, 404, 671, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 1771, 380, 1772, 380, 697, 379, 695, 380, 1771, 381, 1771, 381, 1772, 379, 696, 405, 671, 405, 670, 380, 697, 379, 696, 379, 697, 379, 697, 405, 671, 379, 696, 379, 1772, 380, 695, 406, 671, 379, 697, 379, 695, 381, 1771, 380, 696, 380, 696, 380, 696, 379, 696, 406, 671, 405, 669, 380, 697, 379, 697, 405, 670, 380, 696, 379, 697, 379, 696, 380, 696, 406, 670, 379, 697, 379, 696, 405, 671, 379, 697, 379, 697, 383, 693, 379, 1771, 380, 696, 380, 695, 381, 1772, 379, 696, 380, 696, 380, 1772, 379, 1772, 379, 1772, 380, 1771, 406, 1746, 380, 696, 379, 1772, 380, 697, 381, 694, 379, 697, 379, 696, 380, 697, 405, 670, 379, 696, 380, 697, 379, 696, 406, 670, 379, 697, 379, 696, 380, 695, 406, 670, 406, 1747, 405, 670, 405, 671, 379, 696, 380, 696, 380, 696, 379, 697, 379, 697, 378, 697, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 696, 380, 696, 406, 670, 379, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 1771, 407, 668, 381, 696, 380, 696, 379, 697, 379, 697, 379, 696, 379, 1772, 380}, // 27C
{5044, 2130, 379, 1773, 379, 696, 380, 695, 381, 696, 405, 1746, 380, 696, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 697, 379, 1772, 379, 1771, 407, 670, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 380, 1771, 380, 695, 407, 1745, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1771, 380, 696, 391, 685, 406, 1745, 380, 696, 405, 670, 405, 672, 379, 1772, 380, 696, 380, 699, 376, 696, 380, 695, 380, 697, 379, 696, 380, 697, 379, 695, 380, 697, 405, 670, 380, 696, 405, 670, 380, 697, 379, 696, 380, 1771, 380, 1771, 381, 1771, 380, 696, 380, 696, 380, 1771, 380, 695, 381, 29380, 5044, 2129, 381, 1770, 381, 696, 380, 695, 381, 696, 379, 1772, 406, 670, 380, 696, 379, 696, 380, 696, 380, 1772, 379, 696, 380, 1772, 379, 1772, 405, 671, 380, 1772, 379, 1772, 379, 1772, 406, 1746, 379, 1771, 381, 696, 380, 1771, 380, 697, 379, 695, 407, 670, 380, 695, 380, 696, 380, 695, 381, 1771, 380, 695, 407, 670, 405, 1746, 380, 696, 406, 670, 379, 696, 380, 696, 380, 695, 381, 695, 380, 696, 405, 671, 380, 695, 380, 1772, 380, 1772, 379, 697, 379, 696, 380, 1771, 408, 1744, 380, 1771, 380, 696, 380, 695, 391, 686, 380, 695, 407, 669, 380, 695, 381, 696, 380, 696, 379, 696, 380, 1771, 380, 696, 380, 696, 405, 670, 380, 696, 407, 1744, 381, 696, 407, 669, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 405, 671, 379, 696, 380, 696, 404, 672, 379, 696, 380, 697, 379, 696, 380, 1770, 382, 1771, 379, 697, 379, 697, 379, 1771, 380, 697, 379, 696, 380, 1772, 379, 1772, 380, 1771, 380, 1772, 380, 1771, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 405, 671, 407, 669, 379, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 697, 379, 1771, 380, 696, 380, 696, 406, 669, 380, 697, 379, 695, 381, 696, 379, 696, 406, 671, 379, 696, 380, 695, 380, 697, 379, 697, 405, 670, 380, 695, 380, 697, 379, 696, 407, 669, 380, 696, 404, 671, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 433, 642, 380, 1771, 406, 1746, 380, 696, 380, 696, 379, 696, 380, 696, 380, 697, 378, 1772, 380}, // 28C
{5043, 2129, 381, 1772, 380, 696, 380, 696, 379, 697, 382, 1769, 406, 671, 378, 695, 407, 674, 375, 696, 380, 1773, 406, 669, 379, 1772, 380, 1772, 379, 697, 379, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 1772, 380, 696, 380, 1772, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 697, 379, 1772, 407, 669, 379, 697, 380, 1771, 407, 669, 379, 697, 380, 696, 379, 1772, 379, 697, 379, 697, 379, 696, 379, 696, 406, 671, 379, 696, 406, 669, 381, 695, 380, 697, 406, 669, 380, 696, 379, 697, 379, 696, 380, 696, 379, 1772, 406, 1745, 381, 1772, 379, 696, 380, 697, 383, 1766, 406, 671, 380, 29381, 5068, 2105, 379, 1772, 380, 697, 379, 696, 380, 696, 380, 1770, 381, 696, 379, 696, 380, 697, 379, 696, 380, 1771, 380, 697, 379, 1772, 379, 1772, 380, 696, 380, 1771, 380, 1772, 379, 1773, 379, 1772, 380, 1771, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 695, 381, 1771, 380, 696, 380, 696, 379, 1772, 406, 670, 380, 696, 379, 697, 379, 696, 405, 671, 380, 696, 379, 696, 406, 671, 379, 696, 379, 1772, 407, 1745, 380, 695, 380, 697, 405, 1745, 407, 1745, 380, 1771, 406, 670, 380, 696, 406, 670, 379, 697, 379, 697, 379, 696, 380, 695, 407, 669, 380, 696, 380, 1771, 380, 696, 380, 697, 379, 696, 379, 697, 379, 1772, 380, 696, 379, 696, 406, 671, 379, 696, 405, 671, 380, 696, 406, 669, 405, 671, 379, 697, 379, 697, 379, 696, 406, 670, 406, 670, 379, 696, 406, 670, 380, 695, 401, 676, 405, 671, 379, 696, 380, 697, 378, 696, 380, 1771, 381, 695, 380, 1771, 381, 696, 379, 696, 380, 1771, 381, 1772, 405, 1746, 380, 1771, 380, 1772, 379, 696, 380, 1772, 380, 695, 408, 669, 405, 671, 379, 695, 380, 697, 405, 670, 405, 671, 380, 696, 406, 670, 379, 696, 380, 695, 381, 696, 379, 697, 405, 671, 379, 1771, 380, 696, 380, 697, 379, 695, 381, 695, 406, 671, 379, 696, 380, 696, 380, 696, 379, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 405, 670, 380, 696, 380, 696, 406, 669, 406, 670, 380, 696, 380, 695, 381, 696, 379, 695, 381, 695, 381, 696, 404, 1747, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 695, 380, 696, 406, 1745, 406}, // 29C
{5043, 2130, 380, 1771, 407, 669, 406, 670, 380, 695, 406, 1746, 434, 642, 380, 695, 407, 669, 380, 696, 406, 1746, 379, 696, 380, 1772, 379, 1773, 405, 670, 380, 1772, 379, 1773, 405, 1745, 380, 1772, 380, 1771, 380, 696, 380, 1772, 379, 697, 405, 670, 379, 697, 379, 696, 407, 669, 380, 696, 380, 1772, 379, 695, 407, 670, 380, 1771, 380, 697, 379, 696, 405, 671, 379, 1771, 381, 696, 405, 670, 380, 696, 380, 696, 379, 696, 380, 697, 379, 697, 379, 695, 406, 670, 407, 669, 407, 669, 380, 695, 380, 696, 407, 669, 405, 1747, 379, 1772, 405, 1747, 406, 669, 406, 669, 407, 1745, 406, 670, 380, 29381, 5043, 2130, 380, 1771, 406, 670, 380, 696, 380, 695, 381, 1771, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1771, 380, 696, 406, 1746, 379, 1772, 405, 671, 406, 1745, 380, 1772, 406, 1746, 379, 1771, 381, 1771, 380, 696, 405, 1746, 380, 696, 379, 697, 406, 670, 380, 695, 380, 696, 380, 696, 406, 1745, 380, 695, 381, 695, 380, 1772, 380, 696, 405, 670, 381, 695, 406, 671, 379, 697, 378, 696, 380, 696, 380, 697, 379, 695, 381, 1771, 380, 1771, 405, 671, 380, 696, 406, 1745, 382, 1769, 381, 1771, 380, 696, 380, 696, 380, 696, 379, 695, 381, 696, 380, 697, 379, 696, 379, 696, 404, 672, 380, 1770, 381, 696, 380, 696, 380, 696, 405, 670, 380, 1772, 405, 671, 379, 696, 380, 697, 379, 696, 405, 671, 379, 695, 381, 697, 379, 696, 379, 696, 406, 670, 405, 671, 380, 696, 405, 670, 380, 696, 380, 696, 380, 695, 381, 695, 380, 695, 381, 695, 380, 1771, 408, 669, 406, 1745, 380, 696, 380, 1772, 405, 671, 406, 668, 381, 1771, 380, 1771, 381, 1772, 379, 1771, 381, 1771, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 696, 405, 671, 379, 696, 380, 696, 380, 695, 407, 668, 407, 671, 379, 696, 380, 695, 380, 697, 379, 696, 406, 669, 381, 1771, 380, 697, 379, 696, 405, 670, 380, 696, 380, 696, 380, 695, 406, 670, 407, 668, 407, 669, 407, 670, 380, 695, 406, 670, 380, 696, 380, 696, 379, 697, 379, 696, 380, 695, 399, 677, 380, 696, 380, 695, 406, 669, 381, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 1771, 405, 1747, 380, 1771, 405, 672, 379, 696, 380, 695, 381, 696, 379, 1771, 407}, // 30C
{5043, 2129, 383, 1769, 380, 700, 375, 696, 380, 696, 405, 1746, 380, 696, 406, 670, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 1772, 379, 1772, 406, 669, 380, 1772, 380, 1772, 379, 1772, 380, 1771, 407, 1745, 404, 672, 379, 1771, 381, 696, 379, 696, 380, 696, 380, 697, 379, 696, 380, 696, 379, 1773, 379, 696, 405, 671, 379, 1772, 405, 671, 407, 669, 379, 696, 380, 1771, 381, 695, 380, 696, 380, 696, 405, 670, 380, 696, 380, 696, 406, 670, 379, 696, 406, 670, 380, 696, 380, 696, 405, 671, 379, 697, 379, 696, 406, 1745, 380, 1771, 380, 1772, 406, 670, 380, 696, 405, 1746, 380, 696, 380, 29380, 5043, 2130, 380, 1772, 406, 669, 380, 697, 379, 696, 380, 1772, 379, 697, 407, 668, 380, 696, 406, 670, 379, 1772, 399, 677, 379, 1772, 380, 1772, 379, 697, 379, 1772, 379, 1772, 380, 1772, 405, 1746, 380, 1772, 380, 696, 405, 1746, 380, 695, 407, 670, 379, 697, 379, 696, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 696, 380, 696, 379, 697, 405, 671, 379, 697, 379, 696, 380, 696, 379, 697, 379, 1771, 381, 1771, 380, 696, 380, 696, 379, 1772, 380, 1772, 405, 1746, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 697, 379, 696, 379, 1772, 380, 695, 406, 671, 379, 697, 379, 695, 381, 1772, 380, 696, 379, 696, 379, 697, 405, 670, 380, 696, 380, 696, 380, 695, 380, 696, 380, 697, 404, 671, 406, 670, 405, 671, 379, 696, 380, 695, 380, 697, 379, 696, 380, 696, 379, 696, 405, 671, 380, 697, 379, 1771, 380, 1772, 405, 671, 379, 1772, 380, 696, 380, 695, 407, 1745, 406, 1745, 380, 1772, 380, 1772, 379, 1772, 380, 696, 380, 1771, 405, 671, 379, 696, 380, 696, 380, 696, 405, 671, 379, 697, 379, 696, 406, 670, 380, 696, 379, 697, 379, 696, 380, 696, 406, 670, 379, 697, 379, 1772, 379, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 407, 670, 406, 668, 406, 670, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 697, 406, 669, 380, 696, 380, 696, 379, 696, 380, 697, 379, 697, 378, 697, 379, 697, 405, 670, 380, 695, 380, 697, 379, 1773, 379, 696, 407, 668, 381, 1771, 380, 696, 379, 696, 406, 671, 379, 1772, 379}, // 31C
{5070, 2104, 379, 1772, 380, 696, 407, 669, 379, 697, 379, 1772, 379, 696, 380, 696, 380, 696, 380, 695, 380, 1771, 381, 696, 380, 1771, 380, 1771, 380, 696, 405, 1747, 391, 1760, 380, 1771, 381, 1771, 407, 1745, 380, 695, 380, 1772, 380, 696, 405, 671, 379, 696, 380, 696, 379, 697, 379, 696, 380, 1772, 380, 696, 379, 696, 380, 1772, 379, 697, 379, 696, 380, 695, 406, 1746, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 391, 685, 379, 696, 383, 693, 380, 696, 380, 696, 379, 696, 382, 694, 380, 696, 379, 1772, 380, 1771, 380, 1772, 380, 696, 380, 695, 380, 1771, 381, 696, 380, 29380, 5043, 2131, 379, 1772, 380, 696, 380, 696, 398, 677, 380, 1772, 405, 671, 379, 696, 380, 696, 380, 696, 405, 1746, 406, 669, 380, 1772, 380, 1772, 379, 696, 380, 1772, 379, 1772, 380, 1772, 379, 1772, 380, 1772, 406, 670, 405, 1746, 380, 695, 380, 696, 405, 671, 380, 696, 380, 696, 379, 696, 380, 1771, 380, 697, 379, 696, 406, 1746, 380, 695, 380, 696, 380, 696, 380, 695, 406, 670, 380, 697, 379, 695, 406, 671, 405, 671, 379, 1772, 406, 1745, 380, 695, 380, 697, 379, 1773, 379, 1771, 381, 1771, 380, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 405, 670, 381, 1771, 380, 696, 379, 696, 406, 670, 380, 696, 405, 1746, 406, 671, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 696, 406, 670, 380, 695, 381, 696, 404, 671, 381, 695, 380, 695, 381, 696, 379, 696, 380, 696, 379, 696, 380, 697, 379, 1771, 381, 1771, 380, 1772, 379, 696, 380, 1771, 381, 695, 381, 695, 380, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 1772, 379, 697, 379, 1771, 381, 696, 379, 696, 380, 696, 380, 696, 379, 696, 406, 671, 379, 696, 406, 670, 380, 695, 380, 696, 380, 696, 380, 696, 404, 671, 380, 695, 381, 1771, 380, 696, 380, 696, 379, 697, 380, 696, 379, 696, 380, 696, 397, 678, 380, 697, 379, 696, 380, 696, 379, 697, 403, 673, 379, 695, 380, 697, 379, 697, 406, 669, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 405, 671, 379, 697, 379, 697, 379, 696, 379, 697, 379, 1772, 380, 1771, 380, 696, 380, 1772, 379, 696, 380, 696, 407, 668, 380, 1771, 381} // 32C
{8978, 4504, 561, 548, 587, 549, 586, 1650, 587, 549, 586, 1650, 586, 550, 586, 549, 586, 566, 586, 550, 586, 1649, 587, 549, 585, 1651, 586, 550, 585, 550, 586, 550, 584, 568, 585, 550, 585, 550, 584, 552, 583, 552, 584, 550, 585, 551, 584, 551, 585, 568, 584, 550, 559, 576, 585, 551, 560, 576, 583, 551, 559, 577, 558, 577, 584, 568, 584, 551, 584, 552, 584, 551, 558, 577, 558, 577, 559, 577, 558, 577, 558, 599, 558, 577, 558, 577, 584, 552, 558, 564, 559}, // 15C
{8978, 4503, 563, 546, 588, 546, 590, 1647, 589, 546, 590, 1647, 589, 546, 590, 545, 590, 563, 589, 546, 589, 1647, 590, 545, 590, 1647, 589, 546, 589, 547, 589, 545, 589, 1665, 589, 546, 589, 546, 589, 547, 589, 546, 589, 546, 589, 547, 588, 547, 589, 563, 589, 545, 589, 547, 589, 546, 589, 547, 588, 546, 589, 547, 589, 546, 589, 563, 589, 546, 589, 547, 589, 545, 589, 547, 588, 547, 588, 548, 588, 546, 589, 568, 589, 1648, 589, 1647, 589, 1648, 589, 1635, 589}, // 16C
{8978, 4447, 561, 549, 587, 548, 588, 1648, 588, 547, 588, 1648, 589, 546, 589, 547, 588, 564, 588, 548, 588, 1648, 588, 548, 588, 1648, 588, 547, 588, 547, 589, 1648, 588, 564, 587, 548, 588, 548, 587, 548, 587, 548, 587, 549, 587, 547, 587, 549, 587, 564, 588, 547, 588, 548, 588, 548, 587, 547, 588, 548, 588, 547, 587, 552, 584, 565, 587, 548, 587, 547, 589, 547, 587, 548, 588, 547, 588, 547, 588, 548, 587, 569, 589, 1647, 589, 1649, 587, 1648, 589, 535, 589}, // 17C
{8978, 4523, 507, 602, 533, 602, 533, 1703, 534, 601, 534, 1704, 533, 601, 534, 601, 534, 618, 534, 601, 534, 1703, 534, 601, 534, 1703, 534, 601, 534, 601, 534, 1703, 534, 1719, 534, 601, 534, 602, 534, 601, 533, 602, 534, 602, 533, 602, 533, 602, 534, 618, 533, 602, 534, 602, 533, 601, 534, 602, 533, 602, 534, 601, 534, 601, 534, 618, 534, 601, 534, 602, 534, 601, 534, 601, 534, 601, 534, 602, 533, 601, 535, 623, 534, 1703, 533, 1703, 534, 601, 534, 1691, 533}, // 18C
{8978, 4502, 559, 550, 585, 551, 585, 1650, 587, 549, 586, 1649, 587, 549, 587, 549, 585, 567, 586, 549, 586, 1650, 586, 550, 585, 1652, 585, 550, 586, 1650, 586, 549, 586, 567, 586, 549, 586, 549, 587, 547, 587, 549, 587, 548, 587, 549, 586, 549, 586, 566, 586, 549, 586, 549, 586, 550, 585, 550, 586, 549, 586, 549, 586, 549, 586, 567, 585, 549, 586, 550, 585, 550, 586, 549, 586, 550, 587, 548, 586, 549, 586, 571, 586, 1650, 586, 1651, 586, 549, 586, 537, 586}, // 19C
{8978, 4502, 562, 547, 635, 500, 589, 1647, 589, 546, 589, 1648, 589, 546, 590, 545, 589, 563, 589, 547, 588, 1648, 589, 547, 588, 1648, 589, 547, 588, 1648, 589, 546, 589, 1664, 589, 547, 589, 546, 588, 547, 588, 547, 589, 546, 589, 547, 588, 547, 588, 564, 589, 547, 588, 546, 589, 546, 589, 547, 588, 548, 588, 546, 589, 546, 589, 564, 588, 547, 588, 547, 588, 547, 588, 547, 589, 546, 589, 546, 589, 547, 588, 568, 589, 1648, 589, 547, 588, 1648, 589, 1635, 589}, // 20C
{8978, 4502, 532, 577, 533, 602, 560, 1676, 560, 576, 559, 1677, 534, 602, 533, 601, 561, 592, 559, 576, 560, 1677, 558, 577, 560, 1676, 558, 578, 559, 1677, 560, 1677, 559, 594, 558, 577, 558, 577, 533, 602, 559, 576, 559, 576, 558, 577, 559, 577, 558, 594, 558, 577, 535, 600, 558, 577, 558, 577, 559, 576, 559, 577, 558, 577, 559, 593, 559, 576, 559, 576, 534, 601, 559, 577, 533, 601, 558, 578, 559, 577, 558, 598, 534, 1702, 534, 602, 558, 1679, 533, 590, 558}, // 21C
{8978, 4497, 562, 547, 588, 546, 589, 1648, 589, 546, 590, 1647, 589, 546, 589, 547, 589, 563, 588, 546, 590, 1648, 588, 547, 588, 1648, 589, 547, 588, 1647, 589, 1649, 589, 1664, 589, 546, 589, 547, 588, 547, 588, 546, 590, 546, 590, 546, 587, 547, 590, 562, 589, 546, 589, 547, 589, 546, 588, 547, 589, 547, 588, 546, 590, 546, 589, 563, 588, 547, 589, 546, 589, 547, 588, 548, 588, 546, 588, 547, 589, 547, 588, 569, 588, 1648, 589, 546, 589, 547, 588, 1636, 589}, // 22C
{8978, 4495, 564, 546, 589, 546, 589, 1648, 589, 546, 589, 1648, 588, 547, 589, 546, 589, 563, 589, 546, 590, 1646, 590, 546, 589, 1647, 590, 1646, 590, 546, 589, 546, 590, 563, 588, 547, 589, 546, 589, 546, 589, 546, 589, 546, 590, 545, 590, 546, 589, 563, 589, 546, 589, 547, 589, 545, 590, 545, 590, 546, 589, 546, 589, 546, 589, 564, 589, 545, 590, 545, 590, 546, 589, 546, 589, 546, 589, 546, 590, 546, 589, 568, 589, 1647, 590, 546, 589, 545, 590, 534, 589}, // 23C
{8978, 4501, 562, 547, 589, 546, 588, 1648, 589, 547, 588, 1649, 587, 548, 587, 547, 589, 564, 589, 546, 588, 1649, 588, 547, 588, 1649, 588, 1648, 589, 546, 588, 547, 588, 1665, 589, 547, 588, 548, 587, 548, 588, 547, 588, 547, 588, 547, 588, 548, 588, 564, 587, 547, 589, 547, 588, 547, 588, 547, 588, 548, 587, 548, 588, 547, 588, 564, 588, 547, 589, 546, 589, 547, 587, 547, 589, 547, 587, 548, 588, 548, 588, 569, 587, 548, 587, 1649, 588, 1649, 588, 1636, 588}, // 24C
{8978, 4502, 559, 548, 562, 574, 561, 1676, 560, 575, 561, 1676, 561, 574, 561, 574, 562, 590, 561, 575, 561, 1675, 586, 550, 560, 1676, 561, 1675, 560, 575, 561, 1676, 561, 592, 560, 575, 586, 548, 588, 548, 561, 574, 560, 575, 562, 573, 561, 574, 561, 591, 561, 575, 560, 576, 586, 548, 586, 550, 586, 548, 562, 574, 561, 574, 561, 592, 586, 548, 587, 548, 585, 551, 561, 574, 561, 574, 562, 574, 560, 575, 587, 569, 588, 548, 585, 1652, 585, 1651, 588, 535, 561}, // 25C
{8978, 4496, 507, 601, 534, 601, 534, 1703, 534, 602, 533, 1702, 534, 602, 534, 601, 533, 620, 533, 602, 533, 1703, 534, 601, 534, 1703, 533, 1704, 533, 602, 533, 1703, 533, 1720, 534, 602, 533, 602, 533, 602, 534, 601, 534, 602, 533, 601, 535, 600, 534, 619, 534, 601, 534, 601, 534, 601, 534, 601, 534, 602, 533, 602, 534, 601, 534, 618, 534, 601, 534, 602, 533, 602, 534, 602, 533, 601, 534, 602, 534, 601, 534, 623, 533, 603, 533, 1702, 535, 601, 533, 1691, 534}, // 26C
{8978, 4501, 533, 576, 560, 575, 560, 1677, 560, 575, 559, 1677, 560, 575, 560, 576, 559, 592, 560, 576, 560, 1676, 561, 575, 559, 1677, 560, 1676, 561, 1676, 560, 576, 559, 593, 559, 576, 559, 576, 560, 575, 560, 575, 560, 576, 559, 575, 560, 576, 559, 593, 560, 575, 560, 576, 559, 575, 560, 576, 560, 575, 560, 576, 559, 576, 559, 593, 560, 575, 559, 575, 560, 576, 559, 576, 560, 575, 560, 576, 559, 576, 560, 597, 560, 575, 559, 1678, 559, 576, 559, 564, 560}, // 27C
{8978, 4496, 562, 547, 589, 547, 588, 1648, 589, 546, 589, 1647, 589, 547, 589, 546, 588, 565, 588, 546, 588, 1648, 590, 546, 588, 1649, 588, 1649, 588, 1648, 588, 547, 589, 1664, 588, 548, 588, 547, 592, 543, 588, 547, 589, 547, 588, 547, 588, 547, 588, 564, 588, 548, 588, 547, 588, 547, 588, 546, 589, 547, 588, 547, 589, 546, 589, 564, 588, 547, 588, 547, 588, 547, 588, 548, 588, 546, 589, 547, 588, 547, 588, 569, 588, 547, 588, 548, 588, 1648, 589, 1636, 588}, // 28C
{8978, 4503, 507, 601, 534, 601, 534, 1702, 534, 602, 534, 1703, 533, 602, 533, 602, 533, 619, 534, 601, 558, 1679, 534, 601, 557, 1680, 533, 1704, 533, 1703, 534, 1702, 534, 618, 534, 601, 534, 602, 534, 601, 534, 602, 533, 601, 534, 602, 533, 602, 533, 619, 534, 601, 534, 602, 533, 602, 534, 601, 533, 602, 534, 602, 533, 601, 535, 617, 534, 602, 534, 601, 534, 601, 534, 602, 533, 601, 534, 602, 557, 578, 534, 624, 533, 601, 559, 577, 533, 1703, 534, 590, 533}, // 29C
{8978, 4502, 534, 575, 562, 573, 561, 1675, 561, 575, 560, 1676, 561, 575, 560, 574, 562, 591, 560, 575, 560, 1676, 562, 574, 560, 1676, 561, 1675, 562, 1675, 561, 1676, 560, 1693, 561, 575, 561, 574, 560, 575, 561, 575, 560, 574, 561, 575, 560, 575, 561, 591, 561, 574, 561, 575, 560, 574, 561, 575, 563, 572, 560, 576, 560, 574, 561, 592, 560, 574, 561, 575, 561, 574, 561, 573, 562, 575, 561, 574, 560, 575, 560, 597, 560, 575, 561, 574, 561, 575, 560, 1664, 561} // 30C
},
// Fan Speed Med
{
{5066, 2130, 406, 1745, 407, 669, 407, 669, 405, 670, 381, 1771, 380, 696, 380, 696, 404, 671, 380, 696, 406, 1745, 406, 670, 379, 1772, 380, 1772, 380, 696, 379, 1772, 380, 1771, 380, 1772, 405, 1746, 380, 1771, 380, 697, 405, 1746, 379, 696, 380, 696, 380, 696, 405, 670, 380, 696, 407, 669, 380, 1772, 379, 695, 406, 671, 406, 1745, 381, 695, 380, 695, 407, 669, 380, 1772, 380, 696, 379, 696, 380, 696, 407, 669, 380, 695, 380, 696, 380, 696, 380, 696, 405, 669, 381, 696, 380, 695, 406, 670, 380, 696, 380, 696, 380, 1771, 380, 1771, 381, 1771, 380, 696, 405, 670, 407, 1745, 379, 697, 379, 29381, 5042, 2130, 380, 1772, 380, 696, 379, 697, 406, 669, 380, 1770, 407, 670, 380, 696, 380, 696, 379, 696, 380, 1772, 379, 697, 379, 1772, 380, 1771, 380, 696, 380, 1771, 380, 1772, 406, 1744, 381, 1772, 405, 1746, 380, 696, 380, 1772, 405, 670, 406, 670, 379, 696, 380, 697, 379, 696, 394, 681, 380, 1772, 380, 695, 380, 696, 380, 1772, 405, 671, 379, 697, 405, 670, 405, 670, 380, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 1771, 380, 1772, 380, 696, 379, 696, 380, 1772, 406, 1745, 380, 1771, 407, 670, 379, 696, 380, 696, 407, 668, 380, 696, 407, 668, 381, 696, 380, 695, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 695, 380, 697, 379, 1772, 379, 696, 406, 670, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 697, 380, 696, 379, 696, 379, 697, 379, 697, 379, 695, 407, 670, 380, 696, 406, 669, 382, 1769, 380, 1772, 406, 1745, 407, 669, 379, 697, 379, 696, 380, 697, 405, 1746, 379, 1772, 380, 1772, 405, 1746, 406, 1745, 380, 1772, 380, 696, 379, 696, 380, 696, 380, 696, 406, 669, 405, 671, 405, 671, 379, 696, 380, 695, 381, 696, 380, 696, 379, 696, 380, 696, 405, 671, 380, 695, 380, 1772, 379, 696, 380, 697, 379, 696, 380, 696, 406, 669, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 695, 406, 671, 389, 687, 379, 696, 380, 696, 380, 696, 406, 669, 380, 696, 380, 695, 407, 669, 408, 668, 380, 1771, 380, 1772, 380, 696, 379, 1772, 380, 695, 380, 697, 379, 1772, 379, 696, 381}, // 16
{5041, 2131, 379, 1773, 379, 696, 380, 696, 379, 697, 379, 1772, 379, 697, 379, 697, 379, 696, 379, 697, 379, 1772, 380, 696, 379, 1773, 379, 1772, 379, 697, 379, 1772, 383, 1768, 380, 1771, 380, 1773, 379, 1772, 385, 691, 379, 1772, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 379, 1773, 379, 696, 380, 696, 379, 1772, 380, 696, 379, 697, 379, 696, 406, 1746, 379, 697, 379, 696, 380, 696, 405, 671, 379, 697, 379, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 1772, 379, 1773, 379, 1772, 380, 696, 380, 696, 379, 1772, 380, 697, 378, 29381, 5043, 2130, 379, 1772, 380, 696, 380, 695, 380, 696, 380, 1772, 379, 697, 379, 696, 406, 670, 379, 696, 381, 1771, 380, 696, 379, 1772, 379, 1773, 379, 696, 380, 1772, 380, 1771, 380, 1771, 380, 1772, 380, 1771, 380, 696, 380, 1772, 379, 697, 379, 696, 379, 697, 379, 697, 379, 695, 381, 696, 380, 1771, 379, 697, 380, 695, 380, 1772, 379, 697, 380, 696, 379, 697, 402, 673, 380, 696, 379, 696, 380, 697, 379, 696, 380, 695, 380, 1771, 381, 1771, 406, 670, 380, 696, 380, 1770, 381, 1772, 379, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 391, 685, 379, 696, 380, 697, 379, 695, 380, 697, 380, 1770, 380, 697, 379, 697, 379, 696, 380, 696, 380, 1771, 380, 696, 379, 696, 381, 697, 378, 696, 380, 696, 379, 696, 380, 696, 405, 670, 407, 670, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 379, 697, 379, 696, 406, 670, 380, 696, 379, 1772, 406, 670, 379, 697, 379, 696, 406, 1746, 379, 1772, 406, 1745, 380, 1772, 379, 1773, 379, 1772, 379, 697, 379, 697, 379, 696, 380, 696, 405, 670, 406, 671, 378, 697, 379, 697, 406, 669, 380, 695, 381, 696, 379, 696, 380, 696, 379, 696, 380, 697, 379, 1771, 381, 696, 406, 670, 379, 696, 379, 697, 379, 696, 379, 697, 380, 696, 379, 697, 383, 691, 381, 696, 406, 670, 379, 697, 379, 701, 374, 697, 405, 671, 379, 696, 406, 670, 380, 696, 379, 696, 380, 696, 380, 695, 407, 669, 406, 670, 380, 696, 379, 697, 379, 696, 380, 1771, 380, 696, 380, 1772, 405, 1746, 380, 696, 406, 669, 380, 1772, 405, 671, 379}, // 17C
{5041, 2132, 379, 1772, 379, 696, 379, 698, 378, 697, 379, 1773, 378, 698, 379, 697, 378, 697, 378, 698, 378, 1773, 378, 697, 380, 1772, 379, 1772, 379, 698, 378, 1774, 377, 1773, 379, 1772, 379, 1773, 379, 1772, 379, 697, 379, 1773, 378, 697, 379, 697, 378, 698, 378, 697, 379, 697, 378, 697, 379, 1773, 379, 697, 379, 696, 380, 1772, 378, 698, 379, 697, 378, 698, 378, 1773, 378, 698, 379, 696, 379, 697, 378, 697, 379, 697, 379, 697, 378, 698, 378, 698, 378, 698, 378, 697, 379, 697, 405, 670, 379, 697, 379, 696, 379, 1773, 379, 1772, 379, 1772, 380, 697, 378, 697, 379, 1773, 378, 698, 378, 29382, 5041, 2131, 379, 1773, 378, 698, 378, 698, 378, 697, 378, 1774, 378, 698, 378, 697, 379, 697, 378, 697, 379, 1773, 378, 698, 378, 1773, 379, 1772, 379, 697, 379, 1773, 379, 1771, 380, 1772, 379, 1773, 378, 1775, 377, 696, 380, 1772, 379, 698, 378, 697, 378, 697, 379, 698, 378, 697, 379, 697, 379, 1772, 379, 697, 379, 697, 378, 1772, 380, 696, 380, 697, 378, 697, 378, 698, 378, 697, 379, 697, 379, 697, 379, 698, 378, 696, 379, 1772, 380, 1773, 378, 697, 378, 698, 378, 1773, 379, 1773, 378, 1773, 379, 697, 378, 697, 379, 697, 379, 696, 379, 698, 378, 697, 379, 696, 380, 697, 378, 698, 378, 1773, 379, 697, 379, 696, 379, 697, 379, 697, 378, 1772, 379, 698, 378, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 697, 379, 697, 383, 692, 379, 698, 378, 697, 378, 697, 379, 702, 374, 697, 379, 696, 379, 697, 379, 697, 378, 697, 379, 697, 379, 1773, 379, 697, 378, 697, 378, 1774, 379, 696, 379, 697, 378, 697, 379, 1773, 379, 1773, 378, 1773, 379, 1773, 378, 1773, 379, 1773, 405, 671, 378, 697, 379, 696, 379, 698, 378, 697, 379, 697, 379, 697, 379, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 697, 378, 697, 379, 1772, 380, 696, 405, 670, 381, 696, 379, 696, 379, 696, 393, 683, 406, 670, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 405, 671, 379, 697, 380, 695, 380, 696, 380, 696, 379, 696, 407, 668, 381, 696, 406, 670, 405, 1745, 381, 1771, 407, 1744, 381, 1771, 380, 695, 381, 696, 403, 1748, 380, 696, 380}, // 18C
{5044, 2129, 381, 1770, 381, 695, 381, 695, 381, 696, 379, 1772, 379, 696, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 1771, 380, 1771, 380, 696, 380, 1771, 381, 1771, 380, 1771, 381, 1771, 380, 1772, 380, 696, 379, 1771, 381, 696, 379, 697, 379, 696, 380, 695, 381, 696, 379, 696, 380, 1772, 380, 696, 379, 696, 380, 1772, 379, 696, 380, 695, 381, 696, 379, 1771, 381, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 1771, 380, 1772, 380, 1771, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 29358, 5065, 2129, 381, 1771, 381, 695, 380, 696, 380, 696, 380, 1771, 379, 697, 380, 696, 380, 695, 380, 697, 379, 1771, 381, 696, 379, 1772, 380, 1771, 380, 695, 381, 1772, 379, 1772, 380, 1772, 379, 1771, 381, 1771, 380, 697, 379, 1770, 381, 697, 379, 696, 380, 695, 381, 696, 379, 695, 381, 696, 380, 1771, 380, 695, 381, 696, 380, 1771, 380, 695, 381, 695, 380, 696, 380, 695, 381, 695, 381, 696, 379, 696, 380, 696, 379, 696, 380, 1772, 380, 1772, 379, 696, 380, 696, 380, 1770, 381, 1772, 380, 1770, 381, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 1772, 380, 695, 381, 695, 380, 697, 379, 696, 380, 1772, 379, 697, 379, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 695, 380, 696, 380, 697, 379, 697, 378, 697, 379, 696, 407, 669, 380, 696, 380, 695, 380, 695, 381, 696, 379, 1772, 380, 696, 380, 1770, 381, 696, 380, 696, 379, 696, 380, 1772, 407, 1744, 380, 1772, 380, 1770, 381, 1771, 380, 1772, 380, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 695, 380, 697, 379, 695, 381, 696, 380, 695, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 380, 696, 380, 697, 379, 696, 379, 696, 406, 669, 381, 696, 379, 697, 379, 697, 379, 695, 381, 696, 379, 696, 380, 695, 381, 696, 379, 697, 379, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 695, 381, 696, 379, 1771, 381, 696, 379, 1771, 381, 695, 381}, // 19C
{5044, 2129, 379, 1772, 380, 696, 379, 696, 380, 696, 380, 1772, 379, 697, 379, 696, 380, 696, 380, 695, 406, 1746, 380, 695, 380, 1772, 380, 1771, 380, 696, 380, 1772, 380, 1771, 380, 1772, 380, 1771, 380, 1772, 405, 671, 379, 1772, 379, 697, 379, 697, 379, 696, 380, 697, 378, 696, 380, 697, 379, 1771, 406, 671, 379, 696, 380, 1771, 380, 696, 405, 671, 379, 697, 380, 1772, 405, 670, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 405, 671, 379, 697, 379, 696, 383, 693, 379, 697, 404, 1746, 380, 1772, 380, 1771, 380, 695, 381, 696, 380, 1771, 380, 696, 380, 29380, 5043, 2131, 379, 1772, 380, 696, 380, 696, 379, 697, 379, 1771, 380, 698, 405, 669, 380, 696, 380, 695, 380, 1773, 379, 696, 380, 1772, 379, 1772, 380, 695, 380, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 1771, 380, 697, 379, 1772, 380, 695, 381, 695, 380, 697, 404, 670, 381, 695, 380, 696, 380, 1772, 380, 696, 379, 696, 407, 1747, 377, 697, 379, 696, 380, 696, 405, 670, 381, 695, 380, 695, 381, 696, 379, 696, 380, 697, 379, 1770, 381, 1772, 380, 696, 380, 696, 379, 1772, 380, 1772, 379, 1772, 380, 696, 379, 696, 380, 696, 380, 696, 405, 671, 379, 697, 379, 696, 380, 696, 379, 696, 380, 1771, 381, 695, 380, 697, 405, 670, 380, 696, 379, 1772, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 379, 697, 379, 697, 405, 670, 380, 695, 407, 670, 379, 697, 379, 696, 380, 696, 379, 697, 379, 695, 381, 696, 380, 695, 380, 697, 379, 695, 381, 1771, 380, 1771, 384, 693, 379, 1772, 405, 670, 381, 700, 375, 696, 380, 1772, 379, 1772, 380, 1772, 405, 1746, 380, 1771, 380, 1771, 381, 695, 407, 670, 379, 696, 380, 695, 380, 696, 380, 696, 380, 696, 404, 671, 380, 697, 379, 696, 380, 695, 380, 696, 406, 670, 380, 696, 380, 695, 407, 1745, 380, 696, 406, 670, 379, 696, 380, 696, 380, 696, 380, 695, 406, 670, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 697, 379, 695, 407, 669, 380, 696, 380, 696, 406, 669, 380, 696, 405, 671, 380, 696, 379, 1772, 380, 1771, 380, 696, 380, 695, 381, 1771, 380, 697, 379, 1772, 379, 696, 380}, // 20C
{5042, 2131, 378, 1773, 379, 698, 378, 697, 378, 698, 378, 1773, 379, 697, 379, 696, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 1772, 379, 1773, 379, 696, 379, 1773, 379, 1772, 380, 1772, 379, 1772, 380, 1771, 380, 696, 380, 1772, 379, 696, 380, 697, 379, 697, 378, 696, 406, 671, 378, 696, 380, 1773, 379, 697, 379, 697, 378, 1772, 405, 671, 379, 698, 378, 697, 379, 1771, 380, 697, 379, 697, 379, 696, 379, 698, 378, 697, 379, 697, 405, 671, 378, 698, 378, 696, 379, 697, 379, 698, 378, 697, 379, 697, 379, 696, 379, 1771, 381, 1772, 379, 1773, 379, 697, 378, 697, 405, 1747, 379, 696, 380, 29359, 5063, 2132, 379, 1773, 378, 697, 379, 696, 380, 696, 382, 1769, 380, 696, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 698, 378, 1772, 379, 1773, 379, 696, 380, 1772, 380, 1771, 380, 1772, 379, 1772, 380, 1772, 379, 697, 378, 1773, 379, 697, 379, 696, 380, 697, 378, 697, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 696, 380, 1772, 379, 696, 406, 670, 379, 697, 404, 671, 406, 670, 380, 696, 380, 695, 380, 697, 404, 672, 378, 1772, 380, 1771, 380, 696, 380, 696, 406, 1745, 380, 1772, 380, 1771, 380, 696, 406, 670, 380, 696, 379, 696, 380, 697, 379, 696, 380, 696, 379, 696, 406, 670, 380, 1772, 379, 697, 379, 695, 381, 696, 405, 671, 397, 1754, 379, 696, 380, 696, 406, 670, 380, 696, 379, 697, 379, 696, 380, 695, 380, 697, 379, 696, 380, 696, 406, 670, 405, 670, 407, 669, 406, 670, 405, 670, 407, 669, 380, 696, 405, 670, 381, 695, 406, 670, 405, 670, 407, 1745, 406, 1746, 379, 696, 406, 670, 407, 669, 405, 1745, 408, 1744, 406, 1746, 380, 1771, 406, 1745, 407, 1745, 406, 670, 380, 695, 408, 668, 380, 695, 407, 670, 379, 696, 380, 696, 407, 669, 405, 669, 406, 671, 407, 669, 406, 669, 380, 696, 379, 697, 407, 668, 407, 1745, 379, 697, 405, 670, 379, 697, 407, 669, 379, 697, 378, 698, 378, 697, 378, 697, 379, 698, 377, 699, 377, 698, 377, 698, 377, 699, 377, 699, 350, 726, 350, 725, 350, 726, 350, 726, 349, 726, 349, 727, 349, 728, 347, 728, 372, 703, 373, 703, 373, 703, 347, 729, 372, 1778, 374, 702, 373, 1779, 373, 703, 373, 1778, 374, 701, 374, 1778, 373, 703, 373}, // 21C
{5043, 2130, 380, 1773, 378, 697, 379, 697, 379, 696, 379, 1772, 380, 696, 379, 697, 379, 697, 378, 698, 379, 1773, 378, 697, 379, 1772, 380, 1771, 380, 697, 379, 1772, 379, 1773, 379, 1772, 379, 1773, 379, 1771, 380, 697, 378, 1774, 378, 697, 379, 697, 379, 697, 379, 696, 379, 697, 378, 698, 378, 1773, 379, 697, 379, 696, 380, 1772, 378, 698, 379, 695, 380, 698, 378, 1772, 405, 672, 378, 697, 379, 697, 378, 698, 379, 696, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 697, 378, 697, 379, 1773, 379, 1772, 380, 1772, 379, 696, 379, 698, 378, 1772, 380, 696, 379, 29382, 5042, 2131, 379, 1772, 380, 696, 380, 696, 379, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 697, 379, 1773, 379, 696, 379, 1772, 380, 1772, 380, 696, 379, 1772, 406, 1745, 405, 1747, 380, 1771, 380, 1772, 379, 696, 380, 1772, 379, 697, 406, 669, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 1771, 406, 671, 405, 670, 380, 696, 379, 696, 380, 696, 405, 671, 406, 669, 406, 670, 406, 670, 407, 1744, 407, 1744, 406, 671, 379, 696, 380, 1771, 380, 1771, 406, 1746, 380, 696, 399, 677, 380, 696, 406, 669, 406, 670, 380, 696, 405, 670, 380, 696, 406, 669, 407, 1745, 406, 669, 381, 695, 380, 696, 380, 695, 406, 1746, 406, 669, 407, 670, 406, 669, 406, 670, 380, 696, 406, 669, 407, 669, 407, 669, 380, 696, 405, 670, 380, 696, 380, 696, 406, 669, 406, 670, 406, 670, 379, 696, 406, 671, 405, 670, 380, 696, 379, 1772, 406, 670, 404, 1748, 378, 1773, 378, 698, 377, 698, 378, 698, 377, 1773, 377, 1775, 351, 1801, 350, 1801, 349, 1803, 348, 1803, 348, 728, 373, 703, 373, 703, 373, 703, 373, 702, 373, 703, 373, 703, 373, 702, 373, 703, 373, 702, 374, 702, 374, 702, 373, 703, 373, 703, 373, 702, 373, 1779, 372, 703, 374, 703, 372, 703, 372, 704, 372, 703, 371, 705, 371, 706, 370, 704, 371, 705, 370, 706, 346, 729, 347, 729, 346, 730, 346, 729, 347, 729, 347, 729, 346, 730, 346, 729, 347, 729, 347, 729, 347, 729, 347, 729, 347, 728, 348, 728, 347, 728, 373, 703, 373, 1778, 375, 1776, 376, 1777, 374, 700, 377, 1775, 376, 700, 377, 1773, 378, 698, 378}, // 22C
{5043, 2130, 405, 1746, 380, 696, 380, 695, 381, 696, 406, 1744, 381, 696, 406, 670, 379, 697, 379, 696, 380, 1772, 379, 695, 406, 1746, 380, 1772, 380, 696, 380, 1771, 405, 1746, 383, 1769, 380, 1771, 380, 1772, 380, 696, 405, 1746, 406, 670, 380, 696, 379, 696, 380, 696, 393, 682, 381, 696, 406, 1745, 380, 695, 407, 669, 407, 1745, 380, 696, 406, 669, 406, 670, 406, 1745, 405, 671, 380, 696, 380, 696, 407, 668, 407, 669, 406, 670, 380, 696, 406, 670, 405, 670, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 405, 1746, 380, 1772, 379, 1772, 407, 669, 405, 671, 379, 1772, 380, 696, 380, 29380, 5043, 2130, 380, 1771, 380, 696, 380, 696, 405, 671, 406, 1745, 380, 695, 381, 696, 406, 670, 379, 697, 405, 1746, 405, 670, 405, 1747, 380, 1771, 406, 670, 380, 1772, 379, 1772, 406, 1745, 407, 1745, 380, 1771, 380, 696, 380, 1771, 407, 669, 407, 668, 381, 695, 407, 670, 379, 696, 380, 696, 379, 1772, 407, 669, 380, 696, 407, 1744, 405, 671, 380, 696, 379, 695, 381, 696, 380, 696, 404, 671, 407, 669, 380, 695, 407, 670, 379, 1772, 407, 1744, 407, 669, 407, 669, 380, 1771, 406, 1745, 407, 1746, 406, 669, 405, 671, 379, 697, 381, 694, 386, 690, 405, 671, 405, 671, 405, 670, 380, 696, 406, 1744, 381, 695, 408, 668, 406, 670, 380, 696, 380, 1771, 406, 670, 407, 669, 406, 670, 379, 697, 405, 670, 406, 670, 380, 695, 380, 697, 379, 696, 380, 695, 408, 669, 379, 697, 405, 670, 380, 696, 379, 696, 380, 696, 379, 696, 381, 696, 406, 669, 380, 696, 407, 1744, 380, 1772, 380, 1771, 406, 670, 380, 696, 406, 670, 379, 1772, 380, 1771, 406, 1746, 380, 1771, 407, 1745, 405, 1746, 380, 696, 380, 696, 380, 696, 405, 670, 406, 669, 381, 696, 379, 696, 405, 671, 407, 669, 379, 696, 380, 696, 407, 668, 381, 696, 379, 697, 405, 670, 406, 1744, 381, 696, 380, 696, 380, 696, 380, 696, 405, 670, 380, 696, 405, 670, 407, 669, 405, 671, 380, 696, 405, 671, 405, 671, 404, 671, 406, 670, 379, 696, 380, 696, 406, 670, 405, 671, 405, 670, 405, 671, 380, 696, 379, 697, 404, 671, 380, 696, 380, 696, 379, 696, 380, 1771, 381, 695, 380, 696, 381, 1770, 380, 1772, 380, 696, 379, 1772, 406, 670, 379}, // 23C
{5042, 2130, 380, 1772, 379, 697, 379, 697, 379, 697, 378, 1772, 380, 697, 379, 696, 379, 697, 379, 696, 382, 1770, 379, 697, 379, 1775, 376, 1773, 379, 696, 380, 1772, 379, 1773, 379, 1771, 380, 1772, 380, 1771, 380, 697, 379, 1772, 379, 697, 379, 696, 380, 697, 378, 696, 380, 697, 379, 696, 380, 1772, 379, 696, 380, 697, 378, 1772, 380, 697, 378, 697, 379, 697, 405, 1747, 378, 697, 379, 697, 379, 697, 379, 696, 379, 698, 378, 696, 380, 696, 379, 697, 379, 698, 378, 697, 378, 698, 378, 698, 378, 697, 379, 697, 379, 1772, 379, 1773, 378, 1772, 380, 697, 379, 697, 379, 1772, 378, 697, 379, 29382, 5042, 2131, 379, 1773, 379, 697, 378, 697, 379, 696, 380, 1771, 380, 697, 379, 696, 380, 695, 407, 670, 379, 1772, 379, 697, 379, 1773, 379, 1772, 379, 697, 379, 1772, 379, 1773, 379, 1772, 380, 1772, 379, 1772, 379, 697, 379, 1773, 378, 698, 378, 696, 405, 672, 378, 698, 378, 697, 379, 697, 379, 1772, 379, 697, 379, 696, 380, 1771, 380, 696, 380, 697, 378, 697, 379, 697, 379, 696, 379, 697, 379, 698, 378, 696, 380, 697, 379, 1773, 378, 1772, 379, 697, 380, 696, 379, 1772, 380, 1771, 380, 1771, 380, 698, 378, 697, 379, 697, 379, 695, 380, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 696, 379, 697, 379, 1773, 379, 696, 379, 698, 378, 697, 379, 697, 379, 697, 378, 697, 379, 696, 380, 697, 378, 697, 379, 698, 378, 697, 379, 696, 379, 697, 379, 696, 380, 697, 379, 696, 379, 697, 379, 698, 378, 697, 378, 1773, 379, 1772, 406, 1746, 379, 1772, 379, 697, 379, 697, 379, 697, 378, 1773, 379, 1772, 379, 1772, 380, 1772, 379, 1772, 381, 1771, 379, 697, 379, 697, 378, 698, 378, 698, 378, 697, 405, 671, 379, 697, 401, 674, 404, 671, 380, 696, 380, 696, 379, 697, 379, 697, 379, 697, 378, 697, 379, 1772, 380, 696, 379, 697, 379, 696, 380, 697, 378, 697, 405, 671, 379, 696, 380, 697, 378, 697, 405, 670, 380, 697, 378, 697, 379, 697, 379, 696, 379, 698, 378, 697, 379, 696, 380, 696, 380, 696, 379, 697, 380, 695, 380, 697, 378, 697, 379, 697, 379, 697, 406, 670, 378, 1772, 380, 1772, 379, 697, 406, 1746, 379, 1772, 379, 696, 406, 1746, 380, 696, 379}, // 24C
{5069, 2104, 406, 1745, 380, 696, 406, 670, 380, 696, 405, 1746, 406, 670, 380, 696, 380, 696, 379, 696, 406, 1745, 381, 696, 405, 1746, 405, 1746, 380, 696, 380, 1770, 381, 1772, 380, 1771, 380, 1771, 380, 1772, 380, 697, 379, 1772, 406, 669, 407, 669, 380, 695, 381, 696, 406, 669, 380, 695, 381, 1772, 379, 697, 379, 696, 406, 1745, 406, 670, 406, 670, 406, 670, 405, 1746, 406, 669, 382, 693, 407, 670, 380, 696, 405, 671, 406, 672, 404, 669, 379, 696, 380, 696, 380, 696, 380, 696, 380, 695, 386, 690, 406, 670, 405, 1746, 406, 1746, 380, 1771, 405, 671, 406, 670, 380, 1771, 406, 670, 380, 29358, 5066, 2129, 381, 1771, 380, 696, 406, 670, 379, 696, 380, 1771, 380, 696, 407, 669, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 1771, 380, 1771, 381, 696, 379, 1772, 380, 1771, 407, 1746, 379, 1771, 380, 1772, 405, 670, 380, 1772, 380, 696, 380, 695, 406, 670, 380, 696, 405, 671, 379, 696, 406, 1746, 380, 696, 379, 696, 380, 1771, 381, 695, 380, 697, 379, 696, 380, 696, 405, 670, 380, 696, 380, 696, 380, 696, 380, 695, 380, 1772, 406, 1746, 379, 696, 380, 696, 405, 1745, 381, 1772, 379, 1772, 380, 696, 405, 671, 379, 696, 407, 670, 404, 671, 405, 670, 407, 669, 380, 696, 406, 670, 379, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 380, 1771, 380, 696, 406, 670, 405, 671, 379, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 696, 405, 670, 380, 697, 379, 696, 380, 696, 379, 697, 399, 676, 380, 696, 406, 670, 379, 696, 407, 669, 400, 676, 379, 696, 407, 668, 380, 1772, 406, 670, 380, 696, 380, 1771, 380, 1772, 380, 1771, 406, 1747, 378, 1773, 379, 1772, 405, 671, 407, 668, 406, 671, 403, 672, 406, 670, 406, 669, 406, 670, 379, 697, 379, 696, 406, 670, 379, 697, 406, 669, 406, 671, 379, 696, 380, 696, 379, 1771, 407, 670, 406, 670, 405, 671, 379, 696, 407, 669, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 406, 669, 380, 696, 380, 696, 379, 696, 380, 696, 379, 696, 381, 696, 406, 669, 379, 697, 380, 695, 406, 670, 380, 696, 380, 696, 379, 697, 404, 671, 406, 670, 380, 1771, 406, 670, 406, 1745, 380, 1771, 381, 1772, 405, 670, 380, 1771, 380, 696, 405}, // 25C
{5041, 2131, 379, 1773, 379, 697, 378, 697, 379, 697, 379, 1772, 406, 670, 379, 698, 378, 696, 380, 697, 378, 1772, 380, 697, 379, 1772, 379, 1773, 404, 672, 378, 1772, 380, 1773, 378, 1773, 379, 1772, 379, 1772, 380, 696, 379, 1773, 379, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1772, 378, 698, 378, 697, 379, 1773, 379, 696, 380, 697, 378, 697, 379, 1772, 405, 671, 379, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 696, 379, 698, 379, 696, 379, 696, 380, 1771, 383, 1770, 379, 1772, 379, 697, 379, 697, 379, 1771, 380, 696, 380, 29380, 5070, 2103, 407, 1745, 380, 697, 379, 696, 380, 696, 379, 1772, 380, 696, 405, 670, 380, 696, 406, 670, 380, 1771, 380, 696, 380, 1772, 380, 1771, 380, 696, 380, 1771, 406, 1746, 379, 1772, 380, 1771, 407, 1745, 380, 696, 406, 1745, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 408, 1744, 380, 696, 405, 671, 379, 1772, 380, 696, 380, 695, 380, 696, 407, 668, 407, 669, 380, 696, 380, 696, 406, 669, 407, 670, 384, 1766, 407, 1744, 407, 668, 407, 670, 407, 1745, 407, 1745, 380, 1770, 381, 695, 407, 669, 380, 696, 380, 696, 407, 668, 380, 696, 406, 670, 406, 669, 407, 669, 406, 1746, 380, 695, 407, 669, 405, 670, 380, 696, 380, 1772, 407, 669, 406, 669, 407, 669, 407, 669, 379, 696, 406, 670, 406, 670, 405, 671, 405, 671, 405, 670, 404, 672, 379, 697, 379, 696, 379, 697, 377, 699, 377, 699, 377, 698, 376, 700, 376, 700, 350, 1801, 350, 726, 349, 727, 349, 726, 349, 1802, 349, 728, 348, 728, 347, 1803, 373, 1778, 374, 1778, 373, 1779, 373, 1778, 374, 1778, 373, 703, 373, 702, 373, 703, 372, 704, 373, 703, 372, 702, 374, 703, 372, 704, 371, 704, 373, 703, 371, 706, 371, 704, 371, 704, 347, 729, 370, 706, 351, 1800, 347, 729, 346, 729, 347, 729, 346, 731, 346, 729, 347, 730, 345, 729, 347, 729, 347, 728, 348, 728, 347, 729, 348, 728, 347, 728, 373, 703, 374, 702, 372, 703, 375, 702, 374, 701, 375, 700, 376, 700, 376, 700, 376, 699, 377, 699, 377, 698, 378, 698, 377, 699, 403, 1748, 378, 1773, 378, 1774, 378, 1773, 404, 1748, 378, 697, 404, 1747, 405, 671, 404}, // 26C
{5042, 2131, 379, 1773, 379, 696, 378, 697, 379, 697, 380, 1772, 379, 696, 380, 697, 378, 697, 379, 697, 379, 1772, 379, 697, 379, 1773, 378, 1773, 379, 697, 378, 1773, 379, 1773, 379, 1772, 379, 1772, 380, 1772, 406, 669, 380, 1772, 379, 697, 379, 697, 378, 697, 379, 697, 379, 698, 378, 697, 379, 1771, 406, 670, 379, 698, 378, 1773, 379, 697, 378, 697, 379, 697, 379, 1773, 405, 670, 379, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 378, 697, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 1773, 379, 1772, 405, 672, 378, 696, 380, 1772, 379, 697, 378, 29361, 5063, 2131, 379, 1773, 379, 696, 380, 696, 379, 697, 379, 1773, 379, 696, 379, 697, 379, 697, 379, 696, 379, 1773, 379, 696, 379, 1773, 379, 1772, 380, 697, 378, 1773, 378, 1773, 379, 1773, 378, 1773, 379, 1772, 379, 697, 379, 1773, 379, 697, 378, 698, 379, 696, 379, 697, 379, 697, 378, 697, 379, 1772, 380, 696, 379, 697, 379, 1773, 378, 698, 378, 697, 379, 697, 378, 697, 380, 696, 379, 696, 379, 698, 378, 697, 379, 697, 379, 1773, 378, 1773, 406, 670, 379, 697, 379, 1772, 379, 1772, 379, 1773, 379, 697, 379, 697, 378, 697, 379, 697, 378, 698, 379, 697, 379, 696, 379, 696, 380, 697, 379, 1773, 378, 697, 379, 696, 379, 697, 379, 697, 378, 1773, 379, 698, 378, 697, 379, 696, 379, 697, 379, 697, 379, 696, 379, 698, 378, 697, 379, 697, 379, 697, 378, 697, 379, 697, 379, 696, 380, 697, 379, 696, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 1772, 404, 671, 380, 696, 380, 1772, 379, 696, 381, 695, 380, 1771, 380, 1773, 379, 1772, 379, 1772, 379, 1773, 379, 1772, 380, 695, 380, 696, 380, 696, 381, 695, 406, 670, 379, 697, 379, 696, 380, 695, 381, 695, 406, 670, 380, 696, 406, 670, 379, 696, 407, 669, 406, 670, 382, 1769, 407, 669, 406, 669, 381, 699, 402, 670, 380, 696, 380, 695, 381, 696, 379, 696, 406, 670, 406, 669, 380, 696, 380, 696, 407, 669, 406, 669, 406, 670, 380, 695, 381, 695, 407, 669, 380, 696, 405, 670, 381, 695, 407, 668, 407, 670, 380, 695, 381, 695, 405, 671, 407, 1743, 408, 669, 388, 688, 405, 670, 380, 696, 406, 1745, 406, 1746, 380, 696, 380}, // 27C
{5044, 2130, 380, 1771, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 696, 406, 670, 379, 696, 380, 696, 380, 1771, 380, 696, 380, 1771, 380, 1772, 380, 696, 380, 1770, 381, 1772, 379, 1772, 380, 1771, 380, 1771, 381, 696, 380, 1771, 380, 696, 380, 696, 384, 691, 380, 696, 380, 695, 381, 696, 380, 1772, 379, 696, 406, 669, 380, 1772, 380, 695, 380, 696, 380, 695, 381, 1771, 380, 696, 380, 695, 381, 695, 381, 695, 381, 695, 380, 695, 381, 695, 381, 695, 380, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 1771, 381, 1771, 380, 696, 380, 696, 380, 1771, 380, 695, 381, 29380, 5043, 2130, 380, 1771, 381, 695, 381, 696, 379, 696, 380, 1771, 380, 696, 380, 695, 381, 696, 380, 695, 380, 1771, 381, 696, 379, 1771, 381, 1771, 380, 696, 380, 1772, 379, 1772, 407, 1744, 381, 1771, 380, 1772, 379, 696, 380, 1771, 381, 695, 381, 695, 380, 696, 380, 695, 381, 696, 379, 695, 381, 1772, 379, 696, 380, 696, 380, 1771, 381, 695, 380, 696, 380, 695, 381, 695, 380, 695, 381, 695, 381, 696, 380, 695, 380, 696, 380, 1771, 380, 1771, 381, 695, 381, 695, 380, 1772, 380, 1771, 380, 1771, 380, 697, 380, 695, 380, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 696, 379, 697, 380, 1769, 382, 695, 381, 695, 406, 670, 406, 670, 380, 1770, 381, 696, 380, 696, 380, 696, 379, 696, 380, 695, 380, 697, 379, 697, 379, 695, 381, 696, 380, 696, 379, 695, 381, 696, 380, 696, 379, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 1771, 381, 696, 379, 696, 380, 1771, 380, 697, 380, 695, 380, 1772, 380, 1771, 380, 1772, 379, 1772, 380, 1771, 380, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 695, 380, 695, 381, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 1771, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 380, 695, 381, 696, 380, 695, 380, 697, 404, 670, 407, 670, 380, 695, 406, 670, 380, 696, 380, 696, 379, 696, 380, 696, 434, 641, 381, 695, 380, 696, 380, 696, 380, 698, 377, 696, 380, 696, 380, 1771, 380, 1771, 381, 695, 380, 696, 380, 696, 407, 1745, 379, 1772, 380, 695, 381}, // 28C
{5071, 2102, 381, 1771, 406, 670, 380, 696, 407, 669, 406, 1745, 380, 695, 380, 697, 406, 669, 380, 696, 407, 1744, 380, 696, 406, 1745, 380, 1772, 406, 670, 406, 1745, 407, 1744, 405, 1747, 380, 1771, 407, 1745, 406, 670, 405, 1746, 405, 671, 380, 696, 406, 669, 407, 669, 406, 670, 380, 696, 380, 1771, 380, 696, 406, 670, 379, 1771, 381, 695, 381, 696, 381, 695, 379, 1771, 407, 669, 407, 669, 380, 696, 406, 670, 380, 695, 380, 696, 380, 696, 383, 693, 380, 695, 380, 696, 380, 696, 405, 675, 375, 697, 379, 696, 380, 1771, 380, 1772, 380, 1771, 406, 670, 407, 669, 405, 1746, 380, 696, 406, 29355, 5043, 2130, 407, 1744, 381, 695, 407, 668, 381, 696, 379, 1772, 380, 696, 380, 695, 380, 696, 380, 695, 381, 1772, 379, 697, 379, 1772, 380, 1771, 380, 695, 381, 1771, 380, 1770, 382, 1771, 406, 1746, 380, 1771, 380, 696, 380, 1772, 405, 670, 404, 672, 380, 695, 380, 696, 380, 695, 381, 696, 380, 1771, 380, 696, 380, 695, 406, 1746, 380, 696, 406, 670, 379, 696, 381, 695, 380, 695, 381, 696, 379, 696, 380, 696, 380, 695, 381, 1771, 380, 1772, 379, 697, 379, 696, 380, 1772, 379, 1772, 400, 1752, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 405, 671, 405, 670, 406, 670, 380, 1771, 407, 669, 380, 696, 380, 696, 379, 697, 379, 1771, 381, 696, 379, 696, 380, 696, 380, 695, 381, 695, 406, 670, 406, 670, 380, 696, 379, 696, 380, 697, 379, 696, 380, 696, 407, 668, 407, 669, 380, 696, 405, 670, 380, 696, 380, 697, 379, 695, 407, 669, 380, 696, 380, 1772, 379, 697, 379, 1772, 380, 695, 380, 696, 406, 1745, 380, 1772, 404, 1748, 379, 1772, 380, 1771, 380, 1771, 381, 696, 380, 696, 405, 670, 380, 696, 398, 678, 405, 670, 380, 696, 380, 696, 380, 696, 406, 669, 380, 696, 407, 669, 380, 695, 380, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 408, 668, 380, 695, 382, 694, 406, 669, 380, 696, 406, 670, 406, 669, 381, 696, 379, 696, 406, 670, 405, 671, 407, 669, 379, 696, 405, 671, 380, 696, 406, 669, 380, 697, 406, 669, 406, 669, 381, 695, 380, 696, 407, 668, 381, 696, 379, 696, 380, 1771, 380, 696, 407, 1745, 380, 696, 380, 696, 379, 1772, 406, 1745, 380, 696, 380}, // 29C
{5043, 2131, 379, 1771, 381, 695, 406, 670, 380, 695, 406, 1747, 406, 670, 379, 696, 380, 696, 406, 670, 404, 1746, 381, 696, 380, 1771, 380, 1772, 380, 695, 380, 1771, 381, 1772, 380, 1771, 380, 1771, 380, 1772, 380, 696, 406, 1745, 380, 696, 406, 670, 380, 696, 406, 670, 379, 696, 380, 696, 380, 1772, 405, 670, 407, 669, 380, 1771, 380, 696, 407, 670, 381, 694, 380, 1771, 380, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 695, 407, 670, 379, 696, 407, 670, 379, 696, 380, 696, 380, 696, 405, 670, 380, 696, 380, 1771, 380, 1772, 380, 1771, 380, 697, 379, 696, 380, 1772, 379, 697, 379, 29382, 5043, 2130, 380, 1772, 380, 696, 379, 696, 380, 696, 380, 1772, 380, 695, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 1771, 380, 1772, 406, 669, 380, 1772, 380, 1772, 380, 1771, 385, 1766, 381, 1771, 380, 696, 380, 1772, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 695, 381, 1772, 379, 697, 379, 696, 380, 1771, 381, 695, 380, 697, 406, 669, 384, 692, 380, 696, 379, 696, 380, 696, 380, 695, 381, 696, 406, 1744, 381, 1771, 380, 697, 379, 696, 380, 1771, 380, 1772, 380, 1771, 380, 697, 379, 695, 381, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 380, 696, 380, 1772, 380, 696, 379, 696, 380, 696, 380, 696, 380, 1770, 381, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 696, 379, 697, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 1771, 380, 696, 380, 1772, 380, 695, 381, 695, 380, 1771, 385, 1768, 379, 1772, 380, 1771, 380, 1771, 381, 1772, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 695, 380, 696, 405, 671, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 697, 379, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 1771, 380, 1772, 380, 1771, 380, 696, 380, 696, 380, 1771, 380, 1771, 381, 696, 384}, // 30C
{5043, 2130, 382, 1769, 380, 696, 380, 695, 380, 696, 380, 1772, 380, 696, 406, 669, 380, 697, 379, 697, 379, 1771, 405, 672, 379, 1771, 380, 1772, 380, 696, 384, 1767, 380, 1771, 380, 1773, 405, 1745, 380, 1772, 380, 695, 381, 1771, 380, 696, 406, 670, 379, 696, 380, 696, 380, 696, 403, 673, 379, 1772, 380, 697, 379, 696, 379, 1773, 379, 696, 379, 697, 379, 696, 406, 1746, 379, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 697, 379, 695, 381, 696, 379, 697, 379, 696, 380, 696, 405, 671, 379, 696, 380, 695, 406, 1746, 380, 1772, 379, 1772, 380, 697, 379, 695, 380, 1773, 379, 696, 380, 29380, 5044, 2129, 380, 1772, 406, 670, 380, 696, 379, 697, 379, 1772, 380, 696, 405, 670, 380, 696, 405, 671, 406, 1745, 380, 696, 380, 1772, 379, 1772, 380, 696, 379, 1773, 379, 1772, 406, 1746, 379, 1771, 406, 1746, 380, 695, 380, 1772, 380, 696, 380, 696, 379, 696, 407, 669, 380, 696, 380, 696, 404, 1747, 380, 695, 406, 670, 380, 1772, 380, 696, 379, 697, 379, 696, 406, 670, 380, 696, 379, 696, 380, 697, 379, 695, 381, 696, 379, 1771, 381, 1771, 380, 697, 405, 670, 406, 1745, 406, 1746, 379, 1773, 379, 697, 379, 696, 379, 697, 405, 670, 380, 696, 380, 696, 379, 697, 406, 670, 379, 696, 380, 1772, 379, 696, 380, 696, 406, 669, 380, 697, 379, 1772, 406, 670, 379, 696, 380, 696, 380, 699, 376, 697, 379, 696, 406, 670, 405, 670, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 697, 379, 696, 379, 696, 380, 1771, 380, 1772, 380, 696, 380, 1772, 379, 696, 380, 696, 379, 1772, 406, 1745, 381, 1771, 380, 1772, 379, 1773, 379, 1772, 380, 695, 403, 673, 380, 696, 405, 670, 380, 696, 380, 697, 379, 696, 379, 696, 380, 697, 404, 671, 379, 696, 381, 696, 379, 697, 379, 696, 380, 696, 379, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 384, 692, 406, 670, 379, 697, 379, 696, 380, 701, 374, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 406, 671, 379, 696, 380, 696, 406, 669, 380, 697, 379, 697, 379, 697, 404, 1747, 379, 696, 380, 695, 407, 1744, 381, 696, 406, 1745, 380, 1772, 380, 695, 380}, // 31C
{5043, 2130, 381, 1771, 380, 696, 379, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 695, 381, 1770, 406, 671, 379, 1772, 380, 1771, 380, 695, 381, 1772, 380, 1771, 380, 1772, 380, 1771, 407, 1745, 380, 696, 379, 1772, 380, 695, 405, 672, 379, 696, 380, 696, 380, 696, 379, 697, 379, 1772, 380, 696, 380, 695, 380, 1771, 407, 669, 380, 695, 381, 696, 380, 1772, 379, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 695, 380, 697, 379, 696, 406, 670, 380, 696, 379, 696, 380, 696, 380, 695, 380, 1773, 379, 1771, 381, 1771, 380, 696, 406, 670, 379, 1772, 380, 696, 405, 29355, 5070, 2103, 380, 1772, 406, 670, 380, 695, 380, 697, 379, 1771, 380, 697, 379, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 1771, 380, 1772, 380, 695, 380, 1771, 381, 1771, 380, 1772, 380, 1771, 380, 1772, 380, 696, 379, 1772, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 380, 695, 380, 1771, 381, 696, 379, 696, 380, 1771, 381, 696, 379, 697, 404, 671, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 380, 694, 381, 1771, 381, 1772, 406, 669, 406, 670, 379, 1771, 381, 1771, 381, 1771, 380, 696, 406, 669, 380, 696, 380, 696, 380, 695, 380, 697, 379, 696, 406, 670, 380, 694, 382, 1770, 381, 696, 405, 671, 379, 696, 380, 696, 380, 1771, 380, 697, 405, 670, 380, 695, 406, 671, 380, 695, 406, 670, 380, 695, 381, 695, 380, 696, 380, 696, 380, 695, 380, 696, 407, 669, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 1772, 405, 1746, 380, 1771, 381, 695, 380, 1771, 381, 696, 379, 696, 380, 1771, 381, 1771, 380, 1771, 381, 1771, 380, 1772, 380, 1772, 379, 695, 381, 696, 379, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 379, 696, 380, 695, 381, 696, 380, 695, 380, 696, 380, 696, 381, 1770, 380, 696, 380, 696, 380, 698, 377, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 695, 380, 696, 381, 695, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 695, 381, 696, 380, 695, 380, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 1772, 379, 1772, 380, 696, 380, 1771, 380, 696, 380, 1771, 380, 1772, 380, 695, 380} // 32C
{8978, 4497, 506, 602, 534, 602, 557, 1679, 534, 602, 533, 1703, 556, 579, 534, 602, 533, 618, 534, 601, 534, 1703, 534, 1703, 533, 602, 534, 601, 534, 601, 534, 601, 534, 618, 534, 602, 533, 603, 533, 601, 534, 602, 533, 602, 533, 602, 533, 603, 533, 618, 534, 602, 557, 577, 534, 601, 534, 602, 533, 602, 534, 601, 534, 602, 533, 619, 534, 601, 533, 602, 534, 602, 533, 601, 534, 602, 533, 602, 534, 602, 533, 623, 534, 1703, 534, 1702, 534, 1703, 534, 1691, 533}, // 15C
{8978, 4503, 560, 550, 585, 549, 587, 1650, 586, 549, 586, 1651, 585, 550, 585, 550, 586, 566, 586, 549, 587, 1650, 586, 1651, 585, 550, 585, 550, 586, 550, 585, 550, 585, 1668, 585, 550, 587, 548, 586, 549, 586, 549, 586, 549, 586, 550, 586, 549, 586, 566, 586, 549, 586, 549, 586, 549, 586, 550, 586, 549, 585, 550, 586, 549, 586, 567, 585, 550, 585, 550, 585, 550, 586, 549, 585, 551, 585, 550, 585, 550, 585, 572, 586, 1650, 586, 1651, 585, 1651, 586, 538, 586}, // 16C
{8978, 4529, 507, 601, 534, 601, 534, 1703, 534, 601, 534, 1703, 533, 602, 534, 602, 533, 618, 534, 602, 533, 1704, 533, 1703, 533, 601, 534, 602, 534, 601, 534, 1703, 534, 618, 533, 603, 533, 601, 534, 601, 534, 601, 534, 601, 534, 602, 533, 602, 533, 619, 534, 601, 534, 601, 534, 602, 533, 602, 534, 601, 534, 601, 534, 601, 534, 618, 534, 602, 533, 602, 534, 602, 533, 602, 533, 602, 533, 602, 534, 601, 534, 623, 534, 1703, 533, 1703, 534, 602, 533, 1691, 534}, // 17C
{8978, 4496, 508, 600, 535, 601, 534, 1702, 535, 600, 535, 1701, 536, 600, 535, 601, 534, 618, 534, 601, 534, 1702, 535, 1702, 534, 601, 535, 600, 535, 601, 534, 1702, 534, 1719, 535, 601, 534, 601, 534, 602, 534, 601, 533, 601, 535, 601, 534, 601, 534, 618, 534, 601, 534, 602, 533, 602, 534, 601, 534, 601, 534, 602, 533, 601, 535, 617, 535, 601, 534, 601, 534, 601, 535, 600, 534, 601, 535, 600, 535, 601, 534, 623, 534, 1703, 533, 1703, 534, 601, 534, 589, 535}, // 18C
{8978, 4522, 508, 601, 534, 602, 533, 1703, 534, 602, 533, 1703, 533, 602, 534, 601, 534, 619, 533, 602, 533, 1703, 534, 1702, 534, 602, 535, 600, 534, 1702, 535, 601, 534, 618, 533, 602, 533, 603, 533, 602, 534, 601, 533, 602, 534, 601, 533, 602, 534, 619, 533, 602, 533, 602, 533, 602, 534, 602, 533, 602, 533, 601, 534, 601, 534, 619, 533, 601, 535, 601, 534, 601, 534, 602, 533, 602, 533, 602, 533, 602, 534, 624, 533, 1702, 535, 601, 534, 1702, 534, 1691, 533}, // 19C
{8978, 4523, 507, 602, 534, 601, 533, 1704, 533, 601, 534, 1703, 534, 601, 534, 601, 534, 619, 533, 601, 534, 1703, 534, 1703, 534, 601, 534, 601, 534, 1702, 535, 600, 535, 1719, 534, 601, 534, 602, 533, 602, 534, 601, 534, 602, 533, 602, 533, 602, 533, 619, 533, 602, 534, 601, 534, 601, 534, 601, 534, 602, 533, 603, 533, 601, 534, 618, 534, 602, 533, 601, 535, 601, 534, 601, 534, 601, 534, 602, 533, 602, 533, 624, 534, 1703, 533, 601, 534, 1702, 535, 589, 534}, // 20C
{8978, 4503, 562, 547, 588, 547, 589, 1647, 589, 546, 589, 1648, 588, 547, 589, 546, 589, 564, 588, 547, 589, 1648, 588, 1648, 588, 546, 590, 546, 589, 1648, 588, 1648, 589, 564, 588, 547, 589, 546, 588, 548, 588, 546, 589, 546, 589, 547, 588, 547, 589, 563, 589, 547, 587, 547, 589, 547, 588, 547, 588, 547, 588, 547, 589, 545, 590, 564, 588, 546, 589, 546, 589, 547, 589, 546, 589, 546, 589, 547, 588, 547, 589, 569, 587, 1648, 589, 547, 588, 546, 589, 1637, 588}, // 21C
{8978, 4497, 508, 601, 534, 601, 534, 1702, 535, 601, 534, 1702, 534, 602, 534, 601, 534, 617, 534, 602, 534, 1703, 533, 1703, 534, 602, 533, 602, 533, 1703, 534, 1703, 533, 1720, 534, 601, 534, 602, 533, 602, 534, 601, 534, 602, 533, 601, 534, 602, 533, 619, 533, 602, 534, 601, 534, 601, 534, 602, 533, 601, 535, 602, 532, 602, 534, 618, 534, 602, 533, 601, 535, 601, 533, 602, 534, 602, 533, 601, 534, 601, 534, 624, 533, 1703, 534, 602, 533, 602, 533, 590, 534}, // 22C
{8978, 4503, 507, 602, 534, 602, 533, 1703, 534, 601, 534, 1702, 534, 602, 533, 602, 533, 619, 533, 602, 534, 1703, 533, 1704, 533, 602, 533, 1703, 534, 600, 535, 601, 534, 619, 533, 601, 534, 602, 533, 602, 534, 601, 534, 601, 534, 602, 533, 602, 533, 619, 533, 602, 533, 603, 533, 602, 533, 602, 533, 602, 533, 603, 533, 601, 534, 619, 533, 602, 533, 602, 534, 601, 534, 602, 533, 601, 534, 602, 534, 601, 533, 624, 534, 601, 534, 1703, 533, 1703, 534, 1691, 533}, // 23C
{8978, 4495, 507, 602, 557, 581, 531, 1703, 533, 601, 559, 1679, 557, 578, 558, 577, 558, 594, 558, 578, 557, 1679, 533, 1704, 533, 601, 558, 1679, 557, 578, 534, 601, 534, 1720, 558, 577, 558, 577, 534, 601, 559, 577, 558, 577, 558, 577, 534, 602, 533, 619, 557, 578, 557, 577, 558, 578, 534, 601, 557, 578, 559, 576, 559, 577, 558, 593, 558, 578, 559, 577, 533, 601, 557, 579, 558, 577, 557, 578, 534, 601, 559, 598, 558, 577, 534, 1703, 559, 1678, 538, 585, 558}, // 24C
{8978, 4501, 507, 601, 558, 578, 534, 1702, 534, 601, 534, 1703, 558, 577, 534, 602, 533, 619, 558, 577, 534, 1702, 534, 1703, 534, 602, 557, 1679, 533, 602, 534, 1703, 533, 619, 533, 602, 534, 601, 534, 601, 534, 601, 534, 602, 533, 602, 533, 602, 534, 619, 532, 602, 534, 601, 534, 602, 533, 602, 533, 602, 534, 602, 533, 601, 534, 619, 533, 602, 534, 601, 533, 602, 557, 578, 534, 601, 534, 602, 533, 602, 534, 623, 533, 602, 534, 1703, 534, 601, 534, 1691, 533}, // 25C
{8978, 4529, 531, 577, 533, 603, 558, 1678, 559, 576, 559, 1678, 558, 576, 561, 575, 558, 594, 559, 576, 559, 1677, 561, 1676, 559, 576, 560, 1677, 559, 577, 558, 1678, 533, 1721, 558, 576, 550, 586, 559, 576, 560, 575, 558, 577, 558, 577, 559, 577, 533, 619, 559, 576, 559, 577, 557, 577, 560, 575, 559, 577, 558, 577, 559, 576, 558, 594, 558, 578, 559, 575, 558, 578, 559, 576, 559, 576, 558, 577, 558, 578, 558, 599, 558, 576, 559, 1678, 558, 578, 559, 565, 556}, // 26C
{8978, 4495, 562, 547, 588, 547, 588, 1648, 589, 547, 588, 1648, 588, 547, 589, 547, 589, 563, 590, 544, 591, 1647, 588, 1648, 589, 545, 590, 1647, 590, 1647, 589, 546, 589, 564, 589, 546, 589, 546, 588, 547, 589, 546, 589, 547, 589, 545, 589, 546, 590, 563, 589, 546, 590, 545, 590, 546, 588, 547, 589, 546, 589, 546, 588, 547, 588, 564, 590, 546, 588, 547, 588, 547, 588, 548, 588, 547, 589, 546, 588, 547, 588, 570, 587, 547, 588, 548, 588, 1648, 589, 1634, 589}, // 27C
{8978, 4502, 562, 547, 587, 549, 587, 1649, 586, 549, 588, 1648, 588, 548, 588, 547, 561, 591, 587, 548, 562, 1675, 564, 1673, 587, 548, 587, 1649, 588, 1648, 588, 548, 562, 1691, 588, 548, 587, 548, 587, 548, 561, 575, 586, 548, 588, 547, 588, 548, 587, 564, 588, 548, 562, 573, 587, 549, 588, 546, 563, 572, 588, 548, 588, 548, 587, 564, 562, 573, 563, 572, 588, 548, 588, 548, 561, 574, 587, 547, 562, 574, 587, 570, 587, 547, 563, 573, 588, 1648, 588, 536, 561}, // 28C
{8978, 4495, 534, 575, 562, 573, 561, 1676, 561, 574, 561, 1675, 560, 576, 560, 574, 561, 592, 561, 574, 561, 1676, 561, 1676, 560, 574, 561, 1677, 559, 1676, 562, 1675, 560, 593, 560, 575, 560, 575, 560, 575, 560, 575, 561, 574, 561, 574, 560, 575, 561, 592, 561, 574, 560, 575, 561, 575, 559, 576, 559, 576, 560, 575, 561, 574, 561, 592, 560, 575, 560, 575, 560, 575, 560, 575, 561, 574, 560, 576, 560, 574, 561, 597, 559, 576, 560, 575, 560, 575, 561, 1664, 560}, // 29C
{8978, 4503, 534, 575, 559, 577, 560, 1676, 558, 577, 559, 1677, 560, 575, 560, 576, 560, 592, 559, 576, 561, 1675, 561, 1676, 560, 575, 559, 1678, 560, 1676, 559, 1677, 561, 1693, 560, 576, 558, 577, 560, 575, 558, 577, 560, 575, 559, 576, 560, 575, 559, 594, 559, 576, 560, 575, 559, 577, 559, 579, 556, 576, 559, 576, 560, 575, 560, 592, 559, 576, 559, 577, 559, 576, 559, 576, 560, 575, 560, 575, 559, 577, 559, 598, 560, 576, 557, 578, 559, 576, 559, 564, 559} // 30C
},
// Fan Speed Low
{
{5070, 2104, 380, 1771, 380, 695, 407, 670, 380, 696, 380, 1772, 406, 668, 381, 696, 380, 696, 380, 695, 380, 1772, 405, 670, 381, 1772, 379, 1772, 407, 669, 406, 1745, 380, 1772, 380, 1771, 380, 1772, 380, 1771, 406, 671, 406, 1745, 380, 695, 407, 670, 379, 696, 380, 696, 406, 670, 380, 695, 407, 1745, 405, 671, 380, 695, 407, 1744, 381, 696, 380, 696, 406, 670, 380, 1771, 380, 696, 405, 671, 405, 671, 405, 670, 380, 696, 380, 696, 380, 696, 406, 670, 405, 670, 405, 671, 405, 671, 379, 696, 380, 696, 380, 696, 380, 1771, 407, 1745, 407, 1745, 405, 670, 407, 669, 380, 1771, 408, 668, 381, 29359, 5066, 2130, 380, 1771, 380, 697, 378, 696, 381, 696, 380, 1771, 380, 696, 379, 696, 381, 696, 379, 696, 380, 1772, 405, 671, 379, 1772, 406, 1746, 380, 696, 407, 1744, 380, 1772, 379, 1772, 380, 1772, 379, 1772, 380, 696, 380, 1772, 379, 697, 379, 696, 379, 697, 380, 696, 379, 697, 405, 670, 380, 1771, 380, 697, 379, 696, 380, 1772, 380, 696, 379, 696, 380, 696, 379, 697, 406, 670, 379, 697, 405, 670, 380, 696, 380, 697, 379, 1772, 379, 1773, 379, 696, 379, 697, 379, 1772, 406, 1746, 405, 1746, 380, 695, 381, 696, 406, 669, 380, 696, 380, 695, 384, 692, 381, 696, 379, 696, 405, 671, 406, 1746, 379, 696, 380, 696, 406, 670, 380, 697, 405, 1746, 379, 695, 381, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 405, 670, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 406, 670, 380, 696, 380, 696, 379, 696, 405, 671, 405, 671, 379, 1772, 406, 1746, 380, 1771, 406, 670, 380, 696, 406, 670, 379, 696, 380, 1771, 381, 1772, 406, 1745, 406, 1746, 406, 1745, 380, 696, 380, 697, 379, 696, 379, 697, 379, 697, 379, 696, 380, 697, 379, 695, 380, 697, 406, 670, 379, 696, 379, 697, 379, 695, 381, 696, 405, 671, 379, 697, 379, 1773, 379, 697, 379, 696, 380, 695, 407, 669, 380, 697, 379, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 405, 671, 380, 695, 380, 696, 380, 696, 379, 696, 380, 695, 381, 696, 380, 1772, 379, 1772, 380, 696, 407, 1745, 379, 697, 386, 1765, 380, 696, 379, 696, 380}, // 16C
{5043, 2131, 379, 1773, 379, 696, 380, 695, 381, 696, 379, 1771, 381, 696, 380, 696, 379, 696, 380, 696, 380, 1772, 380, 696, 379, 1772, 380, 1772, 379, 697, 379, 1772, 380, 1772, 379, 1772, 380, 1771, 380, 1772, 405, 671, 380, 1771, 406, 670, 380, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 1773, 379, 696, 379, 696, 380, 1772, 379, 697, 379, 697, 405, 670, 379, 1773, 379, 697, 378, 698, 379, 696, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 1772, 380, 1772, 380, 696, 380, 696, 379, 1772, 406, 671, 378, 29383, 5043, 2130, 380, 1772, 379, 697, 379, 696, 380, 697, 379, 1771, 380, 696, 380, 697, 379, 696, 379, 697, 379, 1772, 380, 695, 381, 1772, 379, 1773, 379, 697, 378, 1772, 380, 1772, 380, 1771, 380, 1772, 379, 1772, 380, 696, 380, 1772, 405, 671, 380, 696, 379, 697, 379, 696, 404, 672, 380, 694, 381, 1772, 380, 696, 380, 695, 381, 1771, 380, 696, 380, 697, 378, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 697, 379, 696, 406, 1745, 380, 1772, 380, 696, 380, 696, 379, 1772, 380, 1772, 380, 1771, 380, 695, 381, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 695, 381, 696, 379, 697, 379, 1771, 380, 696, 405, 671, 380, 696, 380, 696, 380, 1771, 406, 671, 379, 695, 381, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 698, 378, 697, 379, 696, 380, 696, 380, 696, 405, 670, 380, 696, 380, 696, 380, 696, 379, 697, 379, 697, 405, 1746, 380, 695, 380, 697, 379, 697, 379, 1771, 380, 1772, 380, 1772, 379, 1773, 386, 1765, 405, 671, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 405, 671, 379, 696, 380, 696, 379, 697, 379, 696, 406, 670, 379, 1773, 379, 697, 379, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 696, 405, 672, 378, 697, 406, 670, 379, 695, 381, 696, 380, 696, 380, 695, 380, 697, 406, 669, 380, 696, 380, 695, 380, 697, 379, 697, 378, 696, 381, 695, 406, 670, 380, 696, 380, 696, 380, 696, 380, 1771, 406, 670, 405, 1746, 380, 1772, 380, 696, 382, 1769, 380, 696, 406, 670, 380}, // 17C
{5043, 2131, 379, 1773, 379, 697, 379, 696, 405, 672, 378, 1773, 405, 671, 379, 696, 380, 696, 379, 696, 380, 1772, 380, 697, 379, 1771, 380, 1773, 379, 696, 379, 1772, 380, 1772, 380, 1772, 379, 1772, 380, 1771, 380, 697, 379, 1772, 380, 696, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 1772, 379, 696, 380, 696, 380, 1773, 378, 697, 379, 696, 380, 697, 379, 1772, 380, 695, 380, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 697, 378, 697, 379, 696, 380, 697, 379, 696, 380, 697, 379, 696, 379, 1772, 405, 1748, 380, 1771, 379, 697, 378, 697, 380, 1771, 380, 697, 379, 29382, 5043, 2130, 380, 1773, 378, 697, 379, 697, 404, 670, 380, 1773, 379, 696, 406, 671, 378, 697, 379, 697, 379, 1772, 380, 696, 379, 1773, 379, 1773, 379, 696, 380, 1771, 380, 1773, 378, 1773, 379, 1772, 405, 1746, 380, 696, 379, 1774, 379, 695, 380, 696, 380, 696, 380, 696, 379, 698, 378, 696, 380, 1773, 379, 697, 378, 696, 406, 1746, 380, 696, 380, 696, 379, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 696, 379, 1773, 379, 1774, 378, 696, 379, 697, 379, 1772, 379, 1774, 378, 1773, 379, 697, 379, 696, 379, 697, 379, 696, 380, 697, 379, 696, 379, 697, 379, 697, 378, 697, 380, 1772, 379, 697, 379, 696, 380, 696, 379, 698, 378, 1773, 406, 670, 378, 697, 379, 697, 379, 697, 378, 697, 380, 696, 379, 697, 405, 670, 380, 696, 379, 697, 380, 696, 379, 696, 380, 697, 379, 697, 378, 697, 379, 697, 379, 697, 379, 695, 380, 698, 378, 1773, 379, 696, 380, 696, 379, 1773, 379, 697, 379, 696, 380, 697, 378, 1772, 380, 1772, 379, 1772, 379, 1773, 380, 1772, 378, 698, 379, 696, 380, 696, 379, 697, 379, 696, 380, 697, 379, 696, 379, 697, 379, 697, 379, 696, 406, 670, 379, 696, 380, 697, 405, 671, 378, 697, 379, 696, 380, 1772, 379, 697, 384, 692, 379, 697, 379, 696, 380, 697, 378, 702, 374, 697, 379, 697, 379, 696, 379, 698, 378, 696, 380, 697, 379, 696, 379, 697, 380, 695, 379, 698, 379, 697, 379, 696, 380, 695, 380, 697, 379, 697, 378, 698, 378, 697, 379, 697, 379, 697, 378, 697, 379, 1773, 379, 1772, 379, 1773, 379, 1772, 379, 697, 380, 1771, 380, 697, 379, 697, 378}, // 18C
{5068, 2105, 381, 1770, 381, 695, 406, 670, 410, 666, 380, 1771, 407, 669, 380, 696, 407, 669, 404, 672, 380, 1771, 380, 696, 379, 1772, 406, 1745, 408, 669, 380, 1771, 380, 1771, 381, 1771, 406, 1746, 407, 1744, 405, 672, 379, 1772, 405, 670, 407, 670, 379, 696, 407, 669, 380, 696, 380, 695, 406, 1746, 406, 670, 380, 695, 381, 1771, 405, 670, 381, 695, 407, 669, 380, 1772, 380, 696, 380, 696, 407, 668, 406, 670, 380, 696, 405, 670, 380, 697, 406, 669, 380, 696, 406, 670, 380, 695, 405, 671, 407, 669, 380, 696, 401, 1750, 380, 1771, 407, 1745, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 29382, 5043, 2131, 405, 1745, 408, 669, 380, 695, 380, 696, 380, 1772, 380, 695, 380, 696, 406, 670, 380, 695, 381, 1772, 405, 670, 380, 1771, 380, 1772, 380, 695, 381, 1771, 407, 1745, 380, 1771, 407, 1745, 380, 1771, 380, 696, 381, 1771, 379, 697, 380, 695, 380, 696, 380, 696, 380, 696, 379, 696, 381, 1771, 380, 696, 379, 696, 406, 1746, 406, 670, 379, 697, 380, 696, 379, 696, 407, 669, 406, 670, 382, 693, 405, 671, 380, 696, 380, 1775, 376, 1772, 407, 669, 406, 669, 381, 1771, 380, 1772, 405, 1746, 380, 696, 406, 670, 380, 696, 380, 695, 380, 696, 405, 671, 380, 696, 406, 669, 380, 696, 407, 1744, 380, 696, 380, 696, 380, 695, 409, 668, 380, 1771, 406, 670, 406, 670, 380, 696, 380, 695, 407, 669, 380, 695, 381, 695, 406, 670, 406, 670, 405, 671, 407, 669, 405, 671, 379, 696, 380, 696, 380, 696, 379, 697, 406, 669, 380, 696, 380, 696, 380, 696, 406, 1744, 407, 670, 380, 1771, 406, 671, 379, 696, 406, 670, 406, 1745, 380, 1771, 406, 1746, 407, 1745, 380, 1771, 381, 698, 377, 696, 380, 695, 380, 696, 381, 696, 379, 696, 380, 696, 380, 696, 406, 669, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 407, 668, 381, 696, 380, 1771, 380, 695, 380, 697, 405, 670, 380, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 695, 381, 696, 380, 695, 408, 668, 380, 696, 380, 696, 380, 695, 406, 670, 380, 696, 380, 696, 380, 695, 380, 696, 407, 669, 407, 669, 380, 695, 407, 669, 380, 696, 406, 670, 380, 1771, 406, 670, 380, 695, 407, 670, 380, 1771, 406, 1745, 381, 695, 381, 695, 380}, // 19C
{5069, 2104, 380, 1772, 380, 695, 405, 671, 380, 696, 380, 1771, 380, 696, 380, 696, 406, 670, 380, 695, 406, 1746, 380, 696, 406, 1745, 407, 1744, 406, 671, 405, 1746, 406, 1745, 407, 1745, 405, 1747, 405, 1747, 379, 696, 407, 1744, 404, 673, 379, 696, 406, 670, 380, 696, 405, 671, 379, 696, 380, 1772, 380, 695, 407, 669, 398, 1754, 380, 696, 379, 696, 380, 696, 406, 1745, 406, 670, 407, 670, 379, 696, 380, 695, 381, 696, 379, 696, 407, 669, 406, 670, 405, 671, 379, 696, 380, 696, 380, 696, 380, 695, 381, 696, 406, 1745, 380, 1771, 380, 1773, 379, 696, 406, 669, 380, 1772, 381, 695, 380, 29382, 5043, 2131, 406, 1745, 405, 670, 380, 696, 380, 696, 407, 1744, 380, 696, 406, 670, 380, 696, 379, 697, 379, 1772, 380, 696, 380, 1771, 380, 1773, 379, 695, 381, 1771, 405, 1746, 406, 1746, 380, 1772, 380, 1772, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 406, 671, 378, 696, 380, 1772, 380, 696, 380, 695, 406, 1746, 379, 696, 381, 696, 379, 696, 380, 696, 406, 670, 405, 670, 407, 670, 405, 670, 406, 669, 407, 1744, 381, 1772, 380, 696, 410, 665, 380, 1772, 380, 1771, 380, 1772, 380, 696, 405, 670, 380, 696, 380, 696, 380, 696, 379, 697, 406, 669, 380, 696, 406, 670, 405, 1746, 380, 696, 407, 669, 380, 696, 379, 696, 380, 1772, 380, 696, 405, 671, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 406, 671, 379, 696, 380, 696, 380, 696, 405, 670, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 1773, 379, 1771, 408, 668, 380, 1771, 381, 696, 406, 670, 379, 696, 380, 1772, 379, 1772, 406, 1746, 379, 1772, 406, 1746, 380, 696, 380, 695, 380, 697, 379, 696, 405, 671, 380, 696, 379, 696, 380, 696, 405, 671, 380, 695, 380, 696, 380, 696, 406, 670, 380, 696, 379, 696, 406, 670, 380, 1771, 405, 672, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 406, 670, 380, 696, 379, 697, 379, 696, 380, 697, 404, 670, 380, 697, 379, 696, 380, 696, 379, 697, 405, 670, 380, 696, 380, 696, 406, 670, 380, 696, 379, 696, 380, 696, 380, 695, 406, 670, 380, 1772, 380, 1772, 379, 697, 379, 696, 380, 1771, 380, 1772, 406, 670, 406, 670, 406}, // 20C
{5044, 2129, 380, 1772, 405, 671, 380, 695, 406, 669, 407, 1745, 408, 669, 379, 696, 406, 669, 381, 695, 408, 1744, 381, 695, 407, 1744, 381, 1771, 380, 696, 380, 1771, 381, 1771, 380, 1772, 379, 1772, 406, 1745, 407, 669, 381, 1771, 406, 669, 381, 696, 407, 668, 380, 696, 407, 668, 407, 670, 380, 1771, 380, 696, 380, 695, 407, 1745, 380, 696, 380, 696, 379, 697, 407, 1744, 380, 696, 380, 695, 381, 695, 380, 696, 406, 670, 380, 695, 407, 669, 381, 695, 407, 669, 406, 670, 380, 695, 381, 695, 407, 669, 381, 695, 380, 1771, 381, 1771, 408, 1744, 379, 696, 407, 669, 380, 1771, 407, 669, 381, 29381, 5044, 2129, 380, 1772, 380, 696, 380, 696, 379, 697, 379, 1772, 380, 696, 404, 671, 381, 695, 380, 696, 380, 1771, 381, 695, 405, 1747, 380, 1772, 379, 696, 380, 1772, 406, 1745, 380, 1772, 380, 1772, 380, 1771, 380, 696, 406, 1745, 406, 669, 381, 696, 379, 696, 380, 696, 380, 696, 380, 695, 381, 1771, 406, 670, 380, 696, 380, 1771, 407, 669, 406, 670, 380, 696, 380, 696, 380, 695, 407, 669, 380, 696, 380, 696, 406, 670, 407, 1744, 407, 1744, 382, 694, 380, 696, 405, 1746, 380, 1772, 406, 1746, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 404, 672, 380, 696, 380, 696, 406, 1745, 380, 695, 381, 696, 406, 670, 379, 696, 380, 1771, 380, 697, 379, 696, 380, 696, 380, 695, 381, 695, 406, 671, 379, 695, 381, 696, 380, 695, 405, 671, 380, 696, 406, 670, 380, 695, 380, 697, 379, 696, 380, 696, 406, 669, 380, 696, 380, 696, 406, 670, 406, 669, 380, 1772, 380, 1771, 381, 695, 380, 697, 379, 696, 379, 1772, 381, 1770, 408, 1744, 381, 1771, 380, 1771, 380, 696, 380, 696, 380, 696, 406, 670, 380, 695, 380, 696, 380, 696, 406, 669, 380, 697, 379, 696, 380, 696, 380, 696, 379, 697, 405, 670, 380, 696, 380, 696, 380, 1771, 380, 696, 407, 669, 406, 670, 405, 671, 407, 668, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 406, 670, 380, 695, 380, 696, 380, 696, 405, 671, 406, 669, 380, 696, 380, 696, 380, 696, 380, 695, 380, 697, 405, 670, 406, 670, 379, 696, 381, 695, 407, 670, 379, 1771, 381, 695, 381, 1771, 406, 670, 380, 1772, 379, 1772, 380, 695, 407, 669, 380}, // 21C
{5092, 2104, 380, 1771, 380, 696, 380, 696, 380, 696, 404, 1747, 380, 696, 405, 671, 379, 696, 381, 695, 407, 1744, 381, 696, 379, 1772, 407, 1744, 381, 695, 406, 1746, 380, 1771, 381, 1771, 380, 1771, 407, 1745, 380, 696, 380, 1771, 381, 695, 407, 669, 406, 670, 380, 696, 404, 671, 380, 696, 380, 1771, 381, 696, 379, 696, 380, 1772, 380, 695, 382, 694, 380, 696, 406, 1746, 380, 698, 377, 696, 407, 669, 406, 669, 381, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 407, 670, 406, 669, 380, 696, 380, 695, 380, 1772, 380, 1771, 381, 1771, 380, 696, 380, 696, 411, 1740, 380, 696, 380, 29382, 5043, 2130, 380, 1771, 380, 696, 380, 696, 379, 696, 407, 1745, 406, 669, 381, 695, 381, 695, 407, 669, 380, 1772, 379, 697, 379, 1772, 406, 1746, 379, 696, 380, 1772, 380, 1771, 380, 1772, 380, 1771, 381, 1771, 380, 696, 405, 1746, 380, 696, 380, 696, 406, 670, 406, 669, 406, 670, 381, 695, 380, 1772, 380, 696, 379, 696, 380, 1772, 379, 697, 406, 669, 407, 669, 406, 670, 406, 670, 379, 697, 379, 696, 406, 670, 380, 696, 379, 1772, 380, 1772, 406, 670, 380, 695, 406, 1746, 380, 1771, 406, 1745, 381, 696, 379, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 405, 671, 380, 696, 379, 1772, 406, 670, 380, 696, 380, 695, 381, 695, 380, 1772, 407, 669, 380, 695, 380, 696, 380, 696, 380, 696, 406, 669, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 406, 670, 380, 695, 408, 668, 380, 696, 380, 696, 380, 696, 380, 696, 380, 696, 379, 1771, 381, 696, 379, 1772, 405, 1747, 380, 696, 380, 695, 407, 669, 380, 1771, 380, 1772, 380, 1771, 385, 1767, 407, 1745, 379, 696, 380, 697, 404, 671, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 407, 670, 379, 696, 406, 670, 380, 1772, 379, 696, 380, 696, 380, 695, 380, 696, 380, 696, 395, 680, 381, 696, 379, 696, 380, 696, 380, 696, 406, 670, 379, 697, 379, 696, 380, 696, 380, 695, 380, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 1772, 379, 1772, 380, 1772, 407, 668, 408, 1744, 380, 1772, 404, 671, 380, 696, 380}, // 22C
{5042, 2131, 379, 1772, 406, 671, 379, 696, 405, 671, 380, 1772, 405, 670, 406, 671, 379, 696, 379, 697, 405, 1746, 380, 696, 379, 1772, 380, 1772, 379, 697, 379, 1772, 380, 1772, 379, 1773, 379, 1772, 379, 1772, 380, 696, 380, 1772, 406, 670, 379, 697, 379, 696, 405, 671, 379, 697, 379, 697, 379, 1772, 379, 696, 406, 671, 379, 1772, 380, 695, 380, 698, 378, 697, 379, 1772, 379, 697, 379, 696, 379, 698, 378, 697, 379, 698, 378, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 697, 379, 695, 380, 696, 380, 1772, 379, 1773, 379, 1772, 379, 697, 379, 697, 379, 1772, 379, 697, 379, 29359, 5067, 2130, 406, 1745, 380, 696, 380, 697, 379, 696, 379, 1773, 379, 696, 380, 697, 378, 697, 379, 696, 380, 1772, 379, 696, 380, 1772, 379, 1772, 380, 696, 380, 1772, 379, 1773, 379, 1772, 379, 1773, 379, 1771, 381, 695, 380, 1772, 380, 697, 378, 697, 379, 697, 379, 696, 406, 670, 380, 696, 379, 1773, 379, 696, 380, 696, 380, 1772, 405, 671, 379, 696, 380, 696, 379, 696, 380, 697, 379, 696, 380, 697, 378, 697, 379, 697, 378, 1773, 380, 1772, 379, 696, 380, 697, 378, 1772, 380, 1771, 380, 1773, 379, 696, 380, 697, 379, 697, 378, 697, 379, 696, 379, 696, 381, 696, 379, 697, 379, 697, 379, 1772, 379, 696, 381, 696, 379, 696, 380, 696, 379, 1772, 380, 696, 380, 695, 380, 697, 379, 697, 405, 671, 379, 696, 405, 671, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 379, 697, 406, 1746, 378, 1772, 380, 1772, 379, 697, 379, 697, 379, 697, 379, 1772, 379, 1772, 380, 1772, 379, 1773, 405, 1747, 379, 696, 379, 697, 379, 697, 379, 697, 379, 697, 378, 696, 380, 697, 379, 696, 379, 697, 379, 697, 406, 669, 406, 671, 379, 696, 379, 697, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 697, 379, 697, 379, 696, 379, 697, 379, 697, 379, 697, 379, 696, 379, 697, 405, 671, 379, 696, 379, 697, 379, 697, 379, 696, 380, 696, 405, 671, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 695, 380, 1772, 380, 696, 380, 696, 379, 1772, 380, 1772, 379, 1772, 380, 696, 380, 696, 379}, // 23C
{5068, 2104, 381, 1771, 407, 669, 380, 696, 406, 670, 379, 1772, 380, 696, 406, 670, 380, 694, 382, 696, 405, 1745, 406, 671, 380, 1771, 380, 1772, 405, 671, 405, 1746, 380, 1771, 380, 1772, 380, 1772, 380, 1771, 380, 697, 379, 1770, 381, 696, 380, 696, 407, 669, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 407, 669, 405, 1746, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 382, 694, 379, 696, 407, 669, 406, 670, 405, 671, 380, 696, 379, 697, 379, 697, 379, 696, 406, 1746, 379, 1772, 380, 1772, 406, 669, 380, 696, 385, 1766, 380, 696, 380, 29381, 5044, 2130, 380, 1771, 380, 696, 380, 696, 406, 669, 380, 1771, 406, 670, 381, 696, 380, 695, 380, 697, 406, 1745, 380, 696, 379, 1772, 380, 1772, 379, 696, 407, 1745, 380, 1771, 380, 1773, 404, 1746, 405, 1747, 380, 696, 405, 1746, 407, 669, 380, 696, 379, 696, 380, 696, 407, 669, 380, 696, 380, 1771, 406, 669, 381, 696, 379, 1772, 380, 696, 406, 670, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 406, 1744, 381, 1771, 381, 696, 379, 697, 379, 1772, 405, 1747, 379, 1771, 381, 696, 406, 670, 380, 695, 380, 696, 380, 696, 380, 696, 379, 697, 385, 690, 380, 695, 406, 1746, 405, 672, 379, 696, 405, 671, 405, 670, 380, 1772, 380, 696, 379, 696, 381, 695, 380, 696, 380, 696, 380, 695, 380, 696, 380, 695, 381, 696, 379, 697, 379, 696, 380, 696, 406, 669, 381, 696, 379, 697, 404, 671, 405, 671, 379, 697, 379, 697, 379, 1771, 380, 1772, 380, 1771, 380, 1772, 380, 696, 380, 695, 381, 696, 379, 1772, 380, 1772, 379, 1772, 380, 1772, 379, 1772, 380, 696, 380, 696, 379, 697, 379, 696, 406, 670, 405, 671, 404, 672, 404, 671, 380, 696, 380, 696, 406, 670, 379, 697, 379, 696, 380, 695, 381, 696, 379, 696, 380, 1771, 380, 697, 379, 697, 379, 695, 381, 696, 379, 697, 379, 696, 407, 669, 380, 696, 405, 670, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 407, 670, 379, 696, 380, 696, 380, 696, 380, 695, 406, 670, 380, 696, 380, 696, 380, 696, 380, 696, 379, 696, 407, 1745, 379, 1772, 380, 696, 380, 1771, 407, 1745, 380, 1771, 380, 695, 381, 696, 406}, // 24C
{5043, 2130, 380, 1772, 379, 697, 379, 697, 379, 697, 405, 1747, 379, 695, 380, 697, 379, 697, 379, 696, 380, 1772, 379, 695, 381, 1771, 406, 1745, 381, 696, 380, 1771, 380, 1772, 379, 1772, 405, 1747, 380, 1772, 379, 696, 407, 1744, 380, 697, 379, 697, 379, 696, 406, 670, 380, 696, 379, 697, 404, 1746, 381, 696, 405, 671, 379, 1771, 381, 697, 378, 696, 407, 669, 380, 1772, 379, 697, 379, 697, 379, 697, 379, 695, 380, 698, 403, 672, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 1772, 379, 1772, 405, 1747, 379, 696, 380, 696, 380, 1772, 405, 671, 405, 29355, 5044, 2130, 380, 1772, 379, 697, 379, 696, 380, 695, 381, 1771, 406, 671, 405, 670, 380, 695, 380, 696, 380, 1772, 380, 696, 406, 1744, 381, 1772, 379, 696, 380, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 1772, 380, 696, 380, 1771, 380, 695, 381, 696, 405, 671, 379, 696, 380, 697, 379, 697, 378, 1773, 405, 670, 380, 696, 380, 1772, 405, 671, 379, 696, 380, 696, 379, 696, 406, 675, 401, 670, 380, 696, 405, 671, 379, 696, 380, 1771, 381, 1771, 384, 692, 379, 697, 379, 1772, 380, 1772, 380, 1771, 380, 696, 379, 697, 379, 697, 379, 697, 379, 696, 380, 696, 406, 670, 379, 696, 380, 696, 380, 1771, 407, 670, 379, 697, 404, 670, 381, 696, 405, 1747, 379, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 405, 671, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 1772, 379, 696, 380, 697, 379, 1772, 379, 1772, 380, 1777, 375, 1771, 380, 1772, 406, 671, 404, 671, 379, 696, 380, 695, 407, 670, 405, 671, 405, 670, 380, 696, 379, 697, 406, 670, 379, 696, 406, 670, 379, 696, 380, 697, 379, 697, 379, 696, 406, 1745, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 379, 696, 380, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 380, 696, 405, 671, 379, 697, 404, 671, 379, 696, 380, 696, 380, 696, 405, 671, 379, 697, 379, 697, 379, 696, 406, 670, 379, 1773, 405, 670, 380, 1771, 406, 1746, 380, 1771, 408, 1744, 406, 670, 379, 696, 385}, // 25C
{5042, 2131, 380, 1772, 406, 670, 379, 696, 380, 696, 380, 1771, 380, 696, 379, 697, 406, 670, 379, 696, 380, 1772, 379, 697, 379, 1772, 379, 1773, 379, 697, 379, 1772, 379, 1772, 380, 1772, 380, 1771, 380, 1772, 382, 694, 379, 1772, 380, 696, 379, 700, 376, 697, 404, 671, 380, 696, 379, 696, 380, 1772, 380, 696, 379, 697, 379, 1772, 406, 671, 379, 696, 379, 697, 379, 1772, 380, 696, 379, 696, 380, 697, 404, 672, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 1772, 380, 1772, 379, 1773, 379, 696, 379, 696, 380, 1772, 404, 672, 379, 29382, 5043, 2130, 380, 1772, 379, 697, 379, 696, 380, 696, 380, 1772, 379, 696, 380, 696, 380, 696, 406, 670, 379, 1772, 380, 696, 379, 1772, 380, 1772, 380, 695, 406, 1747, 379, 1772, 405, 1747, 379, 1771, 406, 1747, 379, 696, 380, 1772, 379, 697, 405, 671, 379, 696, 379, 697, 379, 696, 406, 670, 380, 1772, 406, 669, 380, 696, 380, 1771, 380, 696, 380, 697, 379, 696, 405, 671, 405, 670, 380, 696, 380, 695, 380, 696, 380, 697, 379, 1771, 407, 1745, 380, 696, 380, 695, 406, 1746, 380, 1771, 380, 1772, 380, 697, 405, 670, 379, 697, 379, 696, 380, 696, 380, 695, 380, 697, 379, 697, 379, 697, 379, 1772, 406, 670, 404, 671, 380, 696, 379, 697, 380, 1771, 405, 671, 379, 697, 379, 697, 381, 695, 380, 695, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 380, 697, 379, 696, 380, 696, 406, 671, 378, 697, 405, 670, 379, 697, 380, 696, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 696, 406, 1746, 405, 1746, 380, 1772, 379, 1772, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 697, 379, 697, 379, 696, 379, 696, 380, 697, 379, 697, 379, 697, 379, 696, 379, 1772, 380, 696, 380, 695, 380, 696, 382, 695, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 407, 669, 379, 697, 379, 696, 379, 696, 380, 697, 406, 669, 380, 696, 406, 670, 380, 696, 406, 669, 380, 696, 380, 696, 380, 696, 379, 696, 406, 671, 379, 696, 405, 671, 379, 1772, 406, 1746, 379, 1772, 380, 1771, 380, 1772, 380, 1772, 379, 697, 379, 698, 378}, // 26C
{5043, 2130, 380, 1771, 380, 696, 406, 670, 380, 696, 407, 1744, 380, 695, 407, 670, 380, 695, 381, 695, 381, 1771, 406, 669, 406, 1746, 380, 1772, 380, 695, 406, 1746, 380, 1772, 405, 1746, 407, 1744, 381, 1771, 380, 696, 380, 1771, 380, 696, 380, 696, 407, 669, 380, 695, 407, 669, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 1771, 406, 670, 380, 696, 380, 695, 381, 1771, 405, 671, 380, 696, 405, 670, 406, 670, 407, 669, 406, 670, 407, 668, 406, 670, 380, 696, 380, 695, 406, 671, 404, 671, 380, 696, 380, 695, 407, 1750, 375, 1772, 406, 1745, 380, 696, 380, 696, 407, 1744, 406, 670, 380, 29382, 5042, 2130, 380, 1772, 380, 695, 381, 696, 380, 696, 379, 1772, 406, 670, 380, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 1772, 405, 1747, 404, 670, 407, 1746, 379, 1772, 380, 1771, 381, 1771, 406, 1746, 379, 696, 380, 1771, 381, 696, 381, 694, 380, 696, 380, 696, 380, 696, 406, 669, 380, 1772, 380, 696, 379, 697, 379, 1772, 380, 695, 380, 697, 379, 696, 380, 696, 380, 696, 379, 696, 380, 696, 381, 694, 381, 696, 406, 1745, 380, 1771, 381, 695, 407, 669, 380, 1772, 380, 1771, 406, 1745, 380, 696, 406, 670, 380, 696, 405, 670, 381, 696, 379, 696, 406, 670, 380, 695, 381, 696, 379, 1772, 380, 696, 399, 676, 381, 695, 380, 695, 406, 1747, 406, 669, 380, 696, 380, 696, 405, 671, 380, 695, 406, 670, 380, 696, 406, 670, 406, 669, 380, 696, 407, 669, 405, 671, 407, 668, 406, 670, 380, 696, 406, 669, 380, 697, 405, 670, 380, 696, 405, 671, 393, 1758, 381, 695, 380, 696, 380, 1771, 404, 672, 406, 669, 408, 1744, 380, 1771, 380, 1772, 406, 1745, 380, 1772, 380, 696, 406, 670, 379, 697, 379, 696, 380, 695, 381, 696, 405, 670, 380, 696, 380, 696, 380, 695, 381, 695, 380, 695, 381, 696, 406, 670, 379, 697, 405, 670, 380, 1771, 380, 696, 380, 696, 406, 670, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 406, 670, 406, 669, 381, 696, 380, 695, 406, 670, 406, 670, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 1771, 381, 695, 380, 696, 380, 696, 380, 695, 380, 696, 380, 1772, 406, 669, 380}, // 27C
{5042, 2130, 407, 1745, 380, 696, 380, 695, 408, 668, 380, 1771, 407, 669, 380, 696, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 1772, 379, 1772, 380, 696, 400, 1751, 407, 1745, 406, 1745, 380, 1772, 406, 1745, 380, 696, 380, 1771, 406, 671, 405, 670, 406, 670, 380, 696, 406, 669, 406, 670, 380, 1772, 379, 696, 380, 696, 380, 1771, 381, 695, 380, 697, 405, 670, 380, 1771, 380, 696, 380, 696, 405, 671, 406, 670, 406, 669, 380, 696, 380, 695, 381, 696, 379, 696, 406, 670, 406, 670, 406, 669, 380, 696, 380, 696, 380, 1771, 381, 1771, 380, 1771, 381, 695, 405, 671, 380, 1771, 408, 668, 380, 29382, 5043, 2130, 380, 1771, 380, 696, 380, 696, 379, 697, 379, 1773, 379, 696, 406, 670, 379, 696, 380, 696, 380, 1772, 379, 697, 379, 1772, 380, 1772, 379, 696, 380, 1773, 378, 1773, 379, 1772, 379, 1772, 380, 1772, 379, 697, 379, 1772, 406, 670, 379, 698, 405, 669, 380, 696, 380, 696, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 697, 379, 696, 379, 697, 380, 696, 379, 697, 379, 696, 379, 697, 406, 1745, 380, 1772, 380, 696, 379, 697, 379, 1771, 380, 1773, 379, 1772, 380, 696, 379, 696, 380, 696, 380, 697, 405, 670, 379, 696, 380, 697, 378, 697, 380, 696, 379, 1772, 406, 670, 380, 696, 379, 697, 379, 696, 380, 1772, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 697, 379, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 380, 697, 405, 669, 381, 696, 380, 695, 380, 697, 404, 671, 405, 671, 380, 1771, 380, 1771, 407, 670, 379, 696, 380, 1773, 405, 670, 379, 697, 379, 1772, 402, 1749, 380, 1772, 380, 1771, 380, 1772, 380, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 406, 1745, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 406, 670, 405, 670, 379, 697, 379, 695, 381, 696, 406, 670, 380, 696, 379, 697, 379, 696, 406, 670, 379, 696, 380, 696, 380, 697, 379, 696, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1771, 380, 1772, 380, 696, 379, 697, 379, 696, 380, 696, 380, 1772, 379, 697, 379}, // 28C
{5043, 2130, 407, 1744, 381, 695, 380, 696, 407, 669, 406, 1745, 407, 669, 406, 670, 380, 696, 380, 696, 406, 1745, 406, 669, 406, 1747, 384, 1766, 407, 669, 381, 1771, 407, 1744, 384, 1768, 407, 1744, 407, 1745, 407, 669, 401, 1751, 380, 695, 407, 669, 380, 695, 407, 669, 381, 695, 380, 696, 380, 1771, 380, 696, 405, 671, 406, 1745, 406, 670, 380, 696, 380, 696, 380, 1771, 380, 696, 406, 669, 407, 669, 408, 668, 380, 696, 407, 669, 405, 670, 407, 670, 406, 668, 406, 671, 406, 669, 406, 670, 406, 670, 406, 670, 380, 1771, 407, 1745, 407, 1744, 380, 695, 381, 696, 380, 1772, 406, 669, 406, 29355, 5070, 2104, 406, 1745, 380, 696, 380, 696, 380, 696, 379, 1772, 406, 670, 380, 696, 379, 696, 380, 696, 380, 1772, 385, 690, 407, 1744, 408, 1744, 380, 696, 405, 1747, 406, 1745, 406, 1746, 380, 1771, 405, 1746, 381, 695, 380, 1772, 406, 670, 380, 695, 407, 669, 405, 671, 380, 696, 406, 670, 405, 1746, 407, 669, 380, 695, 380, 1772, 380, 695, 407, 669, 380, 697, 405, 670, 380, 696, 407, 668, 406, 670, 405, 671, 406, 670, 406, 1745, 380, 1772, 406, 669, 407, 669, 380, 1771, 380, 1772, 380, 1772, 380, 696, 379, 696, 380, 696, 406, 670, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 380, 1772, 389, 687, 380, 696, 405, 670, 380, 696, 406, 1745, 381, 695, 380, 696, 380, 696, 406, 669, 381, 695, 407, 669, 405, 671, 379, 696, 381, 695, 405, 671, 406, 670, 380, 696, 406, 669, 380, 695, 381, 696, 406, 669, 380, 696, 406, 670, 405, 670, 381, 695, 406, 671, 379, 1771, 380, 697, 379, 1771, 381, 696, 406, 669, 380, 1771, 407, 1746, 380, 1771, 380, 1771, 380, 1772, 406, 670, 380, 695, 406, 670, 406, 670, 406, 669, 381, 695, 407, 669, 407, 668, 406, 669, 382, 695, 380, 696, 380, 696, 403, 673, 380, 696, 380, 695, 406, 670, 405, 1746, 406, 670, 380, 696, 380, 695, 406, 670, 380, 697, 379, 696, 380, 696, 380, 695, 380, 696, 406, 670, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 381, 695, 407, 669, 406, 670, 380, 695, 380, 696, 380, 696, 407, 669, 406, 669, 380, 697, 379, 696, 380, 696, 406, 1745, 381, 695, 380, 1772, 380, 695, 384, 692, 380, 695, 407, 1745, 381, 696, 379}, // 29C
{5043, 2130, 380, 1772, 404, 671, 406, 670, 406, 670, 380, 1771, 380, 696, 380, 696, 406, 670, 379, 696, 387, 1765, 380, 696, 380, 1771, 380, 1772, 405, 670, 381, 1771, 380, 1772, 405, 1746, 380, 1771, 381, 1771, 405, 671, 380, 1771, 380, 696, 380, 695, 407, 670, 380, 695, 406, 670, 380, 696, 406, 1745, 381, 695, 406, 670, 407, 1744, 406, 670, 406, 670, 380, 695, 381, 1771, 380, 696, 406, 670, 406, 669, 407, 669, 406, 670, 380, 695, 381, 696, 405, 670, 380, 696, 380, 695, 381, 695, 407, 669, 380, 696, 405, 670, 381, 1771, 406, 1745, 381, 1771, 380, 696, 406, 669, 381, 1771, 380, 696, 380, 29381, 5044, 2129, 406, 1746, 406, 670, 379, 696, 381, 695, 380, 1772, 380, 695, 381, 696, 379, 696, 380, 696, 380, 1770, 381, 696, 407, 1744, 380, 1772, 407, 669, 380, 1772, 405, 1745, 407, 1745, 406, 1746, 407, 1744, 380, 696, 380, 1771, 381, 695, 380, 696, 406, 670, 380, 695, 381, 695, 380, 696, 380, 1771, 381, 695, 380, 696, 410, 1741, 381, 695, 406, 670, 380, 695, 381, 695, 381, 695, 407, 669, 406, 669, 380, 696, 407, 669, 380, 1771, 381, 1771, 380, 696, 380, 696, 406, 1745, 380, 1772, 406, 1745, 380, 696, 380, 695, 381, 696, 405, 670, 407, 669, 380, 696, 380, 696, 380, 695, 380, 696, 407, 1745, 380, 695, 407, 669, 406, 669, 381, 695, 407, 1745, 408, 668, 406, 669, 381, 695, 406, 670, 380, 697, 379, 695, 381, 696, 380, 695, 406, 669, 408, 669, 380, 695, 405, 671, 380, 696, 380, 695, 406, 670, 380, 696, 380, 696, 380, 695, 381, 695, 380, 1772, 380, 695, 381, 1771, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 1771, 381, 1771, 380, 1771, 380, 1771, 381, 1771, 407, 669, 407, 669, 381, 694, 407, 669, 407, 669, 380, 696, 380, 696, 406, 669, 381, 695, 380, 696, 380, 696, 405, 670, 381, 695, 380, 695, 381, 696, 379, 696, 381, 1771, 380, 695, 407, 669, 391, 685, 406, 670, 380, 695, 381, 695, 407, 669, 381, 695, 406, 670, 405, 670, 380, 696, 380, 696, 380, 695, 380, 698, 405, 669, 406, 670, 380, 695, 408, 668, 405, 671, 407, 669, 406, 670, 380, 695, 380, 696, 380, 696, 406, 669, 381, 695, 406, 1746, 380, 1772, 380, 1771, 406, 670, 406, 669, 380, 696, 380, 1772, 406, 669, 380}, // 30C
{5043, 2129, 380, 1773, 379, 696, 379, 697, 380, 696, 380, 1772, 404, 672, 379, 697, 378, 697, 379, 697, 379, 1771, 380, 697, 379, 1772, 406, 1746, 379, 696, 380, 1772, 405, 1747, 379, 1772, 380, 1771, 380, 1773, 378, 697, 379, 1772, 380, 697, 379, 696, 379, 697, 380, 695, 380, 696, 379, 697, 380, 1771, 380, 696, 380, 696, 379, 1772, 380, 696, 380, 696, 380, 696, 379, 1772, 379, 698, 379, 695, 380, 697, 379, 697, 405, 670, 379, 697, 405, 670, 380, 696, 380, 696, 407, 669, 379, 696, 380, 697, 379, 696, 379, 696, 380, 1772, 380, 1772, 379, 1772, 379, 698, 378, 697, 379, 1772, 407, 669, 380, 29382, 5068, 2105, 379, 1772, 379, 697, 379, 696, 380, 697, 379, 1772, 379, 698, 378, 696, 406, 671, 379, 696, 380, 1771, 380, 697, 379, 1772, 379, 1772, 380, 696, 379, 1772, 380, 1772, 406, 1746, 379, 1773, 378, 1773, 405, 671, 379, 1772, 379, 697, 406, 668, 381, 696, 379, 697, 379, 697, 379, 697, 379, 1771, 380, 696, 380, 695, 381, 1772, 380, 695, 380, 697, 379, 697, 379, 696, 380, 696, 380, 696, 405, 670, 380, 696, 379, 696, 407, 1746, 379, 1772, 379, 696, 380, 697, 379, 1771, 380, 1772, 380, 1771, 380, 697, 379, 696, 380, 696, 406, 670, 405, 670, 380, 697, 378, 696, 380, 697, 379, 696, 380, 1772, 379, 697, 379, 697, 379, 696, 380, 696, 379, 1772, 380, 697, 379, 696, 379, 697, 379, 697, 378, 698, 379, 696, 380, 696, 379, 697, 379, 696, 380, 695, 381, 696, 379, 696, 380, 697, 378, 698, 379, 697, 378, 697, 406, 670, 379, 696, 379, 696, 380, 697, 379, 1772, 380, 1771, 380, 697, 405, 1746, 405, 671, 379, 696, 380, 1772, 380, 1772, 379, 1772, 379, 1772, 380, 1772, 379, 697, 379, 697, 379, 696, 379, 697, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 697, 379, 695, 380, 697, 379, 697, 379, 697, 379, 696, 380, 696, 379, 1773, 379, 696, 380, 695, 380, 696, 380, 697, 379, 696, 379, 697, 379, 697, 379, 697, 378, 698, 378, 698, 378, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 391, 685, 380, 696, 380, 696, 379, 697, 405, 670, 380, 696, 380, 696, 379, 696, 406, 670, 407, 669, 379, 1772, 380, 696, 380, 696, 405, 1747, 405, 670, 380, 696, 380, 1771, 380, 696, 380}, // 31C
{5043, 2130, 407, 1744, 380, 696, 380, 696, 405, 670, 406, 1746, 406, 670, 405, 670, 380, 697, 379, 696, 380, 1772, 405, 670, 381, 1771, 380, 1771, 380, 695, 381, 1772, 379, 1772, 380, 1772, 380, 1771, 380, 1772, 380, 695, 407, 1745, 380, 696, 379, 697, 379, 696, 407, 669, 380, 696, 406, 669, 380, 1772, 380, 696, 379, 697, 405, 1746, 380, 696, 379, 696, 380, 697, 379, 1772, 385, 690, 380, 696, 380, 696, 380, 696, 380, 696, 380, 695, 380, 696, 380, 696, 380, 695, 407, 669, 380, 696, 405, 671, 380, 696, 379, 696, 380, 1771, 406, 1746, 407, 1745, 380, 696, 379, 696, 435, 1716, 406, 671, 379, 29382, 5069, 2104, 380, 1772, 405, 670, 380, 696, 380, 697, 379, 1771, 380, 696, 382, 694, 379, 696, 406, 670, 405, 1747, 380, 696, 379, 1772, 406, 1745, 381, 695, 380, 1771, 381, 1771, 380, 1772, 406, 1745, 380, 1772, 406, 670, 379, 1772, 380, 696, 380, 696, 379, 696, 380, 697, 379, 696, 407, 669, 380, 1771, 380, 696, 380, 696, 406, 1745, 380, 696, 380, 696, 380, 696, 379, 697, 379, 696, 394, 682, 380, 695, 407, 670, 404, 672, 379, 1771, 380, 1772, 380, 696, 405, 670, 380, 1772, 380, 1771, 380, 1772, 380, 696, 379, 697, 405, 670, 380, 696, 380, 696, 406, 670, 379, 697, 379, 696, 380, 695, 381, 1771, 380, 696, 380, 696, 380, 696, 406, 669, 380, 1772, 380, 695, 406, 670, 380, 696, 379, 697, 405, 671, 405, 670, 406, 670, 380, 696, 379, 696, 406, 671, 379, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 405, 670, 380, 696, 406, 669, 381, 1772, 380, 1771, 380, 1771, 380, 696, 405, 1747, 380, 695, 380, 696, 380, 1772, 379, 1772, 406, 1747, 379, 1771, 380, 1772, 379, 697, 379, 696, 380, 695, 381, 696, 379, 696, 380, 696, 380, 696, 405, 671, 407, 669, 379, 696, 380, 696, 406, 670, 379, 696, 380, 697, 379, 696, 405, 670, 380, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 406, 669, 381, 696, 405, 671, 379, 697, 379, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 379, 696, 407, 669, 380, 696, 380, 696, 379, 696, 380, 696, 406, 670, 380, 696, 405, 1746, 380, 1772, 405, 671, 379, 1772, 380, 696, 380, 695, 380, 1772, 380, 696, 379} // 32C
{8978, 4502, 508, 600, 536, 600, 535, 1702, 534, 601, 534, 1703, 534, 601, 535, 599, 535, 618, 535, 600, 534, 1703, 534, 1702, 535, 1702, 534, 601, 534, 601, 535, 601, 534, 618, 533, 601, 535, 601, 534, 601, 534, 601, 535, 601, 534, 601, 534, 601, 534, 617, 536, 600, 535, 600, 535, 600, 535, 600, 535, 601, 535, 600, 536, 599, 534, 618, 535, 601, 534, 601, 535, 600, 534, 601, 535, 600, 535, 600, 535, 601, 534, 622, 535, 1702, 535, 1701, 535, 1703, 534, 589, 534}, // 15C
{8978, 4497, 508, 601, 533, 602, 535, 1701, 535, 601, 534, 1703, 534, 601, 536, 598, 535, 618, 534, 601, 534, 1703, 534, 1702, 535, 1702, 533, 602, 534, 602, 533, 601, 535, 1719, 534, 601, 534, 601, 535, 600, 535, 601, 534, 601, 535, 600, 534, 601, 535, 617, 535, 601, 533, 602, 534, 601, 534, 601, 534, 602, 534, 601, 535, 601, 533, 618, 535, 600, 535, 601, 533, 602, 534, 602, 532, 602, 534, 601, 535, 601, 534, 623, 535, 1701, 535, 1701, 536, 600, 534, 1690, 535}, // 16C
{8978, 4525, 507, 601, 534, 602, 533, 1704, 533, 602, 534, 1702, 534, 601, 534, 602, 533, 618, 535, 600, 535, 1702, 534, 1702, 535, 1702, 534, 601, 534, 602, 533, 1703, 534, 618, 534, 603, 532, 602, 533, 602, 534, 601, 533, 602, 534, 601, 535, 600, 534, 618, 535, 601, 534, 601, 534, 601, 534, 601, 535, 601, 534, 600, 535, 601, 534, 618, 534, 600, 536, 600, 535, 601, 533, 602, 534, 601, 534, 601, 535, 601, 534, 622, 535, 1702, 534, 1703, 534, 601, 534, 589, 534}, // 17C
{8978, 4504, 505, 603, 533, 603, 533, 1703, 533, 602, 533, 1704, 534, 601, 533, 602, 533, 620, 533, 601, 533, 1704, 533, 1703, 534, 1703, 533, 602, 533, 603, 532, 1704, 533, 1720, 534, 602, 533, 602, 532, 604, 534, 600, 534, 601, 534, 601, 533, 603, 533, 618, 534, 602, 533, 602, 534, 602, 533, 602, 533, 602, 533, 602, 533, 602, 533, 619, 533, 602, 534, 602, 533, 602, 533, 602, 533, 602, 533, 602, 534, 602, 533, 624, 532, 1704, 534, 601, 534, 1703, 533, 1692, 533}, // 18C
{8978, 4496, 508, 601, 534, 601, 534, 1703, 533, 602, 534, 1702, 534, 602, 534, 601, 533, 619, 534, 601, 534, 1703, 534, 1702, 534, 1703, 534, 601, 534, 1702, 535, 600, 534, 618, 535, 601, 533, 602, 534, 602, 533, 602, 533, 601, 534, 601, 534, 602, 534, 619, 533, 601, 534, 602, 534, 601, 534, 601, 534, 601, 534, 601, 534, 601, 534, 618, 535, 600, 535, 601, 534, 601, 534, 601, 534, 601, 534, 602, 533, 602, 534, 623, 534, 1702, 535, 601, 534, 1702, 535, 589, 534}, // 19C
{8978, 4522, 508, 602, 533, 602, 533, 1703, 534, 602, 533, 1703, 533, 603, 533, 602, 533, 618, 534, 602, 533, 1704, 533, 1703, 533, 1703, 534, 602, 533, 1703, 533, 603, 533, 1719, 534, 602, 533, 602, 534, 601, 533, 602, 534, 601, 534, 602, 533, 602, 533, 619, 534, 601, 533, 603, 533, 602, 533, 602, 533, 602, 534, 602, 556, 578, 534, 618, 534, 602, 533, 602, 533, 602, 534, 601, 534, 602, 533, 601, 534, 602, 533, 624, 533, 1704, 533, 602, 533, 602, 533, 1691, 534}, // 20C
{8978, 4503, 506, 603, 533, 602, 533, 1703, 534, 602, 533, 1703, 533, 602, 533, 603, 532, 620, 533, 602, 533, 1703, 534, 1703, 533, 1703, 534, 601, 560, 1677, 533, 1704, 533, 619, 533, 602, 533, 602, 534, 601, 534, 601, 534, 602, 533, 602, 533, 602, 533, 619, 533, 603, 532, 603, 533, 602, 533, 602, 533, 602, 533, 602, 534, 601, 534, 618, 534, 602, 533, 602, 533, 602, 533, 602, 534, 602, 533, 602, 533, 602, 533, 625, 532, 1703, 534, 602, 533, 604, 531, 590, 533}, // 21C
{8978, 4523, 508, 601, 534, 601, 535, 1702, 534, 600, 535, 1702, 535, 600, 535, 600, 535, 618, 534, 603, 532, 1703, 534, 1702, 534, 1702, 535, 601, 534, 1702, 535, 1702, 535, 1719, 534, 601, 534, 601, 534, 601, 534, 601, 535, 600, 535, 600, 535, 601, 534, 618, 534, 601, 534, 601, 534, 601, 535, 601, 534, 600, 535, 601, 534, 602, 533, 618, 535, 601, 534, 601, 534, 601, 534, 601, 534, 601, 535, 600, 535, 600, 534, 623, 534, 602, 534, 1703, 534, 1702, 534, 1690, 535}, // 22C
{8978, 4504, 507, 601, 534, 601, 534, 1702, 534, 602, 534, 1702, 534, 602, 534, 600, 535, 618, 534, 601, 534, 1702, 535, 1702, 534, 1702, 534, 1703, 534, 601, 535, 600, 535, 618, 533, 601, 535, 601, 534, 601, 535, 600, 535, 600, 534, 602, 534, 600, 535, 618, 534, 601, 534, 602, 533, 601, 535, 601, 535, 600, 534, 601, 535, 600, 534, 618, 534, 601, 535, 601, 535, 600, 534, 601, 534, 601, 535, 600, 534, 601, 535, 622, 535, 601, 535, 1702, 534, 1703, 533, 590, 534}, // 23C
{8978, 4529, 507, 602, 534, 600, 535, 1702, 535, 600, 535, 1703, 533, 602, 533, 601, 535, 617, 535, 601, 534, 1702, 535, 1702, 534, 1702, 534, 1703, 534, 601, 535, 600, 534, 1720, 534, 601, 534, 601, 534, 602, 533, 601, 535, 601, 534, 601, 534, 601, 535, 617, 534, 602, 534, 601, 534, 601, 534, 601, 534, 601, 534, 602, 533, 602, 534, 618, 534, 601, 534, 601, 534, 601, 534, 602, 534, 600, 534, 601, 535, 601, 534, 623, 533, 602, 534, 1702, 534, 602, 534, 1691, 534}, // 24C
{8978, 4529, 506, 603, 533, 602, 533, 1703, 533, 602, 534, 1703, 533, 602, 533, 602, 533, 619, 533, 603, 533, 1703, 533, 1703, 534, 1703, 534, 1702, 534, 602, 533, 1703, 534, 619, 533, 601, 534, 602, 533, 602, 533, 602, 533, 602, 534, 602, 533, 601, 534, 619, 533, 602, 533, 601, 535, 601, 534, 601, 534, 602, 533, 602, 533, 603, 533, 620, 532, 602, 533, 602, 533, 602, 533, 602, 534, 601, 534, 601, 534, 601, 534, 623, 534, 602, 533, 1703, 534, 602, 533, 590, 533}, // 25C
{8978, 4504, 506, 603, 533, 602, 533, 1703, 534, 601, 534, 1703, 533, 602, 534, 602, 533, 619, 533, 602, 533, 1704, 532, 1704, 534, 1702, 533, 1704, 533, 602, 533, 1704, 533, 1720, 534, 602, 533, 601, 534, 602, 533, 602, 533, 602, 533, 603, 532, 602, 535, 617, 534, 602, 534, 601, 533, 602, 533, 602, 534, 601, 533, 603, 533, 602, 533, 620, 532, 602, 533, 603, 532, 603, 533, 602, 533, 601, 534, 602, 533, 602, 533, 624, 533, 602, 534, 601, 534, 1703, 534, 1691, 533}, // 26C
{8978, 4497, 507, 600, 534, 602, 533, 1704, 533, 602, 533, 1704, 533, 602, 533, 602, 533, 619, 533, 602, 533, 1704, 532, 1705, 533, 1703, 533, 1704, 533, 1703, 533, 602, 533, 620, 532, 603, 533, 602, 533, 602, 534, 601, 533, 602, 533, 603, 532, 603, 533, 619, 533, 602, 533, 602, 533, 602, 534, 601, 533, 603, 533, 601, 534, 602, 534, 618, 533, 602, 533, 603, 533, 602, 533, 602, 533, 602, 533, 603, 532, 603, 533, 623, 534, 601, 534, 602, 533, 1704, 532, 591, 533}, // 27C
{8978, 4503, 506, 602, 534, 603, 532, 1704, 532, 603, 532, 1704, 533, 602, 533, 603, 532, 620, 532, 603, 533, 1704, 531, 1705, 532, 1705, 532, 1704, 532, 1704, 533, 603, 532, 1721, 533, 602, 533, 603, 532, 602, 533, 603, 532, 603, 533, 602, 533, 602, 533, 619, 533, 603, 533, 601, 534, 602, 532, 603, 533, 602, 534, 601, 533, 603, 532, 620, 533, 602, 533, 602, 533, 603, 532, 603, 533, 602, 533, 602, 533, 602, 534, 623, 532, 603, 533, 603, 533, 602, 532, 1692, 534}, // 28C
{8978, 4497, 507, 602, 532, 603, 533, 1703, 534, 601, 533, 1704, 533, 603, 532, 602, 534, 619, 532, 603, 533, 1704, 532, 1704, 533, 1704, 532, 1704, 534, 1702, 533, 1704, 533, 619, 533, 602, 534, 602, 533, 602, 532, 602, 534, 603, 533, 601, 533, 602, 533, 619, 533, 602, 533, 603, 533, 602, 533, 602, 533, 602, 533, 603, 533, 602, 533, 619, 533, 602, 533, 602, 533, 603, 533, 602, 532, 603, 532, 603, 533, 602, 533, 624, 533, 602, 533, 603, 532, 603, 533, 589, 534}, // 29C
{8978, 4504, 507, 601, 533, 603, 533, 1703, 533, 602, 534, 1703, 533, 602, 533, 602, 534, 618, 533, 602, 534, 1703, 533, 1704, 533, 1703, 534, 1703, 533, 1704, 532, 1704, 533, 1720, 534, 602, 533, 602, 533, 602, 533, 602, 533, 602, 533, 602, 534, 601, 534, 619, 533, 602, 533, 602, 533, 602, 534, 601, 534, 602, 533, 601, 534, 602, 534, 619, 532, 602, 534, 602, 532, 603, 533, 602, 533, 602, 533, 602, 534, 601, 533, 624, 533, 1704, 533, 1703, 534, 1703, 533, 1691, 534} // 30C
}};
const uint16_t ir_code_fan[4][407] = {
{5069, 2104, 406, 1746, 407, 668, 408, 669, 405, 670, 407, 1745, 407, 668, 381, 695, 381, 695, 406, 670, 380, 1772, 379, 696, 406, 1745, 381, 1771, 380, 696, 380, 1772, 379, 1772, 381, 1770, 406, 1746, 407, 1745, 380, 696, 406, 1745, 381, 695, 380, 696, 380, 696, 406, 669, 407, 669, 380, 696, 406, 1746, 402, 673, 380, 696, 406, 1746, 380, 695, 407, 669, 380, 696, 406, 1745, 406, 670, 407, 670, 379, 696, 406, 670, 380, 695, 407, 669, 406, 669, 408, 669, 406, 670, 380, 695, 380, 696, 407, 669, 380, 695, 405, 671, 407, 1745, 406, 1746, 379, 1772, 380, 696, 406, 670, 379, 1772, 380, 696, 380, 29383, 5068, 2105, 380, 1771, 407, 669, 380, 696, 406, 669, 380, 1772, 380, 696, 380, 696, 380, 695, 381, 695, 380, 1771, 381, 696, 380, 1771, 406, 1745, 381, 695, 381, 1771, 405, 1747, 379, 1772, 405, 1747, 380, 1771, 395, 681, 406, 1745, 381, 695, 407, 669, 407, 669, 380, 696, 379, 696, 407, 669, 380, 1771, 407, 669, 406, 670, 380, 1772, 406, 669, 381, 695, 406, 670, 380, 695, 381, 695, 407, 669, 407, 669, 380, 696, 406, 670, 380, 1771, 406, 1746, 405, 670, 381, 696, 405, 670, 405, 1747, 380, 1771, 406, 669, 408, 669, 407, 668, 407, 669, 380, 696, 380, 696, 380, 695, 380, 696, 381, 695, 380, 1771, 407, 669, 381, 696, 406, 669, 406, 670, 380, 695, 381, 695, 407, 669, 406, 669, 381, 696, 405, 670, 381, 695, 380, 696, 380, 696, 407, 669, 405, 670, 407, 669, 383, 693, 407, 669, 379, 696, 380, 696, 406, 670, 406, 669, 407, 669, 381, 695, 407, 669, 405, 670, 380, 696, 381, 696, 404, 670, 381, 696, 380, 695, 381, 1771, 406, 1745, 381, 1770, 408, 1745, 380, 695, 381, 695, 380, 696, 380, 696, 407, 669, 406, 670, 380, 695, 380, 696, 380, 696, 405, 671, 380, 695, 407, 669, 380, 695, 381, 695, 381, 695, 380, 696, 380, 696, 406, 1745, 407, 669, 380, 696, 380, 696, 406, 669, 381, 695, 380, 696, 380, 695, 406, 670, 406, 670, 406, 670, 380, 696, 405, 670, 381, 695, 380, 696, 380, 696, 407, 669, 380, 695, 406, 670, 407, 669, 407, 669, 380, 695, 381, 696, 406, 669, 407, 669, 380, 696, 380, 695, 406, 1746, 406, 670, 406, 1745, 406, 1745, 407, 1745, 381, 695, 381, 1771, 380, 1771, 407}, // AUTO
{5043, 2130, 380, 1772, 380, 696, 380, 696, 379, 697, 379, 1771, 381, 695, 381, 696, 379, 696, 406, 670, 380, 1771, 381, 696, 379, 1771, 381, 1771, 380, 696, 380, 1771, 381, 1771, 380, 1772, 380, 1772, 380, 1771, 380, 696, 380, 1771, 381, 694, 381, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 1772, 380, 695, 380, 697, 379, 1772, 380, 695, 381, 695, 381, 695, 380, 1772, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 696, 380, 696, 380, 696, 379, 695, 381, 695, 381, 1771, 380, 1771, 381, 1771, 380, 697, 379, 696, 380, 1771, 381, 694, 381, 29382, 5044, 2130, 380, 1771, 380, 697, 379, 696, 380, 696, 380, 1770, 381, 696, 436, 640, 380, 696, 380, 696, 380, 1770, 381, 695, 407, 1746, 379, 1771, 381, 696, 380, 1771, 380, 1772, 380, 1770, 381, 1772, 380, 1772, 380, 696, 380, 1771, 380, 696, 380, 696, 380, 696, 380, 697, 378, 695, 381, 696, 380, 1772, 379, 697, 379, 696, 380, 1772, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 695, 380, 1771, 381, 1772, 380, 695, 380, 696, 380, 696, 380, 1772, 379, 1772, 380, 696, 380, 696, 380, 696, 379, 696, 380, 696, 380, 696, 380, 696, 379, 696, 381, 695, 380, 1771, 381, 695, 380, 696, 380, 696, 380, 695, 381, 695, 381, 695, 380, 696, 380, 696, 380, 695, 381, 695, 380, 695, 381, 696, 380, 696, 380, 695, 381, 696, 379, 697, 379, 696, 380, 696, 380, 695, 380, 696, 380, 697, 379, 696, 380, 695, 380, 696, 380, 697, 379, 696, 380, 696, 380, 695, 381, 696, 379, 695, 381, 696, 380, 1771, 380, 1772, 380, 1772, 379, 1772, 380, 1772, 380, 696, 379, 1772, 380, 696, 380, 696, 380, 696, 379, 696, 409, 667, 380, 695, 381, 695, 380, 696, 380, 696, 380, 696, 380, 695, 381, 695, 380, 696, 380, 696, 380, 1771, 380, 696, 380, 696, 406, 669, 381, 695, 380, 696, 380, 695, 381, 696, 380, 696, 379, 696, 380, 696, 380, 696, 379, 696, 406, 671, 379, 696, 405, 671, 380, 696, 380, 695, 380, 696, 380, 697, 379, 696, 380, 695, 380, 696, 380, 696, 380, 696, 380, 696, 379, 697, 407, 1743, 407, 669, 380, 1772, 407, 1744, 409, 668, 405, 1746, 406, 670, 380, 695, 380}, // HIGH
{5069, 2105, 405, 1746, 381, 695, 380, 695, 381, 696, 407, 1745, 379, 696, 380, 696, 380, 696, 380, 696, 380, 1771, 380, 697, 379, 1771, 406, 1745, 407, 669, 381, 1771, 380, 1772, 405, 1746, 380, 1772, 380, 1772, 379, 696, 380, 1772, 379, 696, 407, 669, 380, 695, 381, 696, 380, 696, 379, 696, 380, 1771, 381, 696, 380, 695, 380, 1772, 380, 696, 380, 695, 405, 672, 379, 1771, 381, 695, 380, 695, 407, 670, 380, 696, 404, 670, 381, 696, 380, 696, 380, 697, 404, 670, 406, 670, 380, 696, 406, 669, 381, 696, 380, 695, 380, 1771, 381, 1772, 379, 1771, 381, 695, 381, 695, 407, 1744, 381, 695, 381, 29381, 5069, 2104, 380, 1772, 380, 696, 406, 670, 380, 696, 379, 1772, 380, 695, 406, 670, 380, 696, 380, 696, 380, 1772, 406, 668, 406, 1746, 381, 1771, 380, 696, 380, 1772, 379, 1772, 380, 1771, 381, 1771, 406, 1746, 406, 670, 379, 1772, 380, 695, 407, 669, 380, 696, 380, 696, 380, 696, 405, 671, 379, 1772, 380, 696, 380, 696, 406, 1745, 380, 696, 405, 671, 404, 671, 380, 696, 380, 696, 405, 671, 380, 695, 407, 669, 380, 696, 380, 1771, 380, 1772, 380, 695, 381, 694, 407, 670, 380, 1771, 381, 1771, 380, 696, 406, 669, 407, 669, 406, 670, 380, 696, 380, 696, 380, 695, 406, 671, 406, 669, 380, 1771, 380, 696, 380, 696, 380, 696, 406, 670, 405, 671, 379, 697, 379, 697, 379, 695, 406, 670, 407, 669, 380, 696, 380, 696, 379, 696, 380, 696, 380, 695, 381, 695, 407, 670, 379, 696, 380, 696, 406, 669, 406, 670, 380, 696, 380, 696, 380, 696, 380, 695, 406, 671, 405, 670, 406, 669, 381, 696, 379, 697, 405, 670, 405, 1747, 379, 1772, 405, 1746, 406, 1746, 380, 1771, 395, 1757, 380, 696, 380, 697, 379, 695, 407, 669, 380, 696, 405, 671, 380, 695, 380, 696, 380, 696, 406, 670, 406, 670, 405, 670, 380, 696, 408, 668, 404, 671, 381, 1771, 380, 697, 394, 680, 380, 696, 406, 670, 380, 696, 380, 696, 407, 668, 407, 669, 380, 696, 380, 695, 380, 696, 380, 696, 405, 671, 380, 695, 381, 696, 406, 669, 380, 697, 379, 696, 379, 696, 380, 696, 380, 697, 379, 696, 406, 669, 408, 668, 380, 695, 381, 695, 380, 1772, 380, 696, 380, 1772, 379, 1772, 406, 670, 405, 670, 381, 695, 380, 696, 380}, // MID
{5039, 2131, 406, 1745, 380, 696, 379, 697, 378, 698, 378, 1772, 380, 697, 379, 697, 379, 696, 379, 697, 404, 1748, 378, 698, 379, 1771, 380, 1772, 379, 698, 378, 1772, 380, 1772, 379, 1773, 379, 1772, 383, 1768, 380, 697, 379, 1772, 379, 697, 379, 696, 380, 697, 379, 696, 406, 671, 378, 696, 380, 1773, 378, 697, 379, 698, 378, 1772, 379, 698, 379, 696, 379, 697, 379, 1772, 380, 696, 379, 697, 379, 697, 406, 669, 380, 696, 379, 697, 379, 696, 380, 696, 380, 696, 379, 697, 379, 697, 379, 696, 379, 697, 380, 696, 379, 1773, 379, 1772, 379, 1772, 406, 670, 405, 671, 379, 1772, 380, 696, 380, 29382, 5043, 2130, 379, 1773, 405, 670, 380, 695, 381, 696, 379, 1772, 379, 697, 380, 696, 379, 697, 379, 697, 379, 1772, 405, 671, 379, 1772, 380, 1771, 380, 697, 379, 1772, 380, 1772, 379, 1773, 379, 1772, 379, 1773, 379, 696, 405, 1746, 382, 694, 380, 696, 379, 696, 380, 696, 380, 696, 380, 695, 381, 1772, 379, 696, 380, 696, 379, 1773, 379, 696, 380, 696, 380, 696, 405, 671, 379, 696, 380, 696, 380, 696, 406, 671, 378, 697, 379, 1772, 380, 1772, 379, 696, 380, 696, 380, 696, 405, 1746, 380, 1772, 379, 697, 379, 697, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 379, 1773, 379, 696, 379, 698, 378, 696, 406, 671, 379, 696, 380, 696, 379, 697, 379, 697, 405, 670, 380, 696, 379, 697, 379, 697, 379, 697, 406, 670, 404, 671, 379, 697, 378, 697, 380, 696, 379, 697, 379, 697, 379, 696, 380, 697, 379, 696, 380, 696, 379, 697, 379, 695, 380, 697, 405, 671, 379, 696, 380, 696, 379, 697, 379, 1773, 379, 1772, 379, 1772, 380, 1772, 379, 1773, 379, 696, 380, 696, 379, 697, 379, 697, 379, 696, 380, 696, 405, 671, 379, 697, 379, 696, 380, 696, 379, 697, 379, 697, 404, 672, 379, 696, 379, 698, 379, 696, 379, 1772, 380, 696, 380, 696, 379, 698, 404, 670, 380, 696, 379, 696, 380, 697, 379, 696, 379, 697, 379, 697, 380, 696, 379, 696, 380, 697, 405, 670, 405, 671, 379, 697, 379, 696, 380, 696, 379, 696, 380, 697, 378, 698, 379, 697, 378, 697, 379, 697, 379, 696, 405, 671, 379, 1772, 380, 697, 379, 1772, 379, 1772, 380, 696, 380, 1771, 380, 1772, 379, 1773, 379} // LOW
const uint16_t ir_code_fan[4][91] = {
{8976, 4498, 559, 551, 584, 550, 560, 1677, 586, 550, 584, 1652, 585, 551, 560, 575, 585, 568, 559, 576, 585, 551, 585, 550, 584, 552, 559, 1677, 584, 1653, 560, 1677, 585, 1669, 584, 551, 560, 576, 559, 576, 584, 554, 583, 550, 584, 551, 585, 551, 585, 567, 561, 575, 584, 551, 560, 576, 584, 551, 585, 550, 560, 576, 584, 551, 560, 593, 560, 576, 584, 550, 585, 551, 584, 551, 584, 552, 584, 551, 584, 551, 560, 598, 559, 576, 585, 1652, 583, 1654, 559, 565, 559}, // AUTO
{8990, 4500, 530, 579, 557, 578, 557, 1680, 557, 578, 557, 1680, 557, 579, 557, 578, 557, 595, 557, 579, 557, 578, 557, 579, 556, 1680, 558, 1679, 557, 1680, 558, 1680, 556, 1697, 558, 577, 558, 579, 555, 579, 558, 578, 557, 578, 557, 578, 557, 579, 556, 596, 557, 579, 556, 579, 557, 578, 557, 579, 556, 579, 557, 579, 556, 579, 557, 595, 557, 578, 558, 578, 557, 579, 556, 579, 557, 579, 556, 578, 557, 579, 557, 600, 557, 579, 556, 1680, 557, 579, 557, 1668, 557}, // HIGH
{8977, 4497, 508, 601, 533, 602, 535, 1702, 534, 602, 533, 1703, 535, 601, 534, 602, 533, 619, 534, 601, 533, 603, 533, 1703, 534, 602, 533, 1704, 533, 1704, 534, 1702, 534, 1721, 533, 601, 534, 602, 534, 602, 533, 602, 533, 602, 534, 601, 536, 600, 534, 618, 534, 602, 534, 601, 534, 602, 533, 601, 534, 602, 534, 602, 533, 602, 533, 619, 534, 602, 533, 602, 533, 602, 533, 603, 533, 602, 534, 602, 534, 601, 533, 624, 534, 602, 533, 1703, 534, 603, 534, 588, 533}, // MED
{8976, 4505, 506, 602, 534, 601, 534, 1703, 533, 603, 533, 1705, 532, 602, 534, 602, 533, 619, 534, 601, 533, 603, 533, 1704, 533, 1704, 533, 1703, 533, 1705, 533, 1704, 533, 1720, 534, 602, 533, 602, 534, 601, 534, 602, 533, 602, 534, 601, 534, 603, 532, 620, 532, 603, 532, 604, 532, 602, 534, 602, 532, 603, 534, 602, 533, 602, 534, 618, 534, 601, 534, 602, 534, 602, 534, 600, 534, 602, 533, 602, 534, 602, 533, 624, 534, 602, 533, 602, 534, 1703, 533, 1692, 534} // LOW
};
const uint16_t ir_code_off[407] = {5044, 2129, 408, 1744, 406, 670, 380, 697, 404, 671, 405, 1746, 380, 696, 405, 671, 406, 670, 405, 671, 405, 1746, 406, 670, 405, 1747, 406, 1745, 406, 670, 405, 1746, 405, 1746, 407, 1745, 405, 1746, 406, 1746, 380, 696, 380, 1771, 380, 696, 405, 671, 380, 695, 406, 670, 407, 670, 379, 696, 407, 1744, 380, 696, 380, 695, 407, 1746, 405, 670, 406, 670, 405, 671, 406, 1744, 381, 696, 406, 669, 405, 671, 380, 696, 405, 671, 406, 670, 405, 670, 380, 696, 407, 669, 405, 670, 407, 668, 381, 696, 406, 670, 405, 670, 406, 1746, 407, 1744, 406, 1745, 381, 696, 405, 670, 407, 1745, 406, 669, 407, 29355, 5069, 2104, 406, 1745, 380, 696, 380, 696, 380, 696, 380, 1771, 406, 670, 379, 697, 406, 669, 405, 671, 406, 1745, 381, 695, 380, 1772, 405, 1746, 407, 669, 380, 1771, 407, 1745, 406, 1745, 434, 1718, 406, 1745, 381, 695, 380, 1771, 381, 695, 406, 670, 406, 670, 406, 670, 405, 671, 379, 696, 403, 1749, 406, 670, 406, 669, 407, 1745, 405, 671, 410, 664, 406, 671, 407, 669, 405, 670, 380, 696, 406, 670, 406, 670, 406, 669, 407, 1745, 380, 1772, 405, 670, 380, 696, 380, 1771, 380, 1772, 380, 1772, 405, 670, 407, 669, 406, 670, 380, 695, 380, 696, 405, 671, 406, 670, 379, 696, 407, 669, 406, 671, 405, 669, 380, 696, 380, 696, 406, 669, 408, 1744, 381, 695, 406, 670, 406, 669, 381, 695, 381, 695, 380, 696, 380, 696, 405, 671, 405, 672, 378, 696, 406, 670, 380, 696, 379, 696, 406, 670, 406, 669, 389, 687, 380, 696, 380, 696, 380, 695, 406, 1746, 407, 669, 380, 1771, 406, 670, 380, 1772, 405, 670, 407, 669, 406, 1745, 407, 1745, 380, 1771, 380, 1771, 381, 1771, 381, 1771, 380, 696, 406, 669, 407, 669, 405, 671, 380, 695, 406, 670, 380, 696, 405, 670, 381, 696, 380, 696, 379, 696, 405, 671, 380, 695, 381, 695, 381, 695, 380, 1772, 379, 697, 379, 696, 406, 670, 380, 695, 406, 671, 405, 670, 382, 693, 408, 668, 406, 670, 380, 696, 406, 670, 380, 695, 382, 695, 404, 671, 406, 670, 406, 669, 380, 699, 377, 696, 380, 695, 407, 669, 380, 696, 380, 696, 380, 696, 406, 670, 380, 695, 380, 696, 380, 696, 406, 1744, 381, 1771, 407, 669, 380, 696, 380, 1771, 381, 1771, 381, 694, 406};
const uint16_t ir_code_off[91] = {9004, 4475, 559, 552, 583, 578, 557, 1680, 557, 554, 582, 578, 557, 553, 582, 553, 583, 569, 583, 552, 584, 1679, 558, 552, 583, 578, 557, 1680, 557, 1655, 582, 1680, 557, 1697, 557, 553, 582, 578, 558, 577, 558, 578, 558, 552, 583, 578, 557, 579, 557, 569, 583, 553, 583, 578, 557, 552, 584, 577, 558, 553, 582, 553, 582, 553, 583, 594, 557, 579, 557, 579, 556, 552, 584, 579, 557, 578, 557, 552, 584, 578, 557, 600, 557, 1653, 584, 552, 584, 1679, 558, 539, 584};
size_t getInfraredCode(uint8_t mode, uint8_t fan_speed, uint8_t temperature_index, const uint16_t **codePtr)
{
@ -98,14 +93,104 @@ size_t getInfraredCode(uint8_t mode, uint8_t fan_speed, uint8_t temperature_inde
{
case 0: // Off
*codePtr = &(ir_code_off[0]);
return 407;
return 91;
case 1: // Fan Only
*codePtr = &(ir_code_fan[fan_speed][0]);
return 407;
return 91;
case 2: // Cool
*codePtr = &(ir_code_cool[fan_speed][temperature_index][0]);
return 407;
return 91;
default: // Invalid mode
return 0;
}
}
}
#endif
#if AC_TYPE == AC_TYPE_CEILING
const uint16_t ir_code_cool_low[17][359] = {
{5125, 2082, 439, 1723, 440, 641, 439, 641, 440, 642, 439, 1722, 440, 640, 440, 642, 439, 641, 440, 641, 440, 1722, 440, 641, 439, 1723, 440, 1721, 440, 641, 440, 1722, 439, 1722, 440, 1722, 439, 1723, 440, 1721, 440, 642, 439, 1722, 440, 641, 439, 642, 440, 641, 439, 642, 440, 640, 441, 640, 440, 1722, 440, 1721, 441, 641, 439, 641, 440, 642, 439, 641, 440, 641, 440, 1722, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 440, 642, 440, 641, 440, 640, 440, 641, 440, 641, 440, 1722, 439, 1722, 440, 1722, 440, 1721, 441, 640, 440, 641, 441, 640, 440, 29354, 5144, 2081, 441, 1721, 440, 642, 439, 641, 440, 641, 440, 1722, 439, 641, 440, 641, 440, 641, 440, 640, 441, 1722, 439, 641, 440, 1722, 439, 1723, 440, 641, 440, 1721, 440, 1722, 440, 1722, 439, 1723, 438, 1723, 441, 640, 440, 1722, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 1722, 440, 1722, 440, 642, 439, 642, 438, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 642, 439, 642, 439, 1722, 416, 1746, 439, 642, 440, 641, 439, 1723, 439, 1722, 440, 1722, 439, 641, 440, 642, 439, 642, 439, 641, 440, 642, 438, 642, 439, 642, 439, 642, 439, 641, 440, 1722, 438, 643, 439, 643, 466, 614, 439, 642, 439, 1722, 440, 641, 415, 666, 439, 642, 439, 642, 439, 642, 438, 642, 439, 643, 426, 654, 439, 643, 414, 666, 438, 643, 466, 615, 467, 613, 439, 642, 416, 666, 415, 665, 416, 665, 438, 643, 439, 641, 417, 1745, 440, 1722, 439, 1723, 415, 666, 415, 666, 415, 665, 415, 666, 440, 1722, 416, 665, 438, 1723, 416, 665, 467, 1695, 415, 666, 416, 665, 416, 665, 415, 666, 415, 666, 465, 615, 416, 666, 414, 666, 416, 665, 415, 666, 415, 665, 415, 667, 414, 666, 415, 666, 415, 666, 439, 642, 415, 1747, 415, 665, 416, 665, 466, 1696, 415, 666, 466, 615, 466, 614, 416, 1747, 438, 1723, 415, 1747, 415, 1746, 416},
{5125, 2083, 440, 1721, 440, 641, 440, 641, 440, 641, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 641, 439, 1723, 439, 1723, 439, 642, 438, 1722, 441, 1721, 440, 1722, 439, 1723, 440, 1721, 440, 642, 439, 1723, 439, 641, 439, 642, 440, 641, 439, 642, 439, 642, 439, 641, 440, 1721, 441, 1722, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 1723, 440, 641, 439, 642, 439, 642, 439, 642, 439, 645, 436, 641, 439, 642, 440, 641, 439, 642, 439, 642, 440, 640, 440, 641, 440, 641, 439, 641, 440, 1723, 439, 1722, 439, 1723, 440, 1722, 439, 642, 439, 641, 440, 641, 440, 29356, 5142, 2082, 439, 1722, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 641, 440, 641, 440, 642, 439, 641, 440, 1722, 440, 641, 439, 1722, 440, 1721, 441, 641, 440, 1722, 440, 1722, 439, 1722, 440, 1721, 441, 1721, 440, 642, 439, 1722, 440, 641, 439, 642, 439, 641, 440, 642, 439, 641, 440, 641, 440, 1722, 439, 1723, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 440, 640, 440, 641, 440, 641, 440, 1721, 441, 1721, 440, 641, 440, 641, 440, 1722, 440, 1722, 439, 1722, 440, 641, 440, 641, 440, 641, 440, 640, 441, 641, 439, 641, 440, 641, 440, 642, 439, 641, 440, 1722, 440, 641, 439, 642, 440, 640, 440, 641, 440, 1722, 439, 642, 439, 641, 439, 643, 439, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 439, 641, 440, 642, 439, 641, 440, 641, 439, 642, 440, 641, 440, 640, 444, 638, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 642, 439, 641, 440, 641, 440, 1721, 440, 642, 439, 1722, 440, 642, 439, 1722, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 642, 439, 641, 440, 641, 440, 640, 440, 641, 440, 642, 439, 641, 441, 640, 440, 641, 440, 641, 439, 642, 440, 1722, 440, 640, 440, 641, 440, 1722, 440, 1722, 439, 641, 440, 641, 440, 1721, 441, 1722, 439, 1722, 440, 1722, 440},
{5126, 2081, 439, 1724, 439, 641, 439, 642, 440, 640, 440, 1722, 441, 640, 440, 641, 440, 641, 439, 642, 440, 1722, 439, 641, 416, 1746, 439, 1722, 441, 641, 439, 1722, 440, 1722, 440, 1721, 441, 1722, 440, 1721, 440, 641, 439, 1722, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 441, 640, 440, 1722, 440, 1721, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 441, 640, 440, 641, 440, 641, 440, 641, 439, 641, 441, 640, 440, 641, 467, 614, 440, 640, 469, 613, 440, 640, 440, 642, 440, 640, 441, 640, 440, 1722, 440, 1721, 440, 1722, 441, 1721, 440, 640, 441, 640, 442, 640, 440, 29372, 5125, 2082, 439, 1722, 441, 640, 441, 640, 441, 640, 441, 1721, 440, 640, 441, 641, 440, 640, 440, 641, 440, 1722, 440, 641, 439, 1722, 441, 1721, 440, 641, 439, 1722, 440, 1722, 440, 1722, 441, 1721, 440, 1722, 440, 641, 440, 1721, 441, 640, 440, 641, 440, 641, 439, 642, 440, 640, 440, 642, 439, 1722, 440, 1722, 440, 641, 416, 665, 440, 640, 417, 665, 439, 641, 440, 641, 440, 640, 441, 641, 439, 641, 441, 639, 441, 641, 439, 1723, 468, 1694, 439, 642, 469, 611, 441, 1721, 468, 1694, 439, 1723, 439, 642, 440, 640, 440, 641, 441, 640, 441, 640, 439, 641, 440, 641, 440, 641, 440, 641, 440, 1722, 440, 640, 441, 640, 441, 641, 440, 641, 439, 1722, 440, 641, 439, 641, 468, 613, 441, 640, 441, 641, 439, 641, 440, 644, 437, 640, 440, 641, 440, 641, 439, 642, 440, 641, 440, 641, 440, 641, 441, 640, 440, 641, 439, 642, 440, 640, 440, 642, 440, 1721, 439, 642, 440, 641, 439, 1722, 440, 641, 440, 641, 441, 640, 440, 1722, 439, 642, 440, 1722, 439, 641, 440, 1722, 440, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 642, 439, 640, 441, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 441, 639, 439, 642, 440, 1722, 440, 641, 440, 641, 440, 1722, 440, 640, 440, 1721, 440, 643, 439, 1721, 441, 1722, 439, 1721, 441, 1722, 439},
{5125, 2082, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 1721, 441, 641, 440, 641, 440, 640, 441, 641, 439, 1722, 439, 642, 440, 1722, 439, 1723, 440, 640, 440, 1722, 440, 1722, 439, 1723, 439, 1722, 441, 1721, 440, 641, 440, 1721, 440, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 640, 440, 1722, 440, 1722, 439, 642, 439, 642, 440, 640, 441, 640, 441, 640, 440, 1722, 440, 641, 439, 641, 440, 641, 441, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 641, 441, 641, 439, 641, 440, 642, 439, 641, 440, 1721, 442, 1720, 440, 1722, 440, 1722, 439, 642, 439, 642, 439, 641, 440, 29373, 5125, 2082, 439, 1723, 439, 641, 440, 641, 439, 642, 439, 1723, 439, 642, 440, 640, 441, 640, 440, 641, 441, 1721, 439, 641, 440, 1722, 440, 1722, 440, 641, 440, 1722, 439, 1723, 439, 1722, 440, 1722, 440, 1722, 439, 641, 440, 1722, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 642, 439, 1722, 439, 1723, 439, 641, 440, 641, 440, 641, 440, 640, 441, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 1722, 439, 1722, 440, 640, 442, 640, 440, 1721, 441, 1721, 440, 1722, 440, 641, 439, 642, 440, 640, 441, 641, 439, 641, 440, 642, 439, 641, 440, 641, 440, 641, 440, 1722, 439, 642, 440, 640, 440, 641, 440, 641, 440, 1721, 441, 640, 440, 642, 439, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 440, 642, 439, 641, 440, 641, 440, 641, 439, 641, 441, 641, 440, 640, 441, 641, 439, 642, 439, 641, 440, 641, 440, 1721, 440, 641, 441, 1721, 440, 641, 440, 641, 439, 642, 440, 1721, 440, 641, 440, 1722, 439, 641, 441, 1722, 439, 641, 440, 642, 439, 641, 440, 641, 440, 641, 439, 642, 467, 614, 440, 640, 440, 641, 440, 641, 440, 641, 440, 640, 441, 641, 439, 642, 440, 641, 440, 640, 440, 1722, 439, 642, 440, 641, 440, 1721, 440, 1723, 439, 1722, 440, 641, 440, 1722, 439, 1723, 440, 1721, 440, 1721, 441},
{5124, 2083, 439, 1722, 440, 641, 440, 642, 439, 641, 440, 1722, 440, 640, 440, 641, 440, 642, 439, 641, 439, 1722, 441, 641, 439, 1722, 440, 1722, 440, 641, 440, 1722, 439, 1723, 439, 1722, 439, 1723, 439, 1722, 468, 614, 439, 1722, 440, 641, 439, 642, 440, 640, 440, 641, 441, 640, 440, 641, 440, 1722, 440, 1722, 438, 642, 440, 642, 439, 642, 439, 641, 467, 614, 440, 1721, 440, 641, 440, 641, 440, 642, 439, 641, 440, 641, 439, 642, 439, 641, 440, 641, 440, 640, 441, 642, 439, 641, 440, 641, 440, 641, 440, 641, 438, 1723, 439, 1723, 439, 1722, 468, 1695, 439, 642, 459, 622, 439, 641, 440, 29372, 5125, 2082, 440, 1722, 439, 642, 439, 642, 439, 641, 440, 1722, 440, 641, 440, 641, 466, 615, 440, 641, 440, 1721, 440, 641, 440, 1722, 440, 1722, 439, 642, 439, 1723, 439, 1722, 440, 1721, 440, 1722, 440, 1722, 440, 641, 440, 1721, 441, 641, 440, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 1722, 440, 641, 440, 641, 440, 641, 440, 640, 441, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 467, 1694, 440, 1721, 440, 644, 465, 614, 439, 1722, 440, 1722, 440, 1721, 440, 641, 440, 641, 441, 640, 440, 641, 440, 641, 441, 640, 440, 641, 439, 642, 439, 641, 440, 1722, 440, 641, 440, 641, 439, 641, 441, 640, 440, 1722, 440, 641, 440, 641, 439, 642, 440, 641, 440, 640, 441, 641, 439, 641, 440, 641, 439, 642, 439, 642, 439, 642, 440, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 1722, 440, 1721, 440, 642, 440, 1722, 439, 641, 440, 642, 439, 641, 440, 1722, 439, 642, 439, 1722, 440, 641, 440, 1721, 441, 641, 440, 640, 441, 640, 441, 640, 440, 642, 440, 641, 439, 641, 440, 641, 440, 641, 440, 640, 441, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 1722, 441, 640, 439, 643, 438, 1723, 440, 641, 440, 640, 440, 1722, 468, 1694, 440, 1722, 439, 1723, 439, 1722, 440},
{5125, 2082, 440, 1722, 440, 641, 440, 640, 440, 641, 440, 1722, 440, 641, 439, 642, 440, 641, 439, 641, 440, 1723, 438, 642, 440, 1722, 438, 1724, 439, 641, 440, 1722, 439, 1723, 439, 1722, 440, 1722, 440, 1722, 439, 642, 439, 1723, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 1723, 439, 1722, 439, 642, 440, 641, 440, 640, 440, 642, 439, 641, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 1722, 441, 1722, 439, 1722, 439, 1723, 439, 642, 439, 642, 439, 641, 440, 29355, 5142, 2082, 440, 1722, 440, 641, 440, 641, 440, 642, 440, 1720, 440, 642, 439, 641, 440, 642, 439, 641, 440, 1721, 441, 641, 439, 1723, 442, 1719, 440, 641, 440, 1722, 439, 1722, 440, 1722, 440, 1722, 440, 1721, 441, 641, 439, 1722, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 1722, 440, 1721, 440, 642, 438, 643, 439, 641, 440, 641, 440, 641, 440, 640, 440, 642, 440, 640, 440, 641, 440, 642, 439, 641, 440, 1722, 440, 1721, 441, 640, 440, 642, 439, 1721, 441, 1721, 441, 1722, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 440, 641, 440, 640, 441, 641, 439, 641, 440, 1722, 440, 640, 441, 641, 439, 641, 440, 641, 441, 1721, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 441, 640, 440, 641, 440, 641, 440, 640, 440, 641, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 439, 641, 441, 641, 440, 640, 441, 640, 440, 640, 441, 640, 441, 1721, 441, 1721, 441, 644, 436, 642, 439, 641, 440, 1722, 440, 641, 440, 1721, 440, 641, 440, 1722, 440, 641, 440, 641, 439, 641, 441, 640, 440, 641, 440, 641, 440, 640, 440, 642, 440, 641, 440, 640, 440, 641, 440, 641, 441, 640, 440, 641, 441, 640, 440, 641, 440, 1721, 440, 641, 440, 641, 440, 1721, 441, 1721, 440, 641, 441, 1721, 441, 1721, 440, 1721, 440, 1722, 440, 1722, 440},
{5125, 2082, 440, 1721, 440, 642, 439, 641, 440, 641, 440, 1722, 439, 642, 439, 641, 440, 641, 440, 641, 440, 1722, 439, 642, 439, 1722, 440, 1722, 440, 642, 439, 1721, 440, 1723, 439, 1722, 440, 1722, 439, 1722, 440, 641, 440, 1722, 440, 641, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 1721, 441, 641, 439, 641, 440, 642, 439, 641, 440, 641, 440, 1721, 440, 641, 440, 641, 441, 640, 440, 642, 438, 643, 438, 642, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 1722, 439, 1722, 440, 1722, 440, 1721, 440, 641, 440, 641, 440, 641, 439, 29373, 5126, 2081, 440, 1722, 439, 641, 440, 642, 440, 641, 439, 1722, 439, 642, 440, 641, 440, 641, 440, 641, 439, 1722, 440, 641, 440, 1722, 439, 1723, 439, 642, 439, 1722, 440, 1722, 439, 1722, 441, 1721, 440, 1722, 440, 641, 440, 1721, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 1722, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 641, 440, 640, 441, 641, 469, 612, 440, 641, 440, 641, 439, 642, 439, 641, 440, 1723, 439, 1721, 441, 641, 439, 642, 439, 1722, 440, 1722, 440, 1722, 439, 641, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 439, 642, 439, 641, 440, 641, 440, 1722, 440, 641, 440, 641, 440, 640, 441, 640, 441, 1721, 440, 642, 439, 641, 440, 640, 441, 640, 441, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 642, 439, 1722, 440, 641, 440, 1722, 440, 1722, 439, 641, 440, 641, 439, 641, 441, 1722, 440, 640, 440, 1722, 440, 641, 440, 1722, 440, 641, 440, 640, 440, 642, 440, 640, 440, 641, 440, 640, 441, 641, 440, 641, 440, 641, 440, 640, 440, 642, 439, 641, 441, 639, 441, 640, 441, 640, 440, 642, 439, 1722, 440, 641, 440, 641, 440, 1721, 440, 642, 440, 1721, 440, 1722, 440, 1722, 440, 1721, 440, 1721, 441, 1722, 440},
{5124, 2083, 440, 1721, 440, 641, 440, 641, 439, 641, 440, 1723, 439, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 642, 439, 1722, 440, 1721, 439, 643, 439, 1722, 440, 1722, 440, 1722, 440, 1721, 441, 1721, 440, 641, 440, 1722, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 439, 642, 441, 1720, 440, 1722, 440, 641, 440, 641, 440, 640, 440, 642, 439, 642, 439, 1722, 440, 641, 440, 641, 440, 640, 440, 642, 440, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 441, 641, 440, 641, 439, 640, 441, 1721, 440, 1722, 441, 1721, 440, 1722, 440, 641, 440, 641, 439, 641, 440, 29355, 5143, 2083, 438, 1722, 440, 641, 440, 642, 439, 641, 440, 1722, 440, 640, 440, 642, 439, 641, 440, 641, 440, 1721, 440, 642, 439, 1722, 440, 1722, 442, 639, 439, 1723, 440, 1721, 440, 1722, 440, 1722, 439, 1722, 440, 642, 439, 1722, 440, 641, 440, 641, 439, 642, 439, 642, 440, 641, 439, 641, 440, 1722, 439, 1723, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 1722, 440, 641, 440, 641, 439, 1722, 440, 1722, 440, 1722, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 642, 440, 640, 440, 641, 440, 641, 439, 1722, 440, 642, 439, 641, 440, 642, 439, 641, 440, 640, 440, 641, 440, 641, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 641, 439, 642, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 1722, 439, 1723, 440, 641, 439, 645, 436, 641, 441, 1721, 440, 641, 440, 1722, 440, 641, 439, 1723, 440, 640, 440, 641, 439, 642, 440, 641, 439, 641, 440, 642, 439, 642, 438, 642, 440, 641, 440, 641, 440, 641, 439, 641, 440, 642, 439, 641, 440, 641, 469, 612, 440, 1722, 440, 641, 439, 641, 440, 1722, 440, 1722, 440, 1721, 440, 1722, 440, 1722, 440, 1721, 441, 1721, 441, 1721, 440},
{5125, 2082, 439, 1722, 440, 641, 440, 642, 439, 641, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 641, 439, 1722, 440, 1722, 440, 641, 440, 1721, 440, 1722, 440, 1722, 440, 1722, 440, 1722, 439, 641, 440, 1722, 440, 641, 440, 640, 441, 641, 439, 641, 441, 641, 440, 640, 440, 1722, 440, 1722, 440, 640, 441, 641, 439, 641, 440, 641, 440, 641, 439, 1722, 441, 641, 439, 641, 440, 641, 440, 641, 440, 640, 440, 642, 440, 641, 440, 640, 440, 641, 439, 642, 440, 641, 440, 641, 440, 640, 441, 641, 439, 1722, 440, 1722, 440, 1721, 440, 1722, 440, 641, 440, 641, 439, 642, 440, 29372, 5125, 2083, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 641, 440, 641, 440, 641, 439, 641, 441, 1721, 440, 641, 440, 1722, 440, 1721, 441, 641, 439, 1722, 440, 1722, 440, 1721, 440, 1722, 440, 1721, 441, 641, 439, 1722, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 439, 642, 439, 1722, 440, 1722, 440, 641, 440, 640, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 641, 439, 641, 440, 1722, 440, 1721, 440, 641, 440, 642, 439, 1721, 441, 1722, 440, 1722, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 440, 641, 439, 641, 440, 641, 440, 642, 439, 1722, 440, 641, 440, 640, 441, 640, 440, 642, 439, 1721, 441, 641, 440, 641, 440, 640, 441, 640, 440, 641, 440, 641, 440, 642, 439, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 1722, 439, 1723, 440, 1721, 440, 1722, 440, 641, 439, 642, 440, 641, 439, 1722, 440, 641, 439, 1723, 439, 642, 439, 1722, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 642, 439, 641, 440, 641, 440, 642, 439, 642, 439, 641, 439, 642, 439, 641, 440, 642, 438, 642, 440, 641, 439, 1723, 439, 642, 439, 642, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439},
{5125, 2082, 440, 1722, 440, 641, 439, 642, 439, 641, 440, 1722, 440, 642, 440, 640, 440, 641, 440, 642, 438, 1722, 441, 641, 439, 1723, 439, 1722, 439, 642, 440, 1722, 439, 1722, 440, 1723, 439, 1721, 441, 1721, 440, 641, 440, 1722, 439, 641, 441, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 1722, 439, 1723, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 1723, 439, 641, 440, 641, 439, 642, 440, 641, 440, 640, 440, 642, 439, 641, 441, 640, 440, 641, 440, 641, 440, 640, 441, 641, 440, 640, 440, 641, 440, 1722, 440, 1722, 440, 1721, 440, 1722, 440, 641, 444, 637, 440, 640, 440, 29373, 5125, 2081, 441, 1722, 439, 641, 440, 641, 440, 641, 440, 1722, 440, 641, 440, 640, 440, 641, 440, 641, 440, 1722, 440, 641, 440, 1721, 440, 1722, 440, 641, 440, 1721, 440, 1723, 439, 1722, 440, 1721, 440, 1723, 440, 641, 439, 1722, 440, 641, 440, 641, 439, 641, 440, 642, 439, 641, 440, 642, 439, 1722, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 640, 440, 642, 440, 640, 440, 641, 440, 641, 440, 1722, 440, 1721, 441, 641, 439, 641, 440, 1721, 441, 1722, 439, 1722, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 440, 642, 438, 642, 442, 639, 440, 641, 440, 1722, 440, 640, 440, 641, 440, 641, 440, 641, 440, 1721, 441, 641, 439, 641, 440, 642, 439, 641, 440, 641, 440, 641, 440, 642, 438, 641, 441, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 441, 640, 440, 1722, 440, 641, 440, 641, 440, 1721, 441, 640, 440, 1722, 439, 642, 440, 1722, 439, 641, 441, 640, 440, 641, 439, 641, 440, 642, 439, 642, 439, 642, 439, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 641, 440, 641, 440, 1722, 440, 641, 439, 642, 439, 1722, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439},
{5143, 2082, 439, 1723, 440, 641, 439, 642, 440, 640, 440, 1722, 440, 641, 440, 641, 440, 640, 440, 642, 439, 1722, 439, 642, 439, 1722, 440, 1722, 440, 641, 440, 1722, 439, 1722, 440, 1722, 440, 1722, 440, 1722, 439, 641, 440, 1722, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 1722, 440, 1722, 439, 642, 439, 641, 439, 643, 439, 641, 440, 640, 441, 1721, 440, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 641, 440, 641, 440, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 1722, 440, 1722, 439, 1723, 439, 1700, 463, 640, 440, 641, 440, 641, 440, 29352, 5145, 2082, 440, 1722, 439, 641, 440, 642, 439, 641, 440, 1722, 440, 641, 440, 641, 440, 640, 441, 641, 438, 1723, 439, 642, 440, 1722, 440, 1722, 439, 641, 439, 1723, 439, 1722, 441, 1721, 440, 1722, 440, 1721, 441, 641, 439, 1722, 439, 641, 441, 641, 439, 642, 439, 641, 440, 642, 439, 641, 440, 1722, 440, 1721, 440, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 642, 440, 641, 440, 641, 440, 641, 439, 641, 440, 1722, 440, 1721, 441, 640, 440, 641, 440, 1722, 440, 1721, 441, 1721, 441, 640, 469, 612, 439, 642, 439, 642, 440, 641, 439, 642, 438, 642, 439, 642, 440, 641, 440, 1721, 440, 642, 439, 641, 439, 642, 440, 642, 438, 1723, 439, 641, 440, 642, 439, 642, 438, 642, 439, 642, 468, 613, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 439, 642, 439, 641, 439, 642, 440, 641, 439, 642, 439, 1722, 439, 643, 439, 641, 439, 643, 439, 1722, 439, 642, 439, 642, 438, 1723, 439, 643, 438, 1723, 439, 642, 440, 1721, 439, 642, 440, 641, 440, 641, 415, 665, 440, 641, 440, 642, 438, 642, 439, 642, 439, 642, 440, 641, 439, 642, 415, 666, 438, 643, 415, 665, 439, 643, 466, 614, 439, 1723, 415, 666, 438, 642, 416, 1746, 439, 642, 439, 1723, 438, 642, 437, 645, 438, 642, 426, 655, 416, 664, 440},
{5125, 2082, 440, 1722, 439, 641, 440, 641, 440, 641, 440, 1722, 440, 641, 440, 641, 439, 641, 440, 641, 441, 1721, 440, 641, 439, 1723, 439, 1723, 439, 641, 440, 1722, 439, 1723, 439, 1723, 439, 1722, 439, 1722, 439, 642, 440, 1722, 440, 641, 440, 641, 439, 642, 439, 641, 441, 640, 440, 641, 440, 1722, 440, 1721, 441, 641, 439, 641, 441, 640, 442, 639, 440, 641, 440, 1721, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 1722, 440, 1721, 441, 1721, 441, 1721, 440, 641, 440, 641, 440, 641, 440, 29371, 5126, 2082, 439, 1722, 440, 642, 439, 641, 440, 641, 440, 1721, 441, 641, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 641, 440, 1722, 439, 1722, 440, 641, 440, 1721, 441, 1721, 440, 1722, 440, 1722, 440, 1721, 440, 641, 440, 1721, 441, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 1722, 439, 1723, 439, 642, 439, 642, 440, 640, 440, 641, 440, 640, 441, 641, 440, 641, 439, 641, 441, 640, 441, 640, 440, 641, 439, 1722, 440, 1722, 440, 642, 439, 641, 440, 1722, 440, 1722, 439, 1722, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 642, 439, 641, 440, 641, 440, 1722, 439, 641, 440, 640, 441, 641, 440, 641, 439, 1722, 441, 641, 440, 640, 440, 642, 439, 641, 440, 641, 439, 642, 439, 642, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 440, 640, 441, 640, 440, 642, 439, 641, 440, 641, 440, 641, 439, 642, 440, 1721, 440, 641, 441, 640, 440, 1722, 440, 641, 440, 641, 440, 1721, 440, 641, 440, 1722, 439, 642, 439, 1723, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 641, 440, 642, 439, 641, 439, 642, 440, 1721, 440, 643, 438, 641, 440, 1722, 440, 1721, 441, 1721, 441, 641, 439, 641, 440, 641, 440, 641, 440, 641, 439},
{5101, 2105, 416, 1746, 416, 666, 415, 665, 415, 666, 415, 1747, 415, 666, 415, 666, 415, 666, 415, 665, 416, 1745, 416, 665, 416, 1746, 416, 1746, 415, 666, 415, 1746, 416, 1746, 416, 1746, 415, 1747, 415, 1746, 416, 665, 415, 1747, 415, 666, 415, 666, 415, 666, 414, 666, 416, 665, 415, 666, 415, 1746, 416, 1747, 415, 665, 416, 665, 415, 666, 415, 666, 415, 665, 416, 1746, 465, 616, 415, 666, 416, 664, 416, 665, 416, 666, 415, 665, 415, 667, 415, 665, 415, 666, 415, 666, 415, 666, 415, 665, 416, 666, 415, 665, 415, 1747, 415, 1746, 416, 1747, 415, 1745, 416, 666, 415, 665, 416, 666, 415, 29397, 5100, 2107, 415, 1746, 416, 666, 414, 666, 415, 666, 415, 1746, 416, 666, 414, 667, 415, 665, 416, 665, 415, 1746, 416, 666, 415, 1746, 416, 1746, 415, 665, 416, 1747, 415, 1746, 415, 1747, 415, 1747, 415, 1746, 416, 665, 416, 1746, 415, 666, 415, 665, 416, 666, 415, 665, 416, 666, 415, 665, 415, 1747, 415, 1747, 465, 616, 414, 667, 414, 666, 415, 666, 415, 666, 415, 666, 415, 665, 416, 665, 416, 665, 415, 666, 415, 666, 415, 1747, 465, 1696, 416, 665, 416, 665, 415, 1746, 416, 1746, 416, 1746, 416, 665, 415, 666, 415, 666, 415, 666, 415, 665, 415, 666, 415, 666, 415, 666, 415, 666, 415, 1746, 416, 665, 415, 666, 415, 666, 415, 666, 415, 1746, 416, 666, 414, 667, 414, 666, 415, 666, 464, 617, 415, 665, 415, 666, 416, 666, 415, 665, 415, 666, 415, 666, 415, 666, 415, 666, 415, 666, 419, 661, 416, 665, 415, 666, 415, 666, 415, 666, 415, 1746, 416, 1746, 415, 666, 415, 666, 415, 1746, 416, 666, 415, 665, 416, 1746, 416, 665, 415, 1747, 415, 665, 416, 1746, 416, 665, 415, 666, 465, 616, 415, 665, 416, 665, 415, 667, 415, 665, 415, 667, 414, 666, 415, 665, 416, 666, 464, 617, 414, 666, 465, 616, 415, 666, 415, 666, 465, 1696, 416, 665, 416, 665, 438, 1724, 415, 666, 415, 666, 415, 1746, 416, 665, 415, 666, 415, 666, 415, 666, 465},
{5125, 2082, 440, 1722, 440, 639, 441, 642, 440, 640, 440, 1722, 440, 642, 439, 640, 441, 641, 440, 640, 441, 1721, 440, 641, 440, 1721, 441, 1721, 440, 641, 440, 1722, 440, 1722, 439, 1722, 440, 1722, 440, 1721, 440, 641, 441, 1721, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 440, 640, 441, 1721, 440, 1722, 440, 641, 440, 640, 440, 642, 440, 640, 441, 640, 440, 1721, 441, 640, 440, 641, 441, 641, 439, 641, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 1722, 441, 1720, 441, 1721, 440, 641, 441, 640, 441, 640, 440, 29371, 5126, 2082, 441, 1721, 440, 643, 438, 640, 441, 640, 441, 1721, 440, 641, 441, 640, 440, 641, 439, 641, 440, 1722, 440, 640, 441, 1721, 441, 1721, 440, 641, 441, 1721, 440, 1721, 441, 1721, 441, 1721, 440, 1722, 467, 614, 440, 1721, 440, 640, 441, 641, 440, 640, 441, 641, 439, 641, 441, 640, 440, 1721, 441, 1721, 441, 640, 441, 641, 440, 640, 440, 641, 440, 641, 439, 641, 442, 640, 440, 641, 440, 640, 441, 640, 440, 641, 440, 1721, 441, 1721, 441, 640, 440, 641, 441, 1721, 440, 1721, 441, 1721, 441, 640, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 1721, 441, 640, 441, 640, 440, 641, 440, 642, 439, 1722, 440, 640, 441, 641, 440, 641, 439, 640, 441, 641, 440, 640, 442, 640, 440, 640, 441, 640, 440, 641, 441, 640, 441, 640, 440, 641, 440, 640, 441, 641, 440, 640, 440, 642, 439, 641, 440, 640, 441, 640, 440, 642, 440, 1721, 441, 640, 440, 1722, 440, 641, 440, 641, 440, 1721, 440, 641, 440, 1721, 441, 640, 441, 1722, 439, 640, 441, 641, 440, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 640, 441, 641, 467, 613, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 441, 640, 440, 642, 439, 1722, 440, 1722, 440, 640, 440, 1722, 440, 641, 441, 639, 441, 640, 441, 640, 440},
{5125, 2082, 438, 1724, 415, 666, 438, 643, 438, 642, 439, 1723, 415, 666, 438, 642, 415, 667, 438, 642, 438, 1724, 439, 642, 438, 1724, 466, 1695, 439, 642, 439, 1723, 438, 1723, 439, 1723, 439, 1723, 440, 1721, 440, 642, 438, 1723, 415, 666, 438, 642, 440, 642, 438, 642, 439, 642, 415, 666, 415, 1746, 439, 1724, 438, 643, 438, 642, 438, 643, 467, 614, 466, 615, 438, 1723, 439, 642, 440, 641, 439, 642, 467, 614, 415, 665, 439, 642, 439, 642, 439, 642, 438, 643, 415, 666, 439, 642, 439, 641, 440, 642, 438, 643, 439, 1722, 440, 1722, 438, 1723, 438, 1724, 439, 642, 415, 666, 439, 641, 439, 29374, 5123, 2083, 439, 1723, 439, 642, 440, 641, 440, 641, 439, 1723, 439, 642, 439, 641, 440, 641, 440, 641, 439, 1723, 439, 642, 439, 1722, 440, 1722, 440, 641, 439, 1723, 439, 1722, 440, 1722, 439, 1722, 440, 1722, 439, 642, 440, 1722, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 642, 440, 1722, 468, 1694, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 440, 641, 439, 642, 438, 643, 439, 641, 439, 642, 440, 641, 439, 1723, 439, 1722, 440, 641, 439, 642, 439, 1722, 440, 1722, 440, 1722, 439, 642, 439, 642, 440, 641, 439, 641, 440, 641, 468, 613, 439, 642, 439, 641, 440, 642, 439, 1722, 439, 643, 438, 642, 439, 642, 439, 642, 439, 1723, 438, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 438, 642, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 642, 439, 1722, 439, 642, 438, 1723, 440, 641, 439, 642, 431, 1732, 467, 613, 439, 1723, 438, 642, 440, 1722, 439, 642, 439, 642, 439, 642, 439, 641, 416, 665, 439, 642, 440, 641, 439, 642, 439, 642, 439, 642, 439, 641, 440, 642, 414, 667, 438, 642, 439, 641, 440, 642, 439, 1722, 440, 641, 440, 641, 439, 1723, 438, 642, 440, 1723, 439, 1722, 439, 642, 439, 641, 440, 642, 439, 641, 439},
{5126, 2082, 440, 1721, 441, 640, 440, 640, 441, 641, 440, 1721, 441, 641, 440, 640, 441, 640, 441, 640, 440, 1721, 441, 641, 440, 1721, 441, 1721, 440, 641, 440, 1721, 441, 1721, 440, 1721, 441, 1722, 440, 1721, 441, 640, 441, 1721, 440, 640, 441, 641, 440, 640, 441, 640, 440, 641, 440, 641, 440, 1721, 440, 1722, 441, 640, 441, 640, 440, 641, 440, 640, 441, 641, 440, 1721, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 440, 641, 440, 641, 440, 640, 441, 640, 441, 641, 440, 640, 442, 639, 440, 641, 440, 1722, 440, 1721, 441, 1721, 441, 1720, 441, 641, 440, 640, 441, 640, 441, 29371, 5126, 2082, 440, 1721, 441, 640, 440, 641, 441, 640, 440, 1721, 441, 641, 440, 640, 441, 640, 440, 641, 440, 1722, 440, 640, 441, 1721, 441, 1721, 440, 641, 440, 1722, 440, 1721, 441, 1721, 440, 1722, 440, 1721, 441, 640, 441, 1721, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 441, 639, 441, 1722, 440, 1721, 441, 640, 441, 640, 441, 640, 440, 641, 440, 640, 441, 640, 441, 640, 441, 640, 441, 640, 440, 640, 441, 641, 440, 1721, 441, 1721, 440, 641, 441, 640, 440, 1721, 442, 1720, 441, 1721, 441, 640, 441, 640, 440, 640, 441, 640, 441, 641, 440, 640, 440, 641, 440, 641, 440, 641, 440, 1720, 441, 641, 440, 641, 441, 640, 440, 640, 441, 1721, 441, 640, 441, 640, 440, 641, 441, 640, 440, 640, 441, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 640, 441, 640, 441, 1721, 440, 1722, 440, 640, 441, 1721, 441, 641, 440, 640, 440, 1722, 440, 641, 440, 1721, 441, 640, 441, 1720, 441, 641, 440, 640, 441, 640, 441, 640, 441, 640, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 441, 640, 440, 641, 440, 640, 441, 641, 440, 640, 441, 640, 441, 1721, 441, 641, 439, 641, 440, 1721, 442, 1720, 440, 1722, 440, 1721, 441, 640, 441, 640, 441, 640, 441, 640, 440},
{5125, 2082, 440, 1721, 441, 640, 440, 641, 440, 641, 440, 1721, 440, 642, 439, 642, 439, 641, 440, 641, 440, 1722, 440, 640, 441, 1721, 441, 1721, 440, 641, 440, 1721, 441, 1721, 441, 1721, 440, 1721, 441, 1721, 441, 640, 440, 1722, 440, 640, 441, 640, 441, 641, 440, 640, 440, 641, 440, 641, 440, 1721, 441, 1721, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 440, 1720, 441, 1722, 440, 1721, 441, 1721, 440, 641, 440, 641, 440, 641, 439, 29373, 5124, 2082, 440, 1722, 440, 641, 440, 641, 440, 641, 440, 1722, 440, 641, 440, 640, 440, 641, 440, 641, 440, 1722, 440, 640, 441, 1722, 440, 1721, 440, 641, 440, 1721, 440, 1722, 440, 1722, 440, 1722, 440, 1722, 439, 641, 440, 1722, 440, 640, 441, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 1722, 440, 1722, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 642, 440, 640, 440, 641, 440, 641, 440, 641, 440, 1721, 441, 1721, 440, 641, 440, 641, 439, 1722, 441, 1721, 440, 1722, 440, 641, 440, 641, 440, 641, 440, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1722, 440, 640, 441, 640, 440, 641, 440, 641, 440, 1721, 440, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 440, 1722, 439, 1722, 440, 1722, 439, 642, 440, 1721, 441, 640, 440, 641, 440, 1721, 440, 641, 440, 1722, 440, 642, 439, 1722, 439, 641, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 440, 641, 440, 641, 440, 640, 440, 641, 440, 641, 440, 642, 440, 640, 440, 641, 440, 641, 440, 1721, 440, 641, 440, 641, 440, 1722, 440, 640, 441, 640, 441, 640, 441, 1721, 440, 641, 439, 642, 440, 640, 440}};
const uint16_t ir_code_cool_high[17][359] = {
{5102, 2105, 438, 1723, 415, 666, 417, 665, 438, 642, 438, 1723, 440, 642, 437, 643, 415, 666, 439, 642, 416, 1746, 416, 665, 414, 1748, 415, 1746, 438, 643, 438, 1724, 417, 1745, 415, 1746, 416, 1746, 438, 1723, 417, 664, 416, 1746, 416, 665, 415, 666, 439, 642, 419, 662, 415, 666, 413, 667, 439, 1723, 416, 1745, 415, 666, 415, 666, 417, 664, 417, 664, 417, 664, 417, 1745, 414, 666, 416, 665, 416, 665, 417, 664, 415, 666, 415, 666, 415, 666, 417, 663, 416, 665, 416, 665, 438, 643, 415, 666, 417, 664, 440, 640, 438, 1725, 415, 1746, 416, 1745, 417, 1746, 437, 644, 414, 666, 416, 665, 414, 29399, 5099, 2107, 416, 1745, 416, 666, 414, 666, 439, 642, 415, 1747, 439, 642, 415, 665, 416, 665, 414, 667, 417, 1745, 437, 644, 439, 1723, 415, 1747, 436, 644, 437, 1725, 414, 1747, 440, 1723, 437, 1725, 414, 1747, 438, 643, 417, 1745, 416, 664, 438, 644, 415, 665, 439, 641, 439, 642, 416, 665, 416, 1746, 416, 1746, 439, 642, 437, 643, 416, 665, 416, 665, 415, 666, 414, 667, 416, 665, 414, 667, 437, 643, 414, 667, 415, 665, 416, 1746, 416, 1747, 437, 644, 415, 666, 415, 1746, 413, 1752, 436, 1722, 438, 643, 416, 665, 416, 664, 439, 642, 416, 665, 438, 643, 415, 666, 437, 643, 439, 643, 416, 1746, 438, 642, 439, 641, 415, 667, 415, 665, 416, 1747, 438, 642, 438, 643, 417, 664, 439, 642, 416, 665, 419, 661, 440, 641, 439, 642, 416, 665, 414, 667, 415, 667, 439, 641, 415, 665, 417, 665, 414, 666, 440, 641, 438, 643, 438, 643, 438, 642, 417, 1746, 466, 1695, 439, 1723, 438, 644, 437, 643, 438, 642, 438, 643, 416, 1745, 416, 666, 415, 1746, 439, 643, 439, 1722, 416, 1746, 416, 665, 438, 643, 439, 642, 415, 665, 416, 664, 439, 642, 414, 667, 439, 643, 414, 666, 416, 666, 439, 642, 437, 643, 415, 666, 438, 643, 417, 664, 438, 1723, 438, 643, 417, 663, 417, 1746, 414, 667, 416, 665, 415, 665, 438, 1724, 439, 642, 440, 641, 439, 642, 417},
{5124, 2083, 438, 1724, 438, 643, 438, 643, 438, 643, 437, 1724, 439, 643, 437, 643, 438, 644, 437, 643, 438, 1723, 439, 643, 437, 1724, 438, 1724, 438, 643, 438, 1724, 438, 1723, 438, 1723, 439, 1724, 438, 1723, 438, 643, 438, 1724, 437, 644, 437, 644, 437, 643, 438, 643, 438, 643, 438, 643, 437, 1724, 438, 1724, 437, 643, 438, 644, 437, 644, 436, 646, 436, 644, 436, 1725, 436, 646, 435, 645, 412, 669, 436, 644, 437, 645, 411, 670, 435, 646, 435, 673, 408, 645, 412, 670, 410, 670, 435, 647, 432, 648, 415, 665, 412, 1750, 411, 1752, 410, 1750, 411, 1779, 386, 667, 434, 649, 408, 671, 410, 29401, 5096, 2112, 410, 1752, 410, 671, 410, 671, 409, 671, 411, 1751, 431, 678, 382, 671, 410, 671, 434, 646, 411, 1752, 409, 671, 410, 1752, 410, 1753, 409, 670, 410, 1779, 383, 1779, 395, 1740, 410, 1750, 411, 1752, 410, 671, 410, 1752, 409, 673, 408, 671, 410, 671, 410, 671, 410, 672, 409, 670, 410, 1780, 382, 1753, 409, 671, 410, 671, 410, 670, 411, 670, 411, 671, 409, 671, 410, 671, 422, 659, 410, 670, 411, 672, 408, 671, 417, 1746, 409, 1779, 383, 671, 409, 673, 411, 1777, 382, 1752, 410, 1779, 383, 672, 408, 672, 409, 672, 409, 697, 384, 670, 411, 672, 409, 671, 410, 671, 410, 671, 422, 1766, 383, 670, 411, 671, 410, 670, 410, 699, 382, 1753, 409, 671, 419, 661, 411, 672, 409, 670, 411, 671, 409, 671, 410, 671, 410, 671, 410, 671, 410, 671, 410, 670, 413, 668, 410, 672, 409, 671, 410, 670, 411, 671, 410, 670, 411, 670, 411, 670, 410, 671, 410, 671, 410, 671, 410, 1751, 411, 670, 410, 672, 409, 671, 411, 1751, 410, 671, 410, 1751, 410, 672, 409, 1753, 409, 1751, 418, 663, 411, 670, 413, 668, 413, 668, 410, 672, 433, 646, 411, 672, 409, 671, 409, 671, 410, 672, 432, 649, 409, 671, 410, 671, 410, 670, 413, 669, 429, 1733, 409, 671, 411, 671, 409, 1751, 412, 1778, 382, 670, 411, 671, 410, 1779, 383, 671, 410, 670, 411, 670, 424},
{5122, 2086, 436, 1725, 436, 646, 436, 644, 436, 645, 412, 1751, 414, 666, 436, 645, 436, 645, 435, 646, 435, 1726, 436, 644, 414, 1748, 437, 1726, 421, 660, 436, 1725, 436, 1726, 436, 1725, 437, 1726, 435, 1726, 429, 652, 411, 1751, 435, 645, 436, 645, 437, 644, 436, 645, 437, 644, 436, 645, 436, 1726, 436, 1725, 436, 645, 436, 644, 437, 644, 437, 644, 437, 644, 437, 1725, 436, 644, 437, 645, 436, 644, 436, 645, 436, 646, 435, 645, 425, 656, 436, 644, 437, 644, 413, 668, 437, 644, 437, 644, 437, 643, 437, 644, 437, 1726, 435, 1725, 438, 1724, 437, 1725, 437, 644, 437, 644, 437, 644, 437, 29374, 5124, 2084, 437, 1725, 437, 644, 437, 643, 438, 643, 437, 1725, 437, 645, 435, 645, 437, 643, 438, 643, 438, 1725, 436, 644, 437, 1725, 437, 1724, 437, 644, 438, 1724, 438, 1723, 437, 1725, 438, 1725, 436, 1724, 438, 643, 438, 1724, 437, 644, 437, 644, 437, 644, 437, 643, 438, 643, 438, 643, 438, 1723, 438, 1725, 436, 645, 437, 643, 438, 643, 438, 643, 437, 644, 437, 644, 438, 643, 438, 643, 437, 643, 438, 643, 437, 644, 441, 1721, 437, 1725, 437, 643, 438, 643, 438, 1724, 437, 1725, 437, 1724, 437, 645, 437, 644, 437, 643, 437, 644, 437, 644, 436, 645, 436, 644, 437, 644, 437, 645, 437, 1723, 439, 642, 437, 645, 437, 643, 438, 644, 437, 1724, 437, 643, 437, 644, 438, 644, 437, 643, 437, 644, 438, 643, 438, 642, 439, 643, 437, 643, 437, 644, 438, 643, 438, 643, 438, 643, 437, 643, 438, 643, 438, 644, 437, 643, 438, 643, 437, 644, 437, 1724, 438, 644, 437, 643, 438, 1724, 437, 644, 437, 644, 438, 643, 437, 1725, 436, 644, 438, 1724, 438, 642, 438, 1725, 437, 1724, 437, 644, 437, 644, 438, 642, 438, 643, 438, 644, 436, 645, 437, 643, 438, 643, 437, 643, 438, 644, 437, 643, 438, 643, 438, 643, 437, 643, 439, 643, 437, 1725, 437, 643, 438, 643, 437, 1725, 438, 643, 437, 1724, 439, 645, 435, 1723, 439, 643, 438, 643, 437, 644, 438},
{5142, 2083, 438, 1723, 439, 642, 438, 643, 438, 643, 438, 1723, 438, 644, 437, 643, 438, 644, 437, 643, 438, 1723, 438, 644, 437, 1724, 438, 1723, 438, 644, 438, 1723, 438, 1724, 438, 1724, 438, 1723, 438, 1724, 438, 643, 438, 1724, 438, 643, 437, 643, 438, 643, 438, 644, 437, 643, 437, 644, 438, 1724, 437, 1724, 438, 643, 438, 643, 438, 643, 438, 643, 438, 642, 438, 1724, 438, 644, 436, 644, 438, 643, 437, 644, 437, 643, 438, 644, 437, 643, 437, 644, 438, 643, 437, 644, 437, 643, 438, 643, 438, 643, 438, 643, 438, 1724, 437, 1724, 438, 1725, 437, 1724, 437, 644, 437, 643, 438, 643, 438, 29374, 5123, 2084, 439, 1723, 437, 643, 438, 644, 438, 643, 437, 1724, 437, 644, 438, 644, 437, 643, 437, 644, 437, 1724, 438, 643, 438, 1724, 438, 1723, 438, 643, 438, 1725, 436, 1725, 437, 1725, 437, 1724, 438, 1725, 436, 643, 439, 1723, 438, 643, 439, 642, 438, 643, 437, 644, 438, 643, 438, 643, 437, 1725, 437, 1724, 438, 643, 437, 644, 438, 643, 437, 643, 438, 644, 437, 643, 438, 643, 438, 642, 439, 643, 437, 644, 437, 643, 439, 1723, 438, 1724, 437, 643, 439, 643, 438, 1723, 438, 1724, 438, 1723, 439, 642, 439, 643, 437, 644, 436, 644, 438, 643, 438, 643, 437, 644, 437, 644, 438, 642, 438, 1724, 438, 643, 438, 643, 438, 642, 438, 643, 438, 1724, 438, 643, 438, 643, 438, 643, 438, 642, 438, 643, 438, 643, 438, 644, 436, 644, 438, 643, 437, 644, 437, 644, 437, 644, 437, 643, 438, 643, 438, 643, 438, 643, 438, 643, 437, 644, 437, 644, 437, 643, 438, 1724, 438, 643, 438, 1725, 437, 642, 438, 643, 438, 643, 438, 1724, 438, 643, 438, 1723, 438, 643, 438, 1724, 437, 1724, 438, 644, 437, 643, 438, 643, 437, 644, 437, 644, 437, 643, 438, 644, 437, 644, 437, 643, 438, 644, 436, 646, 436, 642, 439, 643, 438, 642, 438, 643, 438, 1724, 437, 644, 438, 643, 437, 1724, 438, 1724, 437, 1724, 439, 643, 437, 1724, 438, 643, 438, 643, 438, 643, 437},
{5124, 2083, 438, 1724, 438, 643, 438, 642, 439, 642, 439, 1723, 438, 643, 438, 643, 438, 642, 439, 643, 438, 1723, 439, 642, 438, 1724, 438, 1724, 438, 643, 438, 1723, 438, 1724, 438, 1724, 438, 1723, 438, 1723, 438, 644, 438, 1723, 439, 642, 439, 642, 438, 643, 439, 642, 438, 643, 438, 643, 438, 1723, 439, 1723, 438, 643, 438, 643, 438, 643, 438, 642, 439, 642, 438, 1724, 438, 643, 438, 643, 438, 643, 437, 643, 439, 642, 439, 642, 439, 642, 438, 643, 438, 643, 438, 643, 438, 642, 439, 642, 438, 643, 438, 642, 440, 1722, 439, 1723, 438, 1724, 438, 1723, 438, 644, 437, 643, 439, 642, 438, 29358, 5140, 2083, 438, 1724, 438, 643, 438, 642, 439, 643, 438, 1723, 438, 643, 438, 643, 438, 643, 438, 643, 438, 1723, 439, 642, 438, 1724, 438, 1724, 437, 644, 438, 1723, 438, 1723, 438, 1725, 438, 1722, 439, 1724, 438, 643, 438, 1723, 439, 642, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 438, 1723, 438, 1724, 438, 642, 439, 643, 438, 642, 439, 643, 438, 642, 438, 644, 437, 642, 439, 643, 438, 643, 438, 642, 439, 642, 438, 1724, 438, 1724, 438, 643, 438, 643, 437, 1724, 438, 1724, 438, 1723, 439, 642, 438, 643, 438, 643, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 438, 643, 438, 1723, 439, 643, 438, 643, 437, 644, 437, 643, 438, 1724, 438, 643, 438, 643, 437, 643, 438, 643, 438, 643, 439, 642, 438, 643, 438, 642, 439, 642, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 437, 644, 438, 642, 439, 642, 438, 643, 438, 643, 438, 1724, 438, 1723, 439, 642, 438, 1724, 438, 643, 438, 642, 438, 644, 437, 1724, 438, 643, 438, 1724, 437, 644, 438, 1723, 438, 1724, 438, 643, 438, 643, 437, 643, 438, 643, 439, 642, 438, 643, 438, 643, 437, 644, 437, 643, 439, 642, 439, 642, 438, 643, 438, 643, 438, 644, 436, 644, 438, 1723, 438, 644, 437, 643, 438, 1724, 437, 643, 439, 643, 437, 1724, 438, 1724, 437, 644, 437, 644, 438, 642, 439},
{5095, 2113, 409, 1753, 409, 672, 408, 674, 407, 673, 408, 1780, 382, 673, 408, 673, 408, 671, 409, 672, 409, 1752, 410, 672, 409, 1779, 382, 1755, 408, 672, 409, 1752, 409, 1752, 409, 1753, 409, 1753, 409, 1752, 410, 672, 408, 1780, 382, 672, 409, 671, 410, 671, 410, 671, 409, 672, 410, 670, 410, 1753, 409, 1779, 383, 671, 410, 671, 409, 674, 407, 699, 382, 672, 409, 1779, 383, 672, 408, 672, 409, 699, 382, 672, 409, 671, 410, 671, 409, 672, 409, 672, 409, 672, 409, 672, 409, 671, 410, 671, 410, 672, 408, 698, 383, 1753, 409, 1751, 411, 1753, 409, 1752, 409, 672, 409, 672, 409, 672, 409, 29402, 5095, 2113, 409, 1753, 409, 672, 409, 671, 410, 671, 409, 1780, 382, 672, 409, 670, 410, 673, 409, 672, 408, 1752, 410, 674, 407, 1754, 408, 1752, 410, 671, 409, 1779, 383, 1753, 409, 1751, 411, 1751, 410, 1751, 411, 671, 410, 1752, 410, 670, 410, 671, 434, 647, 410, 671, 410, 672, 409, 671, 410, 1752, 409, 1751, 411, 671, 410, 671, 410, 671, 434, 647, 411, 670, 434, 645, 412, 670, 412, 669, 411, 670, 410, 670, 411, 670, 411, 1751, 411, 1751, 410, 670, 435, 646, 435, 1727, 411, 1750, 429, 1734, 411, 670, 410, 670, 435, 647, 434, 646, 411, 670, 434, 646, 435, 646, 436, 645, 436, 645, 416, 1745, 437, 645, 435, 645, 412, 670, 435, 645, 413, 1748, 437, 644, 436, 645, 437, 644, 437, 644, 436, 645, 436, 644, 437, 644, 437, 645, 436, 644, 437, 644, 438, 643, 437, 643, 438, 644, 437, 644, 437, 644, 437, 644, 436, 644, 437, 644, 437, 644, 437, 643, 437, 644, 438, 1724, 438, 1723, 439, 643, 437, 643, 439, 643, 437, 1724, 437, 644, 438, 1723, 438, 643, 438, 1724, 438, 1724, 438, 642, 438, 644, 437, 643, 438, 643, 439, 642, 438, 643, 438, 643, 438, 643, 437, 643, 439, 642, 438, 643, 438, 643, 439, 642, 438, 643, 438, 643, 438, 1723, 439, 642, 438, 643, 438, 1724, 438, 1723, 439, 642, 438, 1723, 439, 1723, 439, 643, 437, 644, 438, 642, 439},
{5125, 2082, 439, 1723, 439, 641, 440, 642, 439, 642, 439, 1722, 439, 642, 440, 641, 439, 642, 439, 642, 438, 1723, 439, 643, 438, 1723, 439, 1722, 439, 642, 440, 1722, 439, 1722, 440, 1723, 439, 1722, 439, 1723, 439, 642, 438, 1723, 439, 643, 442, 638, 439, 642, 439, 641, 440, 641, 440, 642, 439, 1721, 440, 1723, 439, 642, 439, 641, 439, 643, 438, 642, 439, 642, 439, 1723, 439, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439, 643, 439, 641, 439, 642, 439, 642, 438, 643, 439, 1722, 440, 1722, 439, 1723, 439, 1722, 440, 641, 439, 642, 439, 642, 439, 29372, 5126, 2082, 438, 1724, 439, 642, 438, 642, 439, 642, 439, 1723, 439, 642, 439, 642, 439, 642, 439, 641, 440, 1722, 439, 642, 439, 1722, 440, 1722, 439, 643, 438, 1723, 439, 1722, 439, 1723, 439, 1723, 439, 1722, 439, 643, 438, 1723, 439, 642, 441, 640, 439, 642, 439, 641, 439, 642, 439, 643, 438, 1723, 439, 1722, 439, 643, 439, 642, 438, 642, 439, 642, 439, 642, 439, 642, 439, 643, 438, 642, 438, 642, 440, 641, 439, 642, 439, 1723, 439, 1722, 439, 642, 439, 642, 439, 1723, 439, 1722, 439, 1723, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 642, 439, 643, 438, 642, 439, 642, 439, 1723, 439, 641, 439, 642, 439, 642, 439, 643, 438, 1722, 439, 643, 438, 643, 438, 642, 439, 642, 439, 642, 439, 641, 439, 643, 439, 641, 440, 642, 439, 641, 440, 641, 439, 642, 438, 643, 439, 642, 438, 643, 439, 642, 439, 641, 439, 642, 439, 641, 440, 1723, 438, 642, 439, 1722, 440, 1722, 439, 642, 439, 642, 439, 642, 440, 1722, 439, 642, 439, 1722, 439, 643, 438, 1722, 440, 1722, 440, 642, 439, 642, 439, 641, 439, 645, 437, 642, 439, 641, 439, 642, 439, 642, 439, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 1722, 439, 642, 439, 642, 439, 1723, 439, 641, 439, 1723, 440, 1721, 440, 1722, 440, 642, 439, 641, 440, 641, 439},
{5125, 2082, 440, 1722, 439, 641, 440, 642, 439, 641, 440, 1722, 440, 641, 440, 641, 440, 641, 439, 642, 439, 1722, 440, 641, 440, 1722, 439, 1723, 439, 641, 440, 1722, 439, 1723, 439, 1723, 439, 1722, 439, 1723, 439, 642, 439, 1722, 440, 641, 439, 641, 440, 642, 439, 641, 440, 641, 440, 641, 439, 1722, 441, 1721, 440, 642, 439, 641, 440, 641, 439, 642, 440, 641, 439, 1722, 440, 641, 440, 642, 439, 642, 438, 642, 439, 641, 440, 642, 439, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 642, 438, 1722, 441, 1722, 439, 1722, 440, 1722, 439, 642, 439, 641, 440, 641, 440, 29372, 5124, 2083, 439, 1723, 438, 643, 438, 643, 438, 642, 439, 1723, 438, 643, 438, 643, 438, 642, 439, 642, 439, 1723, 438, 643, 438, 1723, 439, 1723, 439, 642, 439, 1723, 438, 1724, 438, 1724, 437, 1724, 438, 1723, 439, 643, 437, 1724, 438, 643, 438, 643, 438, 643, 438, 643, 438, 642, 439, 642, 439, 1723, 438, 1723, 438, 644, 438, 642, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 438, 642, 438, 644, 437, 643, 438, 643, 438, 1723, 438, 1724, 438, 643, 438, 642, 439, 1724, 438, 1723, 439, 1723, 438, 643, 439, 642, 438, 643, 438, 643, 438, 642, 438, 644, 438, 642, 438, 643, 438, 643, 438, 1723, 439, 643, 438, 642, 439, 642, 438, 643, 439, 1722, 439, 643, 438, 642, 438, 643, 438, 643, 438, 643, 438, 643, 438, 642, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 438, 643, 438, 642, 439, 642, 439, 642, 438, 643, 438, 643, 438, 1723, 439, 1723, 438, 1723, 439, 642, 439, 642, 442, 638, 440, 1723, 438, 643, 438, 1723, 439, 642, 438, 1723, 439, 1724, 438, 642, 439, 642, 438, 644, 438, 642, 438, 644, 437, 643, 438, 642, 439, 642, 439, 642, 439, 643, 438, 642, 438, 643, 438, 643, 438, 642, 439, 642, 439, 1722, 439, 643, 438, 643, 438, 1723, 439, 1723, 439, 1723, 438, 1724, 438, 1723, 439, 642, 438, 642, 440, 641, 439},
{5140, 2083, 437, 1724, 438, 644, 437, 643, 438, 643, 438, 1723, 438, 644, 438, 642, 439, 642, 438, 643, 438, 1723, 439, 643, 437, 1724, 438, 1723, 439, 643, 438, 1723, 438, 1724, 438, 1723, 439, 1723, 439, 1723, 439, 642, 439, 1723, 438, 642, 439, 642, 439, 642, 439, 642, 438, 643, 439, 642, 439, 1722, 439, 1723, 439, 642, 438, 643, 438, 642, 439, 642, 439, 643, 438, 1723, 439, 642, 439, 642, 438, 642, 439, 642, 439, 642, 438, 643, 439, 642, 438, 643, 438, 643, 438, 642, 439, 643, 438, 642, 439, 642, 438, 643, 438, 1723, 439, 1723, 439, 1723, 439, 1722, 440, 641, 439, 643, 437, 643, 439, 29359, 5139, 2082, 439, 1723, 439, 642, 439, 641, 439, 642, 439, 1723, 438, 643, 439, 642, 439, 642, 438, 644, 437, 1723, 439, 642, 439, 1723, 439, 1722, 439, 642, 439, 1723, 439, 1723, 438, 1723, 439, 1722, 439, 1724, 438, 643, 438, 1723, 439, 643, 438, 642, 439, 642, 439, 641, 439, 642, 439, 643, 438, 1723, 439, 1722, 440, 642, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 642, 438, 642, 440, 641, 439, 642, 439, 1723, 439, 1722, 440, 642, 439, 641, 439, 1723, 439, 1723, 438, 1723, 439, 642, 439, 642, 440, 641, 438, 643, 439, 642, 439, 642, 439, 642, 439, 641, 439, 642, 439, 1723, 439, 642, 439, 642, 439, 641, 439, 642, 439, 1723, 439, 642, 439, 641, 440, 641, 439, 643, 438, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439, 642, 439, 643, 439, 641, 440, 641, 439, 642, 439, 641, 439, 642, 439, 641, 441, 641, 439, 642, 439, 1722, 440, 1722, 440, 1721, 440, 1722, 440, 642, 439, 641, 439, 643, 438, 1723, 439, 642, 439, 1722, 440, 641, 439, 1722, 440, 1723, 439, 642, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439, 1722, 440, 642, 439, 642, 439, 1722, 440, 641, 440, 642, 438, 643, 438, 642, 439, 1723, 439, 642, 439, 641, 440},
{5153, 2055, 440, 1721, 440, 641, 468, 613, 440, 641, 468, 1694, 439, 642, 439, 641, 440, 640, 441, 641, 440, 1721, 441, 641, 440, 1721, 440, 1722, 440, 641, 440, 1722, 440, 1721, 440, 1722, 440, 1721, 441, 1721, 440, 641, 440, 1721, 440, 642, 439, 641, 441, 640, 440, 641, 440, 641, 440, 641, 439, 1722, 440, 1723, 439, 642, 439, 641, 440, 641, 440, 641, 439, 641, 440, 1723, 439, 641, 439, 642, 439, 642, 440, 640, 440, 641, 440, 641, 440, 640, 442, 640, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 1721, 440, 1723, 439, 1722, 440, 1722, 439, 641, 440, 641, 440, 641, 468, 29343, 5126, 2082, 440, 1721, 440, 642, 440, 640, 440, 640, 441, 1721, 441, 641, 440, 640, 440, 641, 440, 641, 440, 1722, 440, 640, 440, 1721, 441, 1722, 440, 641, 440, 1721, 440, 1722, 440, 1722, 440, 1721, 440, 1722, 440, 641, 439, 1722, 440, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 1722, 439, 1722, 440, 641, 440, 640, 440, 642, 440, 641, 440, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 440, 641, 441, 1721, 440, 1721, 441, 641, 440, 641, 440, 1721, 440, 1721, 441, 1721, 440, 642, 440, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 440, 641, 440, 1722, 440, 641, 440, 640, 440, 642, 440, 640, 439, 1723, 440, 641, 440, 641, 440, 641, 440, 640, 440, 641, 440, 642, 439, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 642, 439, 641, 440, 642, 438, 641, 441, 641, 439, 642, 439, 641, 440, 1722, 440, 641, 439, 641, 440, 1722, 440, 641, 440, 1721, 440, 642, 439, 1723, 439, 1722, 439, 642, 440, 641, 439, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 642, 438, 643, 439, 641, 441, 1721, 440, 641, 440, 641, 440, 1721, 440, 1722, 439, 642, 439, 642, 439, 642, 439, 1723, 438, 642, 439, 642, 439},
{5139, 2083, 439, 1723, 438, 643, 438, 643, 438, 643, 438, 1723, 439, 643, 437, 643, 438, 643, 439, 642, 438, 1723, 438, 644, 438, 1723, 439, 1722, 439, 643, 438, 1723, 438, 1724, 438, 1723, 438, 1725, 437, 1724, 438, 643, 438, 1723, 438, 644, 438, 642, 438, 643, 438, 642, 439, 642, 439, 642, 439, 1723, 439, 1722, 440, 642, 438, 643, 438, 642, 438, 643, 439, 642, 439, 1722, 440, 642, 438, 643, 438, 643, 438, 642, 439, 642, 439, 642, 439, 643, 438, 642, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 438, 643, 439, 1723, 438, 1723, 439, 1722, 439, 1723, 439, 642, 439, 642, 439, 643, 438, 29372, 5126, 2081, 440, 1722, 440, 642, 439, 641, 439, 642, 440, 1721, 440, 642, 439, 641, 440, 641, 440, 641, 440, 1721, 440, 642, 439, 1723, 439, 1722, 440, 641, 439, 1722, 441, 1721, 440, 1722, 440, 1722, 439, 1722, 440, 641, 440, 1722, 443, 638, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 440, 1721, 440, 1722, 440, 642, 439, 641, 440, 641, 439, 642, 439, 641, 440, 643, 438, 641, 440, 641, 440, 641, 439, 642, 440, 641, 439, 1722, 440, 1721, 441, 641, 439, 642, 439, 1722, 440, 1722, 440, 1721, 440, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 642, 440, 641, 439, 642, 439, 642, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 641, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 642, 438, 642, 439, 642, 439, 642, 439, 642, 438, 643, 438, 643, 438, 641, 440, 642, 439, 642, 439, 641, 439, 643, 438, 643, 439, 1721, 440, 642, 438, 643, 439, 642, 438, 1723, 439, 642, 439, 642, 439, 1722, 440, 641, 439, 1723, 439, 642, 439, 1723, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 642, 439, 1723, 438, 642, 440, 642, 438, 1723, 439, 642, 438, 1723, 440, 642, 438, 642, 439, 1723, 438, 643, 438, 643, 439},
{5124, 2083, 439, 1723, 439, 642, 439, 642, 438, 642, 440, 1722, 439, 643, 438, 642, 439, 643, 438, 642, 439, 1723, 439, 642, 439, 1722, 439, 1723, 438, 643, 439, 1723, 438, 1723, 438, 1723, 440, 1722, 439, 1724, 438, 642, 439, 1722, 439, 643, 438, 643, 438, 643, 439, 641, 438, 643, 439, 642, 438, 1724, 438, 1723, 439, 642, 439, 642, 439, 642, 439, 641, 439, 643, 438, 1723, 439, 642, 439, 642, 439, 642, 439, 642, 438, 643, 438, 643, 438, 642, 439, 642, 438, 643, 439, 642, 439, 642, 439, 642, 438, 643, 438, 642, 439, 1722, 439, 1723, 439, 1723, 439, 1723, 439, 642, 439, 642, 438, 642, 440, 29355, 5142, 2082, 439, 1722, 440, 643, 438, 642, 439, 642, 438, 1723, 439, 642, 439, 643, 438, 642, 439, 642, 439, 1722, 439, 643, 438, 1724, 438, 1723, 438, 643, 439, 1722, 439, 1722, 439, 1724, 438, 1723, 439, 1723, 439, 642, 438, 1723, 439, 643, 438, 642, 439, 642, 439, 642, 439, 642, 439, 641, 439, 1723, 439, 1723, 439, 643, 438, 642, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 439, 641, 439, 643, 438, 642, 440, 641, 439, 1723, 439, 1722, 439, 642, 440, 642, 439, 1721, 440, 1723, 439, 1722, 440, 641, 439, 642, 439, 642, 438, 642, 440, 642, 439, 642, 439, 641, 439, 643, 438, 642, 439, 1722, 440, 641, 440, 641, 440, 641, 439, 643, 438, 1723, 439, 642, 438, 643, 439, 641, 440, 642, 438, 642, 440, 641, 439, 642, 439, 642, 438, 643, 439, 642, 438, 642, 439, 642, 439, 642, 439, 642, 438, 643, 438, 643, 438, 643, 439, 641, 439, 642, 439, 642, 439, 1722, 440, 642, 438, 642, 439, 1723, 439, 643, 438, 641, 440, 1722, 439, 642, 439, 1723, 439, 642, 438, 1723, 439, 1723, 439, 642, 439, 642, 439, 642, 439, 642, 438, 643, 438, 643, 438, 642, 439, 642, 439, 642, 439, 642, 439, 642, 438, 642, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 641, 440, 641, 440, 1722, 439, 1723, 439, 1722, 439, 643, 439, 640, 440, 1723, 439, 642, 439, 641, 440},
{5123, 2084, 438, 1724, 438, 642, 438, 644, 438, 642, 438, 1724, 439, 642, 438, 643, 437, 644, 438, 643, 437, 1724, 438, 643, 438, 1724, 437, 1724, 438, 643, 438, 1724, 437, 1725, 437, 1725, 437, 1724, 438, 1723, 438, 643, 439, 1723, 438, 643, 437, 644, 438, 643, 438, 643, 438, 642, 438, 644, 438, 1723, 438, 1724, 438, 643, 437, 644, 437, 643, 438, 643, 438, 643, 438, 1724, 438, 643, 437, 643, 438, 643, 438, 643, 438, 644, 436, 644, 438, 643, 437, 643, 439, 642, 438, 643, 438, 643, 438, 643, 438, 642, 439, 642, 438, 1724, 438, 1724, 437, 1724, 438, 1724, 438, 643, 438, 643, 437, 644, 438, 29373, 5124, 2084, 436, 1726, 437, 644, 437, 643, 438, 644, 437, 1724, 437, 644, 437, 644, 437, 644, 437, 644, 437, 1724, 437, 644, 433, 1729, 437, 1725, 436, 644, 438, 1723, 438, 1725, 437, 1724, 437, 1725, 437, 1724, 438, 644, 437, 1723, 438, 644, 437, 644, 435, 646, 437, 644, 437, 643, 437, 645, 436, 1724, 438, 1725, 437, 644, 437, 643, 438, 643, 437, 644, 437, 644, 437, 644, 437, 643, 438, 643, 438, 643, 438, 643, 437, 644, 438, 1723, 438, 1724, 438, 643, 437, 644, 438, 1724, 437, 1724, 437, 1725, 437, 644, 437, 644, 437, 643, 438, 644, 437, 643, 438, 643, 438, 643, 437, 644, 438, 643, 437, 1725, 436, 644, 438, 643, 438, 643, 437, 643, 438, 1725, 437, 644, 437, 643, 437, 644, 438, 642, 438, 644, 438, 643, 438, 642, 438, 643, 438, 643, 437, 644, 437, 644, 437, 643, 438, 644, 437, 643, 438, 644, 437, 643, 437, 644, 437, 643, 438, 644, 437, 1724, 437, 1726, 436, 644, 437, 643, 438, 1724, 437, 644, 437, 644, 438, 1723, 438, 643, 437, 1725, 438, 643, 438, 1724, 437, 1725, 437, 644, 437, 644, 436, 644, 438, 643, 438, 643, 437, 644, 437, 643, 438, 643, 439, 642, 438, 643, 438, 643, 437, 643, 438, 643, 438, 643, 437, 644, 437, 1724, 438, 644, 437, 644, 437, 1723, 439, 643, 438, 643, 439, 1722, 438, 644, 437, 1724, 413, 668, 438, 643, 437},
{5141, 2084, 438, 1722, 439, 642, 439, 642, 440, 641, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 642, 439, 1722, 439, 642, 439, 1723, 439, 1722, 440, 642, 439, 1722, 439, 1723, 439, 1722, 440, 1722, 439, 1724, 438, 641, 440, 1722, 440, 642, 438, 642, 440, 641, 439, 642, 439, 641, 440, 641, 439, 1723, 440, 1721, 440, 642, 438, 642, 439, 642, 439, 643, 439, 641, 440, 1722, 439, 642, 438, 643, 439, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 642, 439, 641, 440, 641, 439, 642, 439, 642, 439, 1722, 440, 1721, 440, 1722, 440, 1723, 439, 641, 439, 642, 439, 642, 439, 29372, 5126, 2082, 439, 1722, 440, 642, 438, 642, 440, 641, 439, 1723, 439, 642, 439, 642, 439, 642, 438, 642, 439, 1723, 439, 642, 439, 1723, 439, 1722, 439, 642, 439, 1723, 438, 1723, 439, 1723, 440, 1722, 439, 1723, 438, 643, 438, 1723, 439, 642, 438, 643, 439, 642, 438, 643, 438, 642, 439, 642, 439, 1723, 439, 1723, 438, 643, 438, 642, 443, 638, 439, 642, 439, 642, 439, 642, 439, 641, 439, 643, 439, 641, 439, 642, 439, 642, 439, 1722, 439, 1723, 439, 642, 439, 642, 439, 1723, 438, 1723, 439, 1723, 439, 642, 439, 642, 439, 642, 439, 642, 438, 642, 440, 641, 439, 642, 439, 641, 440, 642, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 642, 438, 1723, 439, 642, 439, 642, 439, 642, 439, 641, 439, 643, 439, 641, 439, 643, 438, 642, 439, 642, 439, 642, 438, 643, 439, 642, 438, 643, 439, 641, 439, 642, 439, 642, 439, 642, 438, 643, 439, 642, 438, 642, 440, 641, 440, 1722, 439, 642, 438, 1723, 439, 642, 439, 642, 439, 1723, 438, 642, 440, 1722, 440, 641, 439, 1723, 439, 1723, 438, 643, 438, 642, 439, 642, 439, 643, 438, 642, 439, 642, 439, 641, 439, 642, 440, 641, 439, 642, 438, 643, 439, 642, 438, 642, 439, 643, 438, 642, 439, 1723, 439, 642, 439, 642, 438, 1723, 439, 1723, 439, 642, 439, 1723, 439, 642, 439, 1722, 439, 642, 439, 643, 438},
{5141, 2082, 440, 1722, 440, 641, 439, 641, 440, 642, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 641, 440, 1722, 439, 642, 439, 1722, 440, 1722, 440, 642, 438, 1723, 442, 1719, 440, 1722, 439, 1722, 440, 1722, 440, 641, 440, 1722, 439, 641, 440, 641, 440, 641, 439, 643, 439, 642, 438, 642, 439, 1723, 439, 1722, 439, 643, 438, 642, 439, 642, 439, 641, 439, 643, 439, 1722, 440, 641, 439, 642, 439, 642, 439, 641, 440, 642, 439, 642, 439, 641, 439, 642, 439, 642, 439, 642, 439, 642, 438, 643, 439, 641, 440, 641, 439, 1723, 439, 1722, 439, 1723, 440, 1722, 439, 642, 439, 641, 440, 641, 440, 29373, 5125, 2082, 440, 1722, 439, 642, 439, 641, 440, 641, 440, 1722, 440, 641, 440, 641, 440, 641, 439, 642, 439, 1722, 440, 640, 440, 1722, 441, 1721, 440, 641, 440, 1722, 440, 1722, 439, 1722, 440, 1722, 440, 1721, 440, 641, 440, 1722, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 1722, 440, 1722, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 440, 642, 438, 642, 439, 1722, 440, 1722, 440, 641, 439, 642, 439, 1722, 440, 1722, 440, 1722, 440, 641, 439, 641, 440, 642, 439, 641, 440, 642, 439, 641, 440, 641, 439, 641, 440, 642, 439, 1722, 440, 641, 440, 641, 439, 641, 440, 641, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 642, 439, 641, 440, 642, 439, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 1722, 440, 641, 439, 1722, 440, 642, 439, 1723, 439, 641, 439, 642, 439, 1725, 437, 642, 439, 1722, 440, 641, 439, 1722, 441, 1721, 440, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 438, 1723, 439, 642, 439, 641, 440, 1722, 439, 642, 439, 1723, 439, 1722, 440, 642, 439, 1721, 439, 643, 438, 642, 468},
{5125, 2081, 440, 1722, 440, 641, 439, 642, 440, 641, 439, 1722, 440, 642, 439, 642, 438, 642, 440, 641, 439, 1723, 439, 642, 439, 1722, 440, 1722, 439, 642, 439, 1722, 440, 1722, 439, 1722, 440, 1723, 439, 1722, 440, 641, 439, 1723, 439, 642, 439, 641, 440, 642, 438, 643, 439, 641, 439, 642, 439, 1722, 440, 1722, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 642, 439, 641, 439, 642, 439, 642, 438, 643, 439, 642, 439, 641, 439, 642, 440, 1722, 439, 1722, 440, 1722, 439, 1723, 439, 642, 439, 641, 440, 641, 440, 29373, 5124, 2082, 439, 1723, 439, 642, 439, 642, 439, 642, 439, 1722, 439, 642, 439, 642, 440, 641, 439, 642, 440, 1721, 440, 642, 438, 1722, 440, 1722, 440, 642, 439, 1722, 439, 1723, 439, 1723, 439, 1722, 439, 1723, 439, 642, 439, 1722, 440, 641, 439, 643, 439, 641, 439, 642, 439, 642, 439, 642, 439, 1723, 439, 1722, 439, 642, 439, 642, 439, 642, 439, 641, 440, 642, 438, 642, 439, 642, 439, 641, 440, 641, 439, 643, 439, 641, 439, 1723, 439, 1722, 440, 642, 439, 641, 440, 1722, 439, 1723, 439, 1722, 440, 641, 440, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 642, 439, 645, 436, 641, 439, 1723, 439, 642, 439, 642, 439, 641, 439, 642, 440, 1722, 439, 642, 440, 640, 440, 641, 440, 642, 439, 641, 439, 642, 439, 642, 439, 641, 440, 642, 439, 642, 439, 641, 440, 641, 439, 642, 440, 641, 439, 641, 440, 642, 439, 642, 439, 641, 440, 641, 440, 641, 440, 1721, 440, 1722, 440, 641, 439, 1723, 439, 642, 439, 642, 439, 1722, 440, 641, 439, 1723, 439, 642, 439, 1722, 440, 1722, 440, 641, 439, 642, 439, 642, 439, 642, 439, 641, 440, 641, 440, 641, 439, 642, 439, 642, 439, 641, 440, 641, 440, 642, 439, 642, 439, 641, 439, 642, 440, 1721, 440, 641, 441, 641, 439, 1722, 439, 1722, 440, 1722, 440, 1722, 439, 642, 440, 1721, 440, 641, 440, 641, 440},
{5125, 2082, 440, 1722, 440, 640, 441, 640, 441, 640, 440, 1722, 440, 640, 441, 640, 441, 640, 441, 640, 440, 1721, 441, 642, 439, 1722, 440, 1721, 441, 640, 440, 1722, 440, 1721, 440, 1722, 440, 1721, 441, 1721, 441, 640, 441, 1721, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 440, 1722, 440, 1721, 441, 640, 441, 640, 440, 642, 439, 641, 440, 641, 441, 1720, 441, 640, 440, 641, 441, 640, 440, 640, 441, 640, 441, 640, 440, 641, 441, 640, 440, 641, 440, 641, 440, 640, 441, 640, 441, 641, 440, 641, 440, 1721, 440, 1721, 440, 1722, 440, 1722, 440, 641, 440, 640, 441, 640, 441, 29371, 5126, 2081, 441, 1721, 440, 641, 440, 641, 440, 641, 440, 1721, 441, 640, 441, 640, 440, 641, 441, 640, 440, 1721, 440, 641, 440, 1722, 440, 1721, 441, 641, 439, 1722, 440, 1722, 440, 1721, 441, 1721, 440, 1722, 440, 641, 440, 1722, 440, 641, 440, 640, 441, 640, 440, 640, 441, 641, 440, 640, 441, 1721, 441, 1721, 440, 640, 441, 641, 440, 641, 440, 640, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 441, 640, 440, 1722, 440, 1722, 440, 640, 441, 641, 439, 1721, 441, 1722, 440, 1721, 441, 640, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 641, 440, 640, 440, 641, 440, 1721, 441, 641, 440, 640, 441, 640, 440, 641, 440, 1722, 440, 641, 440, 640, 440, 641, 441, 640, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 640, 441, 640, 441, 640, 441, 641, 440, 640, 440, 641, 440, 1721, 441, 1721, 441, 1721, 440, 641, 440, 1721, 441, 640, 441, 641, 440, 1721, 440, 641, 440, 1721, 440, 641, 440, 1722, 440, 1722, 440, 641, 440, 640, 441, 640, 440, 641, 440, 641, 441, 640, 440, 641, 440, 640, 441, 640, 441, 640, 440, 641, 440, 641, 439, 642, 440, 641, 440, 640, 440, 1722, 440, 641, 440, 641, 440, 1721, 441, 640, 440, 641, 440, 641, 440, 1722, 440, 1721, 441, 640, 440, 641, 440}};
const uint16_t ir_code_off[359] = {5100, 2107, 439, 1722, 440, 641, 440, 640, 440, 642, 420, 1740, 440, 643, 438, 642, 440, 641, 416, 665, 439, 1723, 439, 642, 439, 1722, 440, 1722, 439, 642, 415, 1746, 417, 1745, 416, 1745, 440, 1722, 440, 1722, 440, 641, 440, 1722, 440, 640, 417, 664, 440, 641, 441, 640, 439, 642, 440, 641, 440, 1721, 440, 1722, 416, 665, 440, 641, 439, 641, 440, 642, 439, 641, 440, 1722, 416, 665, 439, 641, 441, 640, 440, 641, 440, 641, 440, 642, 439, 641, 439, 641, 440, 641, 417, 664, 441, 640, 417, 664, 440, 640, 469, 613, 440, 1721, 441, 1721, 441, 1721, 439, 1723, 439, 642, 439, 641, 440, 641, 440, 29352, 5144, 2083, 440, 1721, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 641, 440, 641, 440, 641, 440, 641, 441, 1720, 469, 613, 439, 1722, 440, 1722, 440, 641, 439, 1722, 440, 1722, 439, 1723, 440, 1721, 441, 1721, 440, 641, 440, 1721, 440, 641, 441, 640, 440, 641, 440, 641, 440, 641, 440, 641, 440, 1721, 440, 1722, 440, 641, 440, 641, 440, 640, 440, 641, 469, 612, 440, 641, 440, 640, 440, 642, 439, 642, 468, 613, 439, 641, 440, 1722, 440, 1720, 441, 641, 440, 641, 440, 641, 467, 614, 439, 1722, 440, 641, 468, 618, 436, 640, 440, 641, 440, 641, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 641, 440, 642, 439, 642, 440, 640, 416, 665, 440, 641, 440, 642, 439, 640, 440, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 439, 642, 468, 613, 424, 657, 439, 641, 439, 642, 440, 641, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 440, 641, 440, 640, 439, 1723, 440, 641, 440, 641, 440, 641, 439, 1723, 440, 640, 419, 1743, 439, 642, 440, 1721, 440, 1722, 440, 641, 440, 641, 439, 643, 438, 642, 439, 641, 440, 641, 440, 641, 439, 642, 440, 641, 439, 642, 439, 641, 440, 641, 440, 641, 440, 641, 439, 642, 439, 1723, 440, 641, 439, 641, 440, 641, 439, 1723, 439, 642, 439, 641, 440, 641, 440, 641, 439, 1723, 439, 1723, 439};
const uint16_t ir_code_fan_low[359] = {5100, 2106, 417, 1745, 416, 665, 417, 664, 413, 668, 414, 1747, 417, 664, 417, 664, 416, 664, 416, 665, 418, 1744, 414, 667, 414, 1748, 414, 1747, 417, 663, 418, 1744, 415, 1748, 415, 1745, 418, 1745, 414, 1747, 415, 665, 417, 1746, 416, 665, 415, 665, 416, 664, 418, 664, 416, 664, 417, 665, 416, 1745, 415, 1746, 418, 664, 415, 665, 416, 666, 415, 665, 415, 666, 415, 1746, 416, 666, 415, 665, 415, 666, 416, 665, 415, 665, 416, 665, 416, 665, 417, 664, 416, 665, 416, 664, 417, 665, 415, 666, 415, 665, 416, 665, 416, 1746, 415, 1746, 416, 1747, 416, 1745, 415, 665, 416, 666, 415, 665, 416, 29396, 5101, 2106, 416, 1746, 417, 663, 417, 664, 416, 665, 414, 1748, 415, 666, 416, 665, 417, 664, 416, 664, 416, 1746, 417, 664, 416, 1745, 418, 1744, 417, 664, 417, 1745, 415, 1747, 416, 1746, 416, 1745, 416, 1746, 417, 665, 414, 1747, 416, 665, 416, 664, 416, 665, 415, 666, 417, 664, 416, 665, 416, 1745, 416, 1746, 416, 666, 415, 665, 415, 666, 415, 666, 414, 667, 415, 665, 416, 665, 415, 666, 416, 665, 416, 665, 416, 666, 413, 1748, 416, 1745, 417, 665, 415, 665, 416, 665, 416, 1746, 415, 1746, 415, 666, 415, 666, 415, 666, 415, 666, 415, 666, 415, 666, 414, 667, 414, 666, 416, 665, 415, 1747, 415, 665, 416, 665, 416, 665, 415, 665, 416, 666, 414, 666, 416, 665, 415, 666, 416, 666, 414, 666, 415, 666, 415, 666, 415, 665, 416, 665, 415, 666, 415, 666, 415, 666, 415, 666, 415, 666, 415, 665, 415, 666, 415, 666, 415, 666, 415, 665, 416, 665, 415, 666, 415, 666, 415, 1747, 415, 666, 415, 666, 415, 666, 415, 1746, 415, 666, 415, 1747, 415, 665, 416, 1746, 415, 666, 415, 666, 415, 667, 414, 666, 415, 665, 415, 666, 416, 665, 415, 666, 414, 667, 414, 666, 416, 665, 416, 665, 415, 666, 415, 666, 415, 666, 415, 666, 415, 1746, 415, 666, 416, 665, 414, 1747, 415, 1747, 416, 665, 415, 666, 415, 665, 415, 666, 416, 1746, 416, 1745, 416};
const uint16_t ir_code_fan_high[359] = {5121, 2106, 415, 1746, 416, 666, 414, 666, 416, 665, 416, 1745, 417, 664, 415, 666, 415, 665, 417, 665, 415, 1746, 417, 665, 415, 1746, 416, 1745, 417, 665, 414, 1747, 415, 1746, 417, 1745, 415, 1746, 417, 1746, 415, 665, 417, 1745, 415, 666, 416, 664, 415, 666, 415, 666, 416, 665, 416, 664, 416, 1746, 416, 1745, 415, 667, 415, 666, 416, 664, 417, 664, 416, 665, 416, 1745, 415, 666, 416, 665, 416, 665, 415, 666, 416, 664, 418, 663, 417, 664, 415, 665, 419, 662, 415, 667, 417, 664, 415, 664, 417, 665, 418, 663, 414, 1747, 416, 1745, 416, 1746, 417, 1745, 416, 665, 416, 665, 415, 666, 415, 29396, 5101, 2106, 417, 1745, 416, 665, 417, 664, 416, 664, 416, 1747, 416, 665, 415, 665, 416, 665, 416, 665, 416, 1745, 416, 665, 416, 1746, 416, 1745, 417, 665, 415, 1746, 416, 1745, 417, 1745, 417, 1745, 416, 1746, 416, 664, 416, 1745, 417, 665, 416, 665, 416, 665, 416, 664, 416, 665, 416, 665, 417, 1744, 417, 1746, 416, 665, 415, 665, 416, 665, 416, 665, 415, 665, 416, 666, 416, 664, 416, 665, 416, 665, 415, 666, 415, 666, 415, 1747, 415, 1746, 415, 666, 416, 665, 415, 666, 416, 1746, 415, 1746, 416, 664, 416, 666, 415, 666, 416, 666, 416, 664, 415, 666, 416, 664, 416, 665, 417, 665, 417, 1745, 415, 664, 418, 664, 416, 665, 415, 666, 414, 666, 416, 665, 417, 664, 415, 667, 415, 665, 414, 667, 415, 665, 415, 666, 416, 665, 415, 666, 417, 664, 416, 665, 414, 666, 415, 666, 416, 666, 415, 665, 416, 665, 416, 665, 415, 666, 416, 665, 416, 665, 415, 666, 415, 665, 417, 1745, 415, 666, 416, 665, 415, 666, 415, 1746, 415, 666, 416, 1746, 415, 665, 416, 1746, 416, 1746, 415, 666, 415, 666, 415, 665, 416, 665, 415, 666, 414, 666, 416, 666, 415, 665, 416, 665, 415, 666, 415, 666, 415, 666, 415, 665, 414, 667, 415, 666, 415, 1747, 415, 665, 416, 665, 416, 1746, 416, 1745, 417, 665, 416, 664, 416, 665, 416, 1746, 416, 1745, 416, 1747, 415};
size_t getInfraredCode(uint8_t mode, uint8_t fan_speed, uint8_t temperature_index, const uint16_t **codePtr)
{
switch (mode)
{
case 0: // Off
*codePtr = &(ir_code_off[0]);
return 359;
case 1: // Fan Only
// 0: Auto, 1: High, 2: Medium, 3: Low
// Since our air conditioner only has 2 fan speeds, we map Auto and Medium to High
// If the fan speed is invalid, we return 0
switch (fan_speed)
{
case 0:
case 1:
case 2:
*codePtr = &(ir_code_fan_high[0]);
return 359;
case 3:
*codePtr = &(ir_code_fan_low[0]);
return 359;
default:
return 0;
}
case 2: // Cool
switch (fan_speed)
{
case 0:
case 1:
case 2:
*codePtr = &(ir_code_cool_high[temperature_index][0]);
return 359;
case 3:
*codePtr = &(ir_code_cool_low[temperature_index][0]);
return 359;
default:
return 0;
}
default: // Invalid mode
return 0;
}
}
#endif

View File

@ -1,11 +1,23 @@
#pragma once
#include <stdint.h>
#include <stddef.h>
// IR codes for the remote control
extern const uint16_t ir_code_cool[4][17][407];
extern const uint16_t ir_code_fan[4][407];
extern const uint16_t ir_code_off[407];
#include "constants.hpp"
#include "config.hpp"
// Function to retrieve the IR code for the given mode, fan speed and temperature
size_t getInfraredCode(uint8_t mode, uint8_t fan_speed, uint8_t temperature_index, const uint16_t **codePtr);
size_t getInfraredCode(uint8_t mode, uint8_t fan_speed, uint8_t temperature_index, const uint16_t **codePtr);
#if AC_TYPE == AC_TYPE_DUCTED
// IR codes for the remote control
extern const uint16_t ir_code_cool[4][16][91];
extern const uint16_t ir_code_fan[4][91];
extern const uint16_t ir_code_off[91];
#endif
#if AC_TYPE == AC_TYPE_CEILING
extern const uint16_t ir_code_cool_low[17][359];
extern const uint16_t ir_code_cool_high[17][359];
extern const uint16_t ir_code_off[359];
extern const uint16_t ir_code_fan_low[359];
extern const uint16_t ir_code_fan_high[359];
#endif

View File

@ -126,7 +126,7 @@
#define LCD_DASHBOARD_PIC_SOCKET_POWER_OFF 13
// Air Conditioner
#define LCD_DASHBOARD_ELEMENT_AC_STATE 20
#define LCD_DASHBOARD_ELEMENT_AC_STATE 18
#define LCD_DASHBOARD_ELEMENT_NAME_AC_STATE "btn_ac_toggle"
#define LCD_DASHBOARD_ELEMENT_NAME_ICO_LOCK "ico_ac_lock"
#define LCD_DASHBOARD_PIC_AC_STATE_OFF 59
@ -136,60 +136,69 @@
#define LCD_DASHBOARD_PIC_AC_STATE_ON_PRESSED 60
#define LCD_DASHBOARD_PIC_AC_STATE_ON_LOCKED 61
#define LCD_DASHBOARD_ELEMENT_AC_MODE_FAN 23
#define LCD_DASHBOARD_ELEMENT_AC_MODE_FAN 21
#define LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_FAN "btn_acm_fan"
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE 70
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_PRESS 69
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_ACTIVE_LOCKED 90
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE 68
#define LCD_DASHBOARD_PIC_AC_MODE_FAN_INACTIVE_PRESS 67
#define LCD_DASHBOARD_ELEMENT_AC_MODE_COOL 22
#define LCD_DASHBOARD_ELEMENT_AC_MODE_COOL 20
#define LCD_DASHBOARD_ELEMENT_NAME_AC_MODE_COOL "btn_acm_cool"
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE 66
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_PRESS 65
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_ACTIVE_LOCKED 89
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE 64
#define LCD_DASHBOARD_PIC_AC_MODE_COOL_INACTIVE_PRESS 63
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_AUTO 24
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_AUTO 22
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_AUTO "btn_acfs_auto"
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE 74
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_PRESS 73
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_ACTIVE_LOCKED 88
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE 72
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_AUTO_INACTIVE_PRESS 71
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_LOW 25
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_LOW 23
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_LOW "btn_acfs_low"
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE 82
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_PRESS 81
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_ACTIVE_LOCKED 95
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE 80
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_LOW_INACTIVE_PRESS 79
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_MEDIUM 26
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_MEDIUM 24
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_MEDIUM "btn_acfs_mid"
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE 86
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_PRESS 85
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_ACTIVE_LOCKED 94
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE 84
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_MEDIUM_INACTIVE_PRESS 83
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_HIGH 27
#define LCD_DASHBOARD_ELEMENT_AC_FAN_SPEED_HIGH 25
#define LCD_DASHBOARD_ELEMENT_NAME_AC_FAN_SPEED_HIGH "btn_acfs_high"
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE 78
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_PRESS 77
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_ACTIVE_LOCKED 93
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE 76
#define LCD_DASHBOARD_PIC_AC_FAN_SPEED_HIGH_INACTIVE_PRESS 75
#define LCD_DASHBOARD_ELEMENT_AC_TEMPERATURE 6
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMPERATURE "txt_ac_temp"
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_UP_BUTTON 19
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_UP_BUTTON 27
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_UP_BUTTON "btn_temp_up"
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_DOWN_BUTTON 18
#define LCD_DASHBOARD_ELEMENT_AC_TEMP_DOWN_BUTTON 26
#define LCD_DASHBOARD_ELEMENT_NAME_AC_TEMP_DOWN_BUTTON "btn_temp_down"
#define LCD_DASHBOARD_ELEMENT_ROOM_TEMPERATURE 4
#define LCD_DASHBOARD_ELEMENT_NAME_ROOM_TEMPERATURE "txt_room_temp"
#define LCD_DASHBOARD_ELEMENT_AC_PANEL_OVERLAY 26
#define LCD_DASHBOARD_ELEMENT_NAME_AC_PANEL_OVERLAY "pnl_ac_dim"
// All System Button
#define LCD_DASHBOARD_ELEMENT_ALL_SYSTEM_TOGGLE 17
#define LCD_DASHBOARD_ELEMENT_NAME_ALL_SYSTEM_TOGGLE "btn_allsys"

View File

@ -8,11 +8,11 @@ ESPMegaPRO espmega = ESPMegaPRO();
const char *mode_names[] = AC_MODE_NAMES;
const char *fan_speed_names[] = AC_FAN_SPEED_NAMES;
AirConditioner ac_config = {
.max_temperature = 32,
.min_temperature = 16,
.modes = 4,
.max_temperature = AC_MAX_TEMP,
.min_temperature = AC_MIN_TEMP,
.modes = AC_MODES,
.mode_names = mode_names,
.fan_speeds = 4,
.fan_speeds = AC_FAN_SPEEDS,
.fan_speed_names = fan_speed_names,
.getInfraredCode = &getInfraredCode};
@ -33,6 +33,9 @@ cud_display_conf_t cud_display_conf = {
CUDDisplay cudDisplay = CUDDisplay(&cud_display_conf);
ESPMegaDisplayOTA cudDisplayOTA = ESPMegaDisplayOTA();
ESPMegaDisplayOTA internalDisplayOTA = ESPMegaDisplayOTA();
/************************************************
* End of Global Variables *
************************************************/
@ -56,8 +59,13 @@ void setup()
// Initialize the ESPMegaPRO
ESP_LOGV("CUD IoT OS", "Initializing ESPMegaPRO");
espmega.begin();
// Set Pin 0 - 15 value to 4095
for (uint8_t i = 0; i < 16; i++)
espmega.outputs.setValue(i,4095);
// Initialize IoT Modules
ESP_LOGV("CUD IoT OS", "Initializing IoT Modules");
espmega.setTimezone("ICT-7");
espmega.enableIotModule();
// Setup Ethernet
ESP_LOGV("CUD IoT OS", "Initializing Ethernet");
@ -71,6 +79,7 @@ void setup()
// Connect to the MQTT Broker
ESP_LOGV("CUD IoT OS", "Connecting to MQTT Broker");
espmega.iot->loadMqttConfig();
vTaskDelay(3000 / portTICK_PERIOD_MS); // Wait for the network to stabilize
espmega.iot->connectToMqtt();
// Enable Web Server
ESP_LOGV("CUD IoT OS", "Enabling Web Server");
@ -98,7 +107,7 @@ void setup()
// This pre-load the input buffers
// We need to do this to prevent switches that are left on the "on" position from triggering the callback
ESP_LOGV("CUD IoT OS", "Pre-loading input buffers");
espmega.inputs.loop();
espmega.inputs.preloadInputBuffer();
espmega.inputs.registerCallback(handle_input_change);
// Start the display routine
ESP_LOGV("CUD IoT OS", "Starting CUDDisplay");
@ -107,9 +116,16 @@ void setup()
.outputCard = &espmega.outputs,
.ac = &ac,
.fram = &espmega.fram,
.iot = espmega.iot,};
.iot = espmega.iot,
};
cudDisplay.begin(cards);
espmega.iot->registerMqttCallback(handle_mqtt_message);
cudDisplayOTA.begin("/cuddisp", &cudDisplay, espmega.webServer);
internalDisplayOTA.begin("/intdisp", espmega.display, espmega.webServer);
#ifdef TAMPER_DETECTION
espmega.display->registerPageChangeCallback(pageChangeCallback);
espmega.display->registerTouchCallback(touchCallback);
#endif
ESP_LOGI("CUD IoT OS", "Initialization Complete");
}
@ -126,13 +142,31 @@ void send_stop_bytes(HardwareSerial &uart)
uart.write(0xFF);
}
void handle_input_change(uint8_t pin, bool state) {
void handle_input_change(uint8_t pin, bool state)
{
// When input pin 0 - 6 changes, toggle the corresponding output pin
if (pin >= 0 && pin <= 6) {
if (pin >= 0 && pin <= 6)
{
espmega.outputs.setState(pin, !espmega.outputs.getState(pin));
}
}
void handle_mqtt_message(char *topic, char *payload) {
void handle_mqtt_message(char *topic, char *payload)
{
ESP_LOGD("CUD IoT OS", "MQTT Message Received: %s, %s", topic, payload);
}
}
#ifdef TAMPER_DETECTION
void pageChangeCallback(uint8_t page)
{
char buffer[10];
sprintf(buffer, "%d", page);
espmega.iot->publishRelative("/tamper/page", buffer);
}
void touchCallback(uint8_t page, uint8_t component, uint8_t touchType)
{
char buffer[20];
sprintf(buffer, "%d,%d,%d", page, component, touchType);
espmega.iot->publishRelative("/tamper/touch", buffer);
}
#endif

View File

@ -13,6 +13,7 @@
#include <ClimateCard.hpp>
#include <ETH.h>
#include <RemoteVariable.hpp>
#include <ESPMegaDisplayOTA.hpp>
#include "lcd_elements.hpp"
#include "ir_codes.hpp"
#include "display.hpp"
@ -25,4 +26,9 @@ void setup();
void loop();
void send_stop_bytes(HardwareSerial &uart);
void handle_input_change(uint8_t pin, bool state);
void handle_mqtt_message(char *topic, char *payload);
void handle_mqtt_message(char *topic, char *payload);
#ifdef TAMPER_DETECTION
void pageChangeCallback(uint8_t page);
void touchCallback(uint8_t page, uint8_t component, uint8_t touchType);
#endif