diff --git a/.clang-tidy.hash b/.clang-tidy.hash index e1f5e096c0..a14b44ef96 100644 --- a/.clang-tidy.hash +++ b/.clang-tidy.hash @@ -1 +1 @@ -5ac05ac603766d76b86a05cdf6a43febcaae807fe9e2406d812c47d4b5fed91d +94557f94be073390342833aff12ef8676a8b597db5fa770a5a1232e9425cb48f diff --git a/CODEOWNERS b/CODEOWNERS index f95d68a46d..0d9396aa6f 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -91,6 +91,7 @@ esphome/components/bmp3xx_spi/* @latonita esphome/components/bmp581/* @kahrendt esphome/components/bp1658cj/* @Cossid esphome/components/bp5758d/* @Cossid +esphome/components/bthome_mithermometer/* @nagyrobi esphome/components/button/* @esphome/core esphome/components/bytebuffer/* @clydebarrow esphome/components/camera/* @bdraco @DT-art1 diff --git a/MANIFEST.in b/MANIFEST.in index 45d5e86672..ed65edc656 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,6 +1,7 @@ include LICENSE include README.md include requirements.txt +recursive-include esphome *.yaml recursive-include esphome *.cpp *.h *.tcc *.c recursive-include esphome *.py.script recursive-include esphome LICENSE.txt diff --git a/docker/Dockerfile b/docker/Dockerfile index 64ce67e819..348a503bc8 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -11,6 +11,16 @@ FROM base-source-${BUILD_TYPE} AS base RUN git config --system --add safe.directory "*" +# Install build tools for Python packages that require compilation +# (e.g., ruamel.yaml.clibz used by ESP-IDF's idf-component-manager) +RUN if command -v apk > /dev/null; then \ + apk add --no-cache build-base; \ + else \ + apt-get update \ + && apt-get install -y --no-install-recommends build-essential \ + && rm -rf /var/lib/apt/lists/*; \ + fi + ENV PIP_DISABLE_PIP_VERSION_CHECK=1 RUN pip install --no-cache-dir -U pip uv==0.6.14 diff --git a/esphome/__main__.py b/esphome/__main__.py index 119ab957a3..3822af0330 100644 --- a/esphome/__main__.py +++ b/esphome/__main__.py @@ -789,7 +789,13 @@ def command_compile(args: ArgsProtocol, config: ConfigType) -> int | None: exit_code = compile_program(args, config) if exit_code != 0: return exit_code - _LOGGER.info("Successfully compiled program.") + if CORE.is_host: + from esphome.platformio_api import get_idedata + + program_path = str(get_idedata(config).firmware_elf_path) + _LOGGER.info("Successfully compiled program to path '%s'", program_path) + else: + _LOGGER.info("Successfully compiled program.") return 0 @@ -839,10 +845,8 @@ def command_run(args: ArgsProtocol, config: ConfigType) -> int | None: if CORE.is_host: from esphome.platformio_api import get_idedata - idedata = get_idedata(config) - if idedata is None: - return 1 - program_path = idedata.raw["prog_path"] + program_path = str(get_idedata(config).firmware_elf_path) + _LOGGER.info("Running program from path '%s'", program_path) return run_external_process(program_path) # Get devices, resolving special identifiers like OTA diff --git a/esphome/components/a01nyub/a01nyub.cpp b/esphome/components/a01nyub/a01nyub.cpp index d0bc89a0c9..210c3557b3 100644 --- a/esphome/components/a01nyub/a01nyub.cpp +++ b/esphome/components/a01nyub/a01nyub.cpp @@ -30,7 +30,9 @@ void A01nyubComponent::check_buffer_() { ESP_LOGV(TAG, "Distance from sensor: %f mm, %f m", distance, meters); this->publish_state(meters); } else { - ESP_LOGW(TAG, "Invalid data read from sensor: %s", format_hex_pretty(this->buffer_).c_str()); + char hex_buf[format_hex_pretty_size(4)]; + ESP_LOGW(TAG, "Invalid data read from sensor: %s", + format_hex_pretty_to(hex_buf, this->buffer_.data(), this->buffer_.size())); } } else { ESP_LOGW(TAG, "checksum failed: %02x != %02x", checksum, this->buffer_[3]); diff --git a/esphome/components/a02yyuw/a02yyuw.cpp b/esphome/components/a02yyuw/a02yyuw.cpp index ee378c3283..a2aad0cef1 100644 --- a/esphome/components/a02yyuw/a02yyuw.cpp +++ b/esphome/components/a02yyuw/a02yyuw.cpp @@ -29,7 +29,9 @@ void A02yyuwComponent::check_buffer_() { ESP_LOGV(TAG, "Distance from sensor: %f mm", distance); this->publish_state(distance); } else { - ESP_LOGW(TAG, "Invalid data read from sensor: %s", format_hex_pretty(this->buffer_).c_str()); + char hex_buf[format_hex_pretty_size(4)]; + ESP_LOGW(TAG, "Invalid data read from sensor: %s", + format_hex_pretty_to(hex_buf, this->buffer_.data(), this->buffer_.size())); } } else { ESP_LOGW(TAG, "checksum failed: %02x != %02x", checksum, this->buffer_[3]); diff --git a/esphome/components/absolute_humidity/absolute_humidity.cpp b/esphome/components/absolute_humidity/absolute_humidity.cpp index 74d675b80b..b13fcd519a 100644 --- a/esphome/components/absolute_humidity/absolute_humidity.cpp +++ b/esphome/components/absolute_humidity/absolute_humidity.cpp @@ -90,13 +90,16 @@ void AbsoluteHumidityComponent::loop() { this->status_set_error(LOG_STR("Invalid saturation vapor pressure equation selection!")); return; } - ESP_LOGD(TAG, "Saturation vapor pressure %f kPa", es); // Calculate absolute humidity const float absolute_humidity = vapor_density(es, hr, temperature_k); + ESP_LOGD(TAG, + "Saturation vapor pressure %f kPa\n" + "Publishing absolute humidity %f g/m³", + es, absolute_humidity); + // Publish absolute humidity - ESP_LOGD(TAG, "Publishing absolute humidity %f g/m³", absolute_humidity); this->status_clear_warning(); this->publish_state(absolute_humidity); } diff --git a/esphome/components/addressable_light/addressable_light_display.h b/esphome/components/addressable_light/addressable_light_display.h index f47389fd05..53f8604b7d 100644 --- a/esphome/components/addressable_light/addressable_light_display.h +++ b/esphome/components/addressable_light/addressable_light_display.h @@ -25,11 +25,13 @@ class AddressableLightDisplay : public display::DisplayBuffer { if (enabled_ && !enabled) { // enabled -> disabled // - Tell the parent light to refresh, effectively wiping the display. Also // restores the previous effect (if any). - light_state_->make_call().set_effect(this->last_effect_).perform(); + if (this->last_effect_index_.has_value()) { + light_state_->make_call().set_effect(*this->last_effect_index_).perform(); + } } else if (!enabled_ && enabled) { // disabled -> enabled - // - Save the current effect. - this->last_effect_ = light_state_->get_effect_name(); + // - Save the current effect index. + this->last_effect_index_ = light_state_->get_current_effect_index(); // - Disable any current effect. light_state_->make_call().set_effect(0).perform(); } @@ -56,7 +58,7 @@ class AddressableLightDisplay : public display::DisplayBuffer { int32_t width_; int32_t height_; std::vector addressable_light_buffer_; - optional last_effect_; + optional last_effect_index_; optional> pixel_mapper_f_; }; } // namespace addressable_light diff --git a/esphome/components/api/__init__.py b/esphome/components/api/__init__.py index 88618acef4..0e2c612279 100644 --- a/esphome/components/api/__init__.py +++ b/esphome/components/api/__init__.py @@ -226,32 +226,6 @@ def _encryption_schema(config): return ENCRYPTION_SCHEMA(config) -def _validate_api_config(config: ConfigType) -> ConfigType: - """Validate API configuration with mutual exclusivity check and deprecation warning.""" - # Check if both password and encryption are configured - has_password = CONF_PASSWORD in config and config[CONF_PASSWORD] - has_encryption = CONF_ENCRYPTION in config - - if has_password and has_encryption: - raise cv.Invalid( - "The 'password' and 'encryption' options are mutually exclusive. " - "The API client only supports one authentication method at a time. " - "Please remove one of them. " - "Note: 'password' authentication is deprecated and will be removed in version 2026.1.0. " - "We strongly recommend using 'encryption' instead for better security." - ) - - # Warn about password deprecation - if has_password: - _LOGGER.warning( - "API 'password' authentication has been deprecated since May 2022 and will be removed in version 2026.1.0. " - "Please migrate to the 'encryption' configuration. " - "See https://esphome.io/components/api/#configuration-variables" - ) - - return config - - def _consume_api_sockets(config: ConfigType) -> ConfigType: """Register socket needs for API component.""" from esphome.components import socket @@ -268,7 +242,17 @@ CONFIG_SCHEMA = cv.All( { cv.GenerateID(): cv.declare_id(APIServer), cv.Optional(CONF_PORT, default=6053): cv.port, - cv.Optional(CONF_PASSWORD, default=""): cv.string_strict, + # Removed in 2026.1.0 - kept to provide helpful error message + cv.Optional(CONF_PASSWORD): cv.invalid( + "The 'password' option has been removed in ESPHome 2026.1.0.\n" + "Password authentication was deprecated in May 2022.\n" + "Please migrate to encryption for secure API communication:\n\n" + "api:\n" + " encryption:\n" + " key: !secret api_encryption_key\n\n" + "Generate a key with: openssl rand -base64 32\n" + "Or visit https://esphome.io/components/api/#configuration-variables" + ), cv.Optional( CONF_REBOOT_TIMEOUT, default="15min" ): cv.positive_time_period_milliseconds, @@ -330,7 +314,6 @@ CONFIG_SCHEMA = cv.All( } ).extend(cv.COMPONENT_SCHEMA), cv.rename_key(CONF_SERVICES, CONF_ACTIONS), - _validate_api_config, _consume_api_sockets, ) @@ -344,9 +327,6 @@ async def to_code(config: ConfigType) -> None: CORE.register_controller() cg.add(var.set_port(config[CONF_PORT])) - if config[CONF_PASSWORD]: - cg.add_define("USE_API_PASSWORD") - cg.add(var.set_password(config[CONF_PASSWORD])) cg.add(var.set_reboot_timeout(config[CONF_REBOOT_TIMEOUT])) cg.add(var.set_batch_delay(config[CONF_BATCH_DELAY])) if CONF_LISTEN_BACKLOG in config: diff --git a/esphome/components/api/api.proto b/esphome/components/api/api.proto index c351bc8c9c..652b456850 100644 --- a/esphome/components/api/api.proto +++ b/esphome/components/api/api.proto @@ -7,10 +7,7 @@ service APIConnection { option (needs_setup_connection) = false; option (needs_authentication) = false; } - rpc authenticate (AuthenticationRequest) returns (AuthenticationResponse) { - option (needs_setup_connection) = false; - option (needs_authentication) = false; - } + // REMOVED in ESPHome 2026.1.0: rpc authenticate (AuthenticationRequest) returns (AuthenticationResponse) rpc disconnect (DisconnectRequest) returns (DisconnectResponse) { option (needs_setup_connection) = false; option (needs_authentication) = false; @@ -82,14 +79,13 @@ service APIConnection { // * VarInt denoting the type of message. // * The message object encoded as a ProtoBuf message -// The connection is established in 4 steps: +// The connection is established in 2 steps: // * First, the client connects to the server and sends a "Hello Request" identifying itself -// * The server responds with a "Hello Response" and selects the protocol version -// * After receiving this message, the client attempts to authenticate itself using -// the password and a "Connect Request" -// * The server responds with a "Connect Response" and notifies of invalid password. +// * The server responds with a "Hello Response" and the connection is authenticated // If anything in this initial process fails, the connection must immediately closed // by both sides and _no_ disconnection message is to be sent. +// Note: Password authentication via AuthenticationRequest/AuthenticationResponse (message IDs 3, 4) +// was removed in ESPHome 2026.1.0. Those message IDs are reserved and should not be reused. // Message sent at the beginning of each connection // Can only be sent by the client and only at the beginning of the connection @@ -102,7 +98,7 @@ message HelloRequest { // For example "Home Assistant" // Not strictly necessary to send but nice for debugging // purposes. - string client_info = 1 [(pointer_to_buffer) = true]; + string client_info = 1; uint32 api_version_major = 2; uint32 api_version_minor = 3; } @@ -130,25 +126,23 @@ message HelloResponse { string name = 4; } -// Message sent at the beginning of each connection to authenticate the client -// Can only be sent by the client and only at the beginning of the connection +// DEPRECATED in ESPHome 2026.1.0 - Password authentication is no longer supported. +// These messages are kept for protocol documentation but are not processed by the server. +// Use noise encryption instead: https://esphome.io/components/api/#configuration-variables message AuthenticationRequest { option (id) = 3; option (source) = SOURCE_CLIENT; option (no_delay) = true; - option (ifdef) = "USE_API_PASSWORD"; + option deprecated = true; - // The password to log in with - string password = 1 [(pointer_to_buffer) = true]; + string password = 1; } -// Confirmation of successful connection. After this the connection is available for all traffic. -// Can only be sent by the server and only at the beginning of the connection message AuthenticationResponse { option (id) = 4; option (source) = SOURCE_SERVER; option (no_delay) = true; - option (ifdef) = "USE_API_PASSWORD"; + option deprecated = true; bool invalid_password = 1; } @@ -205,7 +199,9 @@ message DeviceInfoResponse { option (id) = 10; option (source) = SOURCE_SERVER; - bool uses_password = 1 [(field_ifdef) = "USE_API_PASSWORD"]; + // Deprecated in ESPHome 2026.1.0, but kept for backward compatibility + // with older ESPHome versions that still send this field. + bool uses_password = 1 [deprecated = true]; // The name of the node, given by "App.set_name()" string name = 2; @@ -477,7 +473,7 @@ message FanCommandRequest { bool has_speed_level = 10; int32 speed_level = 11; bool has_preset_mode = 12; - string preset_mode = 13 [(pointer_to_buffer) = true]; + string preset_mode = 13; uint32 device_id = 14 [(field_ifdef) = "USE_DEVICES"]; } @@ -579,7 +575,7 @@ message LightCommandRequest { bool has_flash_length = 16; uint32 flash_length = 17; bool has_effect = 18; - string effect = 19 [(pointer_to_buffer) = true]; + string effect = 19; uint32 device_id = 28 [(field_ifdef) = "USE_DEVICES"]; } @@ -747,7 +743,7 @@ message NoiseEncryptionSetKeyRequest { option (source) = SOURCE_CLIENT; option (ifdef) = "USE_API_NOISE"; - bytes key = 1 [(pointer_to_buffer) = true]; + bytes key = 1; } message NoiseEncryptionSetKeyResponse { @@ -796,7 +792,7 @@ message HomeassistantActionResponse { uint32 call_id = 1; // Matches the call_id from HomeassistantActionRequest bool success = 2; // Whether the service call succeeded string error_message = 3; // Error message if success = false - bytes response_data = 4 [(pointer_to_buffer) = true, (field_ifdef) = "USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON"]; + bytes response_data = 4 [(field_ifdef) = "USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON"]; } // ==================== IMPORT HOME ASSISTANT STATES ==================== @@ -824,9 +820,9 @@ message HomeAssistantStateResponse { option (no_delay) = true; option (ifdef) = "USE_API_HOMEASSISTANT_STATES"; - string entity_id = 1 [(pointer_to_buffer) = true]; - string state = 2 [(pointer_to_buffer) = true]; - string attribute = 3 [(pointer_to_buffer) = true]; + string entity_id = 1; + string state = 2; + string attribute = 3; } // ==================== IMPORT TIME ==================== @@ -841,7 +837,7 @@ message GetTimeResponse { option (no_delay) = true; fixed32 epoch_seconds = 1; - string timezone = 2 [(pointer_to_buffer) = true]; + string timezone = 2; } // ==================== USER-DEFINES SERVICES ==================== @@ -1091,11 +1087,11 @@ message ClimateCommandRequest { bool has_swing_mode = 14; ClimateSwingMode swing_mode = 15; bool has_custom_fan_mode = 16; - string custom_fan_mode = 17 [(pointer_to_buffer) = true]; + string custom_fan_mode = 17; bool has_preset = 18; ClimatePreset preset = 19; bool has_custom_preset = 20; - string custom_preset = 21 [(pointer_to_buffer) = true]; + string custom_preset = 21; bool has_target_humidity = 22; float target_humidity = 23; uint32 device_id = 24 [(field_ifdef) = "USE_DEVICES"]; @@ -1274,7 +1270,7 @@ message SelectCommandRequest { option (base_class) = "CommandProtoMessage"; fixed32 key = 1; - string state = 2 [(pointer_to_buffer) = true]; + string state = 2; uint32 device_id = 3 [(field_ifdef) = "USE_DEVICES"]; } @@ -1292,7 +1288,7 @@ message ListEntitiesSirenResponse { string icon = 5 [(field_ifdef) = "USE_ENTITY_ICON"]; bool disabled_by_default = 6; - repeated string tones = 7; + repeated string tones = 7 [(container_pointer_no_template) = "FixedVector"]; bool supports_duration = 8; bool supports_volume = 9; EntityCategory entity_category = 10; @@ -1692,7 +1688,7 @@ message BluetoothGATTWriteRequest { uint32 handle = 2; bool response = 3; - bytes data = 4 [(pointer_to_buffer) = true]; + bytes data = 4; } message BluetoothGATTReadDescriptorRequest { @@ -1712,7 +1708,7 @@ message BluetoothGATTWriteDescriptorRequest { uint64 address = 1; uint32 handle = 2; - bytes data = 3 [(pointer_to_buffer) = true]; + bytes data = 3; } message BluetoothGATTNotifyRequest { @@ -1937,7 +1933,7 @@ message VoiceAssistantAudio { option (source) = SOURCE_BOTH; option (ifdef) = "USE_VOICE_ASSISTANT"; - bytes data = 1; + bytes data = 1 [(pointer_to_buffer) = true]; bool end = 2; } @@ -2425,7 +2421,7 @@ message ZWaveProxyFrame { option (ifdef) = "USE_ZWAVE_PROXY"; option (no_delay) = true; - bytes data = 1 [(pointer_to_buffer) = true]; + bytes data = 1; } enum ZWaveProxyRequestType { @@ -2439,5 +2435,5 @@ message ZWaveProxyRequest { option (ifdef) = "USE_ZWAVE_PROXY"; ZWaveProxyRequestType type = 1; - bytes data = 2 [(pointer_to_buffer) = true]; + bytes data = 2; } diff --git a/esphome/components/api/api_connection.cpp b/esphome/components/api/api_connection.cpp index b5628f654e..3ded5e4408 100644 --- a/esphome/components/api/api_connection.cpp +++ b/esphome/components/api/api_connection.cpp @@ -473,7 +473,7 @@ void APIConnection::fan_command(const FanCommandRequest &msg) { if (msg.has_direction) call.set_direction(static_cast(msg.direction)); if (msg.has_preset_mode) - call.set_preset_mode(reinterpret_cast(msg.preset_mode), msg.preset_mode_len); + call.set_preset_mode(msg.preset_mode.c_str(), msg.preset_mode.size()); call.perform(); } #endif @@ -559,7 +559,7 @@ void APIConnection::light_command(const LightCommandRequest &msg) { if (msg.has_flash_length) call.set_flash_length(msg.flash_length); if (msg.has_effect) - call.set_effect(reinterpret_cast(msg.effect), msg.effect_len); + call.set_effect(msg.effect.c_str(), msg.effect.size()); call.perform(); } #endif @@ -738,11 +738,11 @@ void APIConnection::climate_command(const ClimateCommandRequest &msg) { if (msg.has_fan_mode) call.set_fan_mode(static_cast(msg.fan_mode)); if (msg.has_custom_fan_mode) - call.set_fan_mode(reinterpret_cast(msg.custom_fan_mode), msg.custom_fan_mode_len); + call.set_fan_mode(msg.custom_fan_mode.c_str(), msg.custom_fan_mode.size()); if (msg.has_preset) call.set_preset(static_cast(msg.preset)); if (msg.has_custom_preset) - call.set_preset(reinterpret_cast(msg.custom_preset), msg.custom_preset_len); + call.set_preset(msg.custom_preset.c_str(), msg.custom_preset.size()); if (msg.has_swing_mode) call.set_swing_mode(static_cast(msg.swing_mode)); call.perform(); @@ -931,7 +931,7 @@ uint16_t APIConnection::try_send_select_info(EntityBase *entity, APIConnection * } void APIConnection::select_command(const SelectCommandRequest &msg) { ENTITY_COMMAND_MAKE_CALL(select::Select, select, select) - call.set_option(reinterpret_cast(msg.state), msg.state_len); + call.set_option(msg.state.c_str(), msg.state.size()); call.perform(); } #endif @@ -1153,9 +1153,8 @@ void APIConnection::on_get_time_response(const GetTimeResponse &value) { if (homeassistant::global_homeassistant_time != nullptr) { homeassistant::global_homeassistant_time->set_epoch_time(value.epoch_seconds); #ifdef USE_TIME_TIMEZONE - if (value.timezone_len > 0) { - homeassistant::global_homeassistant_time->set_timezone(reinterpret_cast(value.timezone), - value.timezone_len); + if (!value.timezone.empty()) { + homeassistant::global_homeassistant_time->set_timezone(value.timezone.c_str(), value.timezone.size()); } #endif } @@ -1522,7 +1521,7 @@ void APIConnection::complete_authentication_() { } bool APIConnection::send_hello_response(const HelloRequest &msg) { - this->client_info_.name.assign(reinterpret_cast(msg.client_info), msg.client_info_len); + this->client_info_.name.assign(msg.client_info.c_str(), msg.client_info.size()); this->client_info_.peername = this->helper_->getpeername(); this->client_api_version_major_ = msg.api_version_major; this->client_api_version_minor_ = msg.api_version_minor; @@ -1531,32 +1530,16 @@ bool APIConnection::send_hello_response(const HelloRequest &msg) { HelloResponse resp; resp.api_version_major = 1; - resp.api_version_minor = 13; + resp.api_version_minor = 14; // Send only the version string - the client only logs this for debugging and doesn't use it otherwise resp.set_server_info(ESPHOME_VERSION_REF); resp.set_name(StringRef(App.get_name())); -#ifdef USE_API_PASSWORD - // Password required - wait for authentication - this->flags_.connection_state = static_cast(ConnectionState::CONNECTED); -#else - // No password configured - auto-authenticate + // Auto-authenticate - password auth was removed in ESPHome 2026.1.0 this->complete_authentication_(); -#endif return this->send_message(resp, HelloResponse::MESSAGE_TYPE); } -#ifdef USE_API_PASSWORD -bool APIConnection::send_authenticate_response(const AuthenticationRequest &msg) { - AuthenticationResponse resp; - // bool invalid_password = 1; - resp.invalid_password = !this->parent_->check_password(msg.password, msg.password_len); - if (!resp.invalid_password) { - this->complete_authentication_(); - } - return this->send_message(resp, AuthenticationResponse::MESSAGE_TYPE); -} -#endif // USE_API_PASSWORD bool APIConnection::send_ping_response(const PingRequest &msg) { PingResponse resp; @@ -1565,9 +1548,6 @@ bool APIConnection::send_ping_response(const PingRequest &msg) { bool APIConnection::send_device_info_response(const DeviceInfoRequest &msg) { DeviceInfoResponse resp{}; -#ifdef USE_API_PASSWORD - resp.uses_password = true; -#endif resp.set_name(StringRef(App.get_name())); resp.set_friendly_name(StringRef(App.get_friendly_name())); #ifdef USE_AREAS @@ -1693,27 +1673,28 @@ bool APIConnection::send_device_info_response(const DeviceInfoRequest &msg) { #ifdef USE_API_HOMEASSISTANT_STATES void APIConnection::on_home_assistant_state_response(const HomeAssistantStateResponse &msg) { // Skip if entity_id is empty (invalid message) - if (msg.entity_id_len == 0) { + if (msg.entity_id.empty()) { return; } for (auto &it : this->parent_->get_state_subs()) { // Compare entity_id: check length matches and content matches size_t entity_id_len = strlen(it.entity_id); - if (entity_id_len != msg.entity_id_len || memcmp(it.entity_id, msg.entity_id, msg.entity_id_len) != 0) { + if (entity_id_len != msg.entity_id.size() || + memcmp(it.entity_id, msg.entity_id.c_str(), msg.entity_id.size()) != 0) { continue; } // Compare attribute: either both have matching attribute, or both have none size_t sub_attr_len = it.attribute != nullptr ? strlen(it.attribute) : 0; - if (sub_attr_len != msg.attribute_len || - (sub_attr_len > 0 && memcmp(it.attribute, msg.attribute, sub_attr_len) != 0)) { + if (sub_attr_len != msg.attribute.size() || + (sub_attr_len > 0 && memcmp(it.attribute, msg.attribute.c_str(), sub_attr_len) != 0)) { continue; } // Create temporary string for callback (callback takes const std::string &) - // Handle empty state (nullptr with len=0) - std::string state(msg.state_len > 0 ? reinterpret_cast(msg.state) : "", msg.state_len); + // Handle empty state + std::string state(!msg.state.empty() ? msg.state.c_str() : "", msg.state.size()); it.callback(state); } } @@ -1749,20 +1730,20 @@ void APIConnection::execute_service(const ExecuteServiceRequest &msg) { // the action list. This ensures async actions (delays, waits) complete first. } #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES -void APIConnection::send_execute_service_response(uint32_t call_id, bool success, const std::string &error_message) { +void APIConnection::send_execute_service_response(uint32_t call_id, bool success, StringRef error_message) { ExecuteServiceResponse resp; resp.call_id = call_id; resp.success = success; - resp.set_error_message(StringRef(error_message)); + resp.set_error_message(error_message); this->send_message(resp, ExecuteServiceResponse::MESSAGE_TYPE); } #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON -void APIConnection::send_execute_service_response(uint32_t call_id, bool success, const std::string &error_message, +void APIConnection::send_execute_service_response(uint32_t call_id, bool success, StringRef error_message, const uint8_t *response_data, size_t response_data_len) { ExecuteServiceResponse resp; resp.call_id = call_id; resp.success = success; - resp.set_error_message(StringRef(error_message)); + resp.set_error_message(error_message); resp.response_data = response_data; resp.response_data_len = response_data_len; this->send_message(resp, ExecuteServiceResponse::MESSAGE_TYPE); @@ -1845,12 +1826,6 @@ bool APIConnection::send_buffer(ProtoWriteBuffer buffer, uint8_t message_type) { // Do not set last_traffic_ on send return true; } -#ifdef USE_API_PASSWORD -void APIConnection::on_unauthenticated_access() { - this->on_fatal_error(); - ESP_LOGD(TAG, "%s (%s) no authentication", this->client_info_.name.c_str(), this->client_info_.peername.c_str()); -} -#endif void APIConnection::on_no_setup_connection() { this->on_fatal_error(); ESP_LOGD(TAG, "%s (%s) no connection setup", this->client_info_.name.c_str(), this->client_info_.peername.c_str()); diff --git a/esphome/components/api/api_connection.h b/esphome/components/api/api_connection.h index 6363116900..ffe3614f20 100644 --- a/esphome/components/api/api_connection.h +++ b/esphome/components/api/api_connection.h @@ -24,9 +24,10 @@ struct ClientInfo { // Keepalive timeout in milliseconds static constexpr uint32_t KEEPALIVE_TIMEOUT_MS = 60000; // Maximum number of entities to process in a single batch during initial state/info sending -// This was increased from 20 to 24 after removing the unique_id field from entity info messages, -// which reduced message sizes allowing more entities per batch without exceeding packet limits -static constexpr size_t MAX_INITIAL_PER_BATCH = 24; +// API 1.14+ clients compute object_id client-side, so messages are smaller and we can fit more per batch +// TODO: Remove MAX_INITIAL_PER_BATCH_LEGACY before 2026.7.0 - all clients should support API 1.14 by then +static constexpr size_t MAX_INITIAL_PER_BATCH_LEGACY = 24; // For clients < API 1.14 (includes object_id) +static constexpr size_t MAX_INITIAL_PER_BATCH = 34; // For clients >= API 1.14 (no object_id) // Maximum number of packets to process in a single batch (platform-dependent) // This limit exists to prevent stack overflow from the PacketInfo array in process_batch_ // Each PacketInfo is 8 bytes, so 64 * 8 = 512 bytes, 32 * 8 = 256 bytes @@ -202,9 +203,6 @@ class APIConnection final : public APIServerConnection { void on_get_time_response(const GetTimeResponse &value) override; #endif bool send_hello_response(const HelloRequest &msg) override; -#ifdef USE_API_PASSWORD - bool send_authenticate_response(const AuthenticationRequest &msg) override; -#endif bool send_disconnect_response(const DisconnectRequest &msg) override; bool send_ping_response(const PingRequest &msg) override; bool send_device_info_response(const DeviceInfoRequest &msg) override; @@ -233,9 +231,9 @@ class APIConnection final : public APIServerConnection { #ifdef USE_API_USER_DEFINED_ACTIONS void execute_service(const ExecuteServiceRequest &msg) override; #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES - void send_execute_service_response(uint32_t call_id, bool success, const std::string &error_message); + void send_execute_service_response(uint32_t call_id, bool success, StringRef error_message); #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON - void send_execute_service_response(uint32_t call_id, bool success, const std::string &error_message, + void send_execute_service_response(uint32_t call_id, bool success, StringRef error_message, const uint8_t *response_data, size_t response_data_len); #endif // USE_API_USER_DEFINED_ACTION_RESPONSES_JSON #endif // USE_API_USER_DEFINED_ACTION_RESPONSES @@ -260,9 +258,6 @@ class APIConnection final : public APIServerConnection { } void on_fatal_error() override; -#ifdef USE_API_PASSWORD - void on_unauthenticated_access() override; -#endif void on_no_setup_connection() override; ProtoWriteBuffer create_buffer(uint32_t reserve_size) override { // FIXME: ensure no recursive writes can happen @@ -323,10 +318,16 @@ class APIConnection final : public APIServerConnection { APIConnection *conn, uint32_t remaining_size, bool is_single) { // Set common fields that are shared by all entity types msg.key = entity->get_object_id_hash(); - // Get object_id with zero heap allocation - // Static case returns direct reference, dynamic case uses buffer + + // API 1.14+ clients compute object_id client-side from the entity name + // For older clients, we must send object_id for backward compatibility + // See: https://github.com/esphome/backlog/issues/76 + // TODO: Remove this backward compat code before 2026.7.0 - all clients should support API 1.14 by then + // Buffer must remain in scope until encode_message_to_buffer is called char object_id_buf[OBJECT_ID_MAX_LEN]; - msg.set_object_id(entity->get_object_id_to(object_id_buf)); + if (!conn->client_supports_api_version(1, 14)) { + msg.set_object_id(entity->get_object_id_to(object_id_buf)); + } if (entity->has_own_name()) { msg.set_name(entity->get_name()); @@ -349,16 +350,24 @@ class APIConnection final : public APIServerConnection { inline bool check_voice_assistant_api_connection_() const; #endif + // Get the max batch size based on client API version + // API 1.14+ clients don't receive object_id, so messages are smaller and more fit per batch + // TODO: Remove this method before 2026.7.0 and use MAX_INITIAL_PER_BATCH directly + size_t get_max_batch_size_() const { + return this->client_supports_api_version(1, 14) ? MAX_INITIAL_PER_BATCH : MAX_INITIAL_PER_BATCH_LEGACY; + } + // Helper method to process multiple entities from an iterator in a batch template void process_iterator_batch_(Iterator &iterator) { size_t initial_size = this->deferred_batch_.size(); - while (!iterator.completed() && (this->deferred_batch_.size() - initial_size) < MAX_INITIAL_PER_BATCH) { + size_t max_batch = this->get_max_batch_size_(); + while (!iterator.completed() && (this->deferred_batch_.size() - initial_size) < max_batch) { iterator.advance(); } // If the batch is full, process it immediately // Note: iterator.advance() already calls schedule_batch_() via schedule_message_() - if (this->deferred_batch_.size() >= MAX_INITIAL_PER_BATCH) { + if (this->deferred_batch_.size() >= max_batch) { this->process_batch_(); } } diff --git a/esphome/components/api/api_frame_helper.cpp b/esphome/components/api/api_frame_helper.cpp index 20f8fcaf61..420f42a90a 100644 --- a/esphome/components/api/api_frame_helper.cpp +++ b/esphome/components/api/api_frame_helper.cpp @@ -13,12 +13,26 @@ namespace esphome::api { static const char *const TAG = "api.frame_helper"; +// Maximum bytes to log in hex format (168 * 3 = 504, under TX buffer size of 512) +static constexpr size_t API_MAX_LOG_BYTES = 168; + #define HELPER_LOG(msg, ...) \ ESP_LOGVV(TAG, "%s (%s): " msg, this->client_info_->name.c_str(), this->client_info_->peername.c_str(), ##__VA_ARGS__) #ifdef HELPER_LOG_PACKETS -#define LOG_PACKET_RECEIVED(buffer) ESP_LOGVV(TAG, "Received frame: %s", format_hex_pretty(buffer).c_str()) -#define LOG_PACKET_SENDING(data, len) ESP_LOGVV(TAG, "Sending raw: %s", format_hex_pretty(data, len).c_str()) +#define LOG_PACKET_RECEIVED(buffer) \ + do { \ + char hex_buf_[format_hex_pretty_size(API_MAX_LOG_BYTES)]; \ + ESP_LOGVV(TAG, "Received frame: %s", \ + format_hex_pretty_to(hex_buf_, (buffer).data(), \ + (buffer).size() < API_MAX_LOG_BYTES ? (buffer).size() : API_MAX_LOG_BYTES)); \ + } while (0) +#define LOG_PACKET_SENDING(data, len) \ + do { \ + char hex_buf_[format_hex_pretty_size(API_MAX_LOG_BYTES)]; \ + ESP_LOGVV(TAG, "Sending raw: %s", \ + format_hex_pretty_to(hex_buf_, data, (len) < API_MAX_LOG_BYTES ? (len) : API_MAX_LOG_BYTES)); \ + } while (0) #else #define LOG_PACKET_RECEIVED(buffer) ((void) 0) #define LOG_PACKET_SENDING(data, len) ((void) 0) diff --git a/esphome/components/api/api_frame_helper_noise.cpp b/esphome/components/api/api_frame_helper_noise.cpp index 1d6f32ee9d..37b497e2a1 100644 --- a/esphome/components/api/api_frame_helper_noise.cpp +++ b/esphome/components/api/api_frame_helper_noise.cpp @@ -24,12 +24,26 @@ static const char *const PROLOGUE_INIT = "NoiseAPIInit"; #endif static constexpr size_t PROLOGUE_INIT_LEN = 12; // strlen("NoiseAPIInit") +// Maximum bytes to log in hex format (168 * 3 = 504, under TX buffer size of 512) +static constexpr size_t API_MAX_LOG_BYTES = 168; + #define HELPER_LOG(msg, ...) \ ESP_LOGVV(TAG, "%s (%s): " msg, this->client_info_->name.c_str(), this->client_info_->peername.c_str(), ##__VA_ARGS__) #ifdef HELPER_LOG_PACKETS -#define LOG_PACKET_RECEIVED(buffer) ESP_LOGVV(TAG, "Received frame: %s", format_hex_pretty(buffer).c_str()) -#define LOG_PACKET_SENDING(data, len) ESP_LOGVV(TAG, "Sending raw: %s", format_hex_pretty(data, len).c_str()) +#define LOG_PACKET_RECEIVED(buffer) \ + do { \ + char hex_buf_[format_hex_pretty_size(API_MAX_LOG_BYTES)]; \ + ESP_LOGVV(TAG, "Received frame: %s", \ + format_hex_pretty_to(hex_buf_, (buffer).data(), \ + (buffer).size() < API_MAX_LOG_BYTES ? (buffer).size() : API_MAX_LOG_BYTES)); \ + } while (0) +#define LOG_PACKET_SENDING(data, len) \ + do { \ + char hex_buf_[format_hex_pretty_size(API_MAX_LOG_BYTES)]; \ + ESP_LOGVV(TAG, "Sending raw: %s", \ + format_hex_pretty_to(hex_buf_, data, (len) < API_MAX_LOG_BYTES ? (len) : API_MAX_LOG_BYTES)); \ + } while (0) #else #define LOG_PACKET_RECEIVED(buffer) ((void) 0) #define LOG_PACKET_SENDING(data, len) ((void) 0) diff --git a/esphome/components/api/api_frame_helper_plaintext.cpp b/esphome/components/api/api_frame_helper_plaintext.cpp index b5d90b2429..8b7d002d7c 100644 --- a/esphome/components/api/api_frame_helper_plaintext.cpp +++ b/esphome/components/api/api_frame_helper_plaintext.cpp @@ -18,12 +18,26 @@ namespace esphome::api { static const char *const TAG = "api.plaintext"; +// Maximum bytes to log in hex format (168 * 3 = 504, under TX buffer size of 512) +static constexpr size_t API_MAX_LOG_BYTES = 168; + #define HELPER_LOG(msg, ...) \ ESP_LOGVV(TAG, "%s (%s): " msg, this->client_info_->name.c_str(), this->client_info_->peername.c_str(), ##__VA_ARGS__) #ifdef HELPER_LOG_PACKETS -#define LOG_PACKET_RECEIVED(buffer) ESP_LOGVV(TAG, "Received frame: %s", format_hex_pretty(buffer).c_str()) -#define LOG_PACKET_SENDING(data, len) ESP_LOGVV(TAG, "Sending raw: %s", format_hex_pretty(data, len).c_str()) +#define LOG_PACKET_RECEIVED(buffer) \ + do { \ + char hex_buf_[format_hex_pretty_size(API_MAX_LOG_BYTES)]; \ + ESP_LOGVV(TAG, "Received frame: %s", \ + format_hex_pretty_to(hex_buf_, (buffer).data(), \ + (buffer).size() < API_MAX_LOG_BYTES ? (buffer).size() : API_MAX_LOG_BYTES)); \ + } while (0) +#define LOG_PACKET_SENDING(data, len) \ + do { \ + char hex_buf_[format_hex_pretty_size(API_MAX_LOG_BYTES)]; \ + ESP_LOGVV(TAG, "Sending raw: %s", \ + format_hex_pretty_to(hex_buf_, data, (len) < API_MAX_LOG_BYTES ? (len) : API_MAX_LOG_BYTES)); \ + } while (0) #else #define LOG_PACKET_RECEIVED(buffer) ((void) 0) #define LOG_PACKET_SENDING(data, len) ((void) 0) diff --git a/esphome/components/api/api_pb2.cpp b/esphome/components/api/api_pb2.cpp index 3376b022c5..d26b309552 100644 --- a/esphome/components/api/api_pb2.cpp +++ b/esphome/components/api/api_pb2.cpp @@ -23,9 +23,7 @@ bool HelloRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { bool HelloRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 1: { - // Use raw data directly to avoid allocation - this->client_info = value.data(); - this->client_info_len = value.size(); + this->client_info = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -45,23 +43,6 @@ void HelloResponse::calculate_size(ProtoSize &size) const { size.add_length(1, this->server_info_ref_.size()); size.add_length(1, this->name_ref_.size()); } -#ifdef USE_API_PASSWORD -bool AuthenticationRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { - switch (field_id) { - case 1: { - // Use raw data directly to avoid allocation - this->password = value.data(); - this->password_len = value.size(); - break; - } - default: - return false; - } - return true; -} -void AuthenticationResponse::encode(ProtoWriteBuffer buffer) const { buffer.encode_bool(1, this->invalid_password); } -void AuthenticationResponse::calculate_size(ProtoSize &size) const { size.add_bool(1, this->invalid_password); } -#endif #ifdef USE_AREAS void AreaInfo::encode(ProtoWriteBuffer buffer) const { buffer.encode_uint32(1, this->area_id); @@ -85,9 +66,6 @@ void DeviceInfo::calculate_size(ProtoSize &size) const { } #endif void DeviceInfoResponse::encode(ProtoWriteBuffer buffer) const { -#ifdef USE_API_PASSWORD - buffer.encode_bool(1, this->uses_password); -#endif buffer.encode_string(2, this->name_ref_); buffer.encode_string(3, this->mac_address_ref_); buffer.encode_string(4, this->esphome_version_ref_); @@ -143,9 +121,6 @@ void DeviceInfoResponse::encode(ProtoWriteBuffer buffer) const { #endif } void DeviceInfoResponse::calculate_size(ProtoSize &size) const { -#ifdef USE_API_PASSWORD - size.add_bool(1, this->uses_password); -#endif size.add_length(1, this->name_ref_.size()); size.add_length(1, this->mac_address_ref_.size()); size.add_length(1, this->esphome_version_ref_.size()); @@ -448,9 +423,7 @@ bool FanCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { bool FanCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 13: { - // Use raw data directly to avoid allocation - this->preset_mode = value.data(); - this->preset_mode_len = value.size(); + this->preset_mode = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -615,9 +588,7 @@ bool LightCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { bool LightCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 19: { - // Use raw data directly to avoid allocation - this->effect = value.data(); - this->effect_len = value.size(); + this->effect = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -859,7 +830,6 @@ void SubscribeLogsResponse::calculate_size(ProtoSize &size) const { bool NoiseEncryptionSetKeyRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 1: { - // Use raw data directly to avoid allocation this->key = value.data(); this->key_len = value.size(); break; @@ -936,12 +906,12 @@ bool HomeassistantActionResponse::decode_varint(uint32_t field_id, ProtoVarInt v } bool HomeassistantActionResponse::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 3: - this->error_message = value.as_string(); + case 3: { + this->error_message = StringRef(reinterpret_cast(value.data()), value.size()); break; + } #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON case 4: { - // Use raw data directly to avoid allocation this->response_data = value.data(); this->response_data_len = value.size(); break; @@ -967,21 +937,15 @@ void SubscribeHomeAssistantStateResponse::calculate_size(ProtoSize &size) const bool HomeAssistantStateResponse::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 1: { - // Use raw data directly to avoid allocation - this->entity_id = value.data(); - this->entity_id_len = value.size(); + this->entity_id = StringRef(reinterpret_cast(value.data()), value.size()); break; } case 2: { - // Use raw data directly to avoid allocation - this->state = value.data(); - this->state_len = value.size(); + this->state = StringRef(reinterpret_cast(value.data()), value.size()); break; } case 3: { - // Use raw data directly to avoid allocation - this->attribute = value.data(); - this->attribute_len = value.size(); + this->attribute = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -993,9 +957,7 @@ bool HomeAssistantStateResponse::decode_length(uint32_t field_id, ProtoLengthDel bool GetTimeResponse::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 2: { - // Use raw data directly to avoid allocation - this->timezone = value.data(); - this->timezone_len = value.size(); + this->timezone = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -1060,9 +1022,10 @@ bool ExecuteServiceArgument::decode_varint(uint32_t field_id, ProtoVarInt value) } bool ExecuteServiceArgument::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 4: - this->string_ = value.as_string(); + case 4: { + this->string_ = StringRef(reinterpret_cast(value.data()), value.size()); break; + } case 9: this->string_array.push_back(value.as_string()); break; @@ -1153,7 +1116,7 @@ void ExecuteServiceResponse::calculate_size(ProtoSize &size) const { size.add_bool(1, this->success); size.add_length(1, this->error_message_ref_.size()); #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON - size.add_length(4, this->response_data_len); + size.add_length(1, this->response_data_len); #endif } #endif @@ -1408,15 +1371,11 @@ bool ClimateCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) bool ClimateCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 17: { - // Use raw data directly to avoid allocation - this->custom_fan_mode = value.data(); - this->custom_fan_mode_len = value.size(); + this->custom_fan_mode = StringRef(reinterpret_cast(value.data()), value.size()); break; } case 21: { - // Use raw data directly to avoid allocation - this->custom_preset = value.data(); - this->custom_preset_len = value.size(); + this->custom_preset = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -1702,9 +1661,7 @@ bool SelectCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { bool SelectCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 2: { - // Use raw data directly to avoid allocation - this->state = value.data(); - this->state_len = value.size(); + this->state = StringRef(reinterpret_cast(value.data()), value.size()); break; } default: @@ -1732,8 +1689,8 @@ void ListEntitiesSirenResponse::encode(ProtoWriteBuffer buffer) const { buffer.encode_string(5, this->icon_ref_); #endif buffer.encode_bool(6, this->disabled_by_default); - for (auto &it : this->tones) { - buffer.encode_string(7, it, true); + for (const char *it : *this->tones) { + buffer.encode_string(7, it, strlen(it), true); } buffer.encode_bool(8, this->supports_duration); buffer.encode_bool(9, this->supports_volume); @@ -1750,9 +1707,9 @@ void ListEntitiesSirenResponse::calculate_size(ProtoSize &size) const { size.add_length(1, this->icon_ref_.size()); #endif size.add_bool(1, this->disabled_by_default); - if (!this->tones.empty()) { - for (const auto &it : this->tones) { - size.add_length_force(1, it.size()); + if (!this->tones->empty()) { + for (const char *it : *this->tones) { + size.add_length_force(1, strlen(it)); } } size.add_bool(1, this->supports_duration); @@ -1808,9 +1765,10 @@ bool SirenCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { } bool SirenCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 5: - this->tone = value.as_string(); + case 5: { + this->tone = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -1899,9 +1857,10 @@ bool LockCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { } bool LockCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 4: - this->code = value.as_string(); + case 4: { + this->code = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2069,9 +2028,10 @@ bool MediaPlayerCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt val } bool MediaPlayerCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 7: - this->media_url = value.as_string(); + case 7: { + this->media_url = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2279,7 +2239,6 @@ bool BluetoothGATTWriteRequest::decode_varint(uint32_t field_id, ProtoVarInt val bool BluetoothGATTWriteRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 4: { - // Use raw data directly to avoid allocation this->data = value.data(); this->data_len = value.size(); break; @@ -2318,7 +2277,6 @@ bool BluetoothGATTWriteDescriptorRequest::decode_varint(uint32_t field_id, Proto bool BluetoothGATTWriteDescriptorRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 3: { - // Use raw data directly to avoid allocation this->data = value.data(); this->data_len = value.size(); break; @@ -2502,12 +2460,14 @@ bool VoiceAssistantResponse::decode_varint(uint32_t field_id, ProtoVarInt value) } bool VoiceAssistantEventData::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 1: - this->name = value.as_string(); + case 1: { + this->name = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 2: - this->value = value.as_string(); + } + case 2: { + this->value = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2546,20 +2506,22 @@ bool VoiceAssistantAudio::decode_varint(uint32_t field_id, ProtoVarInt value) { } bool VoiceAssistantAudio::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 1: - this->data = value.as_string(); + case 1: { + this->data = value.data(); + this->data_len = value.size(); break; + } default: return false; } return true; } void VoiceAssistantAudio::encode(ProtoWriteBuffer buffer) const { - buffer.encode_bytes(1, this->data_ptr_, this->data_len_); + buffer.encode_bytes(1, this->data, this->data_len); buffer.encode_bool(2, this->end); } void VoiceAssistantAudio::calculate_size(ProtoSize &size) const { - size.add_length(1, this->data_len_); + size.add_length(1, this->data_len); size.add_bool(1, this->end); } bool VoiceAssistantTimerEventResponse::decode_varint(uint32_t field_id, ProtoVarInt value) { @@ -2583,12 +2545,14 @@ bool VoiceAssistantTimerEventResponse::decode_varint(uint32_t field_id, ProtoVar } bool VoiceAssistantTimerEventResponse::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 2: - this->timer_id = value.as_string(); + case 2: { + this->timer_id = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 3: - this->name = value.as_string(); + } + case 3: { + this->name = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2606,15 +2570,18 @@ bool VoiceAssistantAnnounceRequest::decode_varint(uint32_t field_id, ProtoVarInt } bool VoiceAssistantAnnounceRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 1: - this->media_id = value.as_string(); + case 1: { + this->media_id = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 2: - this->text = value.as_string(); + } + case 2: { + this->text = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 3: - this->preannounce_media_id = value.as_string(); + } + case 3: { + this->preannounce_media_id = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2650,24 +2617,29 @@ bool VoiceAssistantExternalWakeWord::decode_varint(uint32_t field_id, ProtoVarIn } bool VoiceAssistantExternalWakeWord::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 1: - this->id = value.as_string(); + case 1: { + this->id = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 2: - this->wake_word = value.as_string(); + } + case 2: { + this->wake_word = StringRef(reinterpret_cast(value.data()), value.size()); break; + } case 3: this->trained_languages.push_back(value.as_string()); break; - case 4: - this->model_type = value.as_string(); + case 4: { + this->model_type = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 6: - this->model_hash = value.as_string(); + } + case 6: { + this->model_hash = StringRef(reinterpret_cast(value.data()), value.size()); break; - case 7: - this->url = value.as_string(); + } + case 7: { + this->url = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2777,9 +2749,10 @@ bool AlarmControlPanelCommandRequest::decode_varint(uint32_t field_id, ProtoVarI } bool AlarmControlPanelCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 3: - this->code = value.as_string(); + case 3: { + this->code = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -2861,9 +2834,10 @@ bool TextCommandRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { } bool TextCommandRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { - case 2: - this->state = value.as_string(); + case 2: { + this->state = StringRef(reinterpret_cast(value.data()), value.size()); break; + } default: return false; } @@ -3331,7 +3305,6 @@ bool UpdateCommandRequest::decode_32bit(uint32_t field_id, Proto32Bit value) { bool ZWaveProxyFrame::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 1: { - // Use raw data directly to avoid allocation this->data = value.data(); this->data_len = value.size(); break; @@ -3356,7 +3329,6 @@ bool ZWaveProxyRequest::decode_varint(uint32_t field_id, ProtoVarInt value) { bool ZWaveProxyRequest::decode_length(uint32_t field_id, ProtoLengthDelimited value) { switch (field_id) { case 2: { - // Use raw data directly to avoid allocation this->data = value.data(); this->data_len = value.size(); break; @@ -3372,7 +3344,7 @@ void ZWaveProxyRequest::encode(ProtoWriteBuffer buffer) const { } void ZWaveProxyRequest::calculate_size(ProtoSize &size) const { size.add_uint32(1, static_cast(this->type)); - size.add_length(2, this->data_len); + size.add_length(1, this->data_len); } #endif diff --git a/esphome/components/api/api_pb2.h b/esphome/components/api/api_pb2.h index 2111c2a895..0605051e29 100644 --- a/esphome/components/api/api_pb2.h +++ b/esphome/components/api/api_pb2.h @@ -357,12 +357,11 @@ class CommandProtoMessage : public ProtoDecodableMessage { class HelloRequest final : public ProtoDecodableMessage { public: static constexpr uint8_t MESSAGE_TYPE = 1; - static constexpr uint8_t ESTIMATED_SIZE = 27; + static constexpr uint8_t ESTIMATED_SIZE = 17; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "hello_request"; } #endif - const uint8_t *client_info{nullptr}; - uint16_t client_info_len{0}; + StringRef client_info{}; uint32_t api_version_major{0}; uint32_t api_version_minor{0}; #ifdef HAS_PROTO_MESSAGE_DUMP @@ -394,40 +393,6 @@ class HelloResponse final : public ProtoMessage { protected: }; -#ifdef USE_API_PASSWORD -class AuthenticationRequest final : public ProtoDecodableMessage { - public: - static constexpr uint8_t MESSAGE_TYPE = 3; - static constexpr uint8_t ESTIMATED_SIZE = 19; -#ifdef HAS_PROTO_MESSAGE_DUMP - const char *message_name() const override { return "authentication_request"; } -#endif - const uint8_t *password{nullptr}; - uint16_t password_len{0}; -#ifdef HAS_PROTO_MESSAGE_DUMP - void dump_to(std::string &out) const override; -#endif - - protected: - bool decode_length(uint32_t field_id, ProtoLengthDelimited value) override; -}; -class AuthenticationResponse final : public ProtoMessage { - public: - static constexpr uint8_t MESSAGE_TYPE = 4; - static constexpr uint8_t ESTIMATED_SIZE = 2; -#ifdef HAS_PROTO_MESSAGE_DUMP - const char *message_name() const override { return "authentication_response"; } -#endif - bool invalid_password{false}; - void encode(ProtoWriteBuffer buffer) const override; - void calculate_size(ProtoSize &size) const override; -#ifdef HAS_PROTO_MESSAGE_DUMP - void dump_to(std::string &out) const override; -#endif - - protected: -}; -#endif class DisconnectRequest final : public ProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 5; @@ -527,12 +492,9 @@ class DeviceInfo final : public ProtoMessage { class DeviceInfoResponse final : public ProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 10; - static constexpr uint16_t ESTIMATED_SIZE = 257; + static constexpr uint8_t ESTIMATED_SIZE = 255; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "device_info_response"; } -#endif -#ifdef USE_API_PASSWORD - bool uses_password{false}; #endif StringRef name_ref_{}; void set_name(const StringRef &ref) { this->name_ref_ = ref; } @@ -784,7 +746,7 @@ class FanStateResponse final : public StateResponseProtoMessage { class FanCommandRequest final : public CommandProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 31; - static constexpr uint8_t ESTIMATED_SIZE = 48; + static constexpr uint8_t ESTIMATED_SIZE = 38; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "fan_command_request"; } #endif @@ -797,8 +759,7 @@ class FanCommandRequest final : public CommandProtoMessage { bool has_speed_level{false}; int32_t speed_level{0}; bool has_preset_mode{false}; - const uint8_t *preset_mode{nullptr}; - uint16_t preset_mode_len{0}; + StringRef preset_mode{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -860,7 +821,7 @@ class LightStateResponse final : public StateResponseProtoMessage { class LightCommandRequest final : public CommandProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 32; - static constexpr uint8_t ESTIMATED_SIZE = 122; + static constexpr uint8_t ESTIMATED_SIZE = 112; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "light_command_request"; } #endif @@ -889,8 +850,7 @@ class LightCommandRequest final : public CommandProtoMessage { bool has_flash_length{false}; uint32_t flash_length{0}; bool has_effect{false}; - const uint8_t *effect{nullptr}; - uint16_t effect_len{0}; + StringRef effect{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -1050,7 +1010,7 @@ class SubscribeLogsRequest final : public ProtoDecodableMessage { class SubscribeLogsResponse final : public ProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 29; - static constexpr uint8_t ESTIMATED_SIZE = 11; + static constexpr uint8_t ESTIMATED_SIZE = 21; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "subscribe_logs_response"; } #endif @@ -1171,7 +1131,7 @@ class HomeassistantActionResponse final : public ProtoDecodableMessage { #endif uint32_t call_id{0}; bool success{false}; - std::string error_message{}; + StringRef error_message{}; #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON const uint8_t *response_data{nullptr}; uint16_t response_data_len{0}; @@ -1222,16 +1182,13 @@ class SubscribeHomeAssistantStateResponse final : public ProtoMessage { class HomeAssistantStateResponse final : public ProtoDecodableMessage { public: static constexpr uint8_t MESSAGE_TYPE = 40; - static constexpr uint8_t ESTIMATED_SIZE = 57; + static constexpr uint8_t ESTIMATED_SIZE = 27; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "home_assistant_state_response"; } #endif - const uint8_t *entity_id{nullptr}; - uint16_t entity_id_len{0}; - const uint8_t *state{nullptr}; - uint16_t state_len{0}; - const uint8_t *attribute{nullptr}; - uint16_t attribute_len{0}; + StringRef entity_id{}; + StringRef state{}; + StringRef attribute{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -1256,13 +1213,12 @@ class GetTimeRequest final : public ProtoMessage { class GetTimeResponse final : public ProtoDecodableMessage { public: static constexpr uint8_t MESSAGE_TYPE = 37; - static constexpr uint8_t ESTIMATED_SIZE = 24; + static constexpr uint8_t ESTIMATED_SIZE = 14; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "get_time_response"; } #endif uint32_t epoch_seconds{0}; - const uint8_t *timezone{nullptr}; - uint16_t timezone_len{0}; + StringRef timezone{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -1310,7 +1266,7 @@ class ExecuteServiceArgument final : public ProtoDecodableMessage { bool bool_{false}; int32_t legacy_int{0}; float float_{0.0f}; - std::string string_{}; + StringRef string_{}; int32_t int_{0}; FixedVector bool_array{}; FixedVector int_array{}; @@ -1396,7 +1352,7 @@ class ListEntitiesCameraResponse final : public InfoResponseProtoMessage { class CameraImageResponse final : public StateResponseProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 44; - static constexpr uint8_t ESTIMATED_SIZE = 20; + static constexpr uint8_t ESTIMATED_SIZE = 30; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "camera_image_response"; } #endif @@ -1499,7 +1455,7 @@ class ClimateStateResponse final : public StateResponseProtoMessage { class ClimateCommandRequest final : public CommandProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 48; - static constexpr uint8_t ESTIMATED_SIZE = 104; + static constexpr uint8_t ESTIMATED_SIZE = 84; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "climate_command_request"; } #endif @@ -1516,13 +1472,11 @@ class ClimateCommandRequest final : public CommandProtoMessage { bool has_swing_mode{false}; enums::ClimateSwingMode swing_mode{}; bool has_custom_fan_mode{false}; - const uint8_t *custom_fan_mode{nullptr}; - uint16_t custom_fan_mode_len{0}; + StringRef custom_fan_mode{}; bool has_preset{false}; enums::ClimatePreset preset{}; bool has_custom_preset{false}; - const uint8_t *custom_preset{nullptr}; - uint16_t custom_preset_len{0}; + StringRef custom_preset{}; bool has_target_humidity{false}; float target_humidity{0.0f}; #ifdef HAS_PROTO_MESSAGE_DUMP @@ -1695,12 +1649,11 @@ class SelectStateResponse final : public StateResponseProtoMessage { class SelectCommandRequest final : public CommandProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 54; - static constexpr uint8_t ESTIMATED_SIZE = 28; + static constexpr uint8_t ESTIMATED_SIZE = 18; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "select_command_request"; } #endif - const uint8_t *state{nullptr}; - uint16_t state_len{0}; + StringRef state{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -1719,7 +1672,7 @@ class ListEntitiesSirenResponse final : public InfoResponseProtoMessage { #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "list_entities_siren_response"; } #endif - std::vector tones{}; + const FixedVector *tones{}; bool supports_duration{false}; bool supports_volume{false}; void encode(ProtoWriteBuffer buffer) const override; @@ -1756,7 +1709,7 @@ class SirenCommandRequest final : public CommandProtoMessage { bool has_state{false}; bool state{false}; bool has_tone{false}; - std::string tone{}; + StringRef tone{}; bool has_duration{false}; uint32_t duration{0}; bool has_volume{false}; @@ -1817,7 +1770,7 @@ class LockCommandRequest final : public CommandProtoMessage { #endif enums::LockCommand command{}; bool has_code{false}; - std::string code{}; + StringRef code{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -1927,7 +1880,7 @@ class MediaPlayerCommandRequest final : public CommandProtoMessage { bool has_volume{false}; float volume{0.0f}; bool has_media_url{false}; - std::string media_url{}; + StringRef media_url{}; bool has_announcement{false}; bool announcement{false}; #ifdef HAS_PROTO_MESSAGE_DUMP @@ -2134,7 +2087,7 @@ class BluetoothGATTReadRequest final : public ProtoDecodableMessage { class BluetoothGATTReadResponse final : public ProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 74; - static constexpr uint8_t ESTIMATED_SIZE = 17; + static constexpr uint8_t ESTIMATED_SIZE = 27; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "bluetooth_gatt_read_response"; } #endif @@ -2229,7 +2182,7 @@ class BluetoothGATTNotifyRequest final : public ProtoDecodableMessage { class BluetoothGATTNotifyDataResponse final : public ProtoMessage { public: static constexpr uint8_t MESSAGE_TYPE = 79; - static constexpr uint8_t ESTIMATED_SIZE = 17; + static constexpr uint8_t ESTIMATED_SIZE = 27; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "bluetooth_gatt_notify_data_response"; } #endif @@ -2503,8 +2456,8 @@ class VoiceAssistantResponse final : public ProtoDecodableMessage { }; class VoiceAssistantEventData final : public ProtoDecodableMessage { public: - std::string name{}; - std::string value{}; + StringRef name{}; + StringRef value{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -2532,17 +2485,12 @@ class VoiceAssistantEventResponse final : public ProtoDecodableMessage { class VoiceAssistantAudio final : public ProtoDecodableMessage { public: static constexpr uint8_t MESSAGE_TYPE = 106; - static constexpr uint8_t ESTIMATED_SIZE = 11; + static constexpr uint8_t ESTIMATED_SIZE = 21; #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "voice_assistant_audio"; } #endif - std::string data{}; - const uint8_t *data_ptr_{nullptr}; - size_t data_len_{0}; - void set_data(const uint8_t *data, size_t len) { - this->data_ptr_ = data; - this->data_len_ = len; - } + const uint8_t *data{nullptr}; + uint16_t data_len{0}; bool end{false}; void encode(ProtoWriteBuffer buffer) const override; void calculate_size(ProtoSize &size) const override; @@ -2562,8 +2510,8 @@ class VoiceAssistantTimerEventResponse final : public ProtoDecodableMessage { const char *message_name() const override { return "voice_assistant_timer_event_response"; } #endif enums::VoiceAssistantTimerEvent event_type{}; - std::string timer_id{}; - std::string name{}; + StringRef timer_id{}; + StringRef name{}; uint32_t total_seconds{0}; uint32_t seconds_left{0}; bool is_active{false}; @@ -2582,9 +2530,9 @@ class VoiceAssistantAnnounceRequest final : public ProtoDecodableMessage { #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "voice_assistant_announce_request"; } #endif - std::string media_id{}; - std::string text{}; - std::string preannounce_media_id{}; + StringRef media_id{}; + StringRef text{}; + StringRef preannounce_media_id{}; bool start_conversation{false}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; @@ -2627,13 +2575,13 @@ class VoiceAssistantWakeWord final : public ProtoMessage { }; class VoiceAssistantExternalWakeWord final : public ProtoDecodableMessage { public: - std::string id{}; - std::string wake_word{}; + StringRef id{}; + StringRef wake_word{}; std::vector trained_languages{}; - std::string model_type{}; + StringRef model_type{}; uint32_t model_size{0}; - std::string model_hash{}; - std::string url{}; + StringRef model_hash{}; + StringRef url{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -2734,7 +2682,7 @@ class AlarmControlPanelCommandRequest final : public CommandProtoMessage { const char *message_name() const override { return "alarm_control_panel_command_request"; } #endif enums::AlarmControlPanelStateCommand command{}; - std::string code{}; + StringRef code{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif @@ -2791,7 +2739,7 @@ class TextCommandRequest final : public CommandProtoMessage { #ifdef HAS_PROTO_MESSAGE_DUMP const char *message_name() const override { return "text_command_request"; } #endif - std::string state{}; + StringRef state{}; #ifdef HAS_PROTO_MESSAGE_DUMP void dump_to(std::string &out) const override; #endif diff --git a/esphome/components/api/api_pb2_dump.cpp b/esphome/components/api/api_pb2_dump.cpp index 9faf39e29e..ac5f04f3fb 100644 --- a/esphome/components/api/api_pb2_dump.cpp +++ b/esphome/components/api/api_pb2_dump.cpp @@ -736,7 +736,7 @@ template<> const char *proto_enum_to_string(enums: void HelloRequest::dump_to(std::string &out) const { MessageDumpHelper helper(out, "HelloRequest"); out.append(" client_info: "); - out.append(format_hex_pretty(this->client_info, this->client_info_len)); + out.append("'").append(this->client_info.c_str(), this->client_info.size()).append("'"); out.append("\n"); dump_field(out, "api_version_major", this->api_version_major); dump_field(out, "api_version_minor", this->api_version_minor); @@ -748,18 +748,6 @@ void HelloResponse::dump_to(std::string &out) const { dump_field(out, "server_info", this->server_info_ref_); dump_field(out, "name", this->name_ref_); } -#ifdef USE_API_PASSWORD -void AuthenticationRequest::dump_to(std::string &out) const { - MessageDumpHelper helper(out, "AuthenticationRequest"); - out.append(" password: "); - out.append(format_hex_pretty(this->password, this->password_len)); - out.append("\n"); -} -void AuthenticationResponse::dump_to(std::string &out) const { - MessageDumpHelper helper(out, "AuthenticationResponse"); - dump_field(out, "invalid_password", this->invalid_password); -} -#endif void DisconnectRequest::dump_to(std::string &out) const { out.append("DisconnectRequest {}"); } void DisconnectResponse::dump_to(std::string &out) const { out.append("DisconnectResponse {}"); } void PingRequest::dump_to(std::string &out) const { out.append("PingRequest {}"); } @@ -782,9 +770,6 @@ void DeviceInfo::dump_to(std::string &out) const { #endif void DeviceInfoResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "DeviceInfoResponse"); -#ifdef USE_API_PASSWORD - dump_field(out, "uses_password", this->uses_password); -#endif dump_field(out, "name", this->name_ref_); dump_field(out, "mac_address", this->mac_address_ref_); dump_field(out, "esphome_version", this->esphome_version_ref_); @@ -965,7 +950,7 @@ void FanCommandRequest::dump_to(std::string &out) const { dump_field(out, "speed_level", this->speed_level); dump_field(out, "has_preset_mode", this->has_preset_mode); out.append(" preset_mode: "); - out.append(format_hex_pretty(this->preset_mode, this->preset_mode_len)); + out.append("'").append(this->preset_mode.c_str(), this->preset_mode.size()).append("'"); out.append("\n"); #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); @@ -1043,7 +1028,7 @@ void LightCommandRequest::dump_to(std::string &out) const { dump_field(out, "flash_length", this->flash_length); dump_field(out, "has_effect", this->has_effect); out.append(" effect: "); - out.append(format_hex_pretty(this->effect, this->effect_len)); + out.append("'").append(this->effect.c_str(), this->effect.size()).append("'"); out.append("\n"); #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); @@ -1205,7 +1190,9 @@ void HomeassistantActionResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "HomeassistantActionResponse"); dump_field(out, "call_id", this->call_id); dump_field(out, "success", this->success); - dump_field(out, "error_message", this->error_message); + out.append(" error_message: "); + out.append("'").append(this->error_message.c_str(), this->error_message.size()).append("'"); + out.append("\n"); #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON out.append(" response_data: "); out.append(format_hex_pretty(this->response_data, this->response_data_len)); @@ -1226,13 +1213,13 @@ void SubscribeHomeAssistantStateResponse::dump_to(std::string &out) const { void HomeAssistantStateResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "HomeAssistantStateResponse"); out.append(" entity_id: "); - out.append(format_hex_pretty(this->entity_id, this->entity_id_len)); + out.append("'").append(this->entity_id.c_str(), this->entity_id.size()).append("'"); out.append("\n"); out.append(" state: "); - out.append(format_hex_pretty(this->state, this->state_len)); + out.append("'").append(this->state.c_str(), this->state.size()).append("'"); out.append("\n"); out.append(" attribute: "); - out.append(format_hex_pretty(this->attribute, this->attribute_len)); + out.append("'").append(this->attribute.c_str(), this->attribute.size()).append("'"); out.append("\n"); } #endif @@ -1241,7 +1228,7 @@ void GetTimeResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "GetTimeResponse"); dump_field(out, "epoch_seconds", this->epoch_seconds); out.append(" timezone: "); - out.append(format_hex_pretty(this->timezone, this->timezone_len)); + out.append("'").append(this->timezone.c_str(), this->timezone.size()).append("'"); out.append("\n"); } #ifdef USE_API_USER_DEFINED_ACTIONS @@ -1266,7 +1253,9 @@ void ExecuteServiceArgument::dump_to(std::string &out) const { dump_field(out, "bool_", this->bool_); dump_field(out, "legacy_int", this->legacy_int); dump_field(out, "float_", this->float_); - dump_field(out, "string_", this->string_); + out.append(" string_: "); + out.append("'").append(this->string_.c_str(), this->string_.size()).append("'"); + out.append("\n"); dump_field(out, "int_", this->int_); for (const auto it : this->bool_array) { dump_field(out, "bool_array", static_cast(it), 4); @@ -1424,13 +1413,13 @@ void ClimateCommandRequest::dump_to(std::string &out) const { dump_field(out, "swing_mode", static_cast(this->swing_mode)); dump_field(out, "has_custom_fan_mode", this->has_custom_fan_mode); out.append(" custom_fan_mode: "); - out.append(format_hex_pretty(this->custom_fan_mode, this->custom_fan_mode_len)); + out.append("'").append(this->custom_fan_mode.c_str(), this->custom_fan_mode.size()).append("'"); out.append("\n"); dump_field(out, "has_preset", this->has_preset); dump_field(out, "preset", static_cast(this->preset)); dump_field(out, "has_custom_preset", this->has_custom_preset); out.append(" custom_preset: "); - out.append(format_hex_pretty(this->custom_preset, this->custom_preset_len)); + out.append("'").append(this->custom_preset.c_str(), this->custom_preset.size()).append("'"); out.append("\n"); dump_field(out, "has_target_humidity", this->has_target_humidity); dump_field(out, "target_humidity", this->target_humidity); @@ -1558,7 +1547,7 @@ void SelectCommandRequest::dump_to(std::string &out) const { MessageDumpHelper helper(out, "SelectCommandRequest"); dump_field(out, "key", this->key); out.append(" state: "); - out.append(format_hex_pretty(this->state, this->state_len)); + out.append("'").append(this->state.c_str(), this->state.size()).append("'"); out.append("\n"); #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); @@ -1575,7 +1564,7 @@ void ListEntitiesSirenResponse::dump_to(std::string &out) const { dump_field(out, "icon", this->icon_ref_); #endif dump_field(out, "disabled_by_default", this->disabled_by_default); - for (const auto &it : this->tones) { + for (const auto &it : *this->tones) { dump_field(out, "tones", it, 4); } dump_field(out, "supports_duration", this->supports_duration); @@ -1599,7 +1588,9 @@ void SirenCommandRequest::dump_to(std::string &out) const { dump_field(out, "has_state", this->has_state); dump_field(out, "state", this->state); dump_field(out, "has_tone", this->has_tone); - dump_field(out, "tone", this->tone); + out.append(" tone: "); + out.append("'").append(this->tone.c_str(), this->tone.size()).append("'"); + out.append("\n"); dump_field(out, "has_duration", this->has_duration); dump_field(out, "duration", this->duration); dump_field(out, "has_volume", this->has_volume); @@ -1641,7 +1632,9 @@ void LockCommandRequest::dump_to(std::string &out) const { dump_field(out, "key", this->key); dump_field(out, "command", static_cast(this->command)); dump_field(out, "has_code", this->has_code); - dump_field(out, "code", this->code); + out.append(" code: "); + out.append("'").append(this->code.c_str(), this->code.size()).append("'"); + out.append("\n"); #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); #endif @@ -1719,7 +1712,9 @@ void MediaPlayerCommandRequest::dump_to(std::string &out) const { dump_field(out, "has_volume", this->has_volume); dump_field(out, "volume", this->volume); dump_field(out, "has_media_url", this->has_media_url); - dump_field(out, "media_url", this->media_url); + out.append(" media_url: "); + out.append("'").append(this->media_url.c_str(), this->media_url.size()).append("'"); + out.append("\n"); dump_field(out, "has_announcement", this->has_announcement); dump_field(out, "announcement", this->announcement); #ifdef USE_DEVICES @@ -1949,8 +1944,12 @@ void VoiceAssistantResponse::dump_to(std::string &out) const { } void VoiceAssistantEventData::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantEventData"); - dump_field(out, "name", this->name); - dump_field(out, "value", this->value); + out.append(" name: "); + out.append("'").append(this->name.c_str(), this->name.size()).append("'"); + out.append("\n"); + out.append(" value: "); + out.append("'").append(this->value.c_str(), this->value.size()).append("'"); + out.append("\n"); } void VoiceAssistantEventResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantEventResponse"); @@ -1964,28 +1963,34 @@ void VoiceAssistantEventResponse::dump_to(std::string &out) const { void VoiceAssistantAudio::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantAudio"); out.append(" data: "); - if (this->data_ptr_ != nullptr) { - out.append(format_hex_pretty(this->data_ptr_, this->data_len_)); - } else { - out.append(format_hex_pretty(reinterpret_cast(this->data.data()), this->data.size())); - } + out.append(format_hex_pretty(this->data, this->data_len)); out.append("\n"); dump_field(out, "end", this->end); } void VoiceAssistantTimerEventResponse::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantTimerEventResponse"); dump_field(out, "event_type", static_cast(this->event_type)); - dump_field(out, "timer_id", this->timer_id); - dump_field(out, "name", this->name); + out.append(" timer_id: "); + out.append("'").append(this->timer_id.c_str(), this->timer_id.size()).append("'"); + out.append("\n"); + out.append(" name: "); + out.append("'").append(this->name.c_str(), this->name.size()).append("'"); + out.append("\n"); dump_field(out, "total_seconds", this->total_seconds); dump_field(out, "seconds_left", this->seconds_left); dump_field(out, "is_active", this->is_active); } void VoiceAssistantAnnounceRequest::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantAnnounceRequest"); - dump_field(out, "media_id", this->media_id); - dump_field(out, "text", this->text); - dump_field(out, "preannounce_media_id", this->preannounce_media_id); + out.append(" media_id: "); + out.append("'").append(this->media_id.c_str(), this->media_id.size()).append("'"); + out.append("\n"); + out.append(" text: "); + out.append("'").append(this->text.c_str(), this->text.size()).append("'"); + out.append("\n"); + out.append(" preannounce_media_id: "); + out.append("'").append(this->preannounce_media_id.c_str(), this->preannounce_media_id.size()).append("'"); + out.append("\n"); dump_field(out, "start_conversation", this->start_conversation); } void VoiceAssistantAnnounceFinished::dump_to(std::string &out) const { dump_field(out, "success", this->success); } @@ -1999,15 +2004,25 @@ void VoiceAssistantWakeWord::dump_to(std::string &out) const { } void VoiceAssistantExternalWakeWord::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantExternalWakeWord"); - dump_field(out, "id", this->id); - dump_field(out, "wake_word", this->wake_word); + out.append(" id: "); + out.append("'").append(this->id.c_str(), this->id.size()).append("'"); + out.append("\n"); + out.append(" wake_word: "); + out.append("'").append(this->wake_word.c_str(), this->wake_word.size()).append("'"); + out.append("\n"); for (const auto &it : this->trained_languages) { dump_field(out, "trained_languages", it, 4); } - dump_field(out, "model_type", this->model_type); + out.append(" model_type: "); + out.append("'").append(this->model_type.c_str(), this->model_type.size()).append("'"); + out.append("\n"); dump_field(out, "model_size", this->model_size); - dump_field(out, "model_hash", this->model_hash); - dump_field(out, "url", this->url); + out.append(" model_hash: "); + out.append("'").append(this->model_hash.c_str(), this->model_hash.size()).append("'"); + out.append("\n"); + out.append(" url: "); + out.append("'").append(this->url.c_str(), this->url.size()).append("'"); + out.append("\n"); } void VoiceAssistantConfigurationRequest::dump_to(std::string &out) const { MessageDumpHelper helper(out, "VoiceAssistantConfigurationRequest"); @@ -2066,7 +2081,9 @@ void AlarmControlPanelCommandRequest::dump_to(std::string &out) const { MessageDumpHelper helper(out, "AlarmControlPanelCommandRequest"); dump_field(out, "key", this->key); dump_field(out, "command", static_cast(this->command)); - dump_field(out, "code", this->code); + out.append(" code: "); + out.append("'").append(this->code.c_str(), this->code.size()).append("'"); + out.append("\n"); #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); #endif @@ -2103,7 +2120,9 @@ void TextStateResponse::dump_to(std::string &out) const { void TextCommandRequest::dump_to(std::string &out) const { MessageDumpHelper helper(out, "TextCommandRequest"); dump_field(out, "key", this->key); - dump_field(out, "state", this->state); + out.append(" state: "); + out.append("'").append(this->state.c_str(), this->state.size()).append("'"); + out.append("\n"); #ifdef USE_DEVICES dump_field(out, "device_id", this->device_id); #endif diff --git a/esphome/components/api/api_pb2_service.cpp b/esphome/components/api/api_pb2_service.cpp index 984cb0bb6e..c9bf638ad7 100644 --- a/esphome/components/api/api_pb2_service.cpp +++ b/esphome/components/api/api_pb2_service.cpp @@ -24,17 +24,6 @@ void APIServerConnectionBase::read_message(uint32_t msg_size, uint32_t msg_type, this->on_hello_request(msg); break; } -#ifdef USE_API_PASSWORD - case AuthenticationRequest::MESSAGE_TYPE: { - AuthenticationRequest msg; - msg.decode(msg_data, msg_size); -#ifdef HAS_PROTO_MESSAGE_DUMP - ESP_LOGVV(TAG, "on_authentication_request: %s", msg.dump().c_str()); -#endif - this->on_authentication_request(msg); - break; - } -#endif case DisconnectRequest::MESSAGE_TYPE: { DisconnectRequest msg; // Empty message: no decode needed @@ -643,13 +632,6 @@ void APIServerConnection::on_hello_request(const HelloRequest &msg) { this->on_fatal_error(); } } -#ifdef USE_API_PASSWORD -void APIServerConnection::on_authentication_request(const AuthenticationRequest &msg) { - if (!this->send_authenticate_response(msg)) { - this->on_fatal_error(); - } -} -#endif void APIServerConnection::on_disconnect_request(const DisconnectRequest &msg) { if (!this->send_disconnect_response(msg)) { this->on_fatal_error(); @@ -841,10 +823,7 @@ void APIServerConnection::on_z_wave_proxy_request(const ZWaveProxyRequest &msg) void APIServerConnection::read_message(uint32_t msg_size, uint32_t msg_type, const uint8_t *msg_data) { // Check authentication/connection requirements for messages switch (msg_type) { - case HelloRequest::MESSAGE_TYPE: // No setup required -#ifdef USE_API_PASSWORD - case AuthenticationRequest::MESSAGE_TYPE: // No setup required -#endif + case HelloRequest::MESSAGE_TYPE: // No setup required case DisconnectRequest::MESSAGE_TYPE: // No setup required case PingRequest::MESSAGE_TYPE: // No setup required break; // Skip all checks for these messages diff --git a/esphome/components/api/api_pb2_service.h b/esphome/components/api/api_pb2_service.h index 261d9fbd27..e2a23827dc 100644 --- a/esphome/components/api/api_pb2_service.h +++ b/esphome/components/api/api_pb2_service.h @@ -26,10 +26,6 @@ class APIServerConnectionBase : public ProtoService { virtual void on_hello_request(const HelloRequest &value){}; -#ifdef USE_API_PASSWORD - virtual void on_authentication_request(const AuthenticationRequest &value){}; -#endif - virtual void on_disconnect_request(const DisconnectRequest &value){}; virtual void on_disconnect_response(const DisconnectResponse &value){}; virtual void on_ping_request(const PingRequest &value){}; @@ -228,9 +224,6 @@ class APIServerConnectionBase : public ProtoService { class APIServerConnection : public APIServerConnectionBase { public: virtual bool send_hello_response(const HelloRequest &msg) = 0; -#ifdef USE_API_PASSWORD - virtual bool send_authenticate_response(const AuthenticationRequest &msg) = 0; -#endif virtual bool send_disconnect_response(const DisconnectRequest &msg) = 0; virtual bool send_ping_response(const PingRequest &msg) = 0; virtual bool send_device_info_response(const DeviceInfoRequest &msg) = 0; @@ -357,9 +350,6 @@ class APIServerConnection : public APIServerConnectionBase { #endif protected: void on_hello_request(const HelloRequest &msg) override; -#ifdef USE_API_PASSWORD - void on_authentication_request(const AuthenticationRequest &msg) override; -#endif void on_disconnect_request(const DisconnectRequest &msg) override; void on_ping_request(const PingRequest &msg) override; void on_device_info_request(const DeviceInfoRequest &msg) override; diff --git a/esphome/components/api/api_server.cpp b/esphome/components/api/api_server.cpp index 7a03d8f8ad..eedf8c7172 100644 --- a/esphome/components/api/api_server.cpp +++ b/esphome/components/api/api_server.cpp @@ -224,38 +224,6 @@ void APIServer::dump_config() { #endif } -#ifdef USE_API_PASSWORD -bool APIServer::check_password(const uint8_t *password_data, size_t password_len) const { - // depend only on input password length - const char *a = this->password_.c_str(); - uint32_t len_a = this->password_.length(); - const char *b = reinterpret_cast(password_data); - uint32_t len_b = password_len; - - // disable optimization with volatile - volatile uint32_t length = len_b; - volatile const char *left = nullptr; - volatile const char *right = b; - uint8_t result = 0; - - if (len_a == length) { - left = *((volatile const char **) &a); - result = 0; - } - if (len_a != length) { - left = b; - result = 1; - } - - for (size_t i = 0; i < length; i++) { - result |= *left++ ^ *right++; // NOLINT - } - - return result == 0; -} - -#endif - void APIServer::handle_disconnect(APIConnection *conn) {} // Macro for controller update dispatch @@ -377,10 +345,6 @@ float APIServer::get_setup_priority() const { return setup_priority::AFTER_WIFI; void APIServer::set_port(uint16_t port) { this->port_ = port; } -#ifdef USE_API_PASSWORD -void APIServer::set_password(const std::string &password) { this->password_ = password; } -#endif - void APIServer::set_batch_delay(uint16_t batch_delay) { this->batch_delay_ = batch_delay; } #ifdef USE_API_HOMEASSISTANT_SERVICES @@ -394,7 +358,7 @@ void APIServer::register_action_response_callback(uint32_t call_id, ActionRespon this->action_response_callbacks_.push_back({call_id, std::move(callback)}); } -void APIServer::handle_action_response(uint32_t call_id, bool success, const std::string &error_message) { +void APIServer::handle_action_response(uint32_t call_id, bool success, StringRef error_message) { for (auto it = this->action_response_callbacks_.begin(); it != this->action_response_callbacks_.end(); ++it) { if (it->call_id == call_id) { auto callback = std::move(it->callback); @@ -406,7 +370,7 @@ void APIServer::handle_action_response(uint32_t call_id, bool success, const std } } #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON -void APIServer::handle_action_response(uint32_t call_id, bool success, const std::string &error_message, +void APIServer::handle_action_response(uint32_t call_id, bool success, StringRef error_message, const uint8_t *response_data, size_t response_data_len) { for (auto it = this->action_response_callbacks_.begin(); it != this->action_response_callbacks_.end(); ++it) { if (it->call_id == call_id) { @@ -678,7 +642,7 @@ void APIServer::unregister_active_action_calls_for_connection(APIConnection *con } } -void APIServer::send_action_response(uint32_t action_call_id, bool success, const std::string &error_message) { +void APIServer::send_action_response(uint32_t action_call_id, bool success, StringRef error_message) { for (auto &call : this->active_action_calls_) { if (call.action_call_id == action_call_id) { call.connection->send_execute_service_response(call.client_call_id, success, error_message); @@ -688,7 +652,7 @@ void APIServer::send_action_response(uint32_t action_call_id, bool success, cons ESP_LOGW(TAG, "Cannot send response: no active call found for action_call_id %u", action_call_id); } #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON -void APIServer::send_action_response(uint32_t action_call_id, bool success, const std::string &error_message, +void APIServer::send_action_response(uint32_t action_call_id, bool success, StringRef error_message, const uint8_t *response_data, size_t response_data_len) { for (auto &call : this->active_action_calls_) { if (call.action_call_id == action_call_id) { diff --git a/esphome/components/api/api_server.h b/esphome/components/api/api_server.h index 96c56fd08a..2b2e8bae73 100644 --- a/esphome/components/api/api_server.h +++ b/esphome/components/api/api_server.h @@ -59,10 +59,6 @@ class APIServer : public Component, #endif #ifdef USE_CAMERA void on_camera_image(const std::shared_ptr &image) override; -#endif -#ifdef USE_API_PASSWORD - bool check_password(const uint8_t *password_data, size_t password_len) const; - void set_password(const std::string &password); #endif void set_port(uint16_t port); void set_reboot_timeout(uint32_t reboot_timeout); @@ -143,10 +139,10 @@ class APIServer : public Component, // Action response handling using ActionResponseCallback = std::function; void register_action_response_callback(uint32_t call_id, ActionResponseCallback callback); - void handle_action_response(uint32_t call_id, bool success, const std::string &error_message); + void handle_action_response(uint32_t call_id, bool success, StringRef error_message); #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON - void handle_action_response(uint32_t call_id, bool success, const std::string &error_message, - const uint8_t *response_data, size_t response_data_len); + void handle_action_response(uint32_t call_id, bool success, StringRef error_message, const uint8_t *response_data, + size_t response_data_len); #endif // USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON #endif // USE_API_HOMEASSISTANT_ACTION_RESPONSES #endif // USE_API_HOMEASSISTANT_SERVICES @@ -165,9 +161,9 @@ class APIServer : public Component, void unregister_active_action_call(uint32_t action_call_id); void unregister_active_action_calls_for_connection(APIConnection *conn); // Send response for a specific action call (uses action_call_id, sends client_call_id in response) - void send_action_response(uint32_t action_call_id, bool success, const std::string &error_message); + void send_action_response(uint32_t action_call_id, bool success, StringRef error_message); #ifdef USE_API_USER_DEFINED_ACTION_RESPONSES_JSON - void send_action_response(uint32_t action_call_id, bool success, const std::string &error_message, + void send_action_response(uint32_t action_call_id, bool success, StringRef error_message, const uint8_t *response_data, size_t response_data_len); #endif // USE_API_USER_DEFINED_ACTION_RESPONSES_JSON #endif // USE_API_USER_DEFINED_ACTION_RESPONSES @@ -256,9 +252,6 @@ class APIServer : public Component, // Vectors and strings (12 bytes each on 32-bit) std::vector> clients_; -#ifdef USE_API_PASSWORD - std::string password_; -#endif std::vector shared_write_buffer_; // Shared proto write buffer for all connections #ifdef USE_API_HOMEASSISTANT_STATES std::vector state_subs_; diff --git a/esphome/components/api/client.py b/esphome/components/api/client.py index ca1fc089fa..200d0938bd 100644 --- a/esphome/components/api/client.py +++ b/esphome/components/api/client.py @@ -16,7 +16,7 @@ with warnings.catch_warnings(): import contextlib -from esphome.const import CONF_KEY, CONF_PASSWORD, CONF_PORT, __version__ +from esphome.const import CONF_KEY, CONF_PORT, __version__ from esphome.core import CORE from . import CONF_ENCRYPTION @@ -35,7 +35,6 @@ async def async_run_logs(config: dict[str, Any], addresses: list[str]) -> None: conf = config["api"] name = config["esphome"]["name"] port: int = int(conf[CONF_PORT]) - password: str = conf[CONF_PASSWORD] noise_psk: str | None = None if (encryption := conf.get(CONF_ENCRYPTION)) and (key := encryption.get(CONF_KEY)): noise_psk = key @@ -50,7 +49,7 @@ async def async_run_logs(config: dict[str, Any], addresses: list[str]) -> None: cli = APIClient( addresses[0], # Primary address for compatibility port, - password, + "", # Password auth removed in 2026.1.0 client_info=f"ESPHome Logs {__version__}", noise_psk=noise_psk, addresses=addresses, # Pass all addresses for automatic retry diff --git a/esphome/components/api/homeassistant_service.h b/esphome/components/api/homeassistant_service.h index 2da6e15362..1fdcc51803 100644 --- a/esphome/components/api/homeassistant_service.h +++ b/esphome/components/api/homeassistant_service.h @@ -67,10 +67,10 @@ template class TemplatableKeyValuePair { // the callback is invoked synchronously while the message is on the stack). class ActionResponse { public: - ActionResponse(bool success, const std::string &error_message) : success_(success), error_message_(error_message) {} + ActionResponse(bool success, StringRef error_message) : success_(success), error_message_(error_message) {} #ifdef USE_API_HOMEASSISTANT_ACTION_RESPONSES_JSON - ActionResponse(bool success, const std::string &error_message, const uint8_t *data, size_t data_len) + ActionResponse(bool success, StringRef error_message, const uint8_t *data, size_t data_len) : success_(success), error_message_(error_message) { if (data == nullptr || data_len == 0) return; diff --git a/esphome/components/api/proto.h b/esphome/components/api/proto.h index efdab9341c..f8b5cd9a5d 100644 --- a/esphome/components/api/proto.h +++ b/esphome/components/api/proto.h @@ -833,9 +833,6 @@ class ProtoService { virtual bool is_authenticated() = 0; virtual bool is_connection_setup() = 0; virtual void on_fatal_error() = 0; -#ifdef USE_API_PASSWORD - virtual void on_unauthenticated_access() = 0; -#endif virtual void on_no_setup_connection() = 0; /** * Create a buffer with a reserved size. @@ -873,20 +870,7 @@ class ProtoService { return true; } - inline bool check_authenticated_() { -#ifdef USE_API_PASSWORD - if (!this->check_connection_setup_()) { - return false; - } - if (!this->is_authenticated()) { - this->on_unauthenticated_access(); - return false; - } - return true; -#else - return this->check_connection_setup_(); -#endif - } + inline bool check_authenticated_() { return this->check_connection_setup_(); } }; } // namespace esphome::api diff --git a/esphome/components/api/user_services.h b/esphome/components/api/user_services.h index 001add626f..8e3a61b279 100644 --- a/esphome/components/api/user_services.h +++ b/esphome/components/api/user_services.h @@ -255,7 +255,7 @@ template class APIRespondAction : public Action { bool return_response = std::get<1>(args); if (!return_response) { // Client doesn't want response data, just send success/error - this->parent_->send_action_response(call_id, success, error_message); + this->parent_->send_action_response(call_id, success, StringRef(error_message)); return; } } @@ -265,12 +265,12 @@ template class APIRespondAction : public Action { json::JsonBuilder builder; this->json_builder_(x..., builder.root()); std::string json_str = builder.serialize(); - this->parent_->send_action_response(call_id, success, error_message, + this->parent_->send_action_response(call_id, success, StringRef(error_message), reinterpret_cast(json_str.data()), json_str.size()); return; } #endif - this->parent_->send_action_response(call_id, success, error_message); + this->parent_->send_action_response(call_id, success, StringRef(error_message)); } protected: diff --git a/esphome/components/ble_client/automation.h b/esphome/components/ble_client/automation.h index ccda894509..f9f613ae76 100644 --- a/esphome/components/ble_client/automation.h +++ b/esphome/components/ble_client/automation.h @@ -7,8 +7,12 @@ #include "esphome/core/automation.h" #include "esphome/components/ble_client/ble_client.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" +// Maximum bytes to log in hex format for BLE writes (many logging buffers are 256 chars) +static constexpr size_t BLE_WRITE_MAX_LOG_BYTES = 64; + namespace esphome::ble_client { // placeholder class for static TAG . @@ -151,7 +155,10 @@ template class BLEClientWriteAction : public Action, publ esph_log_w(Automation::TAG, "Cannot write to BLE characteristic - not connected"); return false; } - esph_log_vv(Automation::TAG, "Will write %d bytes: %s", len, format_hex_pretty(data, len).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(BLE_WRITE_MAX_LOG_BYTES)]; + esph_log_vv(Automation::TAG, "Will write %d bytes: %s", len, format_hex_pretty_to(hex_buf, data, len)); +#endif esp_err_t err = esp_ble_gattc_write_char(this->parent()->get_gattc_if(), this->parent()->get_conn_id(), this->char_handle_, len, const_cast(data), this->write_type_, ESP_GATT_AUTH_REQ_NONE); diff --git a/esphome/components/bme68x_bsec2/sensor.py b/esphome/components/bme68x_bsec2/sensor.py index c7dca437d7..45a9e54c1e 100644 --- a/esphome/components/bme68x_bsec2/sensor.py +++ b/esphome/components/bme68x_bsec2/sensor.py @@ -50,6 +50,7 @@ TYPES = [ CONFIG_SCHEMA = cv.Schema( { + cv.GenerateID(): cv.declare_id(cg.Component), cv.GenerateID(CONF_BME68X_BSEC2_ID): cv.use_id(BME68xBSEC2Component), cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema( unit_of_measurement=UNIT_CELSIUS, diff --git a/esphome/components/bthome_mithermometer/__init__.py b/esphome/components/bthome_mithermometer/__init__.py new file mode 100644 index 0000000000..0e84278afa --- /dev/null +++ b/esphome/components/bthome_mithermometer/__init__.py @@ -0,0 +1,36 @@ +import esphome.codegen as cg +from esphome.components import esp32_ble_tracker +import esphome.config_validation as cv +from esphome.const import CONF_ID, CONF_MAC_ADDRESS + +CODEOWNERS = ["@nagyrobi"] +DEPENDENCIES = ["esp32_ble_tracker"] + +BLE_DEVICE_SCHEMA = esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA + +bthome_mithermometer_ns = cg.esphome_ns.namespace("bthome_mithermometer") +BTHomeMiThermometer = bthome_mithermometer_ns.class_( + "BTHomeMiThermometer", esp32_ble_tracker.ESPBTDeviceListener, cg.Component +) + + +def bthome_mithermometer_base_schema(extra_schema=None): + if extra_schema is None: + extra_schema = {} + return ( + cv.Schema( + { + cv.GenerateID(CONF_ID): cv.declare_id(BTHomeMiThermometer), + cv.Required(CONF_MAC_ADDRESS): cv.mac_address, + } + ) + .extend(BLE_DEVICE_SCHEMA) + .extend(cv.COMPONENT_SCHEMA) + .extend(extra_schema) + ) + + +async def setup_bthome_mithermometer(var, config): + await cg.register_component(var, config) + await esp32_ble_tracker.register_ble_device(var, config) + cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex)) diff --git a/esphome/components/bthome_mithermometer/bthome_ble.cpp b/esphome/components/bthome_mithermometer/bthome_ble.cpp new file mode 100644 index 0000000000..b8da51a783 --- /dev/null +++ b/esphome/components/bthome_mithermometer/bthome_ble.cpp @@ -0,0 +1,298 @@ +#include "bthome_ble.h" + +#include "esphome/core/helpers.h" +#include "esphome/core/log.h" + +#include + +#ifdef USE_ESP32 + +namespace esphome { +namespace bthome_mithermometer { + +static const char *const TAG = "bthome_mithermometer"; + +static std::string format_mac_address(uint64_t address) { + std::array mac{}; + for (size_t i = 0; i < MAC_ADDRESS_SIZE; i++) { + mac[i] = (address >> ((MAC_ADDRESS_SIZE - 1 - i) * 8)) & 0xFF; + } + + char buffer[MAC_ADDRESS_SIZE * 3]; + format_mac_addr_upper(mac.data(), buffer); + return buffer; +} + +static bool get_bthome_value_length(uint8_t obj_type, size_t &value_length) { + switch (obj_type) { + case 0x00: // packet id + case 0x01: // battery + case 0x09: // count (uint8) + case 0x0F: // generic boolean + case 0x10: // power (bool) + case 0x11: // opening + case 0x15: // battery low + case 0x16: // battery charging + case 0x17: // carbon monoxide + case 0x18: // cold + case 0x19: // connectivity + case 0x1A: // door + case 0x1B: // garage door + case 0x1C: // gas + case 0x1D: // heat + case 0x1E: // light + case 0x1F: // lock + case 0x20: // moisture + case 0x21: // motion + case 0x22: // moving + case 0x23: // occupancy + case 0x24: // plug + case 0x25: // presence + case 0x26: // problem + case 0x27: // running + case 0x28: // safety + case 0x29: // smoke + case 0x2A: // sound + case 0x2B: // tamper + case 0x2C: // vibration + case 0x2D: // water leak + case 0x2E: // humidity (uint8) + case 0x2F: // moisture (uint8) + case 0x46: // UV index + case 0x57: // temperature (sint8) + case 0x58: // temperature (0.35C step) + case 0x59: // count (sint8) + case 0x60: // channel + value_length = 1; + return true; + case 0x02: // temperature (0.01C) + case 0x03: // humidity + case 0x06: // mass (kg) + case 0x07: // mass (lb) + case 0x08: // dewpoint + case 0x0C: // voltage (mV) + case 0x0D: // pm2.5 + case 0x0E: // pm10 + case 0x12: // CO2 + case 0x13: // TVOC + case 0x14: // moisture + case 0x3D: // count (uint16) + case 0x3F: // rotation + case 0x40: // distance (mm) + case 0x41: // distance (m) + case 0x43: // current (A) + case 0x44: // speed + case 0x45: // temperature (0.1C) + case 0x47: // volume (L) + case 0x48: // volume (mL) + case 0x49: // volume flow rate + case 0x4A: // voltage (0.1V) + case 0x51: // acceleration + case 0x52: // gyroscope + case 0x56: // conductivity + case 0x5A: // count (sint16) + case 0x5D: // current (sint16) + case 0x5E: // direction + case 0x5F: // precipitation + case 0x61: // rotational speed + case 0xF0: // button event + value_length = 2; + return true; + case 0x04: // pressure + case 0x05: // illuminance + case 0x0A: // energy + case 0x0B: // power + case 0x42: // duration + case 0x4B: // gas (uint24) + case 0xF2: // firmware version (uint24) + value_length = 3; + return true; + case 0x3E: // count (uint32) + case 0x4C: // gas (uint32) + case 0x4D: // energy (uint32) + case 0x4E: // volume (uint32) + case 0x4F: // water (uint32) + case 0x50: // timestamp + case 0x55: // volume storage + case 0x5B: // count (sint32) + case 0x5C: // power (sint32) + case 0x62: // speed (sint32) + case 0x63: // acceleration (sint32) + case 0xF1: // firmware version (uint32) + value_length = 4; + return true; + default: + return false; + } +} + +void BTHomeMiThermometer::dump_config() { + ESP_LOGCONFIG(TAG, "BTHome MiThermometer"); + ESP_LOGCONFIG(TAG, " MAC Address: %s", format_mac_address(this->address_).c_str()); + LOG_SENSOR(" ", "Temperature", this->temperature_); + LOG_SENSOR(" ", "Humidity", this->humidity_); + LOG_SENSOR(" ", "Battery Level", this->battery_level_); + LOG_SENSOR(" ", "Battery Voltage", this->battery_voltage_); + LOG_SENSOR(" ", "Signal Strength", this->signal_strength_); +} + +bool BTHomeMiThermometer::parse_device(const esp32_ble_tracker::ESPBTDevice &device) { + bool matched = false; + for (auto &service_data : device.get_service_datas()) { + if (this->handle_service_data_(service_data, device)) { + matched = true; + } + } + if (matched && this->signal_strength_ != nullptr) { + this->signal_strength_->publish_state(device.get_rssi()); + } + return matched; +} + +bool BTHomeMiThermometer::handle_service_data_(const esp32_ble_tracker::ServiceData &service_data, + const esp32_ble_tracker::ESPBTDevice &device) { + if (!service_data.uuid.contains(0xD2, 0xFC)) { + return false; + } + + const auto &data = service_data.data; + if (data.size() < 2) { + ESP_LOGVV(TAG, "BTHome data too short: %zu", data.size()); + return false; + } + + const uint8_t adv_info = data[0]; + const bool is_encrypted = adv_info & 0x01; + const bool mac_included = adv_info & 0x02; + const bool is_trigger_based = adv_info & 0x04; + const uint8_t version = (adv_info >> 5) & 0x07; + + if (version != 0x02) { + ESP_LOGVV(TAG, "Unsupported BTHome version %u", version); + return false; + } + + if (is_encrypted) { + ESP_LOGV(TAG, "Ignoring encrypted BTHome frame from %s", device.address_str().c_str()); + return false; + } + + size_t payload_index = 1; + uint64_t source_address = device.address_uint64(); + + if (mac_included) { + if (data.size() < 7) { + ESP_LOGVV(TAG, "BTHome payload missing MAC address"); + return false; + } + source_address = 0; + for (int i = 5; i >= 0; i--) { + source_address = (source_address << 8) | data[1 + i]; + } + payload_index = 7; + } + + if (source_address != this->address_) { + ESP_LOGVV(TAG, "BTHome frame from unexpected device %s", format_mac_address(source_address).c_str()); + return false; + } + + if (payload_index >= data.size()) { + ESP_LOGVV(TAG, "BTHome payload empty after header"); + return false; + } + + bool reported = false; + size_t offset = payload_index; + uint8_t last_type = 0; + + while (offset < data.size()) { + const uint8_t obj_type = data[offset++]; + size_t value_length = 0; + bool has_length_byte = obj_type == 0x53; // text objects include explicit length + + if (has_length_byte) { + if (offset >= data.size()) { + break; + } + value_length = data[offset++]; + } else { + if (!get_bthome_value_length(obj_type, value_length)) { + ESP_LOGVV(TAG, "Unknown BTHome object 0x%02X", obj_type); + break; + } + } + + if (value_length == 0) { + break; + } + + if (offset + value_length > data.size()) { + ESP_LOGVV(TAG, "BTHome object length exceeds payload"); + break; + } + + const uint8_t *value = &data[offset]; + offset += value_length; + + if (obj_type < last_type) { + ESP_LOGVV(TAG, "BTHome objects not in ascending order"); + } + last_type = obj_type; + + switch (obj_type) { + case 0x00: { // packet id + const uint8_t packet_id = value[0]; + if (this->last_packet_id_.has_value() && *this->last_packet_id_ == packet_id) { + return reported; + } + this->last_packet_id_ = packet_id; + break; + } + case 0x01: { // battery percentage + if (this->battery_level_ != nullptr) { + this->battery_level_->publish_state(value[0]); + reported = true; + } + break; + } + case 0x0C: { // battery voltage (mV) + if (this->battery_voltage_ != nullptr) { + const uint16_t raw = encode_uint16(value[1], value[0]); + this->battery_voltage_->publish_state(raw * 0.001f); + reported = true; + } + break; + } + case 0x02: { // temperature + if (this->temperature_ != nullptr) { + const int16_t raw = encode_uint16(value[1], value[0]); + this->temperature_->publish_state(raw * 0.01f); + reported = true; + } + break; + } + case 0x03: { // humidity + if (this->humidity_ != nullptr) { + const uint16_t raw = encode_uint16(value[1], value[0]); + this->humidity_->publish_state(raw * 0.01f); + reported = true; + } + break; + } + default: + break; + } + } + + if (reported) { + ESP_LOGD(TAG, "BTHome data%sfrom %s", is_trigger_based ? " (triggered) " : " ", device.address_str().c_str()); + } + + return reported; +} + +} // namespace bthome_mithermometer +} // namespace esphome + +#endif diff --git a/esphome/components/bthome_mithermometer/bthome_ble.h b/esphome/components/bthome_mithermometer/bthome_ble.h new file mode 100644 index 0000000000..3d2380b48d --- /dev/null +++ b/esphome/components/bthome_mithermometer/bthome_ble.h @@ -0,0 +1,44 @@ +#pragma once + +#include "esphome/components/esp32_ble_tracker/esp32_ble_tracker.h" +#include "esphome/components/sensor/sensor.h" +#include "esphome/core/component.h" + +#include + +#ifdef USE_ESP32 + +namespace esphome { +namespace bthome_mithermometer { + +class BTHomeMiThermometer : public esp32_ble_tracker::ESPBTDeviceListener, public Component { + public: + void set_address(uint64_t address) { this->address_ = address; } + + void set_temperature(sensor::Sensor *temperature) { this->temperature_ = temperature; } + void set_humidity(sensor::Sensor *humidity) { this->humidity_ = humidity; } + void set_battery_level(sensor::Sensor *battery_level) { this->battery_level_ = battery_level; } + void set_battery_voltage(sensor::Sensor *battery_voltage) { this->battery_voltage_ = battery_voltage; } + void set_signal_strength(sensor::Sensor *signal_strength) { this->signal_strength_ = signal_strength; } + + void dump_config() override; + bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override; + + protected: + bool handle_service_data_(const esp32_ble_tracker::ServiceData &service_data, + const esp32_ble_tracker::ESPBTDevice &device); + + uint64_t address_{0}; + optional last_packet_id_{}; + + sensor::Sensor *temperature_{nullptr}; + sensor::Sensor *humidity_{nullptr}; + sensor::Sensor *battery_level_{nullptr}; + sensor::Sensor *battery_voltage_{nullptr}; + sensor::Sensor *signal_strength_{nullptr}; +}; + +} // namespace bthome_mithermometer +} // namespace esphome + +#endif diff --git a/esphome/components/bthome_mithermometer/sensor.py b/esphome/components/bthome_mithermometer/sensor.py new file mode 100644 index 0000000000..9b50866db0 --- /dev/null +++ b/esphome/components/bthome_mithermometer/sensor.py @@ -0,0 +1,88 @@ +import esphome.codegen as cg +from esphome.components import sensor +import esphome.config_validation as cv +from esphome.const import ( + CONF_BATTERY_LEVEL, + CONF_BATTERY_VOLTAGE, + CONF_HUMIDITY, + CONF_ID, + CONF_SIGNAL_STRENGTH, + CONF_TEMPERATURE, + DEVICE_CLASS_BATTERY, + DEVICE_CLASS_HUMIDITY, + DEVICE_CLASS_SIGNAL_STRENGTH, + DEVICE_CLASS_TEMPERATURE, + DEVICE_CLASS_VOLTAGE, + ENTITY_CATEGORY_DIAGNOSTIC, + STATE_CLASS_MEASUREMENT, + UNIT_CELSIUS, + UNIT_DECIBEL_MILLIWATT, + UNIT_PERCENT, + UNIT_VOLT, +) + +from . import bthome_mithermometer_base_schema, setup_bthome_mithermometer + +CODEOWNERS = ["@nagyrobi"] + +DEPENDENCIES = ["esp32_ble_tracker"] + +CONFIG_SCHEMA = bthome_mithermometer_base_schema( + { + cv.Optional(CONF_TEMPERATURE): sensor.sensor_schema( + unit_of_measurement=UNIT_CELSIUS, + accuracy_decimals=2, + device_class=DEVICE_CLASS_TEMPERATURE, + state_class=STATE_CLASS_MEASUREMENT, + ), + cv.Optional(CONF_HUMIDITY): sensor.sensor_schema( + unit_of_measurement=UNIT_PERCENT, + accuracy_decimals=2, + device_class=DEVICE_CLASS_HUMIDITY, + state_class=STATE_CLASS_MEASUREMENT, + ), + cv.Optional(CONF_BATTERY_LEVEL): sensor.sensor_schema( + unit_of_measurement=UNIT_PERCENT, + accuracy_decimals=0, + device_class=DEVICE_CLASS_BATTERY, + state_class=STATE_CLASS_MEASUREMENT, + entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + ), + cv.Optional(CONF_BATTERY_VOLTAGE): sensor.sensor_schema( + unit_of_measurement=UNIT_VOLT, + accuracy_decimals=3, + device_class=DEVICE_CLASS_VOLTAGE, + state_class=STATE_CLASS_MEASUREMENT, + icon="mdi:battery-plus", + entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + ), + cv.Optional(CONF_SIGNAL_STRENGTH): sensor.sensor_schema( + unit_of_measurement=UNIT_DECIBEL_MILLIWATT, + accuracy_decimals=0, + device_class=DEVICE_CLASS_SIGNAL_STRENGTH, + state_class=STATE_CLASS_MEASUREMENT, + entity_category=ENTITY_CATEGORY_DIAGNOSTIC, + ), + } +) + + +async def to_code(config): + var = cg.new_Pvariable(config[CONF_ID]) + await setup_bthome_mithermometer(var, config) + + if temp_sens := config.get(CONF_TEMPERATURE): + sens = await sensor.new_sensor(temp_sens) + cg.add(var.set_temperature(sens)) + if humi_sens := config.get(CONF_HUMIDITY): + sens = await sensor.new_sensor(humi_sens) + cg.add(var.set_humidity(sens)) + if batl_sens := config.get(CONF_BATTERY_LEVEL): + sens = await sensor.new_sensor(batl_sens) + cg.add(var.set_battery_level(sens)) + if batv_sens := config.get(CONF_BATTERY_VOLTAGE): + sens = await sensor.new_sensor(batv_sens) + cg.add(var.set_battery_voltage(sens)) + if sgnl_sens := config.get(CONF_SIGNAL_STRENGTH): + sens = await sensor.new_sensor(sgnl_sens) + cg.add(var.set_signal_strength(sens)) diff --git a/esphome/components/captive_portal/dns_server_esp32_idf.cpp b/esphome/components/captive_portal/dns_server_esp32_idf.cpp index 5188b2047f..5743cbd671 100644 --- a/esphome/components/captive_portal/dns_server_esp32_idf.cpp +++ b/esphome/components/captive_portal/dns_server_esp32_idf.cpp @@ -47,7 +47,10 @@ struct DNSAnswer { void DNSServer::start(const network::IPAddress &ip) { this->server_ip_ = ip; - ESP_LOGV(TAG, "Starting DNS server on %s", ip.str().c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; + ESP_LOGV(TAG, "Starting DNS server on %s", ip.str_to(ip_buf)); +#endif // Create loop-monitored UDP socket this->socket_ = socket::socket_ip_loop_monitored(SOCK_DGRAM, IPPROTO_UDP); diff --git a/esphome/components/ch422g/ch422g.cpp b/esphome/components/ch422g/ch422g.cpp index 9a4e342525..f47b67da6f 100644 --- a/esphome/components/ch422g/ch422g.cpp +++ b/esphome/components/ch422g/ch422g.cpp @@ -128,7 +128,9 @@ void CH422GGPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this-> bool CH422GGPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) ^ this->inverted_; } void CH422GGPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value ^ this->inverted_); } -std::string CH422GGPIOPin::dump_summary() const { return str_sprintf("EXIO%u via CH422G", pin_); } +size_t CH422GGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "EXIO%u via CH422G", this->pin_); +} void CH422GGPIOPin::set_flags(gpio::Flags flags) { flags_ = flags; this->parent_->pin_mode(this->pin_, flags); diff --git a/esphome/components/ch422g/ch422g.h b/esphome/components/ch422g/ch422g.h index 1193a3db27..8ed63db90a 100644 --- a/esphome/components/ch422g/ch422g.h +++ b/esphome/components/ch422g/ch422g.h @@ -50,7 +50,7 @@ class CH422GGPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(CH422GComponent *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/cse7766/cse7766.cpp b/esphome/components/cse7766/cse7766.cpp index fe81ae91fe..71fe15f0ae 100644 --- a/esphome/components/cse7766/cse7766.cpp +++ b/esphome/components/cse7766/cse7766.cpp @@ -1,11 +1,13 @@ #include "cse7766.h" -#include "esphome/core/log.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" +#include "esphome/core/log.h" namespace esphome { namespace cse7766 { static const char *const TAG = "cse7766"; +static constexpr size_t CSE7766_RAW_DATA_SIZE = 24; void CSE7766Component::loop() { const uint32_t now = App.get_loop_component_start_time(); @@ -70,8 +72,8 @@ bool CSE7766Component::check_byte_() { void CSE7766Component::parse_data_() { #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE { - std::string s = format_hex_pretty(this->raw_data_, sizeof(this->raw_data_)); - ESP_LOGVV(TAG, "Raw data: %s", s.c_str()); + char hex_buf[format_hex_pretty_size(CSE7766_RAW_DATA_SIZE)]; + ESP_LOGVV(TAG, "Raw data: %s", format_hex_pretty_to(hex_buf, this->raw_data_, sizeof(this->raw_data_))); } #endif diff --git a/esphome/components/dallas_temp/dallas_temp.cpp b/esphome/components/dallas_temp/dallas_temp.cpp index a3969e081e..a1b684abbf 100644 --- a/esphome/components/dallas_temp/dallas_temp.cpp +++ b/esphome/components/dallas_temp/dallas_temp.cpp @@ -51,7 +51,7 @@ void DallasTemperatureSensor::update() { } float tempc = this->get_temp_c_(); - ESP_LOGD(TAG, "'%s': Got Temperature=%.1f°C", this->get_name().c_str(), tempc); + ESP_LOGD(TAG, "'%s': Got Temperature=%f°C", this->get_name().c_str(), tempc); this->publish_state(tempc); }); } diff --git a/esphome/components/ee895/ee895.cpp b/esphome/components/ee895/ee895.cpp index c6eaf4e728..602e31db14 100644 --- a/esphome/components/ee895/ee895.cpp +++ b/esphome/components/ee895/ee895.cpp @@ -7,6 +7,9 @@ namespace ee895 { static const char *const TAG = "ee895"; +// Serial number is 16 bytes +static constexpr size_t EE895_SERIAL_NUMBER_SIZE = 16; + static const uint16_t CRC16_ONEWIRE_START = 0xFFFF; static const uint8_t FUNCTION_CODE_READ = 0x03; static const uint16_t SERIAL_NUMBER = 0x0000; @@ -26,7 +29,10 @@ void EE895Component::setup() { this->mark_failed(); return; } - ESP_LOGV(TAG, " Serial Number: 0x%s", format_hex(serial_number + 2, 16).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char serial_hex[format_hex_size(EE895_SERIAL_NUMBER_SIZE)]; +#endif + ESP_LOGV(TAG, " Serial Number: 0x%s", format_hex_to(serial_hex, serial_number + 2, EE895_SERIAL_NUMBER_SIZE)); } void EE895Component::dump_config() { diff --git a/esphome/components/epaper_spi/epaper_spi.cpp b/esphome/components/epaper_spi/epaper_spi.cpp index b2e58694c8..4e6b4a7fd6 100644 --- a/esphome/components/epaper_spi/epaper_spi.cpp +++ b/esphome/components/epaper_spi/epaper_spi.cpp @@ -7,6 +7,7 @@ namespace esphome::epaper_spi { static const char *const TAG = "epaper_spi"; +static constexpr size_t EPAPER_MAX_CMD_LOG_BYTES = 128; static constexpr const char *const EPAPER_STATE_STRINGS[] = { "IDLE", "UPDATE", "RESET", "RESET_END", "SHOULD_WAIT", "INITIALISE", @@ -68,8 +69,11 @@ void EPaperBase::data(uint8_t value) { // The command is the first byte, length is the length of data only in the second byte, followed by the data. // [COMMAND, LENGTH, DATA...] void EPaperBase::cmd_data(uint8_t command, const uint8_t *ptr, size_t length) { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(EPAPER_MAX_CMD_LOG_BYTES)]; ESP_LOGV(TAG, "Command: 0x%02X, Length: %d, Data: %s", command, length, - format_hex_pretty(ptr, length, '.', false).c_str()); + format_hex_pretty_to(hex_buf, ptr, length, '.')); +#endif this->dc_pin_->digital_write(false); this->enable(); diff --git a/esphome/components/epaper_spi/epaper_spi.h b/esphome/components/epaper_spi/epaper_spi.h index 6852416cac..b587b07e8f 100644 --- a/esphome/components/epaper_spi/epaper_spi.h +++ b/esphome/components/epaper_spi/epaper_spi.h @@ -76,6 +76,12 @@ class EPaperBase : public Display, return 0; } void fill(Color color) override { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + auto pixel_color = color_to_bit(color) ? 0xFF : 0x00; // We store 8 pixels per byte diff --git a/esphome/components/epaper_spi/epaper_spi_spectra_e6.cpp b/esphome/components/epaper_spi/epaper_spi_spectra_e6.cpp index d0e68595d0..be243145fc 100644 --- a/esphome/components/epaper_spi/epaper_spi_spectra_e6.cpp +++ b/esphome/components/epaper_spi/epaper_spi_spectra_e6.cpp @@ -97,6 +97,12 @@ void EPaperSpectraE6::deep_sleep() { } void EPaperSpectraE6::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + EPaperBase::fill(color); + return; + } + auto pixel_color = color_to_hex(color); // We store 2 pixels per byte diff --git a/esphome/components/esp32/__init__.py b/esphome/components/esp32/__init__.py index dc442cfbd2..da550e58dc 100644 --- a/esphome/components/esp32/__init__.py +++ b/esphome/components/esp32/__init__.py @@ -85,6 +85,7 @@ CONF_ENABLE_IDF_EXPERIMENTAL_FEATURES = "enable_idf_experimental_features" CONF_ENABLE_LWIP_ASSERT = "enable_lwip_assert" CONF_ENABLE_OTA_ROLLBACK = "enable_ota_rollback" CONF_EXECUTE_FROM_PSRAM = "execute_from_psram" +CONF_MINIMUM_CHIP_REVISION = "minimum_chip_revision" CONF_RELEASE = "release" LOG_LEVELS_IDF = [ @@ -109,6 +110,21 @@ COMPILER_OPTIMIZATIONS = { "SIZE": "CONFIG_COMPILER_OPTIMIZATION_SIZE", } +# ESP32 (original) chip revision options +# Setting minimum revision to 3.0 or higher: +# - Reduces flash size by excluding workaround code for older chip bugs +# - For PSRAM users: disables CONFIG_SPIRAM_CACHE_WORKAROUND, which saves significant +# IRAM by keeping C library functions in ROM instead of recompiling them +# See: https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-reference/system/chip_revision.html +ESP32_CHIP_REVISIONS = { + "0.0": "CONFIG_ESP32_REV_MIN_0", + "1.0": "CONFIG_ESP32_REV_MIN_1", + "1.1": "CONFIG_ESP32_REV_MIN_1_1", + "2.0": "CONFIG_ESP32_REV_MIN_2", + "3.0": "CONFIG_ESP32_REV_MIN_3", + "3.1": "CONFIG_ESP32_REV_MIN_3_1", +} + # Socket limit configuration for ESP-IDF # ESP-IDF CONFIG_LWIP_MAX_SOCKETS has range 1-253, default 10 DEFAULT_MAX_SOCKETS = 10 # ESP-IDF default @@ -357,11 +373,12 @@ def _is_framework_url(source: str) -> bool: # The default/recommended arduino framework version # - https://github.com/espressif/arduino-esp32/releases ARDUINO_FRAMEWORK_VERSION_LOOKUP = { - "recommended": cv.Version(3, 3, 2), - "latest": cv.Version(3, 3, 4), - "dev": cv.Version(3, 3, 4), + "recommended": cv.Version(3, 3, 5), + "latest": cv.Version(3, 3, 5), + "dev": cv.Version(3, 3, 5), } ARDUINO_PLATFORM_VERSION_LOOKUP = { + cv.Version(3, 3, 5): cv.Version(55, 3, 35), cv.Version(3, 3, 4): cv.Version(55, 3, 31, "2"), cv.Version(3, 3, 3): cv.Version(55, 3, 31, "2"), cv.Version(3, 3, 2): cv.Version(55, 3, 31, "2"), @@ -374,15 +391,33 @@ ARDUINO_PLATFORM_VERSION_LOOKUP = { cv.Version(3, 1, 1): cv.Version(53, 3, 11), cv.Version(3, 1, 0): cv.Version(53, 3, 10), } +# Maps Arduino framework versions to a compatible ESP-IDF version +# These versions correspond to pioarduino/esp-idf releases +# See: https://github.com/pioarduino/esp-idf/releases +ARDUINO_IDF_VERSION_LOOKUP = { + cv.Version(3, 3, 5): cv.Version(5, 5, 2), + cv.Version(3, 3, 4): cv.Version(5, 5, 1), + cv.Version(3, 3, 3): cv.Version(5, 5, 1), + cv.Version(3, 3, 2): cv.Version(5, 5, 1), + cv.Version(3, 3, 1): cv.Version(5, 5, 1), + cv.Version(3, 3, 0): cv.Version(5, 5, 0), + cv.Version(3, 2, 1): cv.Version(5, 4, 2), + cv.Version(3, 2, 0): cv.Version(5, 4, 2), + cv.Version(3, 1, 3): cv.Version(5, 3, 2), + cv.Version(3, 1, 2): cv.Version(5, 3, 2), + cv.Version(3, 1, 1): cv.Version(5, 3, 1), + cv.Version(3, 1, 0): cv.Version(5, 3, 0), +} # The default/recommended esp-idf framework version # - https://github.com/espressif/esp-idf/releases ESP_IDF_FRAMEWORK_VERSION_LOOKUP = { - "recommended": cv.Version(5, 5, 1), - "latest": cv.Version(5, 5, 1), - "dev": cv.Version(5, 5, 1), + "recommended": cv.Version(5, 5, 2), + "latest": cv.Version(5, 5, 2), + "dev": cv.Version(5, 5, 2), } ESP_IDF_PLATFORM_VERSION_LOOKUP = { + cv.Version(5, 5, 2): cv.Version(55, 3, 35), cv.Version(5, 5, 1): cv.Version(55, 3, 31, "2"), cv.Version(5, 5, 0): cv.Version(55, 3, 31, "2"), cv.Version(5, 4, 3): cv.Version(55, 3, 32), @@ -399,9 +434,9 @@ ESP_IDF_PLATFORM_VERSION_LOOKUP = { # The platform-espressif32 version # - https://github.com/pioarduino/platform-espressif32/releases PLATFORM_VERSION_LOOKUP = { - "recommended": cv.Version(55, 3, 31, "2"), - "latest": cv.Version(55, 3, 31, "2"), - "dev": cv.Version(55, 3, 31, "2"), + "recommended": cv.Version(55, 3, 35), + "latest": cv.Version(55, 3, 35), + "dev": cv.Version(55, 3, 35), } @@ -547,6 +582,16 @@ def final_validate(config): path=[CONF_FRAMEWORK, CONF_ADVANCED, CONF_IGNORE_EFUSE_MAC_CRC], ) ) + if ( + config[CONF_VARIANT] != VARIANT_ESP32 + and advanced.get(CONF_MINIMUM_CHIP_REVISION) is not None + ): + errs.append( + cv.Invalid( + f"'{CONF_MINIMUM_CHIP_REVISION}' is only supported on {VARIANT_ESP32}", + path=[CONF_FRAMEWORK, CONF_ADVANCED, CONF_MINIMUM_CHIP_REVISION], + ) + ) if advanced[CONF_EXECUTE_FROM_PSRAM]: if config[CONF_VARIANT] != VARIANT_ESP32S3: errs.append( @@ -675,6 +720,9 @@ FRAMEWORK_SCHEMA = cv.Schema( cv.Optional(CONF_ENABLE_LWIP_ASSERT, default=True): cv.boolean, cv.Optional(CONF_IGNORE_EFUSE_CUSTOM_MAC, default=False): cv.boolean, cv.Optional(CONF_IGNORE_EFUSE_MAC_CRC, default=False): cv.boolean, + cv.Optional(CONF_MINIMUM_CHIP_REVISION): cv.one_of( + *ESP32_CHIP_REVISIONS + ), # DHCP server is needed for WiFi AP mode. When WiFi component is used, # it will handle disabling DHCP server when AP is not configured. # Default to false (disabled) when WiFi is not used. @@ -727,12 +775,14 @@ FRAMEWORK_SCHEMA = cv.Schema( ) +# Remove this class in 2026.7.0 class _FrameworkMigrationWarning: shown = False def _show_framework_migration_message(name: str, variant: str) -> None: - """Show a friendly message about framework migration when defaulting to Arduino.""" + """Show a message about the framework default change and how to switch back to Arduino.""" + # Remove this function in 2026.7.0 if _FrameworkMigrationWarning.shown: return _FrameworkMigrationWarning.shown = True @@ -742,41 +792,27 @@ def _show_framework_migration_message(name: str, variant: str) -> None: message = ( color( AnsiFore.BOLD_CYAN, - f"💡 IMPORTANT: {name} doesn't have a framework specified!", + f"💡 NOTICE: {name} does not have a framework specified.", ) + "\n\n" - + f"Currently, {variant} defaults to the Arduino framework.\n" - + color(AnsiFore.YELLOW, "This will change to ESP-IDF in ESPHome 2026.1.0.\n") + + f"Starting with ESPHome 2026.1.0, the default framework for {variant} is ESP-IDF.\n" + + "(We've been warning about this change since ESPHome 2025.8.0)\n" + "\n" - + "Note: Newer ESP32 variants (C6, H2, P4, etc.) already use ESP-IDF by default.\n" - + "\n" - + "Why change? ESP-IDF offers:\n" - + color(AnsiFore.GREEN, " ✨ Up to 40% smaller binaries\n") - + color(AnsiFore.GREEN, " 🚀 Better performance and optimization\n") + + "Why we made this change:\n" + + color(AnsiFore.GREEN, " ✨ Up to 40% smaller firmware binaries\n") + color(AnsiFore.GREEN, " ⚡ 2-3x faster compile times\n") - + color(AnsiFore.GREEN, " 📦 Custom-built firmware for your exact needs\n") - + color( - AnsiFore.GREEN, - " 🔧 Active development and testing by ESPHome developers\n", - ) + + color(AnsiFore.GREEN, " 🚀 Better performance and newer features\n") + + color(AnsiFore.GREEN, " 🔧 More actively maintained by ESPHome\n") + "\n" - + "Trade-offs:\n" - + color(AnsiFore.YELLOW, " 🔄 Some components need migration\n") + + "To continue using Arduino, add this to your YAML under 'esp32:':\n" + + color(AnsiFore.WHITE, " framework:\n") + + color(AnsiFore.WHITE, " type: arduino\n") + "\n" - + "What should I do?\n" - + color(AnsiFore.CYAN, " Option 1") - + ": Migrate to ESP-IDF (recommended)\n" - + " Add this to your YAML under 'esp32:':\n" - + color(AnsiFore.WHITE, " framework:\n") - + color(AnsiFore.WHITE, " type: esp-idf\n") + + "To silence this message with ESP-IDF, explicitly set:\n" + + color(AnsiFore.WHITE, " framework:\n") + + color(AnsiFore.WHITE, " type: esp-idf\n") + "\n" - + color(AnsiFore.CYAN, " Option 2") - + ": Keep using Arduino (still supported)\n" - + " Add this to your YAML under 'esp32:':\n" - + color(AnsiFore.WHITE, " framework:\n") - + color(AnsiFore.WHITE, " type: arduino\n") - + "\n" - + "Need help? Check out the migration guide:\n" + + "Migration guide: " + color( AnsiFore.BLUE, "https://esphome.io/guides/esp32_arduino_to_idf/", @@ -791,13 +827,13 @@ def _set_default_framework(config): config[CONF_FRAMEWORK] = FRAMEWORK_SCHEMA({}) if CONF_TYPE not in config[CONF_FRAMEWORK]: variant = config[CONF_VARIANT] + config[CONF_FRAMEWORK][CONF_TYPE] = FRAMEWORK_ESP_IDF + # Show migration message for variants that previously defaulted to Arduino + # Remove this message in 2026.7.0 if variant in ARDUINO_ALLOWED_VARIANTS: - config[CONF_FRAMEWORK][CONF_TYPE] = FRAMEWORK_ARDUINO _show_framework_migration_message( config.get(CONF_NAME, "This device"), variant ) - else: - config[CONF_FRAMEWORK][CONF_TYPE] = FRAMEWORK_ESP_IDF return config @@ -991,6 +1027,13 @@ async def to_code(config): add_idf_sdkconfig_option("CONFIG_MBEDTLS_PSK_MODES", True) add_idf_sdkconfig_option("CONFIG_MBEDTLS_CERTIFICATE_BUNDLE", True) + # Add IDF framework source for Arduino builds to ensure it uses the same version as + # the ESP-IDF framework + if (idf_ver := ARDUINO_IDF_VERSION_LOOKUP.get(framework_ver)) is not None: + cg.add_platformio_option( + "platform_packages", [_format_framework_espidf_version(idf_ver, None)] + ) + # ESP32-S2 Arduino: Disable USB Serial on boot to avoid TinyUSB dependency if get_esp32_variant() == VARIANT_ESP32S2: cg.add_build_unflag("-DARDUINO_USB_CDC_ON_BOOT=1") @@ -1003,6 +1046,16 @@ async def to_code(config): add_idf_sdkconfig_option( f"CONFIG_ESPTOOLPY_FLASHSIZE_{config[CONF_FLASH_SIZE]}", True ) + + # Set minimum chip revision for ESP32 variant + # Setting this to 3.0 or higher reduces flash size by excluding workaround code, + # and for PSRAM users saves significant IRAM by keeping C library functions in ROM. + if variant == VARIANT_ESP32: + min_rev = conf[CONF_ADVANCED].get(CONF_MINIMUM_CHIP_REVISION) + if min_rev is not None: + for rev, flag in ESP32_CHIP_REVISIONS.items(): + add_idf_sdkconfig_option(flag, rev == min_rev) + cg.add_define("USE_ESP32_MIN_CHIP_REVISION_SET") add_idf_sdkconfig_option("CONFIG_PARTITION_TABLE_SINGLE_APP", False) add_idf_sdkconfig_option("CONFIG_PARTITION_TABLE_CUSTOM", True) add_idf_sdkconfig_option("CONFIG_PARTITION_TABLE_CUSTOM_FILENAME", "partitions.csv") diff --git a/esphome/components/esp32/boards.py b/esphome/components/esp32/boards.py index 514d674b55..8a7a9428db 100644 --- a/esphome/components/esp32/boards.py +++ b/esphome/components/esp32/boards.py @@ -1488,6 +1488,10 @@ BOARDS = { "name": "Arduino Nano ESP32", "variant": VARIANT_ESP32S3, }, + "arduino_nesso_n1": { + "name": "Arduino Nesso-N1", + "variant": VARIANT_ESP32C6, + }, "atd147_s3": { "name": "ArtronShop ATD1.47-S3", "variant": VARIANT_ESP32S3, @@ -1656,6 +1660,10 @@ BOARDS = { "name": "Espressif ESP32-C6-DevKitM-1", "variant": VARIANT_ESP32C6, }, + "esp32-c61-devkitc1-n8r2": { + "name": "Espressif ESP32-C61-DevKitC-1 N8R2 (8 MB Flash Quad, 2 MB PSRAM Quad)", + "variant": VARIANT_ESP32C61, + }, "esp32-devkitlipo": { "name": "OLIMEX ESP32-DevKit-LiPo", "variant": VARIANT_ESP32, @@ -1673,11 +1681,15 @@ BOARDS = { "variant": VARIANT_ESP32H2, }, "esp32-p4": { - "name": "Espressif ESP32-P4 generic", + "name": "Espressif ESP32-P4 ES (pre rev.300) generic", "variant": VARIANT_ESP32P4, }, "esp32-p4-evboard": { - "name": "Espressif ESP32-P4 Function EV Board", + "name": "Espressif ESP32-P4 Function EV Board (ES pre rev.300)", + "variant": VARIANT_ESP32P4, + }, + "esp32-p4_r3": { + "name": "Espressif ESP32-P4 rev.300 generic", "variant": VARIANT_ESP32P4, }, "esp32-pico-devkitm-2": { @@ -2093,7 +2105,7 @@ BOARDS = { "variant": VARIANT_ESP32, }, "m5stack-tab5-p4": { - "name": "M5STACK Tab5 esp32-p4 Board", + "name": "M5STACK Tab5 esp32-p4 Board (ES pre rev.300)", "variant": VARIANT_ESP32P4, }, "m5stack-timer-cam": { diff --git a/esphome/components/esp32/gpio.cpp b/esphome/components/esp32/gpio.cpp index a98245b889..4b53d3a172 100644 --- a/esphome/components/esp32/gpio.cpp +++ b/esphome/components/esp32/gpio.cpp @@ -97,10 +97,8 @@ void ESP32InternalGPIOPin::attach_interrupt(void (*func)(void *), void *arg, gpi gpio_isr_handler_add(this->get_pin_num(), func, arg); } -std::string ESP32InternalGPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "GPIO%" PRIu32, static_cast(this->pin_)); - return buffer; +size_t ESP32InternalGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "GPIO%" PRIu32, static_cast(this->pin_)); } void ESP32InternalGPIOPin::setup() { diff --git a/esphome/components/esp32/gpio.h b/esphome/components/esp32/gpio.h index d30f4bdcba..3c13bd9b4f 100644 --- a/esphome/components/esp32/gpio.h +++ b/esphome/components/esp32/gpio.h @@ -24,7 +24,7 @@ class ESP32InternalGPIOPin : public InternalGPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void detach_interrupt() const override; ISRInternalGPIOPin to_isr() const override; uint8_t get_pin() const override { return this->pin_; } diff --git a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp index 47da2e3570..63675ec377 100644 --- a/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp +++ b/esphome/components/esp32_ble_tracker/esp32_ble_tracker.cpp @@ -37,6 +37,9 @@ namespace esphome::esp32_ble_tracker { static const char *const TAG = "esp32_ble_tracker"; +// BLE advertisement max: 31 bytes adv data + 31 bytes scan response +static constexpr size_t BLE_ADV_MAX_LOG_BYTES = 62; + ESP32BLETracker *global_esp32_ble_tracker = nullptr; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) const char *client_state_to_string(ClientState state) { @@ -445,6 +448,7 @@ void ESPBTDevice::parse_scan_rst(const BLEScanResult &scan_result) { uuid.to_str(uuid_buf); ESP_LOGVV(TAG, " Service UUID: %s", uuid_buf); } + char hex_buf[format_hex_pretty_size(BLE_ADV_MAX_LOG_BYTES)]; for (auto &data : this->manufacturer_datas_) { auto ibeacon = ESPBLEiBeacon::from_manufacturer_data(data); if (ibeacon.has_value()) { @@ -458,7 +462,8 @@ void ESPBTDevice::parse_scan_rst(const BLEScanResult &scan_result) { } else { char uuid_buf[esp32_ble::UUID_STR_LEN]; data.uuid.to_str(uuid_buf); - ESP_LOGVV(TAG, " Manufacturer ID: %s, data: %s", uuid_buf, format_hex_pretty(data.data).c_str()); + ESP_LOGVV(TAG, " Manufacturer ID: %s, data: %s", uuid_buf, + format_hex_pretty_to(hex_buf, data.data.data(), data.data.size())); } } for (auto &data : this->service_datas_) { @@ -466,11 +471,11 @@ void ESPBTDevice::parse_scan_rst(const BLEScanResult &scan_result) { char uuid_buf[esp32_ble::UUID_STR_LEN]; data.uuid.to_str(uuid_buf); ESP_LOGVV(TAG, " UUID: %s", uuid_buf); - ESP_LOGVV(TAG, " Data: %s", format_hex_pretty(data.data).c_str()); + ESP_LOGVV(TAG, " Data: %s", format_hex_pretty_to(hex_buf, data.data.data(), data.data.size())); } ESP_LOGVV(TAG, " Adv data: %s", - format_hex_pretty(scan_result.ble_adv, scan_result.adv_data_len + scan_result.scan_rsp_len).c_str()); + format_hex_pretty_to(hex_buf, scan_result.ble_adv, scan_result.adv_data_len + scan_result.scan_rsp_len)); #endif } diff --git a/esphome/components/esp32_improv/__init__.py b/esphome/components/esp32_improv/__init__.py index 2e69d400ca..ad2f057163 100644 --- a/esphome/components/esp32_improv/__init__.py +++ b/esphome/components/esp32_improv/__init__.py @@ -3,7 +3,7 @@ import esphome.codegen as cg from esphome.components import binary_sensor, esp32_ble, improv_base, output from esphome.components.esp32_ble import BTLoggers import esphome.config_validation as cv -from esphome.const import CONF_ID, CONF_ON_STATE, CONF_TRIGGER_ID +from esphome.const import CONF_ID, CONF_ON_START, CONF_ON_STATE, CONF_TRIGGER_ID AUTO_LOAD = ["esp32_ble_server", "improv_base"] CODEOWNERS = ["@jesserockz"] @@ -15,7 +15,6 @@ CONF_BLE_SERVER_ID = "ble_server_id" CONF_IDENTIFY_DURATION = "identify_duration" CONF_ON_PROVISIONED = "on_provisioned" CONF_ON_PROVISIONING = "on_provisioning" -CONF_ON_START = "on_start" CONF_ON_STOP = "on_stop" CONF_STATUS_INDICATOR = "status_indicator" CONF_WIFI_TIMEOUT = "wifi_timeout" diff --git a/esphome/components/esp32_improv/esp32_improv_component.cpp b/esphome/components/esp32_improv/esp32_improv_component.cpp index 0ad54bbb15..4a6aec1892 100644 --- a/esphome/components/esp32_improv/esp32_improv_component.cpp +++ b/esphome/components/esp32_improv/esp32_improv_component.cpp @@ -4,6 +4,7 @@ #include "esphome/components/esp32_ble/ble.h" #include "esphome/components/esp32_ble_server/ble_2902.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -14,6 +15,7 @@ namespace esp32_improv { using namespace bytebuffer; static const char *const TAG = "esp32_improv.component"; +static constexpr size_t IMPROV_MAX_LOG_BYTES = 128; static const char *const ESPHOME_MY_LINK = "https://my.home-assistant.io/redirect/config_flow_start?domain=esphome"; static constexpr uint16_t STOP_ADVERTISING_DELAY = 10000; // Delay (ms) before stopping service to allow BLE clients to read the final state @@ -314,7 +316,11 @@ void ESP32ImprovComponent::dump_config() { void ESP32ImprovComponent::process_incoming_data_() { uint8_t length = this->incoming_data_[1]; - ESP_LOGV(TAG, "Processing bytes - %s", format_hex_pretty(this->incoming_data_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(IMPROV_MAX_LOG_BYTES)]; + ESP_LOGV(TAG, "Processing bytes - %s", + format_hex_pretty_to(hex_buf, this->incoming_data_.data(), this->incoming_data_.size())); +#endif if (this->incoming_data_.size() - 3 == length) { this->set_error_(improv::ERROR_NONE); improv::ImprovCommand command = improv::parse_improv_data(this->incoming_data_); @@ -403,8 +409,12 @@ void ESP32ImprovComponent::check_wifi_connection_() { #ifdef USE_WEBSERVER for (auto &ip : wifi::global_wifi_component->wifi_sta_ip_addresses()) { if (ip.is_ip4()) { - char url_buffer[64]; - snprintf(url_buffer, sizeof(url_buffer), "http://%s:%d", ip.str().c_str(), USE_WEBSERVER_PORT); + // "http://" (7) + IPv4 max (15) + ":" (1) + port max (5) + null = 29 + char url_buffer[32]; + memcpy(url_buffer, "http://", 7); // NOLINT(bugprone-not-null-terminated-result) - str_to null-terminates + ip.str_to(url_buffer + 7); + size_t len = strlen(url_buffer); + snprintf(url_buffer + len, sizeof(url_buffer) - len, ":%d", USE_WEBSERVER_PORT); url_strings[url_count++] = url_buffer; break; } diff --git a/esphome/components/esp8266/__init__.py b/esphome/components/esp8266/__init__.py index c4969a79b2..77ccaf52c1 100644 --- a/esphome/components/esp8266/__init__.py +++ b/esphome/components/esp8266/__init__.py @@ -28,6 +28,7 @@ from .const import ( KEY_ESP8266, KEY_FLASH_SIZE, KEY_PIN_INITIAL_STATES, + KEY_WAVEFORM_REQUIRED, esp8266_ns, ) from .gpio import PinInitialState, add_pin_initial_states_array @@ -192,7 +193,12 @@ async def to_code(config): cg.add_platformio_option( "extra_scripts", - ["pre:testing_mode.py", "pre:exclude_updater.py", "post:post_build.py"], + [ + "pre:testing_mode.py", + "pre:exclude_updater.py", + "pre:exclude_waveform.py", + "post:post_build.py", + ], ) conf = config[CONF_FRAMEWORK] @@ -264,10 +270,24 @@ async def to_code(config): cg.add_platformio_option("board_build.ldscript", ld_script) CORE.add_job(add_pin_initial_states_array) + CORE.add_job(finalize_waveform_config) + + +@coroutine_with_priority(CoroPriority.WORKAROUNDS) +async def finalize_waveform_config() -> None: + """Add waveform stubs define if waveform is not required. + + This runs at WORKAROUNDS priority (-999) to ensure all components + have had a chance to call require_waveform() first. + """ + if not CORE.data.get(KEY_ESP8266, {}).get(KEY_WAVEFORM_REQUIRED, False): + # No component needs waveform - enable stubs and exclude Arduino waveform code + # Use build flag (visible to both C++ code and PlatformIO script) + cg.add_build_flag("-DUSE_ESP8266_WAVEFORM_STUBS") # Called by writer.py -def copy_files(): +def copy_files() -> None: dir = Path(__file__).parent post_build_file = dir / "post_build.py.script" copy_file_if_changed( @@ -284,3 +304,8 @@ def copy_files(): exclude_updater_file, CORE.relative_build_path("exclude_updater.py"), ) + exclude_waveform_file = dir / "exclude_waveform.py.script" + copy_file_if_changed( + exclude_waveform_file, + CORE.relative_build_path("exclude_waveform.py"), + ) diff --git a/esphome/components/esp8266/const.py b/esphome/components/esp8266/const.py index b718306b01..14425cde68 100644 --- a/esphome/components/esp8266/const.py +++ b/esphome/components/esp8266/const.py @@ -1,4 +1,5 @@ import esphome.codegen as cg +from esphome.core import CORE KEY_ESP8266 = "esp8266" KEY_BOARD = "board" @@ -6,6 +7,25 @@ KEY_PIN_INITIAL_STATES = "pin_initial_states" CONF_RESTORE_FROM_FLASH = "restore_from_flash" CONF_EARLY_PIN_INIT = "early_pin_init" KEY_FLASH_SIZE = "flash_size" +KEY_WAVEFORM_REQUIRED = "waveform_required" # esp8266 namespace is already defined by arduino, manually prefix esphome esp8266_ns = cg.global_ns.namespace("esphome").namespace("esp8266") + + +def require_waveform() -> None: + """Mark that Arduino waveform/PWM support is required. + + Call this from components that need the Arduino waveform generator + (startWaveform, stopWaveform, analogWrite, Tone, Servo). + + If no component calls this, the waveform code is excluded from the build + to save ~596 bytes of RAM and 464 bytes of flash. + + Example: + from esphome.components.esp8266.const import require_waveform + + async def to_code(config): + require_waveform() + """ + CORE.data.setdefault(KEY_ESP8266, {})[KEY_WAVEFORM_REQUIRED] = True diff --git a/esphome/components/esp8266/exclude_waveform.py.script b/esphome/components/esp8266/exclude_waveform.py.script new file mode 100644 index 0000000000..35d6bc31f6 --- /dev/null +++ b/esphome/components/esp8266/exclude_waveform.py.script @@ -0,0 +1,50 @@ +# pylint: disable=E0602 +Import("env") # noqa + +import os + +# Filter out waveform/PWM code from the Arduino core build +# This saves ~596 bytes of RAM and 464 bytes of flash by not +# instantiating the waveform generator state structures (wvfState + pwmState). +# +# The waveform code is used by: analogWrite, Tone, Servo, and direct +# startWaveform/stopWaveform calls. ESPHome's esp8266_pwm component +# calls require_waveform() to keep this code when needed. +# +# When excluded, we provide stub implementations of stopWaveform() and +# _stopPWM() since digitalWrite() calls these unconditionally. + + +def has_define_flag(env, name): + """Check if a define exists in the build flags.""" + define_flag = f"-D{name}" + # Check BUILD_FLAGS (where ESPHome puts its defines) + for flag in env.get("BUILD_FLAGS", []): + if flag == define_flag or flag.startswith(f"{define_flag}="): + return True + # Also check CPPDEFINES list (parsed defines) + for define in env.get("CPPDEFINES", []): + if isinstance(define, tuple): + if define[0] == name: + return True + elif define == name: + return True + return False + +# USE_ESP8266_WAVEFORM_STUBS is defined when no component needs waveform +if has_define_flag(env, "USE_ESP8266_WAVEFORM_STUBS"): + + def filter_waveform_from_core(env, node): + """Filter callback to exclude waveform files from framework build.""" + path = node.get_path() + filename = os.path.basename(path) + if filename in ( + "core_esp8266_waveform_pwm.cpp", + "core_esp8266_waveform_phase.cpp", + ): + print(f"ESPHome: Excluding {filename} from build (waveform not required)") + return None + return node + + # Apply the filter to framework sources + env.AddBuildMiddleware(filter_waveform_from_core, "**/cores/esp8266/*.cpp") diff --git a/esphome/components/esp8266/gpio.cpp b/esphome/components/esp8266/gpio.cpp index 124df39ce3..7a5ee08984 100644 --- a/esphome/components/esp8266/gpio.cpp +++ b/esphome/components/esp8266/gpio.cpp @@ -98,10 +98,8 @@ void ESP8266GPIOPin::pin_mode(gpio::Flags flags) { pinMode(pin_, flags_to_mode(flags, pin_)); // NOLINT } -std::string ESP8266GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "GPIO%u", pin_); - return buffer; +size_t ESP8266GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "GPIO%u", this->pin_); } bool ESP8266GPIOPin::digital_read() { diff --git a/esphome/components/esp8266/gpio.h b/esphome/components/esp8266/gpio.h index 213a5c54be..ff149abfbe 100644 --- a/esphome/components/esp8266/gpio.h +++ b/esphome/components/esp8266/gpio.h @@ -17,7 +17,7 @@ class ESP8266GPIOPin : public InternalGPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void detach_interrupt() const override; ISRInternalGPIOPin to_isr() const override; uint8_t get_pin() const override { return pin_; } diff --git a/esphome/components/esp8266/waveform_stubs.cpp b/esphome/components/esp8266/waveform_stubs.cpp new file mode 100644 index 0000000000..686e03c6a9 --- /dev/null +++ b/esphome/components/esp8266/waveform_stubs.cpp @@ -0,0 +1,34 @@ +#ifdef USE_ESP8266_WAVEFORM_STUBS + +// Stub implementations for Arduino waveform/PWM functions. +// +// When the waveform generator is not needed (no esp8266_pwm component), +// we exclude core_esp8266_waveform_pwm.cpp from the build to save ~596 bytes +// of RAM and 464 bytes of flash. +// +// These stubs satisfy calls from the Arduino GPIO code when the real +// waveform implementation is excluded. They must be in the global namespace +// with C linkage to match the Arduino core function declarations. + +#include + +// Empty namespace to satisfy linter - actual stubs must be at global scope +namespace esphome::esp8266 {} // namespace esphome::esp8266 + +extern "C" { + +// Called by Arduino GPIO code to stop any waveform on a pin +int stopWaveform(uint8_t pin) { + (void) pin; + return 1; // Success (no waveform to stop) +} + +// Called by Arduino GPIO code to stop any PWM on a pin +bool _stopPWM(uint8_t pin) { + (void) pin; + return false; // No PWM was running +} + +} // extern "C" + +#endif // USE_ESP8266_WAVEFORM_STUBS diff --git a/esphome/components/esp8266_pwm/output.py b/esphome/components/esp8266_pwm/output.py index 2ddf4b9014..a78831c516 100644 --- a/esphome/components/esp8266_pwm/output.py +++ b/esphome/components/esp8266_pwm/output.py @@ -1,6 +1,7 @@ from esphome import automation, pins import esphome.codegen as cg from esphome.components import output +from esphome.components.esp8266.const import require_waveform import esphome.config_validation as cv from esphome.const import CONF_FREQUENCY, CONF_ID, CONF_NUMBER, CONF_PIN @@ -34,7 +35,9 @@ CONFIG_SCHEMA = cv.All( ) -async def to_code(config): +async def to_code(config) -> None: + require_waveform() + var = cg.new_Pvariable(config[CONF_ID]) await cg.register_component(var, config) await output.register_output(var, config) diff --git a/esphome/components/esphome/ota/__init__.py b/esphome/components/esphome/ota/__init__.py index e56e85b231..2f637d714d 100644 --- a/esphome/components/esphome/ota/__init__.py +++ b/esphome/components/esphome/ota/__init__.py @@ -16,7 +16,7 @@ from esphome.const import ( CONF_SAFE_MODE, CONF_VERSION, ) -from esphome.core import CORE, coroutine_with_priority +from esphome.core import coroutine_with_priority from esphome.coroutine import CoroPriority import esphome.final_validate as fv from esphome.types import ConfigType @@ -28,17 +28,7 @@ CODEOWNERS = ["@esphome/core"] DEPENDENCIES = ["network"] -def supports_sha256() -> bool: - """Check if the current platform supports SHA256 for OTA authentication.""" - return bool(CORE.is_esp32 or CORE.is_esp8266 or CORE.is_rp2040 or CORE.is_libretiny) - - -def AUTO_LOAD() -> list[str]: - """Conditionally auto-load sha256 only on platforms that support it.""" - base_components = ["md5", "socket"] - if supports_sha256(): - return base_components + ["sha256"] - return base_components +AUTO_LOAD = ["sha256", "socket"] esphome = cg.esphome_ns.namespace("esphome") @@ -155,11 +145,6 @@ async def to_code(config: ConfigType) -> None: if config.get(CONF_PASSWORD): cg.add(var.set_auth_password(config[CONF_PASSWORD])) cg.add_define("USE_OTA_PASSWORD") - # Only include hash algorithms when password is configured - cg.add_define("USE_OTA_MD5") - # Only include SHA256 support on platforms that have it - if supports_sha256(): - cg.add_define("USE_OTA_SHA256") cg.add_define("USE_OTA_VERSION", config[CONF_VERSION]) await cg.register_component(var, config) diff --git a/esphome/components/esphome/ota/ota_esphome.cpp b/esphome/components/esphome/ota/ota_esphome.cpp index f9984e1425..16d7089f02 100644 --- a/esphome/components/esphome/ota/ota_esphome.cpp +++ b/esphome/components/esphome/ota/ota_esphome.cpp @@ -1,13 +1,8 @@ #include "ota_esphome.h" #ifdef USE_OTA #ifdef USE_OTA_PASSWORD -#ifdef USE_OTA_MD5 -#include "esphome/components/md5/md5.h" -#endif -#ifdef USE_OTA_SHA256 #include "esphome/components/sha256/sha256.h" #endif -#endif #include "esphome/components/network/util.h" #include "esphome/components/ota/ota_backend.h" #include "esphome/components/ota/ota_backend_esp8266.h" @@ -31,15 +26,6 @@ static constexpr size_t OTA_BUFFER_SIZE = 1024; // buffer size static constexpr uint32_t OTA_SOCKET_TIMEOUT_HANDSHAKE = 20000; // milliseconds for initial handshake static constexpr uint32_t OTA_SOCKET_TIMEOUT_DATA = 90000; // milliseconds for data transfer -#ifdef USE_OTA_PASSWORD -#ifdef USE_OTA_MD5 -static constexpr size_t MD5_HEX_SIZE = 32; // MD5 hash as hex string (16 bytes * 2) -#endif -#ifdef USE_OTA_SHA256 -static constexpr size_t SHA256_HEX_SIZE = 64; // SHA256 hash as hex string (32 bytes * 2) -#endif -#endif // USE_OTA_PASSWORD - void ESPHomeOTAComponent::setup() { this->server_ = socket::socket_ip_loop_monitored(SOCK_STREAM, 0); // monitored for incoming connections if (this->server_ == nullptr) { @@ -108,15 +94,7 @@ void ESPHomeOTAComponent::loop() { } static const uint8_t FEATURE_SUPPORTS_COMPRESSION = 0x01; -#ifdef USE_OTA_SHA256 static const uint8_t FEATURE_SUPPORTS_SHA256_AUTH = 0x02; -#endif - -// Temporary flag to allow MD5 downgrade for ~3 versions (until 2026.1.0) -// This allows users to downgrade via OTA if they encounter issues after updating. -// Without this, users would need to do a serial flash to downgrade. -// TODO: Remove this flag and all associated code in 2026.1.0 -#define ALLOW_OTA_DOWNGRADE_MD5 void ESPHomeOTAComponent::handle_handshake_() { /// Handle the OTA handshake and authentication. @@ -547,26 +525,8 @@ void ESPHomeOTAComponent::yield_and_feed_watchdog_() { void ESPHomeOTAComponent::log_auth_warning_(const LogString *msg) { ESP_LOGW(TAG, "Auth: %s", LOG_STR_ARG(msg)); } bool ESPHomeOTAComponent::select_auth_type_() { -#ifdef USE_OTA_SHA256 bool client_supports_sha256 = (this->ota_features_ & FEATURE_SUPPORTS_SHA256_AUTH) != 0; -#ifdef ALLOW_OTA_DOWNGRADE_MD5 - // Allow fallback to MD5 if client doesn't support SHA256 - if (client_supports_sha256) { - this->auth_type_ = ota::OTA_RESPONSE_REQUEST_SHA256_AUTH; - return true; - } -#ifdef USE_OTA_MD5 - this->log_auth_warning_(LOG_STR("Using deprecated MD5")); - this->auth_type_ = ota::OTA_RESPONSE_REQUEST_AUTH; - return true; -#else - this->log_auth_warning_(LOG_STR("SHA256 required")); - this->send_error_and_cleanup_(ota::OTA_RESPONSE_ERROR_AUTH_INVALID); - return false; -#endif // USE_OTA_MD5 - -#else // !ALLOW_OTA_DOWNGRADE_MD5 // Require SHA256 if (!client_supports_sha256) { this->log_auth_warning_(LOG_STR("SHA256 required")); @@ -575,20 +535,6 @@ bool ESPHomeOTAComponent::select_auth_type_() { } this->auth_type_ = ota::OTA_RESPONSE_REQUEST_SHA256_AUTH; return true; -#endif // ALLOW_OTA_DOWNGRADE_MD5 - -#else // !USE_OTA_SHA256 -#ifdef USE_OTA_MD5 - // Only MD5 available - this->auth_type_ = ota::OTA_RESPONSE_REQUEST_AUTH; - return true; -#else - // No auth methods available - this->log_auth_warning_(LOG_STR("No auth methods available")); - this->send_error_and_cleanup_(ota::OTA_RESPONSE_ERROR_AUTH_INVALID); - return false; -#endif // USE_OTA_MD5 -#endif // USE_OTA_SHA256 } bool ESPHomeOTAComponent::handle_auth_send_() { @@ -612,31 +558,12 @@ bool ESPHomeOTAComponent::handle_auth_send_() { // [1+hex_size...1+2*hex_size-1]: cnonce (hex_size bytes) - client's nonce // [1+2*hex_size...1+3*hex_size-1]: response (hex_size bytes) - client's hash - // Declare both hash objects in same stack frame, use pointer to select. - // NOTE: Both objects are declared here even though only one is used. This is REQUIRED for ESP32-S3 - // hardware SHA acceleration - the object must exist in this stack frame for all operations. - // Do NOT try to "optimize" by creating the object inside the if block, as it would go out of scope. -#ifdef USE_OTA_SHA256 - sha256::SHA256 sha_hasher; -#endif -#ifdef USE_OTA_MD5 - md5::MD5Digest md5_hasher; -#endif - HashBase *hasher = nullptr; + // CRITICAL ESP32-S3 HARDWARE SHA ACCELERATION: Hash object must stay in same stack frame + // (no passing to other functions). All hash operations must happen in this function. + sha256::SHA256 hasher; -#ifdef USE_OTA_SHA256 - if (this->auth_type_ == ota::OTA_RESPONSE_REQUEST_SHA256_AUTH) { - hasher = &sha_hasher; - } -#endif -#ifdef USE_OTA_MD5 - if (this->auth_type_ == ota::OTA_RESPONSE_REQUEST_AUTH) { - hasher = &md5_hasher; - } -#endif - - const size_t hex_size = hasher->get_size() * 2; - const size_t nonce_len = hasher->get_size() / 4; + const size_t hex_size = hasher.get_size() * 2; + const size_t nonce_len = hasher.get_size() / 4; const size_t auth_buf_size = 1 + 3 * hex_size; this->auth_buf_ = std::make_unique(auth_buf_size); this->auth_buf_pos_ = 0; @@ -648,22 +575,17 @@ bool ESPHomeOTAComponent::handle_auth_send_() { return false; } - hasher->init(); - hasher->add(buf, nonce_len); - hasher->calculate(); + hasher.init(); + hasher.add(buf, nonce_len); + hasher.calculate(); this->auth_buf_[0] = this->auth_type_; - hasher->get_hex(buf); + hasher.get_hex(buf); -#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE - char log_buf[65]; // Fixed size for SHA256 hex (64) + null, works for MD5 (32) too - memcpy(log_buf, buf, hex_size); - log_buf[hex_size] = '\0'; - ESP_LOGV(TAG, "Auth: Nonce is %s", log_buf); -#endif + ESP_LOGV(TAG, "Auth: Nonce is %.*s", hex_size, buf); } // Try to write auth_type + nonce - size_t hex_size = this->get_auth_hex_size_(); + constexpr size_t hex_size = SHA256_HEX_SIZE; const size_t to_write = 1 + hex_size; size_t remaining = to_write - this->auth_buf_pos_; @@ -685,7 +607,7 @@ bool ESPHomeOTAComponent::handle_auth_send_() { } bool ESPHomeOTAComponent::handle_auth_read_() { - size_t hex_size = this->get_auth_hex_size_(); + constexpr size_t hex_size = SHA256_HEX_SIZE; const size_t to_read = hex_size * 2; // CNonce + Response // Try to read remaining bytes (CNonce + Response) @@ -710,55 +632,25 @@ bool ESPHomeOTAComponent::handle_auth_read_() { const char *cnonce = nonce + hex_size; const char *response = cnonce + hex_size; - // CRITICAL ESP32-S3: Hash objects must stay in same stack frame (no passing to other functions). - // Declare both hash objects in same stack frame, use pointer to select. - // NOTE: Both objects are declared here even though only one is used. This is REQUIRED for ESP32-S3 - // hardware SHA acceleration - the object must exist in this stack frame for all operations. - // Do NOT try to "optimize" by creating the object inside the if block, as it would go out of scope. -#ifdef USE_OTA_SHA256 - sha256::SHA256 sha_hasher; -#endif -#ifdef USE_OTA_MD5 - md5::MD5Digest md5_hasher; -#endif - HashBase *hasher = nullptr; + // CRITICAL ESP32-S3 HARDWARE SHA ACCELERATION: Hash object must stay in same stack frame + // (no passing to other functions). All hash operations must happen in this function. + sha256::SHA256 hasher; -#ifdef USE_OTA_SHA256 - if (this->auth_type_ == ota::OTA_RESPONSE_REQUEST_SHA256_AUTH) { - hasher = &sha_hasher; - } -#endif -#ifdef USE_OTA_MD5 - if (this->auth_type_ == ota::OTA_RESPONSE_REQUEST_AUTH) { - hasher = &md5_hasher; - } -#endif - - hasher->init(); - hasher->add(this->password_.c_str(), this->password_.length()); - hasher->add(nonce, hex_size * 2); // Add both nonce and cnonce (contiguous in buffer) - hasher->calculate(); + hasher.init(); + hasher.add(this->password_.c_str(), this->password_.length()); + hasher.add(nonce, hex_size * 2); // Add both nonce and cnonce (contiguous in buffer) + hasher.calculate(); + ESP_LOGV(TAG, "Auth: CNonce is %.*s", hex_size, cnonce); #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE - char log_buf[65]; // Fixed size for SHA256 hex (64) + null, works for MD5 (32) too - // Log CNonce - memcpy(log_buf, cnonce, hex_size); - log_buf[hex_size] = '\0'; - ESP_LOGV(TAG, "Auth: CNonce is %s", log_buf); - - // Log computed hash - hasher->get_hex(log_buf); - log_buf[hex_size] = '\0'; - ESP_LOGV(TAG, "Auth: Result is %s", log_buf); - - // Log received response - memcpy(log_buf, response, hex_size); - log_buf[hex_size] = '\0'; - ESP_LOGV(TAG, "Auth: Response is %s", log_buf); + char computed_hash[SHA256_HEX_SIZE + 1]; // Buffer for hex-encoded hash (max expected length + null terminator) + hasher.get_hex(computed_hash); + ESP_LOGV(TAG, "Auth: Result is %.*s", hex_size, computed_hash); #endif + ESP_LOGV(TAG, "Auth: Response is %.*s", hex_size, response); // Compare response - bool matches = hasher->equals_hex(response); + bool matches = hasher.equals_hex(response); if (!matches) { this->log_auth_warning_(LOG_STR("Password mismatch")); @@ -772,21 +664,6 @@ bool ESPHomeOTAComponent::handle_auth_read_() { return true; } -size_t ESPHomeOTAComponent::get_auth_hex_size_() const { -#ifdef USE_OTA_SHA256 - if (this->auth_type_ == ota::OTA_RESPONSE_REQUEST_SHA256_AUTH) { - return SHA256_HEX_SIZE; - } -#endif -#ifdef USE_OTA_MD5 - return MD5_HEX_SIZE; -#else -#ifndef USE_OTA_SHA256 -#error "Either USE_OTA_MD5 or USE_OTA_SHA256 must be defined when USE_OTA_PASSWORD is enabled" -#endif -#endif -} - void ESPHomeOTAComponent::cleanup_auth_() { this->auth_buf_ = nullptr; this->auth_buf_pos_ = 0; diff --git a/esphome/components/esphome/ota/ota_esphome.h b/esphome/components/esphome/ota/ota_esphome.h index 4412a65757..e199b7e406 100644 --- a/esphome/components/esphome/ota/ota_esphome.h +++ b/esphome/components/esphome/ota/ota_esphome.h @@ -44,10 +44,10 @@ class ESPHomeOTAComponent : public ota::OTAComponent { void handle_handshake_(); void handle_data_(); #ifdef USE_OTA_PASSWORD + static constexpr size_t SHA256_HEX_SIZE = 64; // SHA256 hash as hex string (32 bytes * 2) bool handle_auth_send_(); bool handle_auth_read_(); bool select_auth_type_(); - size_t get_auth_hex_size_() const; void cleanup_auth_(); void log_auth_warning_(const LogString *msg); #endif // USE_OTA_PASSWORD diff --git a/esphome/components/espnow/espnow_component.cpp b/esphome/components/espnow/espnow_component.cpp index bc05833709..991803d870 100644 --- a/esphome/components/espnow/espnow_component.cpp +++ b/esphome/components/espnow/espnow_component.cpp @@ -6,6 +6,7 @@ #include "esphome/core/application.h" #include "esphome/core/defines.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include @@ -63,18 +64,6 @@ static const LogString *espnow_error_to_str(esp_err_t error) { } } -std::string peer_str(uint8_t *peer) { - if (peer == nullptr || peer[0] == 0) { - return "[Not Set]"; - } else if (memcmp(peer, ESPNOW_BROADCAST_ADDR, ESP_NOW_ETH_ALEN) == 0) { - return "[Broadcast]"; - } else if (memcmp(peer, ESPNOW_MULTICAST_ADDR, ESP_NOW_ETH_ALEN) == 0) { - return "[Multicast]"; - } else { - return format_mac_address_pretty(peer); - } -} - #if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 5, 0) void on_send_report(const esp_now_send_info_t *info, esp_now_send_status_t status) #else @@ -139,11 +128,13 @@ void ESPNowComponent::dump_config() { ESP_LOGCONFIG(TAG, " Disabled"); return; } + char own_addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(this->own_address_, own_addr_buf); ESP_LOGCONFIG(TAG, " Own address: %s\n" " Version: v%" PRIu32 "\n" " Wi-Fi channel: %d", - format_mac_address_pretty(this->own_address_).c_str(), version, this->wifi_channel_); + own_addr_buf, version, this->wifi_channel_); #ifdef USE_WIFI ESP_LOGCONFIG(TAG, " Wi-Fi enabled: %s", YESNO(this->is_wifi_enabled())); #endif @@ -299,9 +290,13 @@ void ESPNowComponent::loop() { // Intentionally left as if instead of else in case the peer is added above if (esp_now_is_peer_exist(info.src_addr)) { #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE - ESP_LOGV(TAG, "<<< [%s -> %s] %s", format_mac_address_pretty(info.src_addr).c_str(), - format_mac_address_pretty(info.des_addr).c_str(), - format_hex_pretty(packet->packet_.receive.data, packet->packet_.receive.size).c_str()); + char src_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + char dst_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + char hex_buf[format_hex_pretty_size(ESP_NOW_MAX_DATA_LEN)]; + format_mac_addr_upper(info.src_addr, src_buf); + format_mac_addr_upper(info.des_addr, dst_buf); + ESP_LOGV(TAG, "<<< [%s -> %s] %s", src_buf, dst_buf, + format_hex_pretty_to(hex_buf, packet->packet_.receive.data, packet->packet_.receive.size)); #endif if (memcmp(info.des_addr, ESPNOW_BROADCAST_ADDR, ESP_NOW_ETH_ALEN) == 0) { for (auto *handler : this->broadcasted_handlers_) { @@ -319,8 +314,9 @@ void ESPNowComponent::loop() { } case ESPNowPacket::SENT: { #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE - ESP_LOGV(TAG, ">>> [%s] %s", format_mac_address_pretty(packet->packet_.sent.address).c_str(), - LOG_STR_ARG(espnow_error_to_str(packet->packet_.sent.status))); + char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(packet->packet_.sent.address, addr_buf); + ESP_LOGV(TAG, ">>> [%s] %s", addr_buf, LOG_STR_ARG(espnow_error_to_str(packet->packet_.sent.status))); #endif if (this->current_send_packet_ != nullptr) { this->current_send_packet_->callback_(packet->packet_.sent.status); @@ -407,8 +403,9 @@ void ESPNowComponent::send_() { this->current_send_packet_ = packet; esp_err_t err = esp_now_send(packet->address_, packet->data_, packet->size_); if (err != ESP_OK) { - ESP_LOGE(TAG, "Failed to send packet to %s - %s", format_mac_address_pretty(packet->address_).c_str(), - LOG_STR_ARG(espnow_error_to_str(err))); + char addr_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(packet->address_, addr_buf); + ESP_LOGE(TAG, "Failed to send packet to %s - %s", addr_buf, LOG_STR_ARG(espnow_error_to_str(err))); if (packet->callback_ != nullptr) { packet->callback_(err); } @@ -437,8 +434,9 @@ esp_err_t ESPNowComponent::add_peer(const uint8_t *peer) { esp_err_t err = esp_now_add_peer(&peer_info); if (err != ESP_OK) { - ESP_LOGE(TAG, "Failed to add peer %s - %s", format_mac_address_pretty(peer).c_str(), - LOG_STR_ARG(espnow_error_to_str(err))); + char peer_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(peer, peer_buf); + ESP_LOGE(TAG, "Failed to add peer %s - %s", peer_buf, LOG_STR_ARG(espnow_error_to_str(err))); this->status_momentary_warning("peer-add-failed"); return err; } @@ -466,8 +464,9 @@ esp_err_t ESPNowComponent::del_peer(const uint8_t *peer) { if (esp_now_is_peer_exist(peer)) { esp_err_t err = esp_now_del_peer(peer); if (err != ESP_OK) { - ESP_LOGE(TAG, "Failed to delete peer %s - %s", format_mac_address_pretty(peer).c_str(), - LOG_STR_ARG(espnow_error_to_str(err))); + char peer_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(peer, peer_buf); + ESP_LOGE(TAG, "Failed to delete peer %s - %s", peer_buf, LOG_STR_ARG(espnow_error_to_str(err))); this->status_momentary_warning("peer-del-failed"); return err; } diff --git a/esphome/components/ethernet/ethernet_component.cpp b/esphome/components/ethernet/ethernet_component.cpp index 114000401f..af4f652d8b 100644 --- a/esphome/components/ethernet/ethernet_component.cpp +++ b/esphome/components/ethernet/ethernet_component.cpp @@ -1,5 +1,6 @@ #include "ethernet_component.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/util.h" @@ -39,6 +40,9 @@ namespace ethernet { static const char *const TAG = "ethernet"; +// PHY register size for hex logging +static constexpr size_t PHY_REG_SIZE = 2; + EthernetComponent *global_eth_component; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) void EthernetComponent::log_error_and_mark_failed_(esp_err_t err, const char *message) { @@ -773,7 +777,10 @@ void EthernetComponent::ksz8081_set_clock_reference_(esp_eth_mac_t *mac) { uint32_t phy_control_2; err = mac->read_phy_reg(mac, this->phy_addr_, KSZ80XX_PC2R_REG_ADDR, &(phy_control_2)); ESPHL_ERROR_CHECK(err, "Read PHY Control 2 failed"); - ESP_LOGVV(TAG, "KSZ8081 PHY Control 2: %s", format_hex_pretty((u_int8_t *) &phy_control_2, 2).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(PHY_REG_SIZE)]; +#endif + ESP_LOGVV(TAG, "KSZ8081 PHY Control 2: %s", format_hex_pretty_to(hex_buf, (uint8_t *) &phy_control_2, PHY_REG_SIZE)); /* * Bit 7 is `RMII Reference Clock Select`. Default is `0`. @@ -790,7 +797,8 @@ void EthernetComponent::ksz8081_set_clock_reference_(esp_eth_mac_t *mac) { ESPHL_ERROR_CHECK(err, "Write PHY Control 2 failed"); err = mac->read_phy_reg(mac, this->phy_addr_, KSZ80XX_PC2R_REG_ADDR, &(phy_control_2)); ESPHL_ERROR_CHECK(err, "Read PHY Control 2 failed"); - ESP_LOGVV(TAG, "KSZ8081 PHY Control 2: %s", format_hex_pretty((u_int8_t *) &phy_control_2, 2).c_str()); + ESP_LOGVV(TAG, "KSZ8081 PHY Control 2: %s", + format_hex_pretty_to(hex_buf, (uint8_t *) &phy_control_2, PHY_REG_SIZE)); } } #endif // USE_ETHERNET_KSZ8081 diff --git a/esphome/components/ethernet_info/ethernet_info_text_sensor.cpp b/esphome/components/ethernet_info/ethernet_info_text_sensor.cpp index 329fb9113a..35e18c7de5 100644 --- a/esphome/components/ethernet_info/ethernet_info_text_sensor.cpp +++ b/esphome/components/ethernet_info/ethernet_info_text_sensor.cpp @@ -3,8 +3,7 @@ #ifdef USE_ESP32 -namespace esphome { -namespace ethernet_info { +namespace esphome::ethernet_info { static const char *const TAG = "ethernet_info"; @@ -12,7 +11,6 @@ void IPAddressEthernetInfo::dump_config() { LOG_TEXT_SENSOR("", "EthernetInfo IP void DNSAddressEthernetInfo::dump_config() { LOG_TEXT_SENSOR("", "EthernetInfo DNS Address", this); } void MACAddressEthernetInfo::dump_config() { LOG_TEXT_SENSOR("", "EthernetInfo MAC Address", this); } -} // namespace ethernet_info -} // namespace esphome +} // namespace esphome::ethernet_info #endif // USE_ESP32 diff --git a/esphome/components/ethernet_info/ethernet_info_text_sensor.h b/esphome/components/ethernet_info/ethernet_info_text_sensor.h index 2adc08e31e..b49ddc263d 100644 --- a/esphome/components/ethernet_info/ethernet_info_text_sensor.h +++ b/esphome/components/ethernet_info/ethernet_info_text_sensor.h @@ -6,8 +6,7 @@ #ifdef USE_ESP32 -namespace esphome { -namespace ethernet_info { +namespace esphome::ethernet_info { class IPAddressEthernetInfo : public PollingComponent, public text_sensor::TextSensor { public: @@ -40,21 +39,27 @@ class IPAddressEthernetInfo : public PollingComponent, public text_sensor::TextS class DNSAddressEthernetInfo : public PollingComponent, public text_sensor::TextSensor { public: void update() override { - auto dns_one = ethernet::global_eth_component->get_dns_address(0); - auto dns_two = ethernet::global_eth_component->get_dns_address(1); + auto dns1 = ethernet::global_eth_component->get_dns_address(0); + auto dns2 = ethernet::global_eth_component->get_dns_address(1); - std::string dns_results = dns_one.str() + " " + dns_two.str(); - - if (dns_results != this->last_results_) { - this->last_results_ = dns_results; - this->publish_state(dns_results); + if (dns1 != this->last_dns1_ || dns2 != this->last_dns2_) { + this->last_dns1_ = dns1; + this->last_dns2_ = dns2; + // IP_ADDRESS_BUFFER_SIZE (40) = max IP (39) + null; space reuses first null's slot + char buf[network::IP_ADDRESS_BUFFER_SIZE * 2]; + dns1.str_to(buf); + size_t len1 = strlen(buf); + buf[len1] = ' '; + dns2.str_to(buf + len1 + 1); + this->publish_state(buf); } } float get_setup_priority() const override { return setup_priority::ETHERNET; } void dump_config() override; protected: - std::string last_results_; + network::IPAddress last_dns1_; + network::IPAddress last_dns2_; }; class MACAddressEthernetInfo : public Component, public text_sensor::TextSensor { @@ -64,7 +69,6 @@ class MACAddressEthernetInfo : public Component, public text_sensor::TextSensor void dump_config() override; }; -} // namespace ethernet_info -} // namespace esphome +} // namespace esphome::ethernet_info #endif // USE_ESP32 diff --git a/esphome/components/gps/__init__.py b/esphome/components/gps/__init__.py index a872cf7015..2135189bd5 100644 --- a/esphome/components/gps/__init__.py +++ b/esphome/components/gps/__init__.py @@ -11,6 +11,7 @@ from esphome.const import ( CONF_SPEED, DEVICE_CLASS_SPEED, STATE_CLASS_MEASUREMENT, + STATE_CLASS_MEASUREMENT_ANGLE, UNIT_DEGREES, UNIT_KILOMETER_PER_HOUR, UNIT_METER, @@ -21,6 +22,7 @@ CONF_HDOP = "hdop" ICON_ALTIMETER = "mdi:altimeter" ICON_COMPASS = "mdi:compass" +ICON_CIRCLE_DOUBLE = "mdi:circle-double" ICON_LATITUDE = "mdi:latitude" ICON_LONGITUDE = "mdi:longitude" ICON_SATELLITE = "mdi:satellite-variant" @@ -50,7 +52,7 @@ CONFIG_SCHEMA = cv.All( unit_of_measurement=UNIT_DEGREES, icon=ICON_LONGITUDE, accuracy_decimals=6, - state_class=STATE_CLASS_MEASUREMENT, + state_class=STATE_CLASS_MEASUREMENT_ANGLE, ), cv.Optional(CONF_SPEED): sensor.sensor_schema( unit_of_measurement=UNIT_KILOMETER_PER_HOUR, @@ -63,7 +65,7 @@ CONFIG_SCHEMA = cv.All( unit_of_measurement=UNIT_DEGREES, icon=ICON_COMPASS, accuracy_decimals=2, - state_class=STATE_CLASS_MEASUREMENT, + state_class=STATE_CLASS_MEASUREMENT_ANGLE, ), cv.Optional(CONF_ALTITUDE): sensor.sensor_schema( unit_of_measurement=UNIT_METER, @@ -72,11 +74,14 @@ CONFIG_SCHEMA = cv.All( state_class=STATE_CLASS_MEASUREMENT, ), cv.Optional(CONF_SATELLITES): sensor.sensor_schema( + # no unit_of_measurement icon=ICON_SATELLITE, accuracy_decimals=0, state_class=STATE_CLASS_MEASUREMENT, ), cv.Optional(CONF_HDOP): sensor.sensor_schema( + # no unit_of_measurement + icon=ICON_CIRCLE_DOUBLE, accuracy_decimals=3, state_class=STATE_CLASS_MEASUREMENT, ), diff --git a/esphome/components/hlk_fm22x/hlk_fm22x.cpp b/esphome/components/hlk_fm22x/hlk_fm22x.cpp index ab15a2340d..c0f14c7105 100644 --- a/esphome/components/hlk_fm22x/hlk_fm22x.cpp +++ b/esphome/components/hlk_fm22x/hlk_fm22x.cpp @@ -8,6 +8,9 @@ namespace esphome::hlk_fm22x { static const char *const TAG = "hlk_fm22x"; +// Maximum response size is 36 bytes (VERIFY reply: face_id + 32-byte name) +static constexpr size_t HLK_FM22X_MAX_RESPONSE_SIZE = 36; + void HlkFm22xComponent::setup() { ESP_LOGCONFIG(TAG, "Setting up HLK-FM22X..."); this->set_enrolling_(false); @@ -142,7 +145,10 @@ void HlkFm22xComponent::recv_command_() { data.push_back(byte); } - ESP_LOGV(TAG, "Recv type: 0x%.2X, data: %s", response_type, format_hex_pretty(data).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(HLK_FM22X_MAX_RESPONSE_SIZE)]; + ESP_LOGV(TAG, "Recv type: 0x%.2X, data: %s", response_type, format_hex_pretty_to(hex_buf, data.data(), data.size())); +#endif byte = this->read(); if (byte != checksum) { diff --git a/esphome/components/hlw8012/hlw8012.cpp b/esphome/components/hlw8012/hlw8012.cpp index 73696bd2a5..70a05e4f72 100644 --- a/esphome/components/hlw8012/hlw8012.cpp +++ b/esphome/components/hlw8012/hlw8012.cpp @@ -34,9 +34,9 @@ void HLW8012Component::setup() { } void HLW8012Component::dump_config() { ESP_LOGCONFIG(TAG, "HLW8012:"); - LOG_PIN(" SEL Pin: ", this->sel_pin_) - LOG_PIN(" CF Pin: ", this->cf_pin_) - LOG_PIN(" CF1 Pin: ", this->cf1_pin_) + LOG_PIN(" SEL Pin: ", this->sel_pin_); + LOG_PIN(" CF Pin: ", this->cf_pin_); + LOG_PIN(" CF1 Pin: ", this->cf1_pin_); ESP_LOGCONFIG(TAG, " Change measurement mode every %" PRIu32 "\n" " Current resistor: %.1f mΩ\n" diff --git a/esphome/components/hmac_md5/hmac_md5.h b/esphome/components/hmac_md5/hmac_md5.h index b83b9d5421..fb9479e3af 100644 --- a/esphome/components/hmac_md5/hmac_md5.h +++ b/esphome/components/hmac_md5/hmac_md5.h @@ -30,7 +30,7 @@ class HmacMD5 { void get_bytes(uint8_t *output); /// Retrieve the HMAC-MD5 digest as hex characters. - /// The output must be able to hold 32 bytes or more. + /// The output must be able to hold 33 bytes or more (32 hex chars + null terminator). void get_hex(char *output); /// Compare the digest against a provided byte-encoded digest (16 bytes). diff --git a/esphome/components/hmac_sha256/hmac_sha256.h b/esphome/components/hmac_sha256/hmac_sha256.h index fa6b64aa94..85622cac46 100644 --- a/esphome/components/hmac_sha256/hmac_sha256.h +++ b/esphome/components/hmac_sha256/hmac_sha256.h @@ -35,7 +35,7 @@ class HmacSHA256 { void get_bytes(uint8_t *output); /// Retrieve the HMAC-SHA256 digest as hex characters. - /// The output must be able to hold 64 bytes or more. + /// The output must be able to hold 65 bytes or more (64 hex chars + null terminator). void get_hex(char *output); /// Compare the digest against a provided byte-encoded digest (32 bytes). diff --git a/esphome/components/host/gpio.cpp b/esphome/components/host/gpio.cpp index e46f158513..f99b82bcc2 100644 --- a/esphome/components/host/gpio.cpp +++ b/esphome/components/host/gpio.cpp @@ -25,11 +25,7 @@ void HostGPIOPin::attach_interrupt(void (*func)(void *), void *arg, gpio::Interr } void HostGPIOPin::pin_mode(gpio::Flags flags) { ESP_LOGD(TAG, "Setting pin %d mode to %02X", pin_, (uint32_t) flags); } -std::string HostGPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "GPIO%u", pin_); - return buffer; -} +size_t HostGPIOPin::dump_summary(char *buffer, size_t len) const { return snprintf(buffer, len, "GPIO%u", this->pin_); } bool HostGPIOPin::digital_read() { return inverted_; } void HostGPIOPin::digital_write(bool value) { diff --git a/esphome/components/host/gpio.h b/esphome/components/host/gpio.h index ae677291b9..ea6b13f436 100644 --- a/esphome/components/host/gpio.h +++ b/esphome/components/host/gpio.h @@ -17,7 +17,7 @@ class HostGPIOPin : public InternalGPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void detach_interrupt() const override; ISRInternalGPIOPin to_isr() const override; uint8_t get_pin() const override { return pin_; } diff --git a/esphome/components/hte501/hte501.cpp b/esphome/components/hte501/hte501.cpp index b7d3be63fe..cde6886109 100644 --- a/esphome/components/hte501/hte501.cpp +++ b/esphome/components/hte501/hte501.cpp @@ -7,6 +7,8 @@ namespace hte501 { static const char *const TAG = "hte501"; +static constexpr size_t HTE501_SERIAL_NUMBER_SIZE = 7; + void HTE501Component::setup() { uint8_t address[] = {0x70, 0x29}; uint8_t identification[9]; @@ -16,7 +18,10 @@ void HTE501Component::setup() { this->mark_failed(); return; } - ESP_LOGV(TAG, " Serial Number: 0x%s", format_hex(identification + 0, 7).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char serial_hex[format_hex_size(HTE501_SERIAL_NUMBER_SIZE)]; +#endif + ESP_LOGV(TAG, " Serial Number: 0x%s", format_hex_to(serial_hex, identification, HTE501_SERIAL_NUMBER_SIZE)); } void HTE501Component::dump_config() { diff --git a/esphome/components/hub75/hub75.cpp b/esphome/components/hub75/hub75.cpp index 7317174831..e29f1a898c 100644 --- a/esphome/components/hub75/hub75.cpp +++ b/esphome/components/hub75/hub75.cpp @@ -111,6 +111,9 @@ void HOT HUB75Display::draw_pixel_at(int x, int y, Color color) { if (x >= this->get_width_internal() || x < 0 || y >= this->get_height_internal() || y < 0) [[unlikely]] return; + if (!this->get_clipping().inside(x, y)) + return; + driver_->set_pixel(x, y, color.r, color.g, color.b); App.feed_wdt(); } diff --git a/esphome/components/i2c/__init__.py b/esphome/components/i2c/__init__.py index 56e0c8e4ab..19efda0b49 100644 --- a/esphome/components/i2c/__init__.py +++ b/esphome/components/i2c/__init__.py @@ -250,7 +250,7 @@ async def register_i2c_device(var, config): Sets the i2c bus to use and the i2c address. - This is a coroutine, you need to await it with a 'yield' expression! + This is a coroutine, you need to await it with an 'await' expression! """ parent = await cg.get_variable(config[CONF_I2C_ID]) cg.add(var.set_i2c_bus(parent)) diff --git a/esphome/components/i2c/i2c_bus_arduino.cpp b/esphome/components/i2c/i2c_bus_arduino.cpp index 1579020c9b..e728830147 100644 --- a/esphome/components/i2c/i2c_bus_arduino.cpp +++ b/esphome/components/i2c/i2c_bus_arduino.cpp @@ -12,6 +12,9 @@ namespace i2c { static const char *const TAG = "i2c.arduino"; +// Maximum bytes to log in hex format (truncates larger transfers) +static constexpr size_t I2C_MAX_LOG_BYTES = 32; + void ArduinoI2CBus::setup() { recover_(); @@ -107,7 +110,10 @@ ErrorCode ArduinoI2CBus::write_readv(uint8_t address, const uint8_t *write_buffe return ERROR_NOT_INITIALIZED; } - ESP_LOGV(TAG, "0x%02X TX %s", address, format_hex_pretty(write_buffer, write_count).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(I2C_MAX_LOG_BYTES)]; + ESP_LOGV(TAG, "0x%02X TX %s", address, format_hex_pretty_to(hex_buf, write_buffer, write_count)); +#endif uint8_t status = 0; if (write_count != 0 || read_count == 0) { diff --git a/esphome/components/i2c/i2c_bus_esp_idf.cpp b/esphome/components/i2c/i2c_bus_esp_idf.cpp index 486dc0b7d8..191c849aa3 100644 --- a/esphome/components/i2c/i2c_bus_esp_idf.cpp +++ b/esphome/components/i2c/i2c_bus_esp_idf.cpp @@ -15,6 +15,9 @@ namespace i2c { static const char *const TAG = "i2c.idf"; +// Maximum bytes to log in hex format (truncates larger transfers) +static constexpr size_t I2C_MAX_LOG_BYTES = 32; + void IDFI2CBus::setup() { static i2c_port_t next_hp_port = I2C_NUM_0; #if SOC_LP_I2C_SUPPORTED @@ -147,7 +150,10 @@ ErrorCode IDFI2CBus::write_readv(uint8_t address, const uint8_t *write_buffer, s jobs[num_jobs++].write.total_bytes = 1; } else { if (write_count != 0) { - ESP_LOGV(TAG, "0x%02X TX %s", address, format_hex_pretty(write_buffer, write_count).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(I2C_MAX_LOG_BYTES)]; + ESP_LOGV(TAG, "0x%02X TX %s", address, format_hex_pretty_to(hex_buf, write_buffer, write_count)); +#endif jobs[num_jobs++].command = I2C_MASTER_CMD_START; jobs[num_jobs].command = I2C_MASTER_CMD_WRITE; jobs[num_jobs].write.ack_check = true; diff --git a/esphome/components/ili9xxx/ili9xxx_display.cpp b/esphome/components/ili9xxx/ili9xxx_display.cpp index 2a3d0edca7..a3eff901d3 100644 --- a/esphome/components/ili9xxx/ili9xxx_display.cpp +++ b/esphome/components/ili9xxx/ili9xxx_display.cpp @@ -131,6 +131,13 @@ float ILI9XXXDisplay::get_setup_priority() const { return setup_priority::HARDWA void ILI9XXXDisplay::fill(Color color) { if (!this->check_buffer_()) return; + + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + uint16_t new_color = 0; this->x_low_ = 0; this->y_low_ = 0; diff --git a/esphome/components/inkplate/inkplate.cpp b/esphome/components/inkplate/inkplate.cpp index f96fb6905e..c921c643fa 100644 --- a/esphome/components/inkplate/inkplate.cpp +++ b/esphome/components/inkplate/inkplate.cpp @@ -293,6 +293,13 @@ void Inkplate::fill(Color color) { ESP_LOGV(TAG, "Fill called"); uint32_t start_time = millis(); + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + ESP_LOGV(TAG, "Fill finished (%ums)", millis() - start_time); + return; + } + if (this->greyscale_) { uint8_t fill = ((color.red * 2126 / 10000) + (color.green * 7152 / 10000) + (color.blue * 722 / 10000)) >> 5; memset(this->buffer_, (fill << 4) | fill, this->get_buffer_length_()); diff --git a/esphome/components/internal_temperature/internal_temperature.cpp b/esphome/components/internal_temperature/internal_temperature.cpp index 2ef8cf2649..34d7baf880 100644 --- a/esphome/components/internal_temperature/internal_temperature.cpp +++ b/esphome/components/internal_temperature/internal_temperature.cpp @@ -8,8 +8,9 @@ extern "C" { uint8_t temprature_sens_read(); } #elif defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || \ - defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \ - defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) + defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || \ + defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || \ + defined(USE_ESP32_VARIANT_ESP32S3) #include "driver/temperature_sensor.h" #endif // USE_ESP32_VARIANT #endif // USE_ESP32 @@ -27,9 +28,9 @@ namespace internal_temperature { static const char *const TAG = "internal_temperature"; #ifdef USE_ESP32 -#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C6) || \ - defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || \ - defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) +#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \ + defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \ + defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) static temperature_sensor_handle_t tsensNew = NULL; #endif // USE_ESP32_VARIANT #endif // USE_ESP32 @@ -44,8 +45,9 @@ void InternalTemperatureSensor::update() { temperature = (raw - 32) / 1.8f; success = (raw != 128); #elif defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || \ - defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \ - defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) + defined(USE_ESP32_VARIANT_ESP32C5) || defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || \ + defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || \ + defined(USE_ESP32_VARIANT_ESP32S3) esp_err_t result = temperature_sensor_get_celsius(tsensNew, &temperature); success = (result == ESP_OK); if (!success) { @@ -81,9 +83,9 @@ void InternalTemperatureSensor::update() { void InternalTemperatureSensor::setup() { #ifdef USE_ESP32 -#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C6) || \ - defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || defined(USE_ESP32_VARIANT_ESP32P4) || \ - defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) +#if defined(USE_ESP32_VARIANT_ESP32C2) || defined(USE_ESP32_VARIANT_ESP32C3) || defined(USE_ESP32_VARIANT_ESP32C5) || \ + defined(USE_ESP32_VARIANT_ESP32C6) || defined(USE_ESP32_VARIANT_ESP32C61) || defined(USE_ESP32_VARIANT_ESP32H2) || \ + defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) temperature_sensor_config_t tsens_config = TEMPERATURE_SENSOR_CONFIG_DEFAULT(-10, 80); esp_err_t result = temperature_sensor_install(&tsens_config, &tsensNew); diff --git a/esphome/components/jsn_sr04t/jsn_sr04t.cpp b/esphome/components/jsn_sr04t/jsn_sr04t.cpp index 84181dac48..6fd8b1bd65 100644 --- a/esphome/components/jsn_sr04t/jsn_sr04t.cpp +++ b/esphome/components/jsn_sr04t/jsn_sr04t.cpp @@ -39,7 +39,9 @@ void Jsnsr04tComponent::check_buffer_() { ESP_LOGV(TAG, "Distance from sensor: %umm, %.3fm", distance, meters); this->publish_state(meters); } else { - ESP_LOGW(TAG, "Invalid data read from sensor: %s", format_hex_pretty(this->buffer_).c_str()); + char hex_buf[format_hex_pretty_size(4)]; + ESP_LOGW(TAG, "Invalid data read from sensor: %s", + format_hex_pretty_to(hex_buf, this->buffer_.data(), this->buffer_.size())); } } else { ESP_LOGW(TAG, "checksum failed: %02x != %02x", checksum, this->buffer_[3]); diff --git a/esphome/components/kuntze/kuntze.cpp b/esphome/components/kuntze/kuntze.cpp index 30f98aaa99..1b772d062c 100644 --- a/esphome/components/kuntze/kuntze.cpp +++ b/esphome/components/kuntze/kuntze.cpp @@ -1,4 +1,5 @@ #include "kuntze.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/application.h" @@ -10,11 +11,17 @@ static const char *const TAG = "kuntze"; static const uint8_t CMD_READ_REG = 0x03; static const uint16_t REGISTER[] = {4136, 4160, 4680, 6000, 4688, 4728, 5832}; +// Maximum bytes to log for Modbus responses (2 registers = 4, plus count = 5) +static constexpr size_t KUNTZE_MAX_LOG_BYTES = 8; + void Kuntze::on_modbus_data(const std::vector &data) { auto get_16bit = [&](int i) -> uint16_t { return (uint16_t(data[i * 2]) << 8) | uint16_t(data[i * 2 + 1]); }; this->waiting_ = false; - ESP_LOGV(TAG, "Data: %s", format_hex_pretty(data).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(KUNTZE_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Data: %s", format_hex_pretty_to(hex_buf, data.data(), data.size())); float value = (float) get_16bit(0); for (int i = 0; i < data[3]; i++) diff --git a/esphome/components/ld2410/ld2410.cpp b/esphome/components/ld2410/ld2410.cpp index bb2e4e2f4c..5ea47d5084 100644 --- a/esphome/components/ld2410/ld2410.cpp +++ b/esphome/components/ld2410/ld2410.cpp @@ -413,7 +413,8 @@ bool LD2410Component::handle_ack_data_() { return true; } if (!ld2410::validate_header_footer(CMD_FRAME_HEADER, this->buffer_data_)) { - ESP_LOGW(TAG, "Invalid header: %s", format_hex_pretty(this->buffer_data_, HEADER_FOOTER_SIZE).c_str()); + char hex_buf[format_hex_pretty_size(HEADER_FOOTER_SIZE)]; + ESP_LOGW(TAG, "Invalid header: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, HEADER_FOOTER_SIZE)); return true; } if (this->buffer_data_[COMMAND_STATUS] != 0x01) { @@ -597,11 +598,17 @@ void LD2410Component::readline_(int readch) { return; // Not enough data to process yet } if (ld2410::validate_header_footer(DATA_FRAME_FOOTER, &this->buffer_data_[this->buffer_pos_ - 4])) { - ESP_LOGV(TAG, "Handling Periodic Data: %s", format_hex_pretty(this->buffer_data_, this->buffer_pos_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_LINE_LENGTH)]; + ESP_LOGV(TAG, "Handling Periodic Data: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, this->buffer_pos_)); +#endif this->handle_periodic_data_(); this->buffer_pos_ = 0; // Reset position index for next message } else if (ld2410::validate_header_footer(CMD_FRAME_FOOTER, &this->buffer_data_[this->buffer_pos_ - 4])) { - ESP_LOGV(TAG, "Handling Ack Data: %s", format_hex_pretty(this->buffer_data_, this->buffer_pos_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_LINE_LENGTH)]; + ESP_LOGV(TAG, "Handling Ack Data: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, this->buffer_pos_)); +#endif if (this->handle_ack_data_()) { this->buffer_pos_ = 0; // Reset position index for next message } else { diff --git a/esphome/components/ld2412/ld2412.cpp b/esphome/components/ld2412/ld2412.cpp index 0f6fe62d30..3d51800065 100644 --- a/esphome/components/ld2412/ld2412.cpp +++ b/esphome/components/ld2412/ld2412.cpp @@ -457,7 +457,8 @@ bool LD2412Component::handle_ack_data_() { return true; } if (!ld2412::validate_header_footer(CMD_FRAME_HEADER, this->buffer_data_)) { - ESP_LOGW(TAG, "Invalid header: %s", format_hex_pretty(this->buffer_data_, HEADER_FOOTER_SIZE).c_str()); + char hex_buf[format_hex_pretty_size(HEADER_FOOTER_SIZE)]; + ESP_LOGW(TAG, "Invalid header: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, HEADER_FOOTER_SIZE)); return true; } if (this->buffer_data_[COMMAND_STATUS] != 0x01) { @@ -670,11 +671,17 @@ void LD2412Component::readline_(int readch) { return; // Not enough data to process yet } if (ld2412::validate_header_footer(DATA_FRAME_FOOTER, &this->buffer_data_[this->buffer_pos_ - 4])) { - ESP_LOGV(TAG, "Handling Periodic Data: %s", format_hex_pretty(this->buffer_data_, this->buffer_pos_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_LINE_LENGTH)]; + ESP_LOGV(TAG, "Handling Periodic Data: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, this->buffer_pos_)); +#endif this->handle_periodic_data_(); this->buffer_pos_ = 0; // Reset position index for next message } else if (ld2412::validate_header_footer(CMD_FRAME_FOOTER, &this->buffer_data_[this->buffer_pos_ - 4])) { - ESP_LOGV(TAG, "Handling Ack Data: %s", format_hex_pretty(this->buffer_data_, this->buffer_pos_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_LINE_LENGTH)]; + ESP_LOGV(TAG, "Handling Ack Data: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, this->buffer_pos_)); +#endif if (this->handle_ack_data_()) { this->buffer_pos_ = 0; // Reset position index for next message } else { diff --git a/esphome/components/ld2450/ld2450.cpp b/esphome/components/ld2450/ld2450.cpp index e69ef31d4f..2c137c3578 100644 --- a/esphome/components/ld2450/ld2450.cpp +++ b/esphome/components/ld2450/ld2450.cpp @@ -607,7 +607,8 @@ bool LD2450Component::handle_ack_data_() { return true; } if (!ld2450::validate_header_footer(CMD_FRAME_HEADER, this->buffer_data_)) { - ESP_LOGW(TAG, "Invalid header: %s", format_hex_pretty(this->buffer_data_, HEADER_FOOTER_SIZE).c_str()); + char hex_buf[format_hex_pretty_size(HEADER_FOOTER_SIZE)]; + ESP_LOGW(TAG, "Invalid header: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, HEADER_FOOTER_SIZE)); return true; } if (this->buffer_data_[COMMAND_STATUS] != 0x01) { @@ -758,11 +759,17 @@ void LD2450Component::readline_(int readch) { } if (this->buffer_data_[this->buffer_pos_ - 2] == DATA_FRAME_FOOTER[0] && this->buffer_data_[this->buffer_pos_ - 1] == DATA_FRAME_FOOTER[1]) { - ESP_LOGV(TAG, "Handling Periodic Data: %s", format_hex_pretty(this->buffer_data_, this->buffer_pos_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_LINE_LENGTH)]; + ESP_LOGV(TAG, "Handling Periodic Data: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, this->buffer_pos_)); +#endif this->handle_periodic_data_(); this->buffer_pos_ = 0; // Reset position index for next frame } else if (ld2450::validate_header_footer(CMD_FRAME_FOOTER, &this->buffer_data_[this->buffer_pos_ - 4])) { - ESP_LOGV(TAG, "Handling Ack Data: %s", format_hex_pretty(this->buffer_data_, this->buffer_pos_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_LINE_LENGTH)]; + ESP_LOGV(TAG, "Handling Ack Data: %s", format_hex_pretty_to(hex_buf, this->buffer_data_, this->buffer_pos_)); +#endif if (this->handle_ack_data_()) { this->buffer_pos_ = 0; // Reset position index for next message } else { diff --git a/esphome/components/libretiny/gpio_arduino.cpp b/esphome/components/libretiny/gpio_arduino.cpp index 7a1e014ea4..0b14c77cf2 100644 --- a/esphome/components/libretiny/gpio_arduino.cpp +++ b/esphome/components/libretiny/gpio_arduino.cpp @@ -63,10 +63,8 @@ void ArduinoInternalGPIOPin::pin_mode(gpio::Flags flags) { pinMode(pin_, flags_to_mode(flags)); // NOLINT } -std::string ArduinoInternalGPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u", pin_); - return buffer; +size_t ArduinoInternalGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u", this->pin_); } bool ArduinoInternalGPIOPin::digital_read() { diff --git a/esphome/components/libretiny/gpio_arduino.h b/esphome/components/libretiny/gpio_arduino.h index 3674748c18..30c7c33869 100644 --- a/esphome/components/libretiny/gpio_arduino.h +++ b/esphome/components/libretiny/gpio_arduino.h @@ -16,7 +16,7 @@ class ArduinoInternalGPIOPin : public InternalGPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void detach_interrupt() const override; ISRInternalGPIOPin to_isr() const override; uint8_t get_pin() const override { return pin_; } diff --git a/esphome/components/light/light_json_schema.cpp b/esphome/components/light/light_json_schema.cpp index 3365d1f417..7679002e74 100644 --- a/esphome/components/light/light_json_schema.cpp +++ b/esphome/components/light/light_json_schema.cpp @@ -36,7 +36,7 @@ static const char *get_color_mode_json_str(ColorMode mode) { void LightJSONSchema::dump_json(LightState &state, JsonObject root) { // NOLINTNEXTLINE(clang-analyzer-cplusplus.NewDeleteLeaks) false positive with ArduinoJson if (state.supports_effects()) { - root[ESPHOME_F("effect")] = state.get_effect_name(); + root[ESPHOME_F("effect")] = state.get_effect_name_ref(); root[ESPHOME_F("effect_index")] = state.get_current_effect_index(); root[ESPHOME_F("effect_count")] = state.get_effect_count(); } diff --git a/esphome/components/logger/__init__.py b/esphome/components/logger/__init__.py index 8968a5eab8..7132cd8956 100644 --- a/esphome/components/logger/__init__.py +++ b/esphome/components/logger/__init__.py @@ -386,7 +386,7 @@ async def to_code(config): except cv.Invalid: pass - if CORE.using_zephyr: + if CORE.is_nrf52: if config[CONF_HARDWARE_UART] == UART0: zephyr_add_overlay("""&uart0 { status = "okay";};""") if config[CONF_HARDWARE_UART] == UART1: diff --git a/esphome/components/logger/logger_zephyr.cpp b/esphome/components/logger/logger_zephyr.cpp index 330dfa96ec..41f53beec0 100644 --- a/esphome/components/logger/logger_zephyr.cpp +++ b/esphome/components/logger/logger_zephyr.cpp @@ -66,6 +66,8 @@ void Logger::pre_setup() { void HOT Logger::write_msg_(const char *msg, size_t len) { // Single write with newline already in buffer (added by caller) #ifdef CONFIG_PRINTK + // Requires the debug component and an active SWD connection. + // It is used for pyocd rtt -t nrf52840 k_str_out(const_cast(msg), len); #endif if (this->uart_dev_ == nullptr) { diff --git a/esphome/components/lvgl/widgets/arc.py b/esphome/components/lvgl/widgets/arc.py index 21530441f8..34ac9c51f7 100644 --- a/esphome/components/lvgl/widgets/arc.py +++ b/esphome/components/lvgl/widgets/arc.py @@ -85,11 +85,11 @@ class ArcType(NumberType): lv.arc_set_range(w.obj, min_value, max_value) await w.set_property( - CONF_START_ANGLE, + "bg_start_angle", await lv_angle_degrees.process(config.get(CONF_START_ANGLE)), ) await w.set_property( - CONF_END_ANGLE, await lv_angle_degrees.process(config.get(CONF_END_ANGLE)) + "bg_end_angle", await lv_angle_degrees.process(config.get(CONF_END_ANGLE)) ) await w.set_property( CONF_ROTATION, await lv_angle_degrees.process(config.get(CONF_ROTATION)) diff --git a/esphome/components/max6956/max6956.cpp b/esphome/components/max6956/max6956.cpp index a377a1a192..13fe5a5323 100644 --- a/esphome/components/max6956/max6956.cpp +++ b/esphome/components/max6956/max6956.cpp @@ -161,10 +161,8 @@ void MAX6956GPIOPin::setup() { pin_mode(flags_); } void MAX6956GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool MAX6956GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void MAX6956GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string MAX6956GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via Max6956", pin_); - return buffer; +size_t MAX6956GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via Max6956", this->pin_); } } // namespace max6956 diff --git a/esphome/components/max6956/max6956.h b/esphome/components/max6956/max6956.h index 0a1fd5e4b5..0c609b0b43 100644 --- a/esphome/components/max6956/max6956.h +++ b/esphome/components/max6956/max6956.h @@ -76,7 +76,7 @@ class MAX6956GPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(MAX6956 *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/mcp23016/mcp23016.cpp b/esphome/components/mcp23016/mcp23016.cpp index be86cb2256..87c2668962 100644 --- a/esphome/components/mcp23016/mcp23016.cpp +++ b/esphome/components/mcp23016/mcp23016.cpp @@ -99,10 +99,8 @@ void MCP23016GPIOPin::setup() { pin_mode(flags_); } void MCP23016GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool MCP23016GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void MCP23016GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string MCP23016GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via MCP23016", pin_); - return buffer; +size_t MCP23016GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via MCP23016", this->pin_); } } // namespace mcp23016 diff --git a/esphome/components/mcp23016/mcp23016.h b/esphome/components/mcp23016/mcp23016.h index 781c207de0..c2bc885c95 100644 --- a/esphome/components/mcp23016/mcp23016.h +++ b/esphome/components/mcp23016/mcp23016.h @@ -60,7 +60,7 @@ class MCP23016GPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(MCP23016 *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp b/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp index 81324e794f..302f6b8280 100644 --- a/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp +++ b/esphome/components/mcp23xxx_base/mcp23xxx_base.cpp @@ -16,8 +16,8 @@ template bool MCP23XXXGPIOPin::digital_read() { template void MCP23XXXGPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -template std::string MCP23XXXGPIOPin::dump_summary() const { - return str_snprintf("%u via MCP23XXX", 15, pin_); +template size_t MCP23XXXGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via MCP23XXX", this->pin_); } template class MCP23XXXGPIOPin<8>; diff --git a/esphome/components/mcp23xxx_base/mcp23xxx_base.h b/esphome/components/mcp23xxx_base/mcp23xxx_base.h index cf0ef5d41c..fb992466d5 100644 --- a/esphome/components/mcp23xxx_base/mcp23xxx_base.h +++ b/esphome/components/mcp23xxx_base/mcp23xxx_base.h @@ -36,7 +36,7 @@ template class MCP23XXXGPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(MCP23XXXBase *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/mhz19/mhz19.cpp b/esphome/components/mhz19/mhz19.cpp index c3c8120362..00e6e14d85 100644 --- a/esphome/components/mhz19/mhz19.cpp +++ b/esphome/components/mhz19/mhz19.cpp @@ -13,6 +13,9 @@ static const uint8_t MHZ19_COMMAND_GET_PPM[] = {0xFF, 0x01, 0x86, 0x00, 0x00, 0x static const uint8_t MHZ19_COMMAND_ABC_ENABLE[] = {0xFF, 0x01, 0x79, 0xA0, 0x00, 0x00, 0x00, 0x00}; static const uint8_t MHZ19_COMMAND_ABC_DISABLE[] = {0xFF, 0x01, 0x79, 0x00, 0x00, 0x00, 0x00, 0x00}; static const uint8_t MHZ19_COMMAND_CALIBRATE_ZERO[] = {0xFF, 0x01, 0x87, 0x00, 0x00, 0x00, 0x00, 0x00}; +static const uint8_t MHZ19_COMMAND_DETECTION_RANGE_0_2000PPM[] = {0xFF, 0x01, 0x99, 0x00, 0x00, 0x00, 0x07, 0xD0}; +static const uint8_t MHZ19_COMMAND_DETECTION_RANGE_0_5000PPM[] = {0xFF, 0x01, 0x99, 0x00, 0x00, 0x00, 0x13, 0x88}; +static const uint8_t MHZ19_COMMAND_DETECTION_RANGE_0_10000PPM[] = {0xFF, 0x01, 0x99, 0x00, 0x00, 0x00, 0x27, 0x10}; uint8_t mhz19_checksum(const uint8_t *command) { uint8_t sum = 0; @@ -28,6 +31,8 @@ void MHZ19Component::setup() { } else if (this->abc_boot_logic_ == MHZ19_ABC_DISABLED) { this->abc_disable(); } + + this->range_set(this->detection_range_); } void MHZ19Component::update() { @@ -86,6 +91,26 @@ void MHZ19Component::abc_disable() { this->mhz19_write_command_(MHZ19_COMMAND_ABC_DISABLE, nullptr); } +void MHZ19Component::range_set(MHZ19DetectionRange detection_ppm) { + switch (detection_ppm) { + case MHZ19_DETECTION_RANGE_DEFAULT: + ESP_LOGV(TAG, "Using previously set detection range (no change)"); + break; + case MHZ19_DETECTION_RANGE_0_2000PPM: + ESP_LOGD(TAG, "Setting detection range to 0 to 2000ppm"); + this->mhz19_write_command_(MHZ19_COMMAND_DETECTION_RANGE_0_2000PPM, nullptr); + break; + case MHZ19_DETECTION_RANGE_0_5000PPM: + ESP_LOGD(TAG, "Setting detection range to 0 to 5000ppm"); + this->mhz19_write_command_(MHZ19_COMMAND_DETECTION_RANGE_0_5000PPM, nullptr); + break; + case MHZ19_DETECTION_RANGE_0_10000PPM: + ESP_LOGD(TAG, "Setting detection range to 0 to 10000ppm"); + this->mhz19_write_command_(MHZ19_COMMAND_DETECTION_RANGE_0_10000PPM, nullptr); + break; + } +} + bool MHZ19Component::mhz19_write_command_(const uint8_t *command, uint8_t *response) { // Empty RX Buffer while (this->available()) @@ -99,7 +124,9 @@ bool MHZ19Component::mhz19_write_command_(const uint8_t *command, uint8_t *respo return this->read_array(response, MHZ19_RESPONSE_LENGTH); } + float MHZ19Component::get_setup_priority() const { return setup_priority::DATA; } + void MHZ19Component::dump_config() { ESP_LOGCONFIG(TAG, "MH-Z19:"); LOG_SENSOR(" ", "CO2", this->co2_sensor_); @@ -113,6 +140,23 @@ void MHZ19Component::dump_config() { } ESP_LOGCONFIG(TAG, " Warmup time: %" PRIu32 " s", this->warmup_seconds_); + + const char *range_str; + switch (this->detection_range_) { + case MHZ19_DETECTION_RANGE_DEFAULT: + range_str = "default"; + break; + case MHZ19_DETECTION_RANGE_0_2000PPM: + range_str = "0 to 2000ppm"; + break; + case MHZ19_DETECTION_RANGE_0_5000PPM: + range_str = "0 to 5000ppm"; + break; + case MHZ19_DETECTION_RANGE_0_10000PPM: + range_str = "0 to 10000ppm"; + break; + } + ESP_LOGCONFIG(TAG, " Detection range: %s", range_str); } } // namespace mhz19 diff --git a/esphome/components/mhz19/mhz19.h b/esphome/components/mhz19/mhz19.h index be36886d62..5898bab649 100644 --- a/esphome/components/mhz19/mhz19.h +++ b/esphome/components/mhz19/mhz19.h @@ -8,7 +8,18 @@ namespace esphome { namespace mhz19 { -enum MHZ19ABCLogic { MHZ19_ABC_NONE = 0, MHZ19_ABC_ENABLED, MHZ19_ABC_DISABLED }; +enum MHZ19ABCLogic { + MHZ19_ABC_NONE = 0, + MHZ19_ABC_ENABLED, + MHZ19_ABC_DISABLED, +}; + +enum MHZ19DetectionRange { + MHZ19_DETECTION_RANGE_DEFAULT = 0, + MHZ19_DETECTION_RANGE_0_2000PPM, + MHZ19_DETECTION_RANGE_0_5000PPM, + MHZ19_DETECTION_RANGE_0_10000PPM, +}; class MHZ19Component : public PollingComponent, public uart::UARTDevice { public: @@ -21,11 +32,13 @@ class MHZ19Component : public PollingComponent, public uart::UARTDevice { void calibrate_zero(); void abc_enable(); void abc_disable(); + void range_set(MHZ19DetectionRange detection_ppm); void set_temperature_sensor(sensor::Sensor *temperature_sensor) { temperature_sensor_ = temperature_sensor; } void set_co2_sensor(sensor::Sensor *co2_sensor) { co2_sensor_ = co2_sensor; } void set_abc_enabled(bool abc_enabled) { abc_boot_logic_ = abc_enabled ? MHZ19_ABC_ENABLED : MHZ19_ABC_DISABLED; } void set_warmup_seconds(uint32_t seconds) { warmup_seconds_ = seconds; } + void set_detection_range(MHZ19DetectionRange detection_range) { detection_range_ = detection_range; } protected: bool mhz19_write_command_(const uint8_t *command, uint8_t *response); @@ -33,37 +46,32 @@ class MHZ19Component : public PollingComponent, public uart::UARTDevice { sensor::Sensor *temperature_sensor_{nullptr}; sensor::Sensor *co2_sensor_{nullptr}; MHZ19ABCLogic abc_boot_logic_{MHZ19_ABC_NONE}; + uint32_t warmup_seconds_; + + MHZ19DetectionRange detection_range_{MHZ19_DETECTION_RANGE_DEFAULT}; }; -template class MHZ19CalibrateZeroAction : public Action { +template class MHZ19CalibrateZeroAction : public Action, public Parented { public: - MHZ19CalibrateZeroAction(MHZ19Component *mhz19) : mhz19_(mhz19) {} - - void play(const Ts &...x) override { this->mhz19_->calibrate_zero(); } - - protected: - MHZ19Component *mhz19_; + void play(const Ts &...x) override { this->parent_->calibrate_zero(); } }; -template class MHZ19ABCEnableAction : public Action { +template class MHZ19ABCEnableAction : public Action, public Parented { public: - MHZ19ABCEnableAction(MHZ19Component *mhz19) : mhz19_(mhz19) {} - - void play(const Ts &...x) override { this->mhz19_->abc_enable(); } - - protected: - MHZ19Component *mhz19_; + void play(const Ts &...x) override { this->parent_->abc_enable(); } }; -template class MHZ19ABCDisableAction : public Action { +template class MHZ19ABCDisableAction : public Action, public Parented { public: - MHZ19ABCDisableAction(MHZ19Component *mhz19) : mhz19_(mhz19) {} + void play(const Ts &...x) override { this->parent_->abc_disable(); } +}; - void play(const Ts &...x) override { this->mhz19_->abc_disable(); } +template class MHZ19DetectionRangeSetAction : public Action, public Parented { + public: + TEMPLATABLE_VALUE(MHZ19DetectionRange, detection_range) - protected: - MHZ19Component *mhz19_; + void play(const Ts &...x) override { this->parent_->range_set(this->detection_range_.value(x...)); } }; } // namespace mhz19 diff --git a/esphome/components/mhz19/sensor.py b/esphome/components/mhz19/sensor.py index 106636a6ba..1f698be404 100644 --- a/esphome/components/mhz19/sensor.py +++ b/esphome/components/mhz19/sensor.py @@ -19,14 +19,33 @@ DEPENDENCIES = ["uart"] CONF_AUTOMATIC_BASELINE_CALIBRATION = "automatic_baseline_calibration" CONF_WARMUP_TIME = "warmup_time" +CONF_DETECTION_RANGE = "detection_range" mhz19_ns = cg.esphome_ns.namespace("mhz19") MHZ19Component = mhz19_ns.class_("MHZ19Component", cg.PollingComponent, uart.UARTDevice) MHZ19CalibrateZeroAction = mhz19_ns.class_( - "MHZ19CalibrateZeroAction", automation.Action + "MHZ19CalibrateZeroAction", automation.Action, cg.Parented.template(MHZ19Component) ) -MHZ19ABCEnableAction = mhz19_ns.class_("MHZ19ABCEnableAction", automation.Action) -MHZ19ABCDisableAction = mhz19_ns.class_("MHZ19ABCDisableAction", automation.Action) +MHZ19ABCEnableAction = mhz19_ns.class_( + "MHZ19ABCEnableAction", automation.Action, cg.Parented.template(MHZ19Component) +) +MHZ19ABCDisableAction = mhz19_ns.class_( + "MHZ19ABCDisableAction", automation.Action, cg.Parented.template(MHZ19Component) +) +MHZ19DetectionRangeSetAction = mhz19_ns.class_( + "MHZ19DetectionRangeSetAction", + automation.Action, + cg.Parented.template(MHZ19Component), +) + +mhz19_detection_range = mhz19_ns.enum("MHZ19DetectionRange") +MHZ19_DETECTION_RANGE_ENUM = { + 2000: mhz19_detection_range.MHZ19_DETECTION_RANGE_0_2000PPM, + 5000: mhz19_detection_range.MHZ19_DETECTION_RANGE_0_5000PPM, + 10000: mhz19_detection_range.MHZ19_DETECTION_RANGE_0_10000PPM, +} + +_validate_ppm = cv.float_with_unit("parts per million", "ppm") CONFIG_SCHEMA = ( cv.Schema( @@ -49,6 +68,9 @@ CONFIG_SCHEMA = ( cv.Optional( CONF_WARMUP_TIME, default="75s" ): cv.positive_time_period_seconds, + cv.Optional(CONF_DETECTION_RANGE): cv.All( + _validate_ppm, cv.enum(MHZ19_DETECTION_RANGE_ENUM) + ), } ) .extend(cv.polling_component_schema("60s")) @@ -78,8 +100,11 @@ async def to_code(config): cg.add(var.set_warmup_seconds(config[CONF_WARMUP_TIME])) + if CONF_DETECTION_RANGE in config: + cg.add(var.set_detection_range(config[CONF_DETECTION_RANGE])) -CALIBRATION_ACTION_SCHEMA = maybe_simple_id( + +NO_ARGS_ACTION_SCHEMA = maybe_simple_id( { cv.Required(CONF_ID): cv.use_id(MHZ19Component), } @@ -87,14 +112,37 @@ CALIBRATION_ACTION_SCHEMA = maybe_simple_id( @automation.register_action( - "mhz19.calibrate_zero", MHZ19CalibrateZeroAction, CALIBRATION_ACTION_SCHEMA + "mhz19.calibrate_zero", MHZ19CalibrateZeroAction, NO_ARGS_ACTION_SCHEMA ) @automation.register_action( - "mhz19.abc_enable", MHZ19ABCEnableAction, CALIBRATION_ACTION_SCHEMA + "mhz19.abc_enable", MHZ19ABCEnableAction, NO_ARGS_ACTION_SCHEMA ) @automation.register_action( - "mhz19.abc_disable", MHZ19ABCDisableAction, CALIBRATION_ACTION_SCHEMA + "mhz19.abc_disable", MHZ19ABCDisableAction, NO_ARGS_ACTION_SCHEMA ) -async def mhz19_calibration_to_code(config, action_id, template_arg, args): - paren = await cg.get_variable(config[CONF_ID]) - return cg.new_Pvariable(action_id, template_arg, paren) +async def mhz19_no_args_action_to_code(config, action_id, template_arg, args): + var = cg.new_Pvariable(action_id, template_arg) + await cg.register_parented(var, config[CONF_ID]) + return var + + +RANGE_ACTION_SCHEMA = maybe_simple_id( + { + cv.Required(CONF_ID): cv.use_id(MHZ19Component), + cv.Required(CONF_DETECTION_RANGE): cv.All( + _validate_ppm, cv.enum(MHZ19_DETECTION_RANGE_ENUM) + ), + } +) + + +@automation.register_action( + "mhz19.detection_range_set", MHZ19DetectionRangeSetAction, RANGE_ACTION_SCHEMA +) +async def mhz19_detection_range_set_to_code(config, action_id, template_arg, args): + var = cg.new_Pvariable(action_id, template_arg) + await cg.register_parented(var, config[CONF_ID]) + detection_range = config.get(CONF_DETECTION_RANGE) + template_ = await cg.templatable(detection_range, args, mhz19_detection_range) + cg.add(var.set_detection_range(template_)) + return var diff --git a/esphome/components/mipi_dsi/mipi_dsi.cpp b/esphome/components/mipi_dsi/mipi_dsi.cpp index cae8647398..18cafab684 100644 --- a/esphome/components/mipi_dsi/mipi_dsi.cpp +++ b/esphome/components/mipi_dsi/mipi_dsi.cpp @@ -1,10 +1,14 @@ #ifdef USE_ESP32_VARIANT_ESP32P4 #include #include "mipi_dsi.h" +#include "esphome/core/helpers.h" namespace esphome { namespace mipi_dsi { +// Maximum bytes to log for init commands (truncated if larger) +static constexpr size_t MIPI_DSI_MAX_CMD_LOG_BYTES = 64; + static bool notify_refresh_ready(esp_lcd_panel_handle_t panel, esp_lcd_dpi_panel_event_data_t *edata, void *user_ctx) { auto *sem = static_cast(user_ctx); BaseType_t need_yield = pdFALSE; @@ -121,8 +125,11 @@ void MIPI_DSI::setup() { } } const auto *ptr = vec.data() + index; +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(MIPI_DSI_MAX_CMD_LOG_BYTES)]; +#endif ESP_LOGVV(TAG, "Command %02X, length %d, byte(s) %s", cmd, num_args, - format_hex_pretty(ptr, num_args, '.', false).c_str()); + format_hex_pretty_to(hex_buf, ptr, num_args, '.')); err = esp_lcd_panel_io_tx_param(this->io_handle_, cmd, ptr, num_args); if (err != ESP_OK) { this->smark_failed(LOG_STR("lcd_panel_io_tx_param failed"), err); @@ -293,6 +300,13 @@ void MIPI_DSI::draw_pixel_at(int x, int y, Color color) { void MIPI_DSI::fill(Color color) { if (!this->check_buffer_()) return; + + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + switch (this->color_depth_) { case display::COLOR_BITNESS_565: { auto *ptr_16 = reinterpret_cast(this->buffer_); diff --git a/esphome/components/mipi_rgb/mipi_rgb.cpp b/esphome/components/mipi_rgb/mipi_rgb.cpp index d5d1caf6d2..ef96da8a1c 100644 --- a/esphome/components/mipi_rgb/mipi_rgb.cpp +++ b/esphome/components/mipi_rgb/mipi_rgb.cpp @@ -1,5 +1,6 @@ #ifdef USE_ESP32_VARIANT_ESP32S3 #include "mipi_rgb.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/hal.h" #include "esp_lcd_panel_rgb.h" @@ -8,6 +9,9 @@ namespace esphome { namespace mipi_rgb { static const uint8_t DELAY_FLAG = 0xFF; + +// Maximum bytes to log for init commands (truncated if larger) +static constexpr size_t MIPI_RGB_MAX_CMD_LOG_BYTES = 64; static constexpr uint8_t MADCTL_MY = 0x80; // Bit 7 Bottom to top static constexpr uint8_t MADCTL_MX = 0x40; // Bit 6 Right to left static constexpr uint8_t MADCTL_MV = 0x20; // Bit 5 Swap axes @@ -91,8 +95,9 @@ void MipiRgbSpi::write_init_sequence_() { delay(120); // NOLINT } const auto *ptr = vec.data() + index; + char hex_buf[format_hex_pretty_size(MIPI_RGB_MAX_CMD_LOG_BYTES)]; ESP_LOGD(TAG, "Write command %02X, length %d, byte(s) %s", cmd, num_args, - format_hex_pretty(ptr, num_args, '.', false).c_str()); + format_hex_pretty_to(hex_buf, ptr, num_args, '.')); index += num_args; this->write_command_(cmd); while (num_args-- != 0) @@ -300,6 +305,13 @@ void MipiRgb::draw_pixel_at(int x, int y, Color color) { void MipiRgb::fill(Color color) { if (!this->check_buffer_()) return; + + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + auto *ptr_16 = reinterpret_cast(this->buffer_); uint8_t hi_byte = static_cast(color.r & 0xF8) | (color.g >> 5); uint8_t lo_byte = static_cast((color.g & 0x1C) << 3) | (color.b >> 3); diff --git a/esphome/components/mipi_spi/mipi_spi.h b/esphome/components/mipi_spi/mipi_spi.h index 1953aef035..a59cb8104b 100644 --- a/esphome/components/mipi_spi/mipi_spi.h +++ b/esphome/components/mipi_spi/mipi_spi.h @@ -5,11 +5,15 @@ #include "esphome/components/spi/spi.h" #include "esphome/components/display/display.h" #include "esphome/components/display/display_color_utils.h" +#include "esphome/core/helpers.h" namespace esphome { namespace mipi_spi { constexpr static const char *const TAG = "display.mipi_spi"; + +// Maximum bytes to log for commands (truncated if larger) +static constexpr size_t MIPI_SPI_MAX_CMD_LOG_BYTES = 64; static constexpr uint8_t SW_RESET_CMD = 0x01; static constexpr uint8_t SLEEP_OUT = 0x11; static constexpr uint8_t NORON = 0x13; @@ -241,7 +245,10 @@ class MipiSpi : public display::Display, // Writes a command to the display, with the given bytes. void write_command_(uint8_t cmd, const uint8_t *bytes, size_t len) { - esph_log_v(TAG, "Command %02X, length %d, bytes %s", cmd, len, format_hex_pretty(bytes, len).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MIPI_SPI_MAX_CMD_LOG_BYTES)]; + esph_log_v(TAG, "Command %02X, length %d, bytes %s", cmd, len, format_hex_pretty_to(hex_buf, bytes, len)); +#endif if constexpr (BUS_TYPE == BUS_TYPE_QUAD) { this->enable(); this->write_cmd_addr_data(8, 0x02, 24, cmd << 8, bytes, len); @@ -562,6 +569,12 @@ class MipiSpiBuffer : public MipiSpiget_clipping().is_set()) { + display::Display::fill(color); + return; + } + this->x_low_ = 0; this->y_low_ = this->start_line_; this->x_high_ = WIDTH - 1; diff --git a/esphome/components/mitsubishi/mitsubishi.cpp b/esphome/components/mitsubishi/mitsubishi.cpp index 10ab4f3b5c..d80b7aeff5 100644 --- a/esphome/components/mitsubishi/mitsubishi.cpp +++ b/esphome/components/mitsubishi/mitsubishi.cpp @@ -1,4 +1,5 @@ #include "mitsubishi.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" namespace esphome { @@ -6,6 +7,9 @@ namespace mitsubishi { static const char *const TAG = "mitsubishi.climate"; +// IR frame size for Mitsubishi climate +static constexpr size_t MITSUBISHI_FRAME_SIZE = 18; + const uint8_t MITSUBISHI_OFF = 0x00; const uint8_t MITSUBISHI_MODE_AUTO = 0x20; @@ -388,7 +392,10 @@ bool MitsubishiClimate::on_receive(remote_base::RemoteReceiveData data) { break; } - ESP_LOGV(TAG, "Receiving: %s", format_hex_pretty(state_frame, 18).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MITSUBISHI_FRAME_SIZE)]; +#endif + ESP_LOGV(TAG, "Receiving: %s", format_hex_pretty_to(hex_buf, state_frame, MITSUBISHI_FRAME_SIZE)); this->publish_state(); return true; diff --git a/esphome/components/modbus/modbus.cpp b/esphome/components/modbus/modbus.cpp index 20271b4bdb..457dff4075 100644 --- a/esphome/components/modbus/modbus.cpp +++ b/esphome/components/modbus/modbus.cpp @@ -8,6 +8,9 @@ namespace modbus { static const char *const TAG = "modbus"; +// Maximum bytes to log for Modbus frames (truncated if larger) +static constexpr size_t MODBUS_MAX_LOG_BYTES = 64; + void Modbus::setup() { if (this->flow_control_pin_ != nullptr) { this->flow_control_pin_->setup(); @@ -255,7 +258,10 @@ void Modbus::send(uint8_t address, uint8_t function_code, uint16_t start_address this->flow_control_pin_->digital_write(false); waiting_for_response = address; last_send_ = millis(); - ESP_LOGV(TAG, "Modbus write: %s", format_hex_pretty(data).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MODBUS_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Modbus write: %s", format_hex_pretty_to(hex_buf, data.data(), data.size())); } // Helper function for lambdas @@ -276,7 +282,10 @@ void Modbus::send_raw(const std::vector &payload) { if (this->flow_control_pin_ != nullptr) this->flow_control_pin_->digital_write(false); waiting_for_response = payload[0]; - ESP_LOGV(TAG, "Modbus write raw: %s", format_hex_pretty(payload).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MODBUS_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Modbus write raw: %s", format_hex_pretty_to(hex_buf, payload.data(), payload.size())); last_send_ = millis(); } diff --git a/esphome/components/mopeka_std_check/mopeka_std_check.cpp b/esphome/components/mopeka_std_check/mopeka_std_check.cpp index 0d8340f95f..986a9a9fdc 100644 --- a/esphome/components/mopeka_std_check/mopeka_std_check.cpp +++ b/esphome/components/mopeka_std_check/mopeka_std_check.cpp @@ -13,6 +13,9 @@ static const uint16_t SERVICE_UUID = 0xADA0; static const uint8_t MANUFACTURER_DATA_LENGTH = 23; static const uint16_t MANUFACTURER_ID = 0x000D; +// Maximum bytes to log in very verbose hex output +static constexpr size_t MOPEKA_MAX_LOG_BYTES = 32; + void MopekaStdCheck::dump_config() { ESP_LOGCONFIG(TAG, "Mopeka Std Check"); ESP_LOGCONFIG(TAG, " Propane Butane mix: %.0f%%", this->propane_butane_mix_ * 100); @@ -60,7 +63,11 @@ bool MopekaStdCheck::parse_device(const esp32_ble_tracker::ESPBTDevice &device) const auto &manu_data = manu_datas[0]; - ESP_LOGVV(TAG, "[%s] Manufacturer data: %s", device.address_str().c_str(), format_hex_pretty(manu_data.data).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(MOPEKA_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, "[%s] Manufacturer data: %s", device.address_str().c_str(), + format_hex_pretty_to(hex_buf, manu_data.data.data(), manu_data.data.size())); if (manu_data.data.size() != MANUFACTURER_DATA_LENGTH) { ESP_LOGE(TAG, "[%s] Unexpected manu_data size (%d)", device.address_str().c_str(), manu_data.data.size()); diff --git a/esphome/components/mpr121/mpr121.cpp b/esphome/components/mpr121/mpr121.cpp index 5a8a8e7205..4b358e384c 100644 --- a/esphome/components/mpr121/mpr121.cpp +++ b/esphome/components/mpr121/mpr121.cpp @@ -153,10 +153,8 @@ void MPR121GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_ - 4, value != this->inverted_); } -std::string MPR121GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "ELE%u on MPR121", this->pin_); - return buffer; +size_t MPR121GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "ELE%u on MPR121", this->pin_); } } // namespace mpr121 diff --git a/esphome/components/mpr121/mpr121.h b/esphome/components/mpr121/mpr121.h index 6dd2c38309..085018fff0 100644 --- a/esphome/components/mpr121/mpr121.h +++ b/esphome/components/mpr121/mpr121.h @@ -109,7 +109,7 @@ class MPR121GPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(MPR121Component *parent) { this->parent_ = parent; } void set_pin(uint8_t pin) { this->pin_ = pin; } diff --git a/esphome/components/mqtt/mqtt_client.cpp b/esphome/components/mqtt/mqtt_client.cpp index ba701b90a3..c650c99f62 100644 --- a/esphome/components/mqtt/mqtt_client.cpp +++ b/esphome/components/mqtt/mqtt_client.cpp @@ -153,13 +153,14 @@ void MQTTClientComponent::on_log(uint8_t level, const char *tag, const char *mes #endif void MQTTClientComponent::dump_config() { + char ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; ESP_LOGCONFIG(TAG, "MQTT:\n" " Server Address: %s:%u (%s)\n" " Username: " LOG_SECRET("'%s'") "\n" " Client ID: " LOG_SECRET("'%s'") "\n" " Clean Session: %s", - this->credentials_.address.c_str(), this->credentials_.port, this->ip_.str().c_str(), + this->credentials_.address.c_str(), this->credentials_.port, this->ip_.str_to(ip_buf), this->credentials_.username.c_str(), this->credentials_.client_id.c_str(), YESNO(this->credentials_.clean_session)); if (this->is_discovery_ip_enabled()) { @@ -246,7 +247,8 @@ void MQTTClientComponent::check_dnslookup_() { return; } - ESP_LOGD(TAG, "Resolved broker IP address to %s", this->ip_.str().c_str()); + char ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; + ESP_LOGD(TAG, "Resolved broker IP address to %s", this->ip_.str_to(ip_buf)); this->start_connect_(); } #if defined(USE_ESP8266) && LWIP_VERSION_MAJOR == 1 diff --git a/esphome/components/nextion/nextion_upload_arduino.cpp b/esphome/components/nextion/nextion_upload_arduino.cpp index dfbb5a497e..d210bad004 100644 --- a/esphome/components/nextion/nextion_upload_arduino.cpp +++ b/esphome/components/nextion/nextion_upload_arduino.cpp @@ -7,12 +7,14 @@ #include "esphome/components/network/util.h" #include "esphome/core/application.h" #include "esphome/core/defines.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/util.h" namespace esphome { namespace nextion { static const char *const TAG = "nextion.upload.arduino"; +static constexpr size_t NEXTION_MAX_RESPONSE_LOG_BYTES = 16; // Followed guide // https://unofficialnextion.com/t/nextion-upload-protocol-v1-2-the-fast-one/1044/2 @@ -89,8 +91,10 @@ int Nextion::upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start) { EspClass::getFreeHeap()); upload_first_chunk_sent_ = true; if (recv_string[0] == 0x08 && recv_string.size() == 5) { // handle partial upload request - ESP_LOGD(TAG, "Recv: [%s]", - format_hex_pretty(reinterpret_cast(recv_string.data()), recv_string.size()).c_str()); + char hex_buf[format_hex_pretty_size(NEXTION_MAX_RESPONSE_LOG_BYTES)]; + ESP_LOGD( + TAG, "Recv: [%s]", + format_hex_pretty_to(hex_buf, reinterpret_cast(recv_string.data()), recv_string.size())); uint32_t result = 0; for (int j = 0; j < 4; ++j) { result += static_cast(recv_string[j + 1]) << (8 * j); @@ -107,8 +111,10 @@ int Nextion::upload_by_chunks_(HTTPClient &http_client, uint32_t &range_start) { buffer = nullptr; return range_end + 1; } else if (recv_string[0] != 0x05 and recv_string[0] != 0x08) { // 0x05 == "ok" - ESP_LOGE(TAG, "Invalid response: [%s]", - format_hex_pretty(reinterpret_cast(recv_string.data()), recv_string.size()).c_str()); + char hex_buf[format_hex_pretty_size(NEXTION_MAX_RESPONSE_LOG_BYTES)]; + ESP_LOGE( + TAG, "Invalid response: [%s]", + format_hex_pretty_to(hex_buf, reinterpret_cast(recv_string.data()), recv_string.size())); // Deallocate buffer allocator.deallocate(buffer, 4096); buffer = nullptr; @@ -274,8 +280,9 @@ bool Nextion::upload_tft(uint32_t baud_rate, bool exit_reparse) { this->recv_ret_string_(response, 5000, true); // This can take some time to return // The Nextion display will, if it's ready to accept data, send a 0x05 byte. + char hex_buf[format_hex_pretty_size(NEXTION_MAX_RESPONSE_LOG_BYTES)]; ESP_LOGD(TAG, "Upload resp: [%s] %zu B", - format_hex_pretty(reinterpret_cast(response.data()), response.size()).c_str(), + format_hex_pretty_to(hex_buf, reinterpret_cast(response.data()), response.size()), response.length()); ESP_LOGV(TAG, "Heap: %" PRIu32, EspClass::getFreeHeap()); diff --git a/esphome/components/nextion/nextion_upload_esp32.cpp b/esphome/components/nextion/nextion_upload_esp32.cpp index 29a7e3c8d7..712fa8e78e 100644 --- a/esphome/components/nextion/nextion_upload_esp32.cpp +++ b/esphome/components/nextion/nextion_upload_esp32.cpp @@ -9,12 +9,14 @@ #include "esphome/components/network/util.h" #include "esphome/core/application.h" #include "esphome/core/defines.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include "esphome/core/util.h" namespace esphome { namespace nextion { static const char *const TAG = "nextion.upload.esp32"; +static constexpr size_t NEXTION_MAX_RESPONSE_LOG_BYTES = 16; // Followed guide // https://unofficialnextion.com/t/nextion-upload-protocol-v1-2-the-fast-one/1044/2 @@ -110,8 +112,10 @@ int Nextion::upload_by_chunks_(esp_http_client_handle_t http_client, uint32_t &r #endif upload_first_chunk_sent_ = true; if (recv_string[0] == 0x08 && recv_string.size() == 5) { // handle partial upload request - ESP_LOGD(TAG, "Recv: [%s]", - format_hex_pretty(reinterpret_cast(recv_string.data()), recv_string.size()).c_str()); + char hex_buf[format_hex_pretty_size(NEXTION_MAX_RESPONSE_LOG_BYTES)]; + ESP_LOGD( + TAG, "Recv: [%s]", + format_hex_pretty_to(hex_buf, reinterpret_cast(recv_string.data()), recv_string.size())); uint32_t result = 0; for (int j = 0; j < 4; ++j) { result += static_cast(recv_string[j + 1]) << (8 * j); @@ -128,8 +132,10 @@ int Nextion::upload_by_chunks_(esp_http_client_handle_t http_client, uint32_t &r buffer = nullptr; return range_end + 1; } else if (recv_string[0] != 0x05 and recv_string[0] != 0x08) { // 0x05 == "ok" - ESP_LOGE(TAG, "Invalid response: [%s]", - format_hex_pretty(reinterpret_cast(recv_string.data()), recv_string.size()).c_str()); + char hex_buf[format_hex_pretty_size(NEXTION_MAX_RESPONSE_LOG_BYTES)]; + ESP_LOGE( + TAG, "Invalid response: [%s]", + format_hex_pretty_to(hex_buf, reinterpret_cast(recv_string.data()), recv_string.size())); // Deallocate buffer allocator.deallocate(buffer, 4096); buffer = nullptr; @@ -287,8 +293,9 @@ bool Nextion::upload_tft(uint32_t baud_rate, bool exit_reparse) { this->recv_ret_string_(response, 5000, true); // This can take some time to return // The Nextion display will, if it's ready to accept data, send a 0x05 byte. + char hex_buf[format_hex_pretty_size(NEXTION_MAX_RESPONSE_LOG_BYTES)]; ESP_LOGD(TAG, "Upload resp: [%s] %zu B", - format_hex_pretty(reinterpret_cast(response.data()), response.size()).c_str(), + format_hex_pretty_to(hex_buf, reinterpret_cast(response.data()), response.size()), response.length()); ESP_LOGV(TAG, "Heap: %" PRIu32, esp_get_free_heap_size()); diff --git a/esphome/components/nrf52/__init__.py b/esphome/components/nrf52/__init__.py index 03927e8ea2..bf90a41df5 100644 --- a/esphome/components/nrf52/__init__.py +++ b/esphome/components/nrf52/__init__.py @@ -12,6 +12,7 @@ from esphome.components.zephyr import ( zephyr_add_prj_conf, zephyr_data, zephyr_set_core_data, + zephyr_setup_preferences, zephyr_to_code, ) from esphome.components.zephyr.const import ( @@ -49,7 +50,7 @@ from .const import ( from .gpio import nrf52_pin_to_code # noqa CODEOWNERS = ["@tomaszduda23"] -AUTO_LOAD = ["zephyr"] +AUTO_LOAD = ["zephyr", "preferences"] IS_TARGET_PLATFORM = True _LOGGER = logging.getLogger(__name__) @@ -194,6 +195,7 @@ async def to_code(config: ConfigType) -> None: cg.add_platformio_option("board_upload.require_upload_port", "true") cg.add_platformio_option("board_upload.wait_for_upload_port", "true") + zephyr_setup_preferences() zephyr_to_code(config) if dfu_config := config.get(CONF_DFU): @@ -206,6 +208,18 @@ async def to_code(config: ConfigType) -> None: if reg0_config[CONF_UICR_ERASE]: cg.add_define("USE_NRF52_UICR_ERASE") + # c++ support + zephyr_add_prj_conf("CPLUSPLUS", True) + zephyr_add_prj_conf("LIB_CPLUSPLUS", True) + # watchdog + zephyr_add_prj_conf("WATCHDOG", True) + zephyr_add_prj_conf("WDT_DISABLE_AT_BOOT", False) + # disable console + zephyr_add_prj_conf("UART_CONSOLE", False) + zephyr_add_prj_conf("CONSOLE", False) + # use NFC pins as GPIO + zephyr_add_prj_conf("NFCT_PINS_AS_GPIOS", True) + @coroutine_with_priority(CoroPriority.DIAGNOSTICS) async def _dfu_to_code(dfu_config): diff --git a/esphome/components/nrf52/gpio.py b/esphome/components/nrf52/gpio.py index 17329042b2..498e8cc330 100644 --- a/esphome/components/nrf52/gpio.py +++ b/esphome/components/nrf52/gpio.py @@ -71,8 +71,15 @@ NRF52_PIN_SCHEMA = cv.All( @pins.PIN_SCHEMA_REGISTRY.register(PLATFORM_NRF52, NRF52_PIN_SCHEMA) async def nrf52_pin_to_code(config): - var = cg.new_Pvariable(config[CONF_ID]) num = config[CONF_NUMBER] + port = num // 32 + pin_name_prefix = f"P{port}." + var = cg.new_Pvariable( + config[CONF_ID], + cg.RawExpression(f"DEVICE_DT_GET_OR_NULL(DT_NODELABEL(gpio{port}))"), + 32, + pin_name_prefix, + ) cg.add(var.set_pin(num)) # Only set if true to avoid bloating setup() function # (inverted bit in pin_flags_ bitfield is zero-initialized to false) diff --git a/esphome/components/one_wire/__init__.py b/esphome/components/one_wire/__init__.py index e12cca3e27..9173b7014b 100644 --- a/esphome/components/one_wire/__init__.py +++ b/esphome/components/one_wire/__init__.py @@ -32,7 +32,7 @@ async def register_one_wire_device(var, config): Sets the 1-wire bus to use and the 1-wire address. - This is a coroutine, you need to await it with a 'yield' expression! + This is a coroutine, you need to await it with an 'await' expression! """ parent = await cg.get_variable(config[CONF_ONE_WIRE_ID]) cg.add(var.set_one_wire_bus(parent)) diff --git a/esphome/components/opentherm/opentherm.cpp b/esphome/components/opentherm/opentherm.cpp index d59b9584d1..750ef08b33 100644 --- a/esphome/components/opentherm/opentherm.cpp +++ b/esphome/components/opentherm/opentherm.cpp @@ -7,6 +7,7 @@ #include "opentherm.h" #include "esphome/core/helpers.h" +#include #ifdef USE_ESP32 #include "driver/timer.h" #include "esp_err.h" @@ -569,8 +570,8 @@ void OpenTherm::debug_data(OpenthermData &data) { to_string(data.f88()).c_str()); } void OpenTherm::debug_error(OpenThermError &error) const { - ESP_LOGD(TAG, "data: %s; clock: %s; capture: %s; bit_pos: %s", format_hex(error.data).c_str(), - to_string(clock_).c_str(), format_bin(error.capture).c_str(), to_string(error.bit_pos).c_str()); + ESP_LOGD(TAG, "data: 0x%08" PRIx32 "; clock: %u; capture: 0x%08" PRIx32 "; bit_pos: %u", error.data, this->clock_, + error.capture, error.bit_pos); } float OpenthermData::f88() { return ((float) this->s16()) / 256.0; } diff --git a/esphome/components/packet_transport/packet_transport.cpp b/esphome/components/packet_transport/packet_transport.cpp index da7f5f8bff..4a53ab110b 100644 --- a/esphome/components/packet_transport/packet_transport.cpp +++ b/esphome/components/packet_transport/packet_transport.cpp @@ -1,11 +1,15 @@ #include "esphome/core/log.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" #include "packet_transport.h" #include "esphome/components/xxtea/xxtea.h" namespace esphome { namespace packet_transport { + +// Maximum bytes to log in hex output (168 * 3 = 504, under TX buffer size of 512) +static constexpr size_t PACKET_MAX_LOG_BYTES = 168; /** * Structure of a data packet; everything is little-endian * @@ -263,7 +267,8 @@ void PacketTransport::flush_() { xxtea::encrypt((uint32_t *) (encode_buffer.data() + header_len), len / 4, (uint32_t *) this->encryption_key_.data()); } - ESP_LOGVV(TAG, "Sending packet %s", format_hex_pretty(encode_buffer.data(), encode_buffer.size()).c_str()); + char hex_buf[format_hex_pretty_size(PACKET_MAX_LOG_BYTES)]; + ESP_LOGVV(TAG, "Sending packet %s", format_hex_pretty_to(hex_buf, encode_buffer.data(), encode_buffer.size())); this->send_packet(encode_buffer); } @@ -505,8 +510,9 @@ void PacketTransport::process_(const std::vector &data) { } if (decoder.get(byte) == DECODE_OK) { ESP_LOGW(TAG, "Unknown key %X", byte); + char hex_buf[format_hex_pretty_size(PACKET_MAX_LOG_BYTES)]; ESP_LOGD(TAG, "Buffer pos: %zu contents: %s", data.size() - decoder.get_remaining_size(), - format_hex_pretty(data).c_str()); + format_hex_pretty_to(hex_buf, data.data(), data.size())); } break; } diff --git a/esphome/components/pca6416a/pca6416a.cpp b/esphome/components/pca6416a/pca6416a.cpp index c0056e780b..909bac5f05 100644 --- a/esphome/components/pca6416a/pca6416a.cpp +++ b/esphome/components/pca6416a/pca6416a.cpp @@ -180,10 +180,8 @@ void PCA6416AGPIOPin::setup() { pin_mode(flags_); } void PCA6416AGPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool PCA6416AGPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void PCA6416AGPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string PCA6416AGPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via PCA6416A", pin_); - return buffer; +size_t PCA6416AGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via PCA6416A", this->pin_); } } // namespace pca6416a diff --git a/esphome/components/pca6416a/pca6416a.h b/esphome/components/pca6416a/pca6416a.h index 10a4a64e9b..138a51cc20 100644 --- a/esphome/components/pca6416a/pca6416a.h +++ b/esphome/components/pca6416a/pca6416a.h @@ -52,7 +52,7 @@ class PCA6416AGPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(PCA6416AComponent *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/pca9554/pca9554.cpp b/esphome/components/pca9554/pca9554.cpp index e8d49f66e2..a6f9c2396c 100644 --- a/esphome/components/pca9554/pca9554.cpp +++ b/esphome/components/pca9554/pca9554.cpp @@ -129,10 +129,8 @@ void PCA9554GPIOPin::setup() { pin_mode(flags_); } void PCA9554GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool PCA9554GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void PCA9554GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string PCA9554GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via PCA9554", pin_); - return buffer; +size_t PCA9554GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via PCA9554", this->pin_); } } // namespace pca9554 diff --git a/esphome/components/pca9554/pca9554.h b/esphome/components/pca9554/pca9554.h index 7b356b4068..bf752e50c9 100644 --- a/esphome/components/pca9554/pca9554.h +++ b/esphome/components/pca9554/pca9554.h @@ -59,7 +59,7 @@ class PCA9554GPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(PCA9554Component *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/pcd8544/pcd_8544.cpp b/esphome/components/pcd8544/pcd_8544.cpp index f5b018b127..95d91ff18a 100644 --- a/esphome/components/pcd8544/pcd_8544.cpp +++ b/esphome/components/pcd8544/pcd_8544.cpp @@ -117,6 +117,12 @@ void PCD8544::update() { } void PCD8544::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + uint8_t fill = color.is_on() ? 0xFF : 0x00; for (uint32_t i = 0; i < this->get_buffer_length_(); i++) this->buffer_[i] = fill; diff --git a/esphome/components/pcf8574/pcf8574.cpp b/esphome/components/pcf8574/pcf8574.cpp index 72d8865d7f..15418bfee5 100644 --- a/esphome/components/pcf8574/pcf8574.cpp +++ b/esphome/components/pcf8574/pcf8574.cpp @@ -104,10 +104,8 @@ void PCF8574GPIOPin::setup() { pin_mode(flags_); } void PCF8574GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool PCF8574GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void PCF8574GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string PCF8574GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via PCF8574", pin_); - return buffer; +size_t PCF8574GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via PCF8574", this->pin_); } } // namespace pcf8574 diff --git a/esphome/components/pcf8574/pcf8574.h b/esphome/components/pcf8574/pcf8574.h index fd1ea8af63..5203030142 100644 --- a/esphome/components/pcf8574/pcf8574.h +++ b/esphome/components/pcf8574/pcf8574.h @@ -54,7 +54,7 @@ class PCF8574GPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(PCF8574Component *parent) { parent_ = parent; } void set_pin(uint8_t pin) { pin_ = pin; } diff --git a/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp b/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp index 517ca833e6..f3a1f013d9 100644 --- a/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp +++ b/esphome/components/pi4ioe5v6408/pi4ioe5v6408.cpp @@ -164,7 +164,9 @@ bool PI4IOE5V6408GPIOPin::digital_read() { return this->parent_->digital_read(th void PI4IOE5V6408GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string PI4IOE5V6408GPIOPin::dump_summary() const { return str_sprintf("%u via PI4IOE5V6408", this->pin_); } +size_t PI4IOE5V6408GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via PI4IOE5V6408", this->pin_); +} } // namespace pi4ioe5v6408 } // namespace esphome diff --git a/esphome/components/pi4ioe5v6408/pi4ioe5v6408.h b/esphome/components/pi4ioe5v6408/pi4ioe5v6408.h index 82b3076fab..4dc31201ce 100644 --- a/esphome/components/pi4ioe5v6408/pi4ioe5v6408.h +++ b/esphome/components/pi4ioe5v6408/pi4ioe5v6408.h @@ -52,7 +52,7 @@ class PI4IOE5V6408GPIOPin : public GPIOPin, public Parentedpin_ = pin; } void set_inverted(bool inverted) { this->inverted_ = inverted; } diff --git a/esphome/components/pn532_spi/pn532_spi.cpp b/esphome/components/pn532_spi/pn532_spi.cpp index 0871f7acab..118421c47f 100644 --- a/esphome/components/pn532_spi/pn532_spi.cpp +++ b/esphome/components/pn532_spi/pn532_spi.cpp @@ -1,4 +1,5 @@ #include "pn532_spi.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" // Based on: @@ -11,6 +12,9 @@ namespace pn532_spi { static const char *const TAG = "pn532_spi"; +// Maximum bytes to log in verbose hex output +static constexpr size_t PN532_MAX_LOG_BYTES = 64; + void PN532Spi::setup() { this->spi_setup(); @@ -32,7 +36,10 @@ bool PN532Spi::write_data(const std::vector &data) { delay(2); // First byte, communication mode: Write data this->write_byte(0x01); - ESP_LOGV(TAG, "Writing data: %s", format_hex_pretty(data).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(PN532_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Writing data: %s", format_hex_pretty_to(hex_buf, sizeof(hex_buf), data.data(), data.size())); this->write_array(data.data(), data.size()); this->disable(); @@ -55,7 +62,10 @@ bool PN532Spi::read_data(std::vector &data, uint8_t len) { this->read_array(data.data(), len); this->disable(); data.insert(data.begin(), 0x01); - ESP_LOGV(TAG, "Read data: %s", format_hex_pretty(data).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(PN532_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Read data: %s", format_hex_pretty_to(hex_buf, sizeof(hex_buf), data.data(), data.size())); return true; } @@ -73,7 +83,10 @@ bool PN532Spi::read_response(uint8_t command, std::vector &data) { std::vector header(7); this->read_array(header.data(), 7); - ESP_LOGV(TAG, "Header data: %s", format_hex_pretty(header).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(PN532_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Header data: %s", format_hex_pretty_to(hex_buf, sizeof(hex_buf), header.data(), header.size())); if (header[0] != 0x00 && header[1] != 0x00 && header[2] != 0xFF) { // invalid packet @@ -103,7 +116,7 @@ bool PN532Spi::read_response(uint8_t command, std::vector &data) { this->read_array(data.data(), len + 1); this->disable(); - ESP_LOGV(TAG, "Response data: %s", format_hex_pretty(data).c_str()); + ESP_LOGV(TAG, "Response data: %s", format_hex_pretty_to(hex_buf, sizeof(hex_buf), data.data(), data.size())); uint8_t checksum = header[5] + header[6]; // TFI + Command response code for (int i = 0; i < len - 1; i++) { diff --git a/esphome/components/pvvx_mithermometer/display/pvvx_display.h b/esphome/components/pvvx_mithermometer/display/pvvx_display.h index 8637506bae..06837b94ab 100644 --- a/esphome/components/pvvx_mithermometer/display/pvvx_display.h +++ b/esphome/components/pvvx_mithermometer/display/pvvx_display.h @@ -60,13 +60,13 @@ class PVVXDisplay : public ble_client::BLEClientNode, public PollingComponent { * Valid values are from -99.5 to 1999.5. Smaller values are displayed as Lo, higher as Hi. * It will printed as it fits in the screen. */ - void print_bignum(float bignum) { this->bignum_ = bignum * 10; } + void print_bignum(float bignum) { this->bignum_ = static_cast(bignum * 10); } /** * Print the small number * * Valid values are from -9 to 99. Smaller values are displayed as Lo, higher as Hi. */ - void print_smallnum(float smallnum) { this->smallnum_ = smallnum; } + void print_smallnum(float smallnum) { this->smallnum_ = static_cast(smallnum); } /** * Print a happy face * @@ -107,8 +107,8 @@ class PVVXDisplay : public ble_client::BLEClientNode, public PollingComponent { bool auto_clear_enabled_{true}; uint32_t disconnect_delay_ms_ = 5000; uint16_t validity_period_ = 300; - uint16_t bignum_ = 0; - uint16_t smallnum_ = 0; + int16_t bignum_ = 0; + int16_t smallnum_ = 0; uint8_t cfg_ = 0; void setcfgbit_(uint8_t bit, bool value); diff --git a/esphome/components/qspi_dbi/qspi_dbi.cpp b/esphome/components/qspi_dbi/qspi_dbi.cpp index 24b9a0ce0a..00a4a375eb 100644 --- a/esphome/components/qspi_dbi/qspi_dbi.cpp +++ b/esphome/components/qspi_dbi/qspi_dbi.cpp @@ -1,10 +1,14 @@ #if defined(USE_ESP32) && defined(USE_ESP32_VARIANT_ESP32S3) #include "qspi_dbi.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" namespace esphome { namespace qspi_dbi { +// Maximum bytes to log in verbose hex output +static constexpr size_t QSPI_DBI_MAX_LOG_BYTES = 64; + void QspiDbi::setup() { this->spi_setup(); if (this->enable_pin_ != nullptr) { @@ -174,7 +178,11 @@ void QspiDbi::write_to_display_(int x_start, int y_start, int w, int h, const ui this->disable(); } void QspiDbi::write_command_(uint8_t cmd, const uint8_t *bytes, size_t len) { - ESP_LOGV(TAG, "Command %02X, length %d, bytes %s", cmd, len, format_hex_pretty(bytes, len).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(QSPI_DBI_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "Command %02X, length %d, bytes %s", cmd, len, + format_hex_pretty_to(hex_buf, sizeof(hex_buf), bytes, len)); this->enable(); this->write_cmd_addr_data(8, 0x02, 24, cmd << 8, bytes, len); this->disable(); diff --git a/esphome/components/rc522/rc522.cpp b/esphome/components/rc522/rc522.cpp index fa8564f614..8f8740c925 100644 --- a/esphome/components/rc522/rc522.cpp +++ b/esphome/components/rc522/rc522.cpp @@ -12,6 +12,9 @@ static const uint8_t WAIT_I_RQ = 0x30; // RxIRq and IdleIRq static const char *const TAG = "rc522"; +// Max UID size for RFID tags (4, 7, or 10 bytes) +static constexpr size_t RC522_MAX_UID_SIZE = 10; + static const uint8_t RESET_COUNT = 5; void RC522::setup() { @@ -191,8 +194,9 @@ void RC522::loop() { if (status == STATUS_TIMEOUT) { ESP_LOGV(TAG, "STATE_READ_SERIAL_DONE -> TIMEOUT (no tag present) %d", status); } else { + char hex_buf[format_hex_pretty_size(RC522_MAX_UID_SIZE)]; ESP_LOGW(TAG, "Unexpected response. Read status is %d. Read bytes: %d (%s)", status, back_length_, - format_hex_pretty(buffer_, back_length_, '-', false).c_str()); + format_hex_pretty_to(hex_buf, buffer_, back_length_, '-')); } state_ = STATE_DONE; @@ -237,13 +241,18 @@ void RC522::loop() { trigger->process(rfid_uid); if (report) { - ESP_LOGD(TAG, "Found new tag '%s'", format_hex_pretty(rfid_uid, '-', false).c_str()); + char uid_buf[format_hex_pretty_size(RC522_MAX_UID_SIZE)]; + ESP_LOGD(TAG, "Found new tag '%s'", format_hex_pretty_to(uid_buf, rfid_uid.data(), rfid_uid.size(), '-')); } break; } case STATE_DONE: { if (!this->current_uid_.empty()) { - ESP_LOGV(TAG, "Tag '%s' removed", format_hex_pretty(this->current_uid_, '-', false).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char uid_buf[format_hex_pretty_size(RC522_MAX_UID_SIZE)]; + ESP_LOGV(TAG, "Tag '%s' removed", + format_hex_pretty_to(uid_buf, this->current_uid_.data(), this->current_uid_.size(), '-')); +#endif for (auto *trigger : this->triggers_ontagremoved_) trigger->process(this->current_uid_); } @@ -338,7 +347,10 @@ void RC522::pcd_clear_register_bit_mask_(PcdRegister reg, ///< The register to * @return STATUS_OK on success, STATUS_??? otherwise. */ void RC522::pcd_transceive_data_(uint8_t send_len) { - ESP_LOGV(TAG, "PCD TRANSCEIVE: RX: %s", format_hex_pretty(buffer_, send_len, '-', false).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(RC522_MAX_UID_SIZE)]; + ESP_LOGV(TAG, "PCD TRANSCEIVE: RX: %s", format_hex_pretty_to(hex_buf, buffer_, send_len, '-')); +#endif delayMicroseconds(1000); // we need 1 ms delay between antenna on and those communication commands send_len_ = send_len; // Prepare values for BitFramingReg @@ -412,8 +424,11 @@ RC522::StatusCode RC522::await_transceive_() { error_reg_value); // TODO: is this always due to collissions? return STATUS_ERROR; } +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(RC522_MAX_UID_SIZE)]; ESP_LOGV(TAG, "received %d bytes: %s", back_length_, - format_hex_pretty(buffer_ + send_len_, back_length_, '-', false).c_str()); + format_hex_pretty_to(hex_buf, buffer_ + send_len_, back_length_, '-')); +#endif return STATUS_OK; } diff --git a/esphome/components/remote_base/haier_protocol.cpp b/esphome/components/remote_base/haier_protocol.cpp index ec5cb5775c..734f3c7789 100644 --- a/esphome/components/remote_base/haier_protocol.cpp +++ b/esphome/components/remote_base/haier_protocol.cpp @@ -1,4 +1,5 @@ #include "haier_protocol.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" namespace esphome { @@ -12,6 +13,8 @@ constexpr uint32_t BIT_MARK_US = 540; constexpr uint32_t BIT_ONE_SPACE_US = 1650; constexpr uint32_t BIT_ZERO_SPACE_US = 580; constexpr unsigned int HAIER_IR_PACKET_BIT_SIZE = 112; +// Max data bytes in packet (excluding checksum) +constexpr size_t HAIER_MAX_DATA_BYTES = (HAIER_IR_PACKET_BIT_SIZE / 8); void HaierProtocol::encode_byte_(RemoteTransmitData *dst, uint8_t item) { for (uint8_t mask = 1 << 7; mask != 0; mask >>= 1) { @@ -77,7 +80,8 @@ optional HaierProtocol::decode(RemoteReceiveData src) { } void HaierProtocol::dump(const HaierData &data) { - ESP_LOGI(TAG, "Received Haier: %s", format_hex_pretty(data.data).c_str()); + char hex_buf[format_hex_pretty_size(HAIER_MAX_DATA_BYTES)]; + ESP_LOGI(TAG, "Received Haier: %s", format_hex_pretty_to(hex_buf, data.data.data(), data.data.size())); } } // namespace remote_base diff --git a/esphome/components/remote_base/mirage_protocol.cpp b/esphome/components/remote_base/mirage_protocol.cpp index 10d644a1cd..2ae877f193 100644 --- a/esphome/components/remote_base/mirage_protocol.cpp +++ b/esphome/components/remote_base/mirage_protocol.cpp @@ -1,4 +1,5 @@ #include "mirage_protocol.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" namespace esphome { @@ -13,9 +14,12 @@ constexpr uint32_t BIT_ONE_SPACE_US = 1592; constexpr uint32_t BIT_ZERO_SPACE_US = 545; constexpr unsigned int MIRAGE_IR_PACKET_BIT_SIZE = 120; +// Max data bytes in packet (excluding checksum) +constexpr size_t MIRAGE_MAX_DATA_BYTES = (MIRAGE_IR_PACKET_BIT_SIZE / 8); void MirageProtocol::encode(RemoteTransmitData *dst, const MirageData &data) { - ESP_LOGI(TAG, "Transive Mirage: %s", format_hex_pretty(data.data).c_str()); + char hex_buf[format_hex_pretty_size(MIRAGE_MAX_DATA_BYTES)]; + ESP_LOGI(TAG, "Transmit Mirage: %s", format_hex_pretty_to(hex_buf, data.data.data(), data.data.size())); dst->set_carrier_frequency(38000); dst->reserve(5 + ((data.data.size() + 1) * 2)); dst->mark(HEADER_MARK_US); @@ -77,7 +81,8 @@ optional MirageProtocol::decode(RemoteReceiveData src) { } void MirageProtocol::dump(const MirageData &data) { - ESP_LOGI(TAG, "Received Mirage: %s", format_hex_pretty(data.data).c_str()); + char hex_buf[format_hex_pretty_size(MIRAGE_MAX_DATA_BYTES)]; + ESP_LOGI(TAG, "Received Mirage: %s", format_hex_pretty_to(hex_buf, data.data.data(), data.data.size())); } } // namespace remote_base diff --git a/esphome/components/rp2040/gpio.cpp b/esphome/components/rp2040/gpio.cpp index 3927815e46..2b1699f888 100644 --- a/esphome/components/rp2040/gpio.cpp +++ b/esphome/components/rp2040/gpio.cpp @@ -64,10 +64,8 @@ void RP2040GPIOPin::pin_mode(gpio::Flags flags) { pinMode(pin_, flags_to_mode(flags, pin_)); // NOLINT } -std::string RP2040GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "GPIO%u", pin_); - return buffer; +size_t RP2040GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "GPIO%u", this->pin_); } bool RP2040GPIOPin::digital_read() { diff --git a/esphome/components/rp2040/gpio.h b/esphome/components/rp2040/gpio.h index 47a6fe17f2..a98e1dab14 100644 --- a/esphome/components/rp2040/gpio.h +++ b/esphome/components/rp2040/gpio.h @@ -18,7 +18,7 @@ class RP2040GPIOPin : public InternalGPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void detach_interrupt() const override; ISRInternalGPIOPin to_isr() const override; uint8_t get_pin() const override { return pin_; } diff --git a/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp b/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp index c815c98419..b9ce1f9151 100644 --- a/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp +++ b/esphome/components/seeed_mr60bha2/seeed_mr60bha2.cpp @@ -10,6 +10,9 @@ namespace seeed_mr60bha2 { static const char *const TAG = "seeed_mr60bha2"; +// Maximum bytes to log in verbose hex output +static constexpr size_t MR60BHA2_MAX_LOG_BYTES = 64; + // Prints the component's configuration data. dump_config() prints all of the component's configuration // items in an easy-to-read format, including the configuration key-value pairs. void MR60BHA2Component::dump_config() { @@ -110,7 +113,10 @@ bool MR60BHA2Component::validate_message_() { if (at == 7) { if (!validate_checksum(data, 7, header_checksum)) { ESP_LOGE(TAG, "HEAD_CKSUM_FRAME ERROR: 0x%02x", header_checksum); - ESP_LOGV(TAG, "GET FRAME: %s", format_hex_pretty(data, 8).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MR60BHA2_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "GET FRAME: %s", format_hex_pretty_to(hex_buf, sizeof(hex_buf), data, 8)); return false; } return true; @@ -125,14 +131,22 @@ bool MR60BHA2Component::validate_message_() { if (at == 8 + length) { if (!validate_checksum(data + 8, length, data_checksum)) { ESP_LOGE(TAG, "DATA_CKSUM_FRAME ERROR: 0x%02x", data_checksum); - ESP_LOGV(TAG, "GET FRAME: %s", format_hex_pretty(data, 8 + length).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MR60BHA2_MAX_LOG_BYTES)]; +#endif + ESP_LOGV(TAG, "GET FRAME: %s", format_hex_pretty_to(hex_buf, sizeof(hex_buf), data, 8 + length)); return false; } } const uint8_t *frame_data = data + 8; +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf1[format_hex_pretty_size(MR60BHA2_MAX_LOG_BYTES)]; + char hex_buf2[format_hex_pretty_size(MR60BHA2_MAX_LOG_BYTES)]; +#endif ESP_LOGV(TAG, "Received Frame: ID: 0x%04x, Type: 0x%04x, Data: [%s] Raw Data: [%s]", frame_id, frame_type, - format_hex_pretty(frame_data, length).c_str(), format_hex_pretty(this->rx_message_).c_str()); + format_hex_pretty_to(hex_buf1, sizeof(hex_buf1), frame_data, length), + format_hex_pretty_to(hex_buf2, sizeof(hex_buf2), this->rx_message_.data(), this->rx_message_.size())); this->process_frame_(frame_id, frame_type, data + 8, length); // Return false to reset rx buffer diff --git a/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp b/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp index 7f8bd6a43c..b5b5b4d05a 100644 --- a/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp +++ b/esphome/components/seeed_mr60fda2/seeed_mr60fda2.cpp @@ -10,6 +10,9 @@ namespace seeed_mr60fda2 { static const char *const TAG = "seeed_mr60fda2"; +// Maximum bytes to log in verbose hex output +static constexpr size_t MR60FDA2_MAX_LOG_BYTES = 64; + // Prints the component's configuration data. dump_config() prints all of the component's configuration // items in an easy-to-read format, including the configuration key-value pairs. void MR60FDA2Component::dump_config() { @@ -202,9 +205,13 @@ void MR60FDA2Component::split_frame_(uint8_t buffer) { this->current_frame_locate_++; } else { ESP_LOGD(TAG, "HEAD_CKSUM_FRAME ERROR: 0x%02x", buffer); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char frame_buf[format_hex_pretty_size(MR60FDA2_MAX_LOG_BYTES)]; + char byte_buf[format_hex_pretty_size(1)]; +#endif ESP_LOGV(TAG, "CURRENT_FRAME: %s %s", - format_hex_pretty(this->current_frame_buf_, this->current_frame_len_).c_str(), - format_hex_pretty(&buffer, 1).c_str()); + format_hex_pretty_to(frame_buf, this->current_frame_buf_, this->current_frame_len_), + format_hex_pretty_to(byte_buf, &buffer, 1)); this->current_frame_locate_ = LOCATE_FRAME_HEADER; } break; @@ -228,9 +235,13 @@ void MR60FDA2Component::split_frame_(uint8_t buffer) { this->process_frame_(); } else { ESP_LOGD(TAG, "DATA_CKSUM_FRAME ERROR: 0x%02x", buffer); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char frame_buf[format_hex_pretty_size(MR60FDA2_MAX_LOG_BYTES)]; + char byte_buf[format_hex_pretty_size(1)]; +#endif ESP_LOGV(TAG, "GET CURRENT_FRAME: %s %s", - format_hex_pretty(this->current_frame_buf_, this->current_frame_len_).c_str(), - format_hex_pretty(&buffer, 1).c_str()); + format_hex_pretty_to(frame_buf, this->current_frame_buf_, this->current_frame_len_), + format_hex_pretty_to(byte_buf, &buffer, 1)); this->current_frame_locate_ = LOCATE_FRAME_HEADER; } @@ -328,7 +339,10 @@ void MR60FDA2Component::set_install_height(uint8_t index) { float_to_bytes(INSTALL_HEIGHT[index], &send_data[8]); send_data[12] = calculate_checksum(send_data + 8, 4); this->write_array(send_data, 13); - ESP_LOGV(TAG, "SEND INSTALL HEIGHT FRAME: %s", format_hex_pretty(send_data, 13).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(13)]; +#endif + ESP_LOGV(TAG, "SEND INSTALL HEIGHT FRAME: %s", format_hex_pretty_to(hex_buf, send_data, 13)); } void MR60FDA2Component::set_height_threshold(uint8_t index) { @@ -336,7 +350,10 @@ void MR60FDA2Component::set_height_threshold(uint8_t index) { float_to_bytes(HEIGHT_THRESHOLD[index], &send_data[8]); send_data[12] = calculate_checksum(send_data + 8, 4); this->write_array(send_data, 13); - ESP_LOGV(TAG, "SEND HEIGHT THRESHOLD: %s", format_hex_pretty(send_data, 13).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(13)]; +#endif + ESP_LOGV(TAG, "SEND HEIGHT THRESHOLD: %s", format_hex_pretty_to(hex_buf, send_data, 13)); } void MR60FDA2Component::set_sensitivity(uint8_t index) { @@ -346,19 +363,28 @@ void MR60FDA2Component::set_sensitivity(uint8_t index) { send_data[12] = calculate_checksum(send_data + 8, 4); this->write_array(send_data, 13); - ESP_LOGV(TAG, "SEND SET SENSITIVITY: %s", format_hex_pretty(send_data, 13).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(13)]; +#endif + ESP_LOGV(TAG, "SEND SET SENSITIVITY: %s", format_hex_pretty_to(hex_buf, send_data, 13)); } void MR60FDA2Component::get_radar_parameters() { uint8_t send_data[8] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x0E, 0x06, 0xF6}; this->write_array(send_data, 8); - ESP_LOGV(TAG, "SEND GET PARAMETERS: %s", format_hex_pretty(send_data, 8).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(8)]; +#endif + ESP_LOGV(TAG, "SEND GET PARAMETERS: %s", format_hex_pretty_to(hex_buf, send_data, 8)); } void MR60FDA2Component::factory_reset() { uint8_t send_data[8] = {0x01, 0x00, 0x00, 0x00, 0x00, 0x21, 0x10, 0xCF}; this->write_array(send_data, 8); - ESP_LOGV(TAG, "SEND RESET: %s", format_hex_pretty(send_data, 8).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(8)]; +#endif + ESP_LOGV(TAG, "SEND RESET: %s", format_hex_pretty_to(hex_buf, send_data, 8)); this->get_radar_parameters(); } diff --git a/esphome/components/shelly_dimmer/shelly_dimmer.cpp b/esphome/components/shelly_dimmer/shelly_dimmer.cpp index b336bbcb65..3b5307805e 100644 --- a/esphome/components/shelly_dimmer/shelly_dimmer.cpp +++ b/esphome/components/shelly_dimmer/shelly_dimmer.cpp @@ -270,7 +270,10 @@ void ShellyDimmer::send_settings_() { } bool ShellyDimmer::send_command_(uint8_t cmd, const uint8_t *const payload, uint8_t len) { - ESP_LOGD(TAG, "Sending command: 0x%02x (%d bytes) payload 0x%s", cmd, len, format_hex(payload, len).c_str()); + // Buffer for hex formatting: max frame size * 2 + null (covers any payload) + char hex_buf[SHELLY_DIMMER_PROTO_MAX_FRAME_SIZE * 2 + 1]; + ESP_LOGD(TAG, "Sending command: 0x%02x (%d bytes) payload 0x%s", cmd, len, + format_hex_to(hex_buf, sizeof(hex_buf), payload, len)); // Prepare a command frame. uint8_t frame[SHELLY_DIMMER_PROTO_MAX_FRAME_SIZE]; diff --git a/esphome/components/sn74hc165/sn74hc165.cpp b/esphome/components/sn74hc165/sn74hc165.cpp index 416d9db293..718e0b86ed 100644 --- a/esphome/components/sn74hc165/sn74hc165.cpp +++ b/esphome/components/sn74hc165/sn74hc165.cpp @@ -64,7 +64,9 @@ float SN74HC165Component::get_setup_priority() const { return setup_priority::IO bool SN74HC165GPIOPin::digital_read() { return this->parent_->digital_read_(this->pin_) != this->inverted_; } -std::string SN74HC165GPIOPin::dump_summary() const { return str_snprintf("%u via SN74HC165", 18, pin_); } +size_t SN74HC165GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via SN74HC165", this->pin_); +} } // namespace sn74hc165 } // namespace esphome diff --git a/esphome/components/sn74hc165/sn74hc165.h b/esphome/components/sn74hc165/sn74hc165.h index 4684844687..5a3f3fe8ef 100644 --- a/esphome/components/sn74hc165/sn74hc165.h +++ b/esphome/components/sn74hc165/sn74hc165.h @@ -47,7 +47,7 @@ class SN74HC165GPIOPin : public GPIOPin, public Parented { void pin_mode(gpio::Flags flags) override {} bool digital_read() override; void digital_write(bool value) override{}; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_pin(uint16_t pin) { pin_ = pin; } void set_inverted(bool inverted) { inverted_ = inverted; } diff --git a/esphome/components/sn74hc595/sn74hc595.cpp b/esphome/components/sn74hc595/sn74hc595.cpp index fc47a6dc5e..6b5c5d9fc4 100644 --- a/esphome/components/sn74hc595/sn74hc595.cpp +++ b/esphome/components/sn74hc595/sn74hc595.cpp @@ -70,7 +70,7 @@ void SN74HC595GPIOComponent::write_gpio() { void SN74HC595SPIComponent::write_gpio() { for (uint8_t &output_byte : std::ranges::reverse_view(this->output_bytes_)) { this->enable(); - this->transfer_byte(output_byte); + this->write_byte(output_byte); this->disable(); } SN74HC595Component::write_gpio(); @@ -93,7 +93,9 @@ float SN74HC595Component::get_setup_priority() const { return setup_priority::IO void SN74HC595GPIOPin::digital_write(bool value) { this->parent_->digital_write_(this->pin_, value != this->inverted_); } -std::string SN74HC595GPIOPin::dump_summary() const { return str_snprintf("%u via SN74HC595", 18, pin_); } +size_t SN74HC595GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via SN74HC595", this->pin_); +} } // namespace sn74hc595 } // namespace esphome diff --git a/esphome/components/sn74hc595/sn74hc595.h b/esphome/components/sn74hc595/sn74hc595.h index 181015b1e6..1cf70c86b5 100644 --- a/esphome/components/sn74hc595/sn74hc595.h +++ b/esphome/components/sn74hc595/sn74hc595.h @@ -54,7 +54,7 @@ class SN74HC595GPIOPin : public GPIOPin, public Parented { void pin_mode(gpio::Flags flags) override {} bool digital_read() override { return false; } void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_pin(uint16_t pin) { pin_ = pin; } void set_inverted(bool inverted) { inverted_ = inverted; } diff --git a/esphome/components/sonoff_d1/sonoff_d1.cpp b/esphome/components/sonoff_d1/sonoff_d1.cpp index cd09f31dd7..0ecde83b8b 100644 --- a/esphome/components/sonoff_d1/sonoff_d1.cpp +++ b/esphome/components/sonoff_d1/sonoff_d1.cpp @@ -42,12 +42,17 @@ * M 6C - CRC over bytes 2 to F (Addition) \*********************************************************************************************/ #include "sonoff_d1.h" +#include "esphome/core/helpers.h" namespace esphome { namespace sonoff_d1 { static const char *const TAG = "sonoff_d1"; +// Protocol constants +static constexpr size_t SONOFF_D1_ACK_SIZE = 7; +static constexpr size_t SONOFF_D1_MAX_CMD_SIZE = 17; + uint8_t SonoffD1Output::calc_checksum_(const uint8_t *cmd, const size_t len) { uint8_t crc = 0; for (size_t i = 2; i < len - 1; i++) { @@ -86,8 +91,11 @@ bool SonoffD1Output::read_command_(uint8_t *cmd, size_t &len) { // Read a minimal packet if (this->read_array(cmd, 6)) { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(6)]; ESP_LOGV(TAG, "[%04d] Reading from dimmer:", this->write_count_); - ESP_LOGV(TAG, "[%04d] %s", this->write_count_, format_hex_pretty(cmd, 6).c_str()); + ESP_LOGV(TAG, "[%04d] %s", this->write_count_, format_hex_pretty_to(hex_buf, cmd, 6)); +#endif if (cmd[0] != 0xAA || cmd[1] != 0x55) { ESP_LOGW(TAG, "[%04d] RX: wrong header (%x%x, must be AA55)", this->write_count_, cmd[0], cmd[1]); @@ -101,7 +109,10 @@ bool SonoffD1Output::read_command_(uint8_t *cmd, size_t &len) { return false; } if (this->read_array(&cmd[6], cmd[5] + 1 /*checksum suffix*/)) { - ESP_LOGV(TAG, "[%04d] %s", this->write_count_, format_hex_pretty(&cmd[6], cmd[5] + 1).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf2[format_hex_pretty_size(SONOFF_D1_MAX_CMD_SIZE)]; + ESP_LOGV(TAG, "[%04d] %s", this->write_count_, format_hex_pretty_to(hex_buf2, &cmd[6], cmd[5] + 1)); +#endif // Check the checksum uint8_t valid_checksum = this->calc_checksum_(cmd, cmd[5] + 7); @@ -145,9 +156,10 @@ bool SonoffD1Output::read_ack_(const uint8_t *cmd, const size_t len) { ESP_LOGD(TAG, "[%04d] Acknowledge received", this->write_count_); return true; } else { + char hex_buf[format_hex_pretty_size(SONOFF_D1_ACK_SIZE)]; ESP_LOGW(TAG, "[%04d] Unexpected acknowledge received (possible clash of RF/HA commands), expected ack was:", this->write_count_); - ESP_LOGW(TAG, "[%04d] %s", this->write_count_, format_hex_pretty(ref_buffer, sizeof(ref_buffer)).c_str()); + ESP_LOGW(TAG, "[%04d] %s", this->write_count_, format_hex_pretty_to(hex_buf, ref_buffer, sizeof(ref_buffer))); } return false; } @@ -174,8 +186,11 @@ bool SonoffD1Output::write_command_(uint8_t *cmd, const size_t len, bool needs_a // 2. UART command initiated by this component can clash with a command initiated by RF uint32_t retries = 10; do { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(SONOFF_D1_MAX_CMD_SIZE)]; ESP_LOGV(TAG, "[%04d] Writing to the dimmer:", this->write_count_); - ESP_LOGV(TAG, "[%04d] %s", this->write_count_, format_hex_pretty(cmd, len).c_str()); + ESP_LOGV(TAG, "[%04d] %s", this->write_count_, format_hex_pretty_to(hex_buf, cmd, len)); +#endif this->write_array(cmd, len); this->write_count_++; if (!needs_ack) diff --git a/esphome/components/spi/__init__.py b/esphome/components/spi/__init__.py index 045cdd09d3..e890567abf 100644 --- a/esphome/components/spi/__init__.py +++ b/esphome/components/spi/__init__.py @@ -49,21 +49,60 @@ SPIDevice = spi_ns.class_("SPIDevice") SPIDataRate = spi_ns.enum("SPIDataRate") SPIMode = spi_ns.enum("SPIMode") -SPI_DATA_RATE_OPTIONS = { - 80e6: SPIDataRate.DATA_RATE_80MHZ, - 40e6: SPIDataRate.DATA_RATE_40MHZ, - 20e6: SPIDataRate.DATA_RATE_20MHZ, - 10e6: SPIDataRate.DATA_RATE_10MHZ, - 8e6: SPIDataRate.DATA_RATE_8MHZ, - 5e6: SPIDataRate.DATA_RATE_5MHZ, - 4e6: SPIDataRate.DATA_RATE_4MHZ, - 2e6: SPIDataRate.DATA_RATE_2MHZ, - 1e6: SPIDataRate.DATA_RATE_1MHZ, - 2e5: SPIDataRate.DATA_RATE_200KHZ, - 75e3: SPIDataRate.DATA_RATE_75KHZ, - 1e3: SPIDataRate.DATA_RATE_1KHZ, +PLATFORM_SPI_CLOCKS = { + PLATFORM_ESP8266: 40e6, + PLATFORM_ESP32: 80e6, + PLATFORM_RP2040: 62.5e6, } -SPI_DATA_RATE_SCHEMA = cv.All(cv.frequency, cv.enum(SPI_DATA_RATE_OPTIONS)) + +MAX_DATA_RATE_ERROR = 0.05 # Max allowable actual data rate difference from requested + + +def _render_hz(value: float) -> str: + """Render a frequency in Hz as a human-readable string using Hz, KHz or MHz. + + Examples: + 500 -> "500 Hz" + 1500 -> "1.5 kHz" + 2000000 -> "2 MHz" + """ + if value >= 1e6: + unit = "MHz" + num = value / 1e6 + elif value >= 1e3: + unit = "kHz" + num = value / 1e3 + else: + unit = "Hz" + num = value + + # Format with up to 2 decimal places, then strip unnecessary trailing zeros and dot + formatted = f"{int(num)}" if unit == "Hz" else f"{num:.2f}".rstrip("0").rstrip(".") + return formatted + unit + + +def _frequency_validator(value): + platform = get_target_platform() + frequency = PLATFORM_SPI_CLOCKS[platform] + value = cv.frequency(value) + if value > frequency: + raise cv.Invalid( + f"The configured SPI data rate ({_render_hz(value)}) exceeds the maximum for this platform ({_render_hz(frequency)})" + ) + if value < 1000: + raise cv.Invalid("The configured SPI data rate must be at least 1000Hz") + divisor = round(frequency / value) + actual = frequency / divisor + error = abs(actual - value) / value + if error > MAX_DATA_RATE_ERROR: + raise cv.Invalid( + f"The configured SPI data rate ({_render_hz(value)}) is not available for this chip - closest is {_render_hz(actual)}" + ) + return value + + +SPI_DATA_RATE_SCHEMA = _frequency_validator + SPI_MODE_OPTIONS = { "MODE0": SPIMode.MODE0, @@ -393,19 +432,20 @@ def spi_device_schema( :param mode Choose single, quad or octal mode. :return: The SPI device schema, `extend` this in your config schema. """ - schema = { - cv.GenerateID(CONF_SPI_ID): cv.use_id(TYPE_CLASS[mode]), - cv.Optional(CONF_DATA_RATE, default=default_data_rate): SPI_DATA_RATE_SCHEMA, - cv.Optional(CONF_SPI_MODE, default=default_mode): cv.enum( - SPI_MODE_OPTIONS, upper=True - ), - cv.Optional(CONF_RELEASE_DEVICE): cv.All(cv.boolean, cv.only_on_esp32), - } - if cs_pin_required: - schema[cv.Required(CONF_CS_PIN)] = pins.gpio_output_pin_schema - else: - schema[cv.Optional(CONF_CS_PIN)] = pins.gpio_output_pin_schema - return cv.Schema(schema) + cs_pin_option = cv.Required if cs_pin_required else cv.Optional + return cv.Schema( + { + cv.GenerateID(CONF_SPI_ID): cv.use_id(TYPE_CLASS[mode]), + cv.Optional( + CONF_DATA_RATE, default=default_data_rate + ): SPI_DATA_RATE_SCHEMA, + cv.Optional(CONF_SPI_MODE, default=default_mode): cv.enum( + SPI_MODE_OPTIONS, upper=True + ), + cv.Optional(CONF_RELEASE_DEVICE): cv.All(cv.boolean, cv.only_on_esp32), + cs_pin_option(CONF_CS_PIN): pins.gpio_output_pin_schema, + } + ) async def register_spi_device(var, config): diff --git a/esphome/components/spi/spi.cpp b/esphome/components/spi/spi.cpp index c4876d1a74..36344a6d38 100644 --- a/esphome/components/spi/spi.cpp +++ b/esphome/components/spi/spi.cpp @@ -64,9 +64,9 @@ void SPIComponent::setup() { void SPIComponent::dump_config() { ESP_LOGCONFIG(TAG, "SPI bus:"); - LOG_PIN(" CLK Pin: ", this->clk_pin_) - LOG_PIN(" SDI Pin: ", this->sdi_pin_) - LOG_PIN(" SDO Pin: ", this->sdo_pin_) + LOG_PIN(" CLK Pin: ", this->clk_pin_); + LOG_PIN(" SDI Pin: ", this->sdi_pin_); + LOG_PIN(" SDO Pin: ", this->sdo_pin_); for (size_t i = 0; i != this->data_pins_.size(); i++) { ESP_LOGCONFIG(TAG, " Data pin %u: GPIO%d", i, this->data_pins_[i]); } diff --git a/esphome/components/spi/spi.h b/esphome/components/spi/spi.h index 256cbcc65f..e237cf44f4 100644 --- a/esphome/components/spi/spi.h +++ b/esphome/components/spi/spi.h @@ -120,7 +120,11 @@ class NullPin : public GPIOPin { void digital_write(bool value) override {} - std::string dump_summary() const override { return std::string(); } + size_t dump_summary(char *buffer, size_t len) const override { + if (len > 0) + buffer[0] = '\0'; + return 0; + } protected: static GPIOPin *const NULL_PIN; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) diff --git a/esphome/components/ssd1306_base/ssd1306_base.cpp b/esphome/components/ssd1306_base/ssd1306_base.cpp index 00425b853f..b0c39033e3 100644 --- a/esphome/components/ssd1306_base/ssd1306_base.cpp +++ b/esphome/components/ssd1306_base/ssd1306_base.cpp @@ -329,6 +329,12 @@ void HOT SSD1306::draw_absolute_pixel_internal(int x, int y, Color color) { } } void SSD1306::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + uint8_t fill = color.is_on() ? 0xFF : 0x00; for (uint32_t i = 0; i < this->get_buffer_length_(); i++) this->buffer_[i] = fill; diff --git a/esphome/components/ssd1322_base/ssd1322_base.cpp b/esphome/components/ssd1322_base/ssd1322_base.cpp index eb8d87998f..23576e7b2c 100644 --- a/esphome/components/ssd1322_base/ssd1322_base.cpp +++ b/esphome/components/ssd1322_base/ssd1322_base.cpp @@ -174,6 +174,12 @@ void HOT SSD1322::draw_absolute_pixel_internal(int x, int y, Color color) { this->buffer_[pos] |= color4; } void SSD1322::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + const uint32_t color4 = display::ColorUtil::color_to_grayscale4(color); uint8_t fill = (color4 & SSD1322_COLORMASK) | ((color4 & SSD1322_COLORMASK) << SSD1322_COLORSHIFT); for (uint32_t i = 0; i < this->get_buffer_length_(); i++) diff --git a/esphome/components/ssd1327_base/ssd1327_base.cpp b/esphome/components/ssd1327_base/ssd1327_base.cpp index 6b83ec5f9d..2498bfcd67 100644 --- a/esphome/components/ssd1327_base/ssd1327_base.cpp +++ b/esphome/components/ssd1327_base/ssd1327_base.cpp @@ -150,6 +150,12 @@ void HOT SSD1327::draw_absolute_pixel_internal(int x, int y, Color color) { this->buffer_[pos] |= color4; } void SSD1327::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + const uint32_t color4 = display::ColorUtil::color_to_grayscale4(color); uint8_t fill = (color4 & SSD1327_COLORMASK) | ((color4 & SSD1327_COLORMASK) << SSD1327_COLORSHIFT); for (uint32_t i = 0; i < this->get_buffer_length_(); i++) diff --git a/esphome/components/ssd1331_base/ssd1331_base.cpp b/esphome/components/ssd1331_base/ssd1331_base.cpp index 8ee12387e4..a2993edef3 100644 --- a/esphome/components/ssd1331_base/ssd1331_base.cpp +++ b/esphome/components/ssd1331_base/ssd1331_base.cpp @@ -128,6 +128,12 @@ void HOT SSD1331::draw_absolute_pixel_internal(int x, int y, Color color) { this->buffer_[pos] = color565 & 0xff; } void SSD1331::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + const uint32_t color565 = display::ColorUtil::color_to_565(color); for (uint32_t i = 0; i < this->get_buffer_length_(); i++) { if (i & 1) { diff --git a/esphome/components/ssd1351_base/ssd1351_base.cpp b/esphome/components/ssd1351_base/ssd1351_base.cpp index 09530e8a27..69bf67f476 100644 --- a/esphome/components/ssd1351_base/ssd1351_base.cpp +++ b/esphome/components/ssd1351_base/ssd1351_base.cpp @@ -160,6 +160,12 @@ void HOT SSD1351::draw_absolute_pixel_internal(int x, int y, Color color) { this->buffer_[pos] = color565 & 0xff; } void SSD1351::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + const uint32_t color565 = display::ColorUtil::color_to_565(color); for (uint32_t i = 0; i < this->get_buffer_length_(); i++) { if (i & 1) { diff --git a/esphome/components/st7567_base/st7567_base.cpp b/esphome/components/st7567_base/st7567_base.cpp index 0afd2a70ba..8c47094b26 100644 --- a/esphome/components/st7567_base/st7567_base.cpp +++ b/esphome/components/st7567_base/st7567_base.cpp @@ -131,7 +131,16 @@ void HOT ST7567::draw_absolute_pixel_internal(int x, int y, Color color) { } } -void ST7567::fill(Color color) { memset(buffer_, color.is_on() ? 0xFF : 0x00, this->get_buffer_length_()); } +void ST7567::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + + uint8_t fill = color.is_on() ? 0xFF : 0x00; + memset(buffer_, fill, this->get_buffer_length_()); +} void ST7567::init_reset_() { if (this->reset_pin_ != nullptr) { diff --git a/esphome/components/st7920/st7920.cpp b/esphome/components/st7920/st7920.cpp index c7ce7140e3..afd7cd61bd 100644 --- a/esphome/components/st7920/st7920.cpp +++ b/esphome/components/st7920/st7920.cpp @@ -89,7 +89,16 @@ void HOT ST7920::write_display_data() { } } -void ST7920::fill(Color color) { memset(this->buffer_, color.is_on() ? 0xFF : 0x00, this->get_buffer_length_()); } +void ST7920::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + + uint8_t fill = color.is_on() ? 0xFF : 0x00; + memset(this->buffer_, fill, this->get_buffer_length_()); +} void ST7920::dump_config() { LOG_DISPLAY("", "ST7920", this); diff --git a/esphome/components/sx1509/sx1509_gpio_pin.cpp b/esphome/components/sx1509/sx1509_gpio_pin.cpp index a74c8b60b8..41a99eba4b 100644 --- a/esphome/components/sx1509/sx1509_gpio_pin.cpp +++ b/esphome/components/sx1509/sx1509_gpio_pin.cpp @@ -12,10 +12,8 @@ void SX1509GPIOPin::setup() { pin_mode(flags_); } void SX1509GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool SX1509GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void SX1509GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string SX1509GPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via sx1509", this->pin_); - return buffer; +size_t SX1509GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via sx1509", this->pin_); } } // namespace sx1509 diff --git a/esphome/components/sx1509/sx1509_gpio_pin.h b/esphome/components/sx1509/sx1509_gpio_pin.h index eb9207e882..5903af9d12 100644 --- a/esphome/components/sx1509/sx1509_gpio_pin.h +++ b/esphome/components/sx1509/sx1509_gpio_pin.h @@ -13,7 +13,7 @@ class SX1509GPIOPin : public GPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_parent(SX1509Component *parent) { this->parent_ = parent; } void set_pin(uint8_t pin) { this->pin_ = pin; } diff --git a/esphome/components/tca9555/tca9555.cpp b/esphome/components/tca9555/tca9555.cpp index c3449ce254..376de6a370 100644 --- a/esphome/components/tca9555/tca9555.cpp +++ b/esphome/components/tca9555/tca9555.cpp @@ -138,7 +138,9 @@ void TCA9555GPIOPin::setup() { this->pin_mode(this->flags_); } void TCA9555GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool TCA9555GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } void TCA9555GPIOPin::digital_write(bool value) { this->parent_->digital_write(this->pin_, value != this->inverted_); } -std::string TCA9555GPIOPin::dump_summary() const { return str_sprintf("%u via TCA9555", this->pin_); } +size_t TCA9555GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via TCA9555", this->pin_); +} } // namespace tca9555 } // namespace esphome diff --git a/esphome/components/tca9555/tca9555.h b/esphome/components/tca9555/tca9555.h index 0c236ae4e3..9f7273b1e7 100644 --- a/esphome/components/tca9555/tca9555.h +++ b/esphome/components/tca9555/tca9555.h @@ -48,7 +48,7 @@ class TCA9555GPIOPin : public GPIOPin, public Parented { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void set_pin(uint8_t pin) { this->pin_ = pin; } void set_inverted(bool inverted) { this->inverted_ = inverted; } diff --git a/esphome/components/tee501/tee501.cpp b/esphome/components/tee501/tee501.cpp index d6513dbbe0..06481b628b 100644 --- a/esphome/components/tee501/tee501.cpp +++ b/esphome/components/tee501/tee501.cpp @@ -7,6 +7,8 @@ namespace tee501 { static const char *const TAG = "tee501"; +static constexpr size_t TEE501_SERIAL_NUMBER_SIZE = 7; + void TEE501Component::setup() { uint8_t address[] = {0x70, 0x29}; uint8_t identification[9]; @@ -17,7 +19,10 @@ void TEE501Component::setup() { this->mark_failed(); return; } - ESP_LOGV(TAG, " Serial Number: 0x%s", format_hex(identification + 0, 7).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char serial_hex[format_hex_size(TEE501_SERIAL_NUMBER_SIZE)]; +#endif + ESP_LOGV(TAG, " Serial Number: 0x%s", format_hex_to(serial_hex, identification, TEE501_SERIAL_NUMBER_SIZE)); } void TEE501Component::dump_config() { diff --git a/esphome/components/template/water_heater/__init__.py b/esphome/components/template/water_heater/__init__.py new file mode 100644 index 0000000000..716289035a --- /dev/null +++ b/esphome/components/template/water_heater/__init__.py @@ -0,0 +1,123 @@ +from esphome import automation +import esphome.codegen as cg +from esphome.components import water_heater +import esphome.config_validation as cv +from esphome.const import ( + CONF_ID, + CONF_MODE, + CONF_OPTIMISTIC, + CONF_RESTORE_MODE, + CONF_SET_ACTION, + CONF_SUPPORTED_MODES, + CONF_TARGET_TEMPERATURE, +) +from esphome.core import ID +from esphome.cpp_generator import MockObj, TemplateArgsType +from esphome.types import ConfigType + +from .. import template_ns + +CONF_CURRENT_TEMPERATURE = "current_temperature" + +TemplateWaterHeater = template_ns.class_( + "TemplateWaterHeater", water_heater.WaterHeater +) + +TemplateWaterHeaterPublishAction = template_ns.class_( + "TemplateWaterHeaterPublishAction", + automation.Action, + cg.Parented.template(TemplateWaterHeater), +) + +TemplateWaterHeaterRestoreMode = template_ns.enum("TemplateWaterHeaterRestoreMode") +RESTORE_MODES = { + "NO_RESTORE": TemplateWaterHeaterRestoreMode.WATER_HEATER_NO_RESTORE, + "RESTORE": TemplateWaterHeaterRestoreMode.WATER_HEATER_RESTORE, + "RESTORE_AND_CALL": TemplateWaterHeaterRestoreMode.WATER_HEATER_RESTORE_AND_CALL, +} + +CONFIG_SCHEMA = water_heater.water_heater_schema(TemplateWaterHeater).extend( + { + cv.Optional(CONF_OPTIMISTIC, default=True): cv.boolean, + cv.Optional(CONF_SET_ACTION): automation.validate_automation(single=True), + cv.Optional(CONF_RESTORE_MODE, default="NO_RESTORE"): cv.enum( + RESTORE_MODES, upper=True + ), + cv.Optional(CONF_CURRENT_TEMPERATURE): cv.returning_lambda, + cv.Optional(CONF_MODE): cv.returning_lambda, + cv.Optional(CONF_SUPPORTED_MODES): cv.ensure_list( + water_heater.validate_water_heater_mode + ), + } +) + + +async def to_code(config: ConfigType) -> None: + var = cg.new_Pvariable(config[CONF_ID]) + await water_heater.register_water_heater(var, config) + + cg.add(var.set_optimistic(config[CONF_OPTIMISTIC])) + + if CONF_SET_ACTION in config: + await automation.build_automation( + var.get_set_trigger(), [], config[CONF_SET_ACTION] + ) + + cg.add(var.set_restore_mode(config[CONF_RESTORE_MODE])) + + if CONF_CURRENT_TEMPERATURE in config: + template_ = await cg.process_lambda( + config[CONF_CURRENT_TEMPERATURE], + [], + return_type=cg.optional.template(cg.float_), + ) + cg.add(var.set_current_temperature_lambda(template_)) + + if CONF_MODE in config: + template_ = await cg.process_lambda( + config[CONF_MODE], + [], + return_type=cg.optional.template(water_heater.WaterHeaterMode), + ) + cg.add(var.set_mode_lambda(template_)) + + if CONF_SUPPORTED_MODES in config: + cg.add(var.set_supported_modes(config[CONF_SUPPORTED_MODES])) + + +@automation.register_action( + "water_heater.template.publish", + TemplateWaterHeaterPublishAction, + cv.Schema( + { + cv.GenerateID(): cv.use_id(TemplateWaterHeater), + cv.Optional(CONF_CURRENT_TEMPERATURE): cv.templatable(cv.temperature), + cv.Optional(CONF_TARGET_TEMPERATURE): cv.templatable(cv.temperature), + cv.Optional(CONF_MODE): cv.templatable( + water_heater.validate_water_heater_mode + ), + } + ), +) +async def water_heater_template_publish_to_code( + config: ConfigType, + action_id: ID, + template_arg: cg.TemplateArguments, + args: TemplateArgsType, +) -> MockObj: + var = cg.new_Pvariable(action_id, template_arg) + await cg.register_parented(var, config[CONF_ID]) + + if current_temp := config.get(CONF_CURRENT_TEMPERATURE): + template_ = await cg.templatable(current_temp, args, float) + cg.add(var.set_current_temperature(template_)) + + if target_temp := config.get(CONF_TARGET_TEMPERATURE): + template_ = await cg.templatable(target_temp, args, float) + cg.add(var.set_target_temperature(template_)) + + if mode := config.get(CONF_MODE): + template_ = await cg.templatable(mode, args, water_heater.WaterHeaterMode) + cg.add(var.set_mode(template_)) + + return var diff --git a/esphome/components/template/water_heater/automation.h b/esphome/components/template/water_heater/automation.h new file mode 100644 index 0000000000..3dad2b85ae --- /dev/null +++ b/esphome/components/template/water_heater/automation.h @@ -0,0 +1,35 @@ +#pragma once + +#include "template_water_heater.h" +#include "esphome/core/automation.h" + +namespace esphome::template_ { + +template +class TemplateWaterHeaterPublishAction : public Action, public Parented { + public: + TEMPLATABLE_VALUE(float, current_temperature) + TEMPLATABLE_VALUE(float, target_temperature) + TEMPLATABLE_VALUE(water_heater::WaterHeaterMode, mode) + + void play(const Ts &...x) override { + if (this->current_temperature_.has_value()) { + this->parent_->set_current_temperature(this->current_temperature_.value(x...)); + } + bool needs_call = this->target_temperature_.has_value() || this->mode_.has_value(); + if (needs_call) { + auto call = this->parent_->make_call(); + if (this->target_temperature_.has_value()) { + call.set_target_temperature(this->target_temperature_.value(x...)); + } + if (this->mode_.has_value()) { + call.set_mode(this->mode_.value(x...)); + } + call.perform(); + } else { + this->parent_->publish_state(); + } + } +}; + +} // namespace esphome::template_ diff --git a/esphome/components/template/water_heater/template_water_heater.cpp b/esphome/components/template/water_heater/template_water_heater.cpp new file mode 100644 index 0000000000..18ef8d3f06 --- /dev/null +++ b/esphome/components/template/water_heater/template_water_heater.cpp @@ -0,0 +1,88 @@ +#include "template_water_heater.h" +#include "esphome/core/log.h" + +namespace esphome::template_ { + +static const char *const TAG = "template.water_heater"; + +TemplateWaterHeater::TemplateWaterHeater() : set_trigger_(new Trigger<>()) {} + +void TemplateWaterHeater::setup() { + if (this->restore_mode_ == TemplateWaterHeaterRestoreMode::WATER_HEATER_RESTORE || + this->restore_mode_ == TemplateWaterHeaterRestoreMode::WATER_HEATER_RESTORE_AND_CALL) { + auto restore = this->restore_state(); + + if (restore.has_value()) { + restore->perform(); + } + } + if (!this->current_temperature_f_.has_value() && !this->mode_f_.has_value()) + this->disable_loop(); +} + +water_heater::WaterHeaterTraits TemplateWaterHeater::traits() { + auto traits = water_heater::WaterHeater::get_traits(); + + if (!this->supported_modes_.empty()) { + traits.set_supported_modes(this->supported_modes_); + } + + traits.set_supports_current_temperature(true); + return traits; +} + +void TemplateWaterHeater::loop() { + bool changed = false; + + auto curr_temp = this->current_temperature_f_.call(); + if (curr_temp.has_value()) { + if (*curr_temp != this->current_temperature_) { + this->current_temperature_ = *curr_temp; + changed = true; + } + } + + auto new_mode = this->mode_f_.call(); + if (new_mode.has_value()) { + if (*new_mode != this->mode_) { + this->mode_ = *new_mode; + changed = true; + } + } + + if (changed) { + this->publish_state(); + } +} + +void TemplateWaterHeater::dump_config() { + LOG_WATER_HEATER("", "Template Water Heater", this); + ESP_LOGCONFIG(TAG, " Optimistic: %s", YESNO(this->optimistic_)); +} + +float TemplateWaterHeater::get_setup_priority() const { return setup_priority::HARDWARE; } + +water_heater::WaterHeaterCallInternal TemplateWaterHeater::make_call() { + return water_heater::WaterHeaterCallInternal(this); +} + +void TemplateWaterHeater::control(const water_heater::WaterHeaterCall &call) { + if (call.get_mode().has_value()) { + if (this->optimistic_) { + this->mode_ = *call.get_mode(); + } + } + if (!std::isnan(call.get_target_temperature())) { + if (this->optimistic_) { + this->target_temperature_ = call.get_target_temperature(); + } + } + + this->set_trigger_->trigger(); + + if (this->optimistic_) { + this->publish_state(); + } +} + +} // namespace esphome::template_ diff --git a/esphome/components/template/water_heater/template_water_heater.h b/esphome/components/template/water_heater/template_water_heater.h new file mode 100644 index 0000000000..e5f51b72dc --- /dev/null +++ b/esphome/components/template/water_heater/template_water_heater.h @@ -0,0 +1,53 @@ +#pragma once + +#include "esphome/core/component.h" +#include "esphome/core/automation.h" +#include "esphome/core/template_lambda.h" +#include "esphome/components/water_heater/water_heater.h" + +namespace esphome::template_ { + +enum TemplateWaterHeaterRestoreMode { + WATER_HEATER_NO_RESTORE, + WATER_HEATER_RESTORE, + WATER_HEATER_RESTORE_AND_CALL, +}; + +class TemplateWaterHeater : public water_heater::WaterHeater { + public: + TemplateWaterHeater(); + + template void set_current_temperature_lambda(F &&f) { + this->current_temperature_f_.set(std::forward(f)); + } + template void set_mode_lambda(F &&f) { this->mode_f_.set(std::forward(f)); } + + void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; } + void set_restore_mode(TemplateWaterHeaterRestoreMode restore_mode) { this->restore_mode_ = restore_mode; } + void set_supported_modes(const std::initializer_list &modes) { + this->supported_modes_ = modes; + } + + Trigger<> *get_set_trigger() const { return this->set_trigger_; } + + void setup() override; + void loop() override; + void dump_config() override; + float get_setup_priority() const override; + + water_heater::WaterHeaterCallInternal make_call() override; + + protected: + void control(const water_heater::WaterHeaterCall &call) override; + water_heater::WaterHeaterTraits traits() override; + + // Ordered to minimize padding on 32-bit: 4-byte members first, then smaller + Trigger<> *set_trigger_; + TemplateLambda current_temperature_f_; + TemplateLambda mode_f_; + TemplateWaterHeaterRestoreMode restore_mode_{WATER_HEATER_NO_RESTORE}; + water_heater::WaterHeaterModeMask supported_modes_; + bool optimistic_{true}; +}; + +} // namespace esphome::template_ diff --git a/esphome/components/tuya/tuya.cpp b/esphome/components/tuya/tuya.cpp index 12b14be9ff..2812fb6ad6 100644 --- a/esphome/components/tuya/tuya.cpp +++ b/esphome/components/tuya/tuya.cpp @@ -20,6 +20,8 @@ static const char *const TAG = "tuya"; static const int COMMAND_DELAY = 10; static const int RECEIVE_TIMEOUT = 300; static const int MAX_RETRIES = 5; +// Max bytes to log for datapoint values (larger values are truncated) +static constexpr size_t MAX_DATAPOINT_LOG_BYTES = 16; void Tuya::setup() { this->set_interval("heartbeat", 15000, [this] { this->send_empty_command_(TuyaCommandType::HEARTBEAT); }); @@ -51,7 +53,9 @@ void Tuya::dump_config() { } for (auto &info : this->datapoints_) { if (info.type == TuyaDatapointType::RAW) { - ESP_LOGCONFIG(TAG, " Datapoint %u: raw (value: %s)", info.id, format_hex_pretty(info.value_raw).c_str()); + char hex_buf[format_hex_pretty_size(MAX_DATAPOINT_LOG_BYTES)]; + ESP_LOGCONFIG(TAG, " Datapoint %u: raw (value: %s)", info.id, + format_hex_pretty_to(hex_buf, info.value_raw.data(), info.value_raw.size())); } else if (info.type == TuyaDatapointType::BOOLEAN) { ESP_LOGCONFIG(TAG, " Datapoint %u: switch (value: %s)", info.id, ONOFF(info.value_bool)); } else if (info.type == TuyaDatapointType::INTEGER) { @@ -122,8 +126,11 @@ bool Tuya::validate_message_() { // valid message const uint8_t *message_data = data + 6; +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_DATAPOINT_LOG_BYTES)]; ESP_LOGV(TAG, "Received Tuya: CMD=0x%02X VERSION=%u DATA=[%s] INIT_STATE=%u", command, version, - format_hex_pretty(message_data, length).c_str(), static_cast(this->init_state_)); + format_hex_pretty_to(hex_buf, message_data, length), static_cast(this->init_state_)); +#endif this->handle_command_(command, version, message_data, length); // return false to reset rx buffer @@ -349,7 +356,11 @@ void Tuya::handle_datapoints_(const uint8_t *buffer, size_t len) { switch (datapoint.type) { case TuyaDatapointType::RAW: datapoint.value_raw = std::vector(data, data + data_size); - ESP_LOGD(TAG, "Datapoint %u update to %s", datapoint.id, format_hex_pretty(datapoint.value_raw).c_str()); + { + char hex_buf[format_hex_pretty_size(MAX_DATAPOINT_LOG_BYTES)]; + ESP_LOGD(TAG, "Datapoint %u update to %s", datapoint.id, + format_hex_pretty_to(hex_buf, datapoint.value_raw.data(), datapoint.value_raw.size())); + } break; case TuyaDatapointType::BOOLEAN: if (data_size != 1) { @@ -460,8 +471,12 @@ void Tuya::send_raw_command_(TuyaCommand command) { break; } +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_pretty_size(MAX_DATAPOINT_LOG_BYTES)]; ESP_LOGV(TAG, "Sending Tuya: CMD=0x%02X VERSION=%u DATA=[%s] INIT_STATE=%u", static_cast(command.cmd), - version, format_hex_pretty(command.payload).c_str(), static_cast(this->init_state_)); + version, format_hex_pretty_to(hex_buf, command.payload.data(), command.payload.size()), + static_cast(this->init_state_)); +#endif this->write_array({0x55, 0xAA, version, (uint8_t) command.cmd, len_hi, len_lo}); if (!command.payload.empty()) @@ -675,7 +690,8 @@ void Tuya::set_numeric_datapoint_value_(uint8_t datapoint_id, TuyaDatapointType } void Tuya::set_raw_datapoint_value_(uint8_t datapoint_id, const std::vector &value, bool forced) { - ESP_LOGD(TAG, "Setting datapoint %u to %s", datapoint_id, format_hex_pretty(value).c_str()); + char hex_buf[format_hex_pretty_size(MAX_DATAPOINT_LOG_BYTES)]; + ESP_LOGD(TAG, "Setting datapoint %u to %s", datapoint_id, format_hex_pretty_to(hex_buf, value.data(), value.size())); optional datapoint = this->get_datapoint_(datapoint_id); if (!datapoint.has_value()) { ESP_LOGW(TAG, "Setting unknown datapoint %u", datapoint_id); diff --git a/esphome/components/uart/__init__.py b/esphome/components/uart/__init__.py index 9baa6ebd81..9ec95964ec 100644 --- a/esphome/components/uart/__init__.py +++ b/esphome/components/uart/__init__.py @@ -482,7 +482,7 @@ def final_validate_device_schema( async def register_uart_device(var, config): """Register a UART device, setting up all the internal values. - This is a coroutine, you need to await it with a 'yield' expression! + This is a coroutine, you need to await it with an 'await' expression! """ parent = await cg.get_variable(config[CONF_UART_ID]) cg.add(var.set_uart_parent(parent)) diff --git a/esphome/components/uart/uart_component.h b/esphome/components/uart/uart_component.h index fd528e228f..ea6e1562f4 100644 --- a/esphome/components/uart/uart_component.h +++ b/esphome/components/uart/uart_component.h @@ -189,10 +189,10 @@ class UARTComponent { size_t rx_buffer_size_; size_t rx_full_threshold_{1}; size_t rx_timeout_{0}; - uint32_t baud_rate_; - uint8_t stop_bits_; - uint8_t data_bits_; - UARTParityOptions parity_; + uint32_t baud_rate_{0}; + uint8_t stop_bits_{0}; + uint8_t data_bits_{0}; + UARTParityOptions parity_{UART_CONFIG_PARITY_NONE}; #ifdef USE_UART_DEBUGGER CallbackManager debug_callback_{}; #endif diff --git a/esphome/components/udp/udp_component.cpp b/esphome/components/udp/udp_component.cpp index daa6c52f98..4474efeb77 100644 --- a/esphome/components/udp/udp_component.cpp +++ b/esphome/components/udp/udp_component.cpp @@ -65,11 +65,14 @@ void UDPComponent::setup() { server.sin_port = htons(this->listen_port_); if (this->listen_address_.has_value()) { + // Only 16 bytes needed for IPv4, but use standard size for consistency + char addr_buf[network::IP_ADDRESS_BUFFER_SIZE]; + this->listen_address_.value().str_to(addr_buf); struct ip_mreq imreq = {}; imreq.imr_interface.s_addr = ESPHOME_INADDR_ANY; - inet_aton(this->listen_address_.value().str().c_str(), &imreq.imr_multiaddr); + inet_aton(addr_buf, &imreq.imr_multiaddr); server.sin_addr.s_addr = imreq.imr_multiaddr.s_addr; - ESP_LOGD(TAG, "Join multicast %s", this->listen_address_.value().str().c_str()); + ESP_LOGD(TAG, "Join multicast %s", addr_buf); err = this->listen_socket_->setsockopt(IPPROTO_IP, IP_ADD_MEMBERSHIP, &imreq, sizeof(imreq)); if (err < 0) { ESP_LOGE(TAG, "Failed to set IP_ADD_MEMBERSHIP. Error %d", errno); diff --git a/esphome/components/ultrasonic/sensor.py b/esphome/components/ultrasonic/sensor.py index 937d9a5261..d341acb9d1 100644 --- a/esphome/components/ultrasonic/sensor.py +++ b/esphome/components/ultrasonic/sensor.py @@ -28,7 +28,7 @@ CONFIG_SCHEMA = ( ) .extend( { - cv.Required(CONF_TRIGGER_PIN): pins.gpio_output_pin_schema, + cv.Required(CONF_TRIGGER_PIN): pins.internal_gpio_output_pin_schema, cv.Required(CONF_ECHO_PIN): pins.internal_gpio_input_pin_schema, cv.Optional(CONF_TIMEOUT, default="2m"): cv.distance, cv.Optional( diff --git a/esphome/components/ultrasonic/ultrasonic_sensor.cpp b/esphome/components/ultrasonic/ultrasonic_sensor.cpp index e864ea6419..184d93f189 100644 --- a/esphome/components/ultrasonic/ultrasonic_sensor.cpp +++ b/esphome/components/ultrasonic/ultrasonic_sensor.cpp @@ -1,64 +1,96 @@ #include "ultrasonic_sensor.h" -#include "esphome/core/log.h" #include "esphome/core/hal.h" +#include "esphome/core/log.h" -namespace esphome { -namespace ultrasonic { +namespace esphome::ultrasonic { static const char *const TAG = "ultrasonic.sensor"; +static constexpr uint32_t DEBOUNCE_US = 50; // Ignore edges within 50us (noise filtering) +static constexpr uint32_t TIMEOUT_MARGIN_US = 1000; // Extra margin for sensor processing time + +void IRAM_ATTR UltrasonicSensorStore::gpio_intr(UltrasonicSensorStore *arg) { + uint32_t now = micros(); + if (!arg->echo_start || (now - arg->echo_start_us) <= DEBOUNCE_US) { + arg->echo_start_us = now; + arg->echo_start = true; + } else { + arg->echo_end_us = now; + arg->echo_end = true; + } +} + +void IRAM_ATTR UltrasonicSensorComponent::send_trigger_pulse_() { + InterruptLock lock; + this->store_.echo_start_us = 0; + this->store_.echo_end_us = 0; + this->store_.echo_start = false; + this->store_.echo_end = false; + this->trigger_pin_isr_.digital_write(true); + delayMicroseconds(this->pulse_time_us_); + this->trigger_pin_isr_.digital_write(false); + this->measurement_pending_ = true; + this->measurement_start_us_ = micros(); +} + void UltrasonicSensorComponent::setup() { this->trigger_pin_->setup(); this->trigger_pin_->digital_write(false); + this->trigger_pin_isr_ = this->trigger_pin_->to_isr(); this->echo_pin_->setup(); - // isr is faster to access - echo_isr_ = echo_pin_->to_isr(); + this->echo_pin_->attach_interrupt(UltrasonicSensorStore::gpio_intr, &this->store_, gpio::INTERRUPT_ANY_EDGE); } + void UltrasonicSensorComponent::update() { - this->trigger_pin_->digital_write(true); - delayMicroseconds(this->pulse_time_us_); - this->trigger_pin_->digital_write(false); + if (this->measurement_pending_) { + return; + } + this->send_trigger_pulse_(); +} - const uint32_t start = micros(); - while (micros() - start < timeout_us_ && echo_isr_.digital_read()) - ; - while (micros() - start < timeout_us_ && !echo_isr_.digital_read()) - ; - const uint32_t pulse_start = micros(); - while (micros() - start < timeout_us_ && echo_isr_.digital_read()) - ; - const uint32_t pulse_end = micros(); +void UltrasonicSensorComponent::loop() { + if (!this->measurement_pending_) { + return; + } - ESP_LOGV(TAG, "Echo took %" PRIu32 "µs", pulse_end - pulse_start); - - if (pulse_end - start >= timeout_us_) { - ESP_LOGD(TAG, "'%s' - Distance measurement timed out!", this->name_.c_str()); - this->publish_state(NAN); - } else { - float result = UltrasonicSensorComponent::us_to_m(pulse_end - pulse_start); + if (this->store_.echo_end) { + uint32_t pulse_duration = this->store_.echo_end_us - this->store_.echo_start_us; + ESP_LOGV(TAG, "Echo took %" PRIu32 "us", pulse_duration); + float result = UltrasonicSensorComponent::us_to_m(pulse_duration); ESP_LOGD(TAG, "'%s' - Got distance: %.3f m", this->name_.c_str(), result); this->publish_state(result); + this->measurement_pending_ = false; + return; + } + + uint32_t elapsed = micros() - this->measurement_start_us_; + if (elapsed >= this->timeout_us_ + TIMEOUT_MARGIN_US) { + ESP_LOGD(TAG, + "'%s' - Timeout after %" PRIu32 "us (measurement_start=%" PRIu32 ", echo_start=%" PRIu32 + ", echo_end=%" PRIu32 ")", + this->name_.c_str(), elapsed, this->measurement_start_us_, this->store_.echo_start_us, + this->store_.echo_end_us); + this->publish_state(NAN); + this->measurement_pending_ = false; } } + void UltrasonicSensorComponent::dump_config() { LOG_SENSOR("", "Ultrasonic Sensor", this); LOG_PIN(" Echo Pin: ", this->echo_pin_); LOG_PIN(" Trigger Pin: ", this->trigger_pin_); ESP_LOGCONFIG(TAG, - " Pulse time: %" PRIu32 " µs\n" - " Timeout: %" PRIu32 " µs", + " Pulse time: %" PRIu32 " us\n" + " Timeout: %" PRIu32 " us", this->pulse_time_us_, this->timeout_us_); LOG_UPDATE_INTERVAL(this); } + float UltrasonicSensorComponent::us_to_m(uint32_t us) { const float speed_sound_m_per_s = 343.0f; const float time_s = us / 1e6f; const float total_dist = time_s * speed_sound_m_per_s; return total_dist / 2.0f; } -float UltrasonicSensorComponent::get_setup_priority() const { return setup_priority::DATA; } -void UltrasonicSensorComponent::set_pulse_time_us(uint32_t pulse_time_us) { this->pulse_time_us_ = pulse_time_us; } -void UltrasonicSensorComponent::set_timeout_us(uint32_t timeout_us) { this->timeout_us_ = timeout_us; } -} // namespace ultrasonic -} // namespace esphome +} // namespace esphome::ultrasonic diff --git a/esphome/components/ultrasonic/ultrasonic_sensor.h b/esphome/components/ultrasonic/ultrasonic_sensor.h index 1a255d6122..e2266543ce 100644 --- a/esphome/components/ultrasonic/ultrasonic_sensor.h +++ b/esphome/components/ultrasonic/ultrasonic_sensor.h @@ -6,41 +6,49 @@ #include -namespace esphome { -namespace ultrasonic { +namespace esphome::ultrasonic { + +struct UltrasonicSensorStore { + static void gpio_intr(UltrasonicSensorStore *arg); + + volatile uint32_t echo_start_us{0}; + volatile uint32_t echo_end_us{0}; + volatile bool echo_start{false}; + volatile bool echo_end{false}; +}; class UltrasonicSensorComponent : public sensor::Sensor, public PollingComponent { public: - void set_trigger_pin(GPIOPin *trigger_pin) { trigger_pin_ = trigger_pin; } - void set_echo_pin(InternalGPIOPin *echo_pin) { echo_pin_ = echo_pin; } + void set_trigger_pin(InternalGPIOPin *trigger_pin) { this->trigger_pin_ = trigger_pin; } + void set_echo_pin(InternalGPIOPin *echo_pin) { this->echo_pin_ = echo_pin; } /// Set the timeout for waiting for the echo in µs. - void set_timeout_us(uint32_t timeout_us); + void set_timeout_us(uint32_t timeout_us) { this->timeout_us_ = timeout_us; } - // ========== INTERNAL METHODS ========== - // (In most use cases you won't need these) - /// Set up pins and register interval. void setup() override; + void loop() override; void dump_config() override; - void update() override; - float get_setup_priority() const override; + float get_setup_priority() const override { return setup_priority::DATA; } /// Set the time in µs the trigger pin should be enabled for in µs, defaults to 10µs (for HC-SR04) - void set_pulse_time_us(uint32_t pulse_time_us); + void set_pulse_time_us(uint32_t pulse_time_us) { this->pulse_time_us_ = pulse_time_us; } protected: /// Helper function to convert the specified echo duration in µs to meters. static float us_to_m(uint32_t us); - /// Helper function to convert the specified distance in meters to the echo duration in µs. + void send_trigger_pulse_(); - GPIOPin *trigger_pin_; + InternalGPIOPin *trigger_pin_; + ISRInternalGPIOPin trigger_pin_isr_; InternalGPIOPin *echo_pin_; - ISRInternalGPIOPin echo_isr_; - uint32_t timeout_us_{}; /// 2 meters. + UltrasonicSensorStore store_; + uint32_t timeout_us_{}; uint32_t pulse_time_us_{}; + + uint32_t measurement_start_us_{0}; + bool measurement_pending_{false}; }; -} // namespace ultrasonic -} // namespace esphome +} // namespace esphome::ultrasonic diff --git a/esphome/components/uponor_smatrix/uponor_smatrix.cpp b/esphome/components/uponor_smatrix/uponor_smatrix.cpp index 221f07c80e..4c3a4b05df 100644 --- a/esphome/components/uponor_smatrix/uponor_smatrix.cpp +++ b/esphome/components/uponor_smatrix/uponor_smatrix.cpp @@ -8,6 +8,9 @@ namespace uponor_smatrix { static const char *const TAG = "uponor_smatrix"; +// Maximum bytes to log in verbose hex output +static constexpr size_t UPONOR_MAX_LOG_BYTES = 36; + void UponorSmatrixComponent::setup() { #ifdef USE_TIME if (this->time_id_ != nullptr) { @@ -97,8 +100,11 @@ bool UponorSmatrixComponent::parse_byte_(uint8_t byte) { return false; } +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_size(UPONOR_MAX_LOG_BYTES)]; +#endif ESP_LOGV(TAG, "Received packet: addr=%08X, data=%s, crc=%04X", device_address, - format_hex(&packet[4], packet_len - 6).c_str(), crc); + format_hex_to(hex_buf, &packet[4], packet_len - 6), crc); // Handle packet size_t data_len = (packet_len - 6) / 3; diff --git a/esphome/components/usb_cdc_acm/usb_cdc_acm.cpp b/esphome/components/usb_cdc_acm/usb_cdc_acm.cpp index 1cf614286f..29120a3d0b 100644 --- a/esphome/components/usb_cdc_acm/usb_cdc_acm.cpp +++ b/esphome/components/usb_cdc_acm/usb_cdc_acm.cpp @@ -1,6 +1,7 @@ #if defined(USE_ESP32_VARIANT_ESP32P4) || defined(USE_ESP32_VARIANT_ESP32S2) || defined(USE_ESP32_VARIANT_ESP32S3) #include "usb_cdc_acm.h" #include "esphome/core/application.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #include @@ -16,6 +17,9 @@ namespace esphome::usb_cdc_acm { static const char *TAG = "usb_cdc_acm"; +// Maximum bytes to log in very verbose hex output (168 * 3 = 504, under TX buffer size of 512) +static constexpr size_t USB_CDC_MAX_LOG_BYTES = 168; + static constexpr size_t USB_TX_TASK_STACK_SIZE = 4096; static constexpr size_t USB_TX_TASK_STACK_SIZE_VV = 8192; @@ -43,7 +47,10 @@ static void tinyusb_cdc_rx_callback(int itf, cdcacm_event_t *event) { esp_err_t ret = tinyusb_cdcacm_read(static_cast(itf), rx_buf, CONFIG_TINYUSB_CDC_RX_BUFSIZE, &rx_size); ESP_LOGV(TAG, "tinyusb_cdc_rx_callback itf=%d (size: %u)", itf, rx_size); - ESP_LOGVV(TAG, "rx_buf = %s", format_hex_pretty(rx_buf, rx_size).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char rx_hex_buf[format_hex_pretty_size(USB_CDC_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, "rx_buf = %s", format_hex_pretty_to(rx_hex_buf, rx_buf, rx_size)); if (ret == ESP_OK && rx_size > 0) { RingbufHandle_t rx_ringbuf = instance->get_rx_ringbuf(); @@ -306,7 +313,10 @@ void USBCDCACMInstance::usb_tx_task() { } ESP_LOGV(TAG, "USB TX itf=%d: Read %d bytes from buffer", this->itf_, tx_data_size); - ESP_LOGVV(TAG, "data = %s", format_hex_pretty(data, tx_data_size).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char tx_hex_buf[format_hex_pretty_size(USB_CDC_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, "data = %s", format_hex_pretty_to(tx_hex_buf, data, tx_data_size)); // Serial data will be split up into 64 byte chunks to be sent over USB so this // usually will take multiple iterations diff --git a/esphome/components/usb_host/__init__.py b/esphome/components/usb_host/__init__.py index 9e058ee20b..e4c11be489 100644 --- a/esphome/components/usb_host/__init__.py +++ b/esphome/components/usb_host/__init__.py @@ -53,7 +53,7 @@ CONFIG_SCHEMA = cv.All( cv.Optional(CONF_DEVICES): cv.ensure_list(usb_device_schema()), } ), - only_on_variant(supported=[VARIANT_ESP32S2, VARIANT_ESP32S3, VARIANT_ESP32P4]), + only_on_variant(supported=[VARIANT_ESP32P4, VARIANT_ESP32S2, VARIANT_ESP32S3]), ) diff --git a/esphome/components/vbus/vbus.cpp b/esphome/components/vbus/vbus.cpp index e474dcfe17..b9496a08de 100644 --- a/esphome/components/vbus/vbus.cpp +++ b/esphome/components/vbus/vbus.cpp @@ -8,6 +8,9 @@ namespace vbus { static const char *const TAG = "vbus"; +// Maximum bytes to log in verbose hex output (16 frames * 4 bytes = 64 bytes typical) +static constexpr size_t VBUS_MAX_LOG_BYTES = 64; + void VBus::dump_config() { ESP_LOGCONFIG(TAG, "VBus:"); check_uart_settings(9600); @@ -101,8 +104,11 @@ void VBus::loop() { this->buffer_.push_back(this->fbytes_[i]); if (++this->cframe_ < this->frames_) continue; +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char hex_buf[format_hex_size(VBUS_MAX_LOG_BYTES)]; +#endif ESP_LOGV(TAG, "P2 C%04x %04x->%04x: %s", this->command_, this->source_, this->dest_, - format_hex(this->buffer_).c_str()); + format_hex_to(hex_buf, this->buffer_.data(), this->buffer_.size())); for (auto &listener : this->listeners_) listener->on_message(this->command_, this->source_, this->dest_, this->buffer_); this->state_ = 0; diff --git a/esphome/components/voice_assistant/__init__.py b/esphome/components/voice_assistant/__init__.py index 59c7ec8383..d28c786dd8 100644 --- a/esphome/components/voice_assistant/__init__.py +++ b/esphome/components/voice_assistant/__init__.py @@ -11,6 +11,7 @@ from esphome.const import ( CONF_ON_CLIENT_DISCONNECTED, CONF_ON_ERROR, CONF_ON_IDLE, + CONF_ON_START, CONF_SPEAKER, ) @@ -24,7 +25,6 @@ CONF_ON_INTENT_END = "on_intent_end" CONF_ON_INTENT_PROGRESS = "on_intent_progress" CONF_ON_INTENT_START = "on_intent_start" CONF_ON_LISTENING = "on_listening" -CONF_ON_START = "on_start" CONF_ON_STT_END = "on_stt_end" CONF_ON_STT_VAD_END = "on_stt_vad_end" CONF_ON_STT_VAD_START = "on_stt_vad_start" diff --git a/esphome/components/voice_assistant/voice_assistant.cpp b/esphome/components/voice_assistant/voice_assistant.cpp index b946e3b38a..8101d210b3 100644 --- a/esphome/components/voice_assistant/voice_assistant.cpp +++ b/esphome/components/voice_assistant/voice_assistant.cpp @@ -272,7 +272,8 @@ void VoiceAssistant::loop() { size_t read_bytes = this->ring_buffer_->read((void *) this->send_buffer_, SEND_BUFFER_SIZE, 0); if (this->audio_mode_ == AUDIO_MODE_API) { api::VoiceAssistantAudio msg; - msg.set_data(this->send_buffer_, read_bytes); + msg.data = this->send_buffer_; + msg.data_len = read_bytes; this->api_client_->send_message(msg, api::VoiceAssistantAudio::MESSAGE_TYPE); } else { if (!this->udp_socket_running_) { @@ -627,9 +628,9 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { ESP_LOGD(TAG, "Assist Pipeline running"); #ifdef USE_MEDIA_PLAYER this->started_streaming_tts_ = false; - for (auto arg : msg.data) { + for (const auto &arg : msg.data) { if (arg.name == "url") { - this->tts_response_url_ = std::move(arg.value); + this->tts_response_url_ = arg.value; } } #endif @@ -648,9 +649,9 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { break; case api::enums::VOICE_ASSISTANT_STT_END: { std::string text; - for (auto arg : msg.data) { + for (const auto &arg : msg.data) { if (arg.name == "text") { - text = std::move(arg.value); + text = arg.value; } } if (text.empty()) { @@ -693,9 +694,9 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { break; } case api::enums::VOICE_ASSISTANT_INTENT_END: { - for (auto arg : msg.data) { + for (const auto &arg : msg.data) { if (arg.name == "conversation_id") { - this->conversation_id_ = std::move(arg.value); + this->conversation_id_ = arg.value; } else if (arg.name == "continue_conversation") { this->continue_conversation_ = (arg.value == "1"); } @@ -705,9 +706,9 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { } case api::enums::VOICE_ASSISTANT_TTS_START: { std::string text; - for (auto arg : msg.data) { + for (const auto &arg : msg.data) { if (arg.name == "text") { - text = std::move(arg.value); + text = arg.value; } } if (text.empty()) { @@ -731,9 +732,9 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { } case api::enums::VOICE_ASSISTANT_TTS_END: { std::string url; - for (auto arg : msg.data) { + for (const auto &arg : msg.data) { if (arg.name == "url") { - url = std::move(arg.value); + url = arg.value; } } if (url.empty()) { @@ -778,11 +779,11 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { case api::enums::VOICE_ASSISTANT_ERROR: { std::string code = ""; std::string message = ""; - for (auto arg : msg.data) { + for (const auto &arg : msg.data) { if (arg.name == "code") { - code = std::move(arg.value); + code = arg.value; } else if (arg.name == "message") { - message = std::move(arg.value); + message = arg.value; } } if (code == "wake-word-timeout" || code == "wake_word_detection_aborted" || code == "no_wake_word") { @@ -841,12 +842,12 @@ void VoiceAssistant::on_event(const api::VoiceAssistantEventResponse &msg) { void VoiceAssistant::on_audio(const api::VoiceAssistantAudio &msg) { #ifdef USE_SPEAKER // We should never get to this function if there is no speaker anyway if ((this->speaker_ != nullptr) && (this->speaker_buffer_ != nullptr)) { - if (this->speaker_buffer_index_ + msg.data.length() < SPEAKER_BUFFER_SIZE) { - memcpy(this->speaker_buffer_ + this->speaker_buffer_index_, msg.data.data(), msg.data.length()); - this->speaker_buffer_index_ += msg.data.length(); - this->speaker_buffer_size_ += msg.data.length(); - this->speaker_bytes_received_ += msg.data.length(); - ESP_LOGV(TAG, "Received audio: %u bytes from API", msg.data.length()); + if (this->speaker_buffer_index_ + msg.data_len < SPEAKER_BUFFER_SIZE) { + memcpy(this->speaker_buffer_ + this->speaker_buffer_index_, msg.data, msg.data_len); + this->speaker_buffer_index_ += msg.data_len; + this->speaker_buffer_size_ += msg.data_len; + this->speaker_bytes_received_ += msg.data_len; + ESP_LOGV(TAG, "Received audio: %u bytes from API", msg.data_len); } else { ESP_LOGE(TAG, "Cannot receive audio, buffer is full"); } diff --git a/esphome/components/waveshare_epaper/waveshare_213v3.cpp b/esphome/components/waveshare_epaper/waveshare_213v3.cpp index 068cb91d31..b55f3c8d26 100644 --- a/esphome/components/waveshare_epaper/waveshare_213v3.cpp +++ b/esphome/components/waveshare_epaper/waveshare_213v3.cpp @@ -177,10 +177,10 @@ uint32_t WaveshareEPaper2P13InV3::idle_timeout_() { return 5000; } void WaveshareEPaper2P13InV3::dump_config() { LOG_DISPLAY("", "Waveshare E-Paper", this) ESP_LOGCONFIG(TAG, " Model: 2.13inV3"); - LOG_PIN(" CS Pin: ", this->cs_) - LOG_PIN(" Reset Pin: ", this->reset_pin_) - LOG_PIN(" DC Pin: ", this->dc_pin_) - LOG_PIN(" Busy Pin: ", this->busy_pin_) + LOG_PIN(" CS Pin: ", this->cs_); + LOG_PIN(" Reset Pin: ", this->reset_pin_); + LOG_PIN(" DC Pin: ", this->dc_pin_); + LOG_PIN(" Busy Pin: ", this->busy_pin_); LOG_UPDATE_INTERVAL(this); } diff --git a/esphome/components/waveshare_epaper/waveshare_epaper.cpp b/esphome/components/waveshare_epaper/waveshare_epaper.cpp index 3510d157d6..9ab050395d 100644 --- a/esphome/components/waveshare_epaper/waveshare_epaper.cpp +++ b/esphome/components/waveshare_epaper/waveshare_epaper.cpp @@ -172,6 +172,12 @@ void WaveshareEPaperBase::update() { this->display(); } void WaveshareEPaper::fill(Color color) { + // If clipping is active, fall back to base implementation + if (this->get_clipping().is_set()) { + Display::fill(color); + return; + } + // flip logic const uint8_t fill = color.is_on() ? 0x00 : 0xFF; for (uint32_t i = 0; i < this->get_buffer_length_(); i++) @@ -234,6 +240,12 @@ uint8_t WaveshareEPaper7C::color_to_hex(Color color) { return hex_code; } void WaveshareEPaper7C::fill(Color color) { + // If clipping is active, use base class (3-bit packing is complex for partial fills) + if (this->get_clipping().is_set()) { + display::Display::fill(color); + return; + } + uint8_t pixel_color; if (color.is_on()) { pixel_color = this->color_to_hex(color); diff --git a/esphome/components/web_server/server_index_v2.h b/esphome/components/web_server/server_index_v2.h index b2d204c9e7..4f2ea8a6ab 100644 --- a/esphome/components/web_server/server_index_v2.h +++ b/esphome/components/web_server/server_index_v2.h @@ -6,644 +6,652 @@ #include "esphome/core/hal.h" -namespace esphome::web_server { +namespace esphome { +namespace web_server { const uint8_t INDEX_GZ[] PROGMEM = { 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcd, 0x7d, 0xdb, 0x72, 0xdb, 0xc6, 0xb6, 0xe0, 0xf3, - 0xe4, 0x2b, 0x20, 0x44, 0x5b, 0x41, 0x6f, 0x36, 0x21, 0x92, 0x92, 0x6c, 0x19, 0x54, 0x93, 0x5b, 0x96, 0x9d, 0xed, - 0x64, 0xfb, 0x16, 0xcb, 0x4e, 0x76, 0xc2, 0x68, 0x4b, 0x10, 0xd1, 0x24, 0x3a, 0x06, 0xd1, 0x0c, 0xd0, 0xa4, 0xa4, - 0x90, 0x38, 0x35, 0x1f, 0x30, 0x55, 0x53, 0x35, 0x4f, 0xf3, 0x32, 0x35, 0xe7, 0x61, 0x3e, 0x62, 0x9e, 0xcf, 0xa7, - 0x9c, 0x1f, 0x98, 0xf9, 0x84, 0xa9, 0xd5, 0x17, 0xa0, 0xc1, 0x8b, 0xac, 0x5c, 0xce, 0x39, 0x53, 0x2e, 0xdb, 0x44, - 0xa3, 0x2f, 0xab, 0x57, 0xaf, 0x5e, 0xf7, 0x6e, 0x9c, 0xec, 0x44, 0x7c, 0x28, 0xee, 0xa6, 0xd4, 0x89, 0xc5, 0x24, - 0xe9, 0x9d, 0xe8, 0x7f, 0x69, 0x18, 0xf5, 0x4e, 0x12, 0x96, 0x7e, 0x74, 0x32, 0x9a, 0x10, 0x36, 0xe4, 0xa9, 0x13, - 0x67, 0x74, 0x44, 0xa2, 0x50, 0x84, 0x01, 0x9b, 0x84, 0x63, 0xea, 0xec, 0xf7, 0x4e, 0x26, 0x54, 0x84, 0xce, 0x30, - 0x0e, 0xb3, 0x9c, 0x0a, 0xf2, 0xe1, 0xfd, 0x97, 0xcd, 0xe3, 0xde, 0x49, 0x3e, 0xcc, 0xd8, 0x54, 0x38, 0xd0, 0x25, - 0x99, 0xf0, 0x68, 0x96, 0xd0, 0xde, 0xfe, 0xfe, 0xcd, 0xcd, 0x8d, 0xff, 0x53, 0xfe, 0xd9, 0x90, 0xa7, 0xb9, 0x70, - 0x5e, 0x92, 0x1b, 0x96, 0x46, 0xfc, 0x06, 0x33, 0x41, 0x5e, 0xfa, 0xe7, 0x71, 0x18, 0xf1, 0x9b, 0x77, 0x9c, 0x8b, - 0xbd, 0x3d, 0x4f, 0x3d, 0xde, 0x9d, 0x9d, 0x9f, 0x13, 0x42, 0xe6, 0x9c, 0x45, 0x4e, 0x6b, 0xb9, 0xac, 0x0a, 0xfd, - 0x34, 0x14, 0x6c, 0x4e, 0x55, 0x13, 0xb4, 0xb7, 0xe7, 0x86, 0x11, 0x9f, 0x0a, 0x1a, 0x9d, 0x8b, 0xbb, 0x84, 0x9e, - 0xc7, 0x94, 0x8a, 0xdc, 0x65, 0xa9, 0xf3, 0x8c, 0x0f, 0x67, 0x13, 0x9a, 0x0a, 0x7f, 0x9a, 0x71, 0xc1, 0x01, 0x92, - 0xbd, 0x3d, 0x37, 0xa3, 0xd3, 0x24, 0x1c, 0x52, 0x78, 0x7f, 0x76, 0x7e, 0x5e, 0xb5, 0xa8, 0x2a, 0xe1, 0x5c, 0x90, - 0xf3, 0xbb, 0xc9, 0x35, 0x4f, 0x3c, 0x84, 0x43, 0x41, 0x52, 0x7a, 0xe3, 0x7c, 0x47, 0xc3, 0x8f, 0xaf, 0xc2, 0x69, - 0x77, 0x98, 0x84, 0x79, 0xee, 0xdc, 0x88, 0x85, 0x9c, 0x42, 0x36, 0x1b, 0x0a, 0x9e, 0x79, 0x02, 0x53, 0xcc, 0xd0, - 0x82, 0x8d, 0x3c, 0x11, 0xb3, 0xdc, 0xbf, 0xdc, 0x1d, 0xe6, 0xf9, 0x3b, 0x9a, 0xcf, 0x12, 0xb1, 0x4b, 0x76, 0x5a, - 0x98, 0xed, 0x10, 0x92, 0x0b, 0x24, 0xe2, 0x8c, 0xdf, 0x38, 0xcf, 0xb3, 0x8c, 0x67, 0x9e, 0x7b, 0x76, 0x7e, 0xae, - 0x6a, 0x38, 0x2c, 0x77, 0x52, 0x2e, 0x9c, 0xb2, 0xbf, 0xf0, 0x3a, 0xa1, 0xbe, 0xf3, 0x21, 0xa7, 0xce, 0xd5, 0x2c, - 0xcd, 0xc3, 0x11, 0x3d, 0x3b, 0x3f, 0xbf, 0x72, 0x78, 0xe6, 0x5c, 0x0d, 0xf3, 0xfc, 0xca, 0x61, 0x69, 0x2e, 0x68, - 0x18, 0xf9, 0x2e, 0xea, 0xca, 0xc1, 0x86, 0x79, 0xfe, 0x9e, 0xde, 0x0a, 0x22, 0xb0, 0x7c, 0x14, 0x84, 0x16, 0x63, - 0x2a, 0x9c, 0xbc, 0x9c, 0x97, 0x87, 0x16, 0x09, 0x15, 0x8e, 0x20, 0xf2, 0x3d, 0xef, 0x2a, 0xdc, 0x53, 0xf5, 0x28, - 0xba, 0x6c, 0xe4, 0x31, 0xb1, 0xb7, 0x27, 0x4a, 0x3c, 0x23, 0x35, 0x35, 0x87, 0x11, 0xba, 0x63, 0xca, 0xf6, 0xf6, - 0xa8, 0x9f, 0xd0, 0x74, 0x2c, 0x62, 0x42, 0x48, 0xbb, 0xcb, 0xf6, 0xf6, 0x3c, 0x41, 0x42, 0xe1, 0x8f, 0xa9, 0xf0, - 0x28, 0x42, 0xb8, 0x6a, 0xbd, 0xb7, 0xe7, 0x29, 0x24, 0x70, 0xa2, 0x10, 0x57, 0xc3, 0x31, 0xf2, 0x35, 0xf6, 0xcf, - 0xef, 0xd2, 0xa1, 0x67, 0xc3, 0x8f, 0x30, 0xdb, 0xdb, 0x0b, 0x85, 0x9f, 0x43, 0x8f, 0x58, 0x20, 0x54, 0x64, 0x54, - 0xcc, 0xb2, 0xd4, 0x11, 0x85, 0xe0, 0xe7, 0x22, 0x63, 0xe9, 0xd8, 0x43, 0x0b, 0x53, 0x66, 0x35, 0x2c, 0x0a, 0x05, - 0xee, 0x07, 0x41, 0x52, 0xd2, 0x83, 0x11, 0x6f, 0x84, 0x07, 0xab, 0xc8, 0x47, 0x4e, 0x4a, 0x88, 0x9b, 0xcb, 0xb6, - 0x6e, 0x3f, 0x0d, 0xd2, 0x86, 0xeb, 0x62, 0x05, 0x25, 0xce, 0x05, 0xc2, 0x6f, 0x88, 0x97, 0x62, 0xdf, 0xf7, 0x05, - 0x22, 0xbd, 0x85, 0xc1, 0x4a, 0x6a, 0xcd, 0xb3, 0x9f, 0x0e, 0x5a, 0x17, 0x81, 0xf0, 0x33, 0x1a, 0xcd, 0x86, 0xd4, - 0xf3, 0x18, 0xce, 0x71, 0x86, 0x48, 0x8f, 0x35, 0x3c, 0x4e, 0x7a, 0xb0, 0xdc, 0xbc, 0xbe, 0xd6, 0x84, 0xec, 0xb4, - 0x90, 0x86, 0x91, 0x1b, 0x00, 0x01, 0xc3, 0x1a, 0x1e, 0x4e, 0x88, 0x9b, 0xce, 0x26, 0xd7, 0x34, 0x73, 0xcb, 0x6a, - 0xdd, 0x1a, 0x59, 0xcc, 0x72, 0xea, 0x0c, 0xf3, 0xdc, 0x19, 0xcd, 0xd2, 0xa1, 0x60, 0x3c, 0x75, 0xdc, 0x06, 0x6f, - 0xb8, 0x8a, 0x1c, 0x4a, 0x6a, 0x70, 0x51, 0x81, 0xbc, 0x1c, 0x35, 0xd2, 0x41, 0xd6, 0x68, 0x5f, 0x60, 0x80, 0x12, - 0x75, 0x75, 0x7f, 0x1a, 0x01, 0x14, 0xa7, 0x30, 0xc7, 0x02, 0xbf, 0x17, 0x30, 0x4b, 0x39, 0x45, 0x26, 0xfa, 0xa9, - 0xbf, 0xbe, 0x51, 0x88, 0xf0, 0x27, 0xe1, 0xd4, 0xa3, 0xa4, 0x47, 0x25, 0x71, 0x85, 0xe9, 0x10, 0x60, 0xad, 0xad, - 0x5b, 0x9f, 0x06, 0xd4, 0xaf, 0x48, 0x0a, 0x05, 0xc2, 0x1f, 0xf1, 0xec, 0x79, 0x38, 0x8c, 0xa1, 0x5d, 0x49, 0x30, - 0x91, 0xd9, 0x6f, 0xc3, 0x8c, 0x86, 0x82, 0x3e, 0x4f, 0x28, 0x3c, 0x79, 0xae, 0x6c, 0xe9, 0x22, 0x9c, 0x93, 0x97, - 0x7e, 0xc2, 0xc4, 0x6b, 0x9e, 0x0e, 0x69, 0x37, 0xb7, 0xa8, 0x8b, 0xc1, 0xba, 0x9f, 0x0a, 0x91, 0xb1, 0xeb, 0x99, - 0xa0, 0x9e, 0x9b, 0x42, 0x0d, 0x17, 0xe7, 0x08, 0x33, 0x5f, 0xd0, 0x5b, 0x71, 0xc6, 0x53, 0x41, 0x53, 0x41, 0xa8, - 0x41, 0x2a, 0x4e, 0xfd, 0x70, 0x3a, 0xa5, 0x69, 0x74, 0x16, 0xb3, 0x24, 0xf2, 0x18, 0x2a, 0x50, 0x81, 0x63, 0x41, - 0x60, 0x8e, 0xa4, 0x97, 0x06, 0xf0, 0xcf, 0xf6, 0xd9, 0x78, 0x82, 0xf4, 0xe4, 0xa6, 0xa0, 0xc4, 0x75, 0xbb, 0x23, - 0x9e, 0x79, 0x7a, 0x06, 0x0e, 0x1f, 0x39, 0x02, 0xc6, 0x78, 0x37, 0x4b, 0x68, 0x8e, 0x68, 0x83, 0xb0, 0x72, 0x19, - 0x35, 0x82, 0x3f, 0x00, 0xc5, 0x17, 0xc8, 0x4b, 0x51, 0x90, 0x76, 0xe7, 0x61, 0xe6, 0x7c, 0xa7, 0x77, 0xd4, 0x33, - 0xc3, 0xcd, 0x86, 0x82, 0x3c, 0xf3, 0x45, 0x36, 0xcb, 0x05, 0x8d, 0xde, 0xdf, 0x4d, 0x69, 0x8e, 0x5f, 0x0b, 0x32, - 0x14, 0xfd, 0xa1, 0xf0, 0xe9, 0x64, 0x2a, 0xee, 0xce, 0x25, 0x63, 0x0c, 0x5c, 0x17, 0x47, 0x50, 0x33, 0xa3, 0xe1, - 0x10, 0x98, 0x99, 0xc6, 0xd6, 0x5b, 0x9e, 0xdc, 0x8d, 0x58, 0x92, 0x9c, 0xcf, 0xa6, 0x53, 0x9e, 0x09, 0xfc, 0x77, - 0xb2, 0x10, 0xbc, 0x42, 0x0d, 0xac, 0xe5, 0x22, 0xbf, 0x61, 0x62, 0x18, 0x7b, 0x02, 0x2d, 0x86, 0x61, 0x4e, 0x9d, - 0xa7, 0x9c, 0x27, 0x34, 0x84, 0x49, 0xa7, 0xfd, 0xd7, 0x22, 0x48, 0x67, 0x49, 0xd2, 0xbd, 0xce, 0x68, 0xf8, 0xb1, - 0x2b, 0x5f, 0xbf, 0xb9, 0xfe, 0x89, 0x0e, 0x45, 0x20, 0x7f, 0x9f, 0x66, 0x59, 0x78, 0x07, 0x15, 0x09, 0x81, 0x6a, - 0xfd, 0x34, 0xf8, 0xfa, 0xfc, 0xcd, 0x6b, 0x5f, 0x6d, 0x12, 0x36, 0xba, 0xf3, 0xd2, 0x72, 0xe3, 0xa5, 0x05, 0x1e, - 0x65, 0x7c, 0xb2, 0x32, 0xb4, 0xc2, 0x5a, 0xda, 0xdd, 0x02, 0x02, 0x25, 0xe9, 0x8e, 0xea, 0xda, 0x86, 0xe0, 0xb5, - 0xa4, 0x79, 0x78, 0x49, 0xcc, 0xb8, 0xb3, 0x24, 0x09, 0x54, 0xb1, 0x97, 0xa2, 0xfb, 0xa1, 0x15, 0xd9, 0xdd, 0x82, - 0x12, 0x09, 0xe7, 0x14, 0x24, 0x0c, 0xc0, 0x38, 0x0c, 0xc5, 0x30, 0x5e, 0x50, 0xd9, 0x59, 0x61, 0x20, 0xa6, 0x45, - 0x81, 0x6f, 0x4b, 0x7a, 0x17, 0x00, 0x88, 0x64, 0x54, 0x44, 0x2c, 0x97, 0x30, 0x61, 0x84, 0x7f, 0x20, 0x8b, 0xd0, - 0xcc, 0x27, 0xd8, 0x69, 0x61, 0xd8, 0x97, 0x81, 0xe2, 0x2e, 0x78, 0xc8, 0xd3, 0x39, 0xcd, 0x04, 0xcd, 0x82, 0xbf, - 0xe3, 0x8c, 0x8e, 0x12, 0x80, 0x62, 0xa7, 0x8d, 0xe3, 0x30, 0x3f, 0x8b, 0xc3, 0x74, 0x4c, 0xa3, 0xe0, 0x56, 0x14, - 0x58, 0x08, 0xe2, 0x8e, 0x58, 0x1a, 0x26, 0xec, 0x17, 0x1a, 0xb9, 0x5a, 0x1c, 0x3c, 0x77, 0xe8, 0xad, 0xa0, 0x69, - 0x94, 0x3b, 0x2f, 0xde, 0xbf, 0x7a, 0xa9, 0x17, 0xb2, 0x26, 0x21, 0xd0, 0x22, 0x9f, 0x4d, 0x69, 0xe6, 0x21, 0xac, - 0x25, 0xc4, 0x73, 0x26, 0xb9, 0xe3, 0xab, 0x70, 0xaa, 0x4a, 0x58, 0xfe, 0x61, 0x1a, 0x85, 0x82, 0xbe, 0xa5, 0x69, - 0xc4, 0xd2, 0x31, 0xd9, 0x69, 0xab, 0xf2, 0x38, 0xd4, 0x2f, 0xa2, 0xb2, 0xe8, 0x72, 0xf7, 0x79, 0x22, 0x27, 0x5e, - 0x3e, 0xce, 0x3c, 0x54, 0xe4, 0x22, 0x14, 0x6c, 0xe8, 0x84, 0x51, 0xf4, 0x55, 0xca, 0x04, 0x93, 0x00, 0x66, 0xb0, - 0x3e, 0x40, 0xa3, 0x54, 0xc9, 0x0a, 0x03, 0xb8, 0x87, 0xb0, 0xe7, 0x69, 0x09, 0x10, 0x23, 0xbd, 0x60, 0x7b, 0x7b, - 0x15, 0xbf, 0xef, 0xd3, 0x40, 0xbd, 0x24, 0x83, 0x0b, 0xe4, 0x4f, 0x67, 0x39, 0xac, 0xb4, 0x19, 0x02, 0xc4, 0x0b, - 0xbf, 0xce, 0x69, 0x36, 0xa7, 0x51, 0x49, 0x1d, 0xb9, 0x87, 0x16, 0x2b, 0x63, 0xe8, 0x7d, 0x21, 0xc8, 0xe0, 0xa2, - 0x6b, 0x33, 0x6e, 0xaa, 0x09, 0x3d, 0xe3, 0x53, 0x9a, 0x09, 0x46, 0xf3, 0x92, 0x97, 0x78, 0x20, 0x46, 0x4b, 0x7e, - 0x92, 0x13, 0x33, 0xbf, 0xa9, 0xc7, 0x30, 0x45, 0x35, 0x8e, 0x61, 0x24, 0xed, 0xf3, 0xb9, 0x14, 0x19, 0x39, 0x66, - 0x08, 0x0b, 0x05, 0x69, 0x8e, 0x50, 0x81, 0xb0, 0x30, 0xe0, 0x2a, 0x5e, 0xa4, 0x47, 0xbb, 0x03, 0x59, 0x4d, 0x7e, - 0x90, 0xb2, 0x1a, 0x38, 0x5a, 0x28, 0xe8, 0xde, 0x9e, 0x47, 0xfd, 0x92, 0x2a, 0xc8, 0x4e, 0x5b, 0xaf, 0x91, 0x85, - 0xac, 0x2d, 0x60, 0xc3, 0xc0, 0x02, 0x53, 0x84, 0x77, 0xa8, 0x9f, 0xf2, 0xd3, 0xe1, 0x90, 0xe6, 0x39, 0xcf, 0xf6, - 0xf6, 0x76, 0x64, 0xfd, 0x52, 0x9d, 0x80, 0x35, 0x7c, 0x73, 0x93, 0x56, 0x10, 0xa0, 0x4a, 0xc4, 0x6a, 0xc1, 0x20, - 0x40, 0x50, 0x49, 0x8d, 0xc3, 0xed, 0x1b, 0xcd, 0x23, 0x70, 0x2f, 0x2f, 0xdd, 0x86, 0xc0, 0x1a, 0x0d, 0x63, 0x6a, - 0x86, 0xbe, 0x7b, 0x46, 0x95, 0x6e, 0x25, 0x35, 0x8f, 0x35, 0xcc, 0xa8, 0x0d, 0xe4, 0x47, 0x74, 0xc4, 0x52, 0x6b, - 0xda, 0x35, 0x90, 0xb0, 0xc0, 0x39, 0x2a, 0xac, 0x05, 0xdd, 0xd8, 0xb5, 0x54, 0x6a, 0xd4, 0xca, 0x2d, 0xc6, 0x52, - 0x91, 0xb0, 0x96, 0x71, 0x40, 0x2f, 0x0a, 0x2c, 0x51, 0x6f, 0x66, 0x93, 0x49, 0x40, 0x07, 0xe2, 0xa2, 0xab, 0xdf, - 0x93, 0x5c, 0x61, 0x2e, 0xa3, 0x3f, 0xcf, 0x68, 0x2e, 0x14, 0x1d, 0x7b, 0x02, 0x67, 0x98, 0xa1, 0x02, 0xf6, 0xdb, - 0x88, 0x8d, 0x67, 0x19, 0xe8, 0x3b, 0xb0, 0x17, 0x69, 0x3a, 0x9b, 0x50, 0xf3, 0xb4, 0x09, 0xb6, 0x37, 0x53, 0x90, - 0x88, 0x39, 0xd0, 0xf4, 0xfd, 0xe4, 0x04, 0xb0, 0x0a, 0xb4, 0x5c, 0xfe, 0x60, 0x3a, 0xa9, 0x96, 0xb2, 0xd4, 0xd1, - 0x56, 0xd7, 0x44, 0x20, 0x2d, 0x91, 0x77, 0xda, 0x0a, 0x7c, 0x21, 0x2e, 0xc8, 0x4e, 0xab, 0xa4, 0x61, 0x8d, 0x55, - 0x05, 0x8e, 0x42, 0xe2, 0x1b, 0xd5, 0x15, 0x92, 0x02, 0xbe, 0x46, 0x2e, 0x7e, 0xbc, 0x46, 0xa9, 0x31, 0x19, 0x80, - 0xaa, 0xe1, 0xc7, 0x17, 0xdb, 0xc8, 0xc9, 0xf0, 0x03, 0x4f, 0xac, 0xbf, 0xab, 0xd8, 0xc6, 0xbc, 0xce, 0x36, 0x56, - 0xa6, 0xe1, 0x4e, 0xcb, 0x26, 0x6e, 0x49, 0x65, 0x7a, 0xa3, 0x57, 0xaf, 0x30, 0x93, 0xc0, 0x54, 0x53, 0xb2, 0xba, - 0x78, 0x1d, 0x4e, 0x68, 0xee, 0x51, 0x84, 0xb7, 0x55, 0x50, 0xe4, 0x09, 0x55, 0x2e, 0x2c, 0xc9, 0x99, 0x83, 0xe4, - 0x64, 0x48, 0x29, 0x66, 0xf5, 0x0d, 0x97, 0x63, 0x3a, 0xc8, 0x2f, 0x2a, 0x7d, 0xce, 0x9a, 0xbc, 0x14, 0xc9, 0x9a, - 0xbe, 0x0d, 0xfe, 0x54, 0x99, 0x42, 0x9a, 0xd4, 0x1b, 0x72, 0x84, 0x77, 0x5a, 0xab, 0x2b, 0x69, 0x6a, 0x55, 0x73, - 0x1c, 0x5c, 0xc0, 0x3a, 0x48, 0x89, 0xe1, 0xb3, 0x5c, 0xfe, 0x5f, 0xdb, 0x69, 0x80, 0xb6, 0x73, 0x20, 0x0c, 0x7f, - 0x94, 0x84, 0xc2, 0x6b, 0xef, 0xb7, 0x40, 0x19, 0x9d, 0x53, 0x10, 0x28, 0x08, 0xad, 0x4f, 0x85, 0xfa, 0xb3, 0x34, - 0x8f, 0xd9, 0x48, 0x78, 0xb1, 0x90, 0x2c, 0x85, 0x26, 0x39, 0x75, 0x44, 0x4d, 0x25, 0x96, 0xec, 0x26, 0x06, 0x62, - 0x2b, 0xf5, 0x2f, 0x6a, 0x20, 0x95, 0x6c, 0x0b, 0xb8, 0x43, 0xa5, 0x4e, 0x57, 0x5c, 0xc6, 0xd4, 0x66, 0xa0, 0x32, - 0xb6, 0xfb, 0xaa, 0xc7, 0x40, 0x33, 0x03, 0x66, 0x69, 0xad, 0x2c, 0xb0, 0x39, 0x84, 0x2e, 0x14, 0xbe, 0xe0, 0x2f, - 0xf9, 0x0d, 0xcd, 0xce, 0x42, 0x00, 0x3e, 0x50, 0xcd, 0x0b, 0x25, 0x08, 0x24, 0xbf, 0x17, 0x5d, 0x43, 0x2f, 0x97, - 0x72, 0xe2, 0x6f, 0x33, 0x3e, 0x61, 0x39, 0x05, 0x65, 0x4d, 0xe1, 0x3f, 0x85, 0x7d, 0x26, 0x37, 0x24, 0x08, 0x1b, - 0x5a, 0xd2, 0xd7, 0xe9, 0xcb, 0x3a, 0x7d, 0x5d, 0xee, 0x3e, 0x1f, 0x1b, 0x06, 0x58, 0xdf, 0xc6, 0x08, 0x7b, 0xda, - 0xa4, 0xb0, 0xe4, 0x9c, 0x1f, 0x23, 0x2d, 0xe1, 0x97, 0x4b, 0x61, 0x59, 0x6e, 0x35, 0x75, 0x91, 0xaa, 0x6d, 0x83, - 0x8a, 0x30, 0x8a, 0x40, 0xb1, 0xcb, 0x78, 0x92, 0x58, 0xa2, 0x0a, 0xb3, 0x6e, 0x29, 0x9c, 0x2e, 0x77, 0x9f, 0x9f, - 0xdf, 0x27, 0x9f, 0xe0, 0xbd, 0x2d, 0xa2, 0x0c, 0xa0, 0x69, 0x44, 0x33, 0xb0, 0x24, 0xad, 0xd5, 0xd2, 0x52, 0xf6, - 0x8c, 0xa7, 0x29, 0x1d, 0x0a, 0x1a, 0x81, 0xa1, 0xc2, 0x88, 0xf0, 0x63, 0x9e, 0x8b, 0xb2, 0xb0, 0x82, 0x9e, 0x59, - 0xd0, 0x33, 0x7f, 0x18, 0x26, 0x89, 0xa7, 0x8c, 0x92, 0x09, 0x9f, 0xd3, 0x0d, 0x50, 0x77, 0x6b, 0x20, 0x97, 0xdd, - 0x50, 0xab, 0x1b, 0xea, 0xe7, 0xd3, 0x84, 0x0d, 0x69, 0x29, 0xba, 0xce, 0x7d, 0x96, 0x46, 0xf4, 0x16, 0xf8, 0x08, - 0xea, 0xf5, 0x7a, 0x2d, 0xdc, 0x46, 0x85, 0x42, 0xf8, 0x62, 0x0d, 0xb1, 0xf7, 0x08, 0x4d, 0x20, 0x32, 0xd2, 0x5b, - 0x6c, 0xe2, 0x07, 0x14, 0x59, 0x92, 0x92, 0x19, 0xe3, 0x4a, 0x71, 0x67, 0x84, 0x23, 0x9a, 0x50, 0x41, 0x0d, 0x37, - 0x07, 0x15, 0x5a, 0x6d, 0xdd, 0x77, 0x25, 0xfe, 0x4a, 0x72, 0x32, 0xbb, 0xcc, 0xac, 0x79, 0x5e, 0x1a, 0xeb, 0xd5, - 0xf2, 0x54, 0xd8, 0xee, 0x0b, 0xb5, 0x3c, 0xa1, 0x10, 0xe1, 0x30, 0x56, 0x56, 0xba, 0xb7, 0x36, 0xa5, 0xaa, 0x0f, - 0xcd, 0xd9, 0xcb, 0x4d, 0xf4, 0xde, 0x80, 0xb9, 0x09, 0x05, 0xe7, 0x9a, 0x29, 0x50, 0x30, 0xfc, 0xd4, 0xb2, 0x9d, - 0x85, 0x49, 0x72, 0x1d, 0x0e, 0x3f, 0xd6, 0xa9, 0xbf, 0x22, 0x03, 0xb2, 0xca, 0x8d, 0xad, 0x57, 0x16, 0xcb, 0xb2, - 0xe7, 0x6d, 0xb8, 0x74, 0x6d, 0xa3, 0x78, 0x3b, 0xad, 0x8a, 0xec, 0xeb, 0x0b, 0xbd, 0x95, 0xda, 0x25, 0x44, 0x4c, - 0xcf, 0xcc, 0x03, 0x2e, 0xf0, 0x49, 0x8a, 0x33, 0xfc, 0x40, 0xd3, 0x1d, 0x98, 0x1b, 0xc5, 0x0a, 0x20, 0x02, 0x2d, - 0x8a, 0x88, 0xe5, 0xdb, 0x31, 0xf0, 0x87, 0x40, 0xf9, 0xcc, 0x1a, 0xe1, 0xa1, 0x80, 0x96, 0x3c, 0x4e, 0x6b, 0xcd, - 0x25, 0x64, 0x5a, 0x9f, 0x30, 0x8c, 0xe6, 0x6f, 0xa0, 0xbb, 0x48, 0x7a, 0x7f, 0xa3, 0x5e, 0x81, 0x56, 0x06, 0x50, - 0xe4, 0x5d, 0x5b, 0x9d, 0xa8, 0x51, 0x80, 0xe6, 0xa9, 0x4c, 0x8a, 0xdc, 0xac, 0x66, 0x3f, 0x6a, 0x8d, 0x5d, 0x99, - 0xe0, 0x9a, 0xe5, 0x72, 0xe2, 0x79, 0x5e, 0x0e, 0x26, 0x9c, 0x51, 0xed, 0xab, 0x49, 0xe4, 0x6b, 0x93, 0xc8, 0x7d, - 0xcb, 0xce, 0x42, 0x15, 0x2d, 0x5b, 0xcd, 0x83, 0xbf, 0x23, 0xbb, 0x12, 0xa8, 0xab, 0x3e, 0xf0, 0x67, 0x54, 0xb2, - 0xdb, 0x84, 0x08, 0xcc, 0xb5, 0x8d, 0xa3, 0x29, 0x0d, 0x18, 0x46, 0xd5, 0x24, 0x43, 0x6a, 0x6b, 0xd4, 0xec, 0xdd, - 0x0c, 0x73, 0xb4, 0xa2, 0xdb, 0x17, 0x85, 0xc6, 0x11, 0x45, 0x7a, 0x6d, 0x6a, 0x4a, 0xb1, 0x85, 0x15, 0x9c, 0x11, - 0xad, 0x08, 0x2b, 0xbd, 0x67, 0x15, 0x37, 0x65, 0xbf, 0x3b, 0x84, 0x64, 0x15, 0x6a, 0x6a, 0x1a, 0xa5, 0x51, 0xad, - 0x32, 0x84, 0x63, 0xa3, 0x93, 0xf2, 0x6a, 0xde, 0x84, 0xb8, 0xc6, 0x21, 0xe1, 0xf6, 0x17, 0x35, 0xab, 0x30, 0xb0, - 0xaa, 0x15, 0x01, 0xb0, 0x54, 0xbe, 0x09, 0xdd, 0x9b, 0x68, 0xa6, 0xd6, 0x8f, 0x85, 0x70, 0x6e, 0x23, 0xdc, 0xc2, - 0x6c, 0xa6, 0x38, 0x57, 0x76, 0x41, 0xe2, 0x7a, 0x5b, 0x8f, 0x62, 0xae, 0xd6, 0x61, 0x0d, 0x89, 0xab, 0xaa, 0xa7, - 0x24, 0x41, 0xb0, 0x61, 0x73, 0x50, 0xee, 0x6c, 0xf9, 0xe0, 0x01, 0xec, 0x6c, 0xb9, 0x5c, 0x23, 0xba, 0x8d, 0x1a, - 0x28, 0xf2, 0x2b, 0xbb, 0x70, 0xb9, 0xbc, 0x15, 0xc8, 0xd3, 0xba, 0x2f, 0xa6, 0xa8, 0x6f, 0x38, 0xee, 0xe9, 0x4b, - 0xa8, 0x25, 0x55, 0xd1, 0xaa, 0xa4, 0x34, 0x1a, 0xea, 0x34, 0x5b, 0x5f, 0x27, 0x61, 0xb1, 0xed, 0xb3, 0x35, 0xee, - 0x25, 0x0b, 0xb5, 0x98, 0xae, 0xa6, 0x7c, 0xa6, 0xbb, 0x66, 0x08, 0xa1, 0x20, 0x97, 0x76, 0xcc, 0xce, 0x26, 0xd3, - 0x72, 0x6f, 0x2f, 0xb7, 0x3a, 0xba, 0x2c, 0xd9, 0xc4, 0x4f, 0x1e, 0x88, 0xe4, 0xfc, 0x2e, 0x95, 0xba, 0xcb, 0x4f, - 0x46, 0x08, 0xad, 0x19, 0xa6, 0xad, 0x2e, 0x18, 0xe4, 0xe1, 0x4d, 0xc8, 0x84, 0x53, 0xf6, 0xa2, 0x0c, 0x72, 0x8f, - 0xa2, 0x85, 0x56, 0x35, 0xfc, 0x8c, 0x82, 0xf2, 0x08, 0x3c, 0xc1, 0xa8, 0xd0, 0x8a, 0xee, 0x87, 0x31, 0x05, 0x5f, - 0xb0, 0xd1, 0x22, 0x4a, 0xcb, 0x70, 0x47, 0x4b, 0x11, 0xdd, 0xf1, 0x66, 0xd8, 0x8b, 0xd5, 0xe6, 0x35, 0x4b, 0x60, - 0x4a, 0xb3, 0x11, 0xcf, 0x26, 0xe6, 0x5d, 0xb1, 0xf2, 0xac, 0x39, 0x23, 0x1b, 0x79, 0x1b, 0xfb, 0xd6, 0xfa, 0x7f, - 0x77, 0xc5, 0xec, 0xae, 0x0c, 0xf6, 0x9a, 0x28, 0x2d, 0xa5, 0xaf, 0x72, 0x09, 0x1a, 0xca, 0xcc, 0x6d, 0x03, 0x5f, - 0xfb, 0x53, 0xbb, 0xca, 0x67, 0xb2, 0xd3, 0xee, 0x96, 0x56, 0x9f, 0xa1, 0x86, 0xae, 0xf2, 0x6d, 0x68, 0x91, 0xca, - 0x67, 0x49, 0xa4, 0x81, 0x65, 0x08, 0x53, 0x4d, 0x47, 0x37, 0x2c, 0x49, 0xaa, 0xd2, 0x5f, 0xc3, 0xd7, 0x73, 0xcd, - 0xd7, 0x33, 0xc3, 0xd7, 0x81, 0x53, 0x00, 0x5f, 0x57, 0xdd, 0x55, 0xcd, 0xb3, 0xb5, 0xdd, 0x99, 0x29, 0x8e, 0x9e, - 0x4b, 0x4b, 0x1a, 0xc6, 0x9b, 0x19, 0x08, 0x50, 0xa9, 0x79, 0x7d, 0xf4, 0xb4, 0x1f, 0x06, 0x4c, 0x40, 0xe5, 0xc5, - 0xa4, 0xb6, 0x93, 0xe2, 0xa3, 0x87, 0x70, 0x5e, 0xd0, 0x92, 0xb2, 0x4f, 0x9f, 0x83, 0x9f, 0xce, 0x9a, 0x0e, 0x08, - 0x31, 0x59, 0xfc, 0xab, 0x94, 0x28, 0x33, 0x3b, 0xa6, 0x67, 0x97, 0x9b, 0xd9, 0x01, 0xa7, 0xaf, 0x66, 0x17, 0xdd, - 0xcf, 0xeb, 0xe5, 0xf4, 0x58, 0x39, 0xbd, 0x6a, 0xbd, 0x97, 0x4b, 0x6f, 0xa5, 0x04, 0x5c, 0xf8, 0xda, 0x44, 0xc9, - 0xca, 0xde, 0x81, 0x07, 0xd8, 0x98, 0x81, 0x82, 0x42, 0x4d, 0xba, 0x14, 0x71, 0x2f, 0x3f, 0xe5, 0xe2, 0x91, 0x9e, - 0x7a, 0xd5, 0xfe, 0x8c, 0x4f, 0xa6, 0xa0, 0x8d, 0xad, 0x90, 0xf4, 0x98, 0xea, 0x01, 0xab, 0xf7, 0xc5, 0x86, 0xb2, - 0x5a, 0x1b, 0xb9, 0x1f, 0x6b, 0xd4, 0x54, 0x5a, 0xcc, 0x3b, 0xad, 0x62, 0x56, 0x16, 0x95, 0x8c, 0x63, 0x93, 0x5b, - 0xe5, 0x6c, 0xd5, 0x29, 0x63, 0x5e, 0xbc, 0xf1, 0x98, 0xe2, 0xc3, 0x0c, 0x78, 0x9d, 0xc5, 0x7e, 0x0c, 0xb9, 0xdb, - 0xeb, 0x5f, 0x54, 0xc8, 0x59, 0x14, 0x2b, 0xe8, 0x5b, 0x14, 0xc5, 0x73, 0x6d, 0x65, 0xe3, 0xe7, 0xdb, 0xcd, 0xe1, - 0xea, 0x9d, 0xb6, 0x16, 0x07, 0x17, 0xf8, 0xf9, 0xba, 0xee, 0x48, 0x16, 0x13, 0x1e, 0xd1, 0xc0, 0xe5, 0x53, 0x9a, - 0xba, 0x05, 0x78, 0x56, 0xf5, 0xe2, 0x47, 0xc2, 0x5b, 0xbc, 0xab, 0xbb, 0x58, 0x83, 0xe7, 0x05, 0x38, 0xc0, 0xbe, - 0x5b, 0x77, 0xbe, 0x7e, 0x4b, 0xb3, 0x5c, 0x6a, 0xa2, 0xa5, 0x52, 0xfb, 0x5d, 0x25, 0x97, 0xbe, 0x0b, 0xb6, 0xd6, - 0xaf, 0x6c, 0x10, 0xb7, 0xed, 0x3f, 0xf2, 0x0f, 0x5c, 0x24, 0x5d, 0xc3, 0x5f, 0xeb, 0x1d, 0xff, 0x93, 0x71, 0x0d, - 0x9f, 0x93, 0x9f, 0xea, 0x9e, 0xe1, 0x99, 0x20, 0xe7, 0xfd, 0x73, 0x63, 0x32, 0xf3, 0x84, 0x0d, 0xef, 0x3c, 0x37, - 0x61, 0xa2, 0x09, 0xe1, 0x37, 0x17, 0x2f, 0xd4, 0x0b, 0xf0, 0x2a, 0x4a, 0x97, 0x76, 0x61, 0x8c, 0x3d, 0x4c, 0x05, - 0x71, 0x77, 0x13, 0x26, 0x76, 0x5d, 0x3c, 0x21, 0x57, 0xf0, 0x63, 0x77, 0xe1, 0xbd, 0x0a, 0x45, 0xec, 0x67, 0x61, - 0x1a, 0xf1, 0x89, 0x87, 0x1a, 0xae, 0x8b, 0xfc, 0x5c, 0x1a, 0x1c, 0x4f, 0x50, 0xb1, 0x7b, 0x85, 0x4f, 0x05, 0x71, - 0xfb, 0x6e, 0x63, 0x82, 0xdf, 0x09, 0x72, 0x75, 0xb2, 0xbb, 0x38, 0x15, 0x45, 0xef, 0x0a, 0xdf, 0x96, 0x5e, 0x7b, - 0xfc, 0x81, 0x78, 0x88, 0xf4, 0x6e, 0x35, 0x34, 0x67, 0x7c, 0xa2, 0xbc, 0xf7, 0x2e, 0xc2, 0xef, 0x65, 0x6c, 0xa5, - 0x62, 0x37, 0x3a, 0xbc, 0xb2, 0x43, 0x5c, 0x2e, 0x7d, 0x04, 0xee, 0xde, 0x9e, 0x55, 0x56, 0xea, 0x0a, 0xf8, 0xb9, - 0x20, 0x35, 0x8b, 0x1c, 0xbf, 0x90, 0x51, 0x9a, 0xe7, 0xc2, 0x4b, 0x91, 0xe9, 0xc6, 0x33, 0xbe, 0x68, 0xbd, 0x37, - 0xd3, 0x81, 0x72, 0x31, 0xf8, 0x4c, 0xd0, 0x2c, 0x14, 0x3c, 0xbb, 0x40, 0xb6, 0xfe, 0x81, 0xff, 0x46, 0xae, 0x06, - 0xce, 0x7f, 0xfa, 0xec, 0xc7, 0xd1, 0x8f, 0xd9, 0xc5, 0x15, 0x7e, 0x4b, 0xf6, 0x4f, 0xbc, 0x7e, 0xe0, 0xed, 0x34, - 0x9b, 0xcb, 0x1f, 0xf7, 0x07, 0xff, 0x08, 0x9b, 0xbf, 0x9c, 0x36, 0x7f, 0xb8, 0x40, 0x4b, 0xef, 0xc7, 0xfd, 0xfe, - 0x40, 0x3f, 0x0d, 0xfe, 0xd1, 0xfb, 0x31, 0xbf, 0xf8, 0xb3, 0x2a, 0xdc, 0x45, 0x68, 0x7f, 0x8c, 0xa7, 0x82, 0xec, - 0x37, 0x9b, 0xbd, 0xfd, 0x31, 0x1e, 0x0b, 0xb2, 0x0f, 0xff, 0x5f, 0x93, 0x77, 0x74, 0xfc, 0xfc, 0x76, 0xea, 0x5d, - 0xf5, 0x96, 0xbb, 0x8b, 0xbf, 0x15, 0xd0, 0xeb, 0xe0, 0x1f, 0x3f, 0xfe, 0x98, 0xbb, 0x5f, 0xf4, 0xc8, 0xfe, 0x45, - 0x03, 0x79, 0x50, 0xfa, 0x67, 0x22, 0xff, 0xf5, 0xfa, 0xc1, 0xe0, 0x1f, 0x1a, 0x0a, 0xf7, 0x8b, 0x1f, 0xaf, 0x4e, - 0x7a, 0xe4, 0x62, 0xe9, 0xb9, 0xcb, 0x2f, 0xd0, 0x12, 0xa1, 0xe5, 0x2e, 0xba, 0xc2, 0xee, 0xd8, 0x45, 0x78, 0x2e, - 0xc8, 0xfe, 0x17, 0xfb, 0x63, 0x3c, 0x12, 0x64, 0xdf, 0xdd, 0x1f, 0xe3, 0x73, 0x41, 0xf6, 0xff, 0xe1, 0xf5, 0x03, - 0xe5, 0x64, 0x5b, 0x4a, 0xff, 0xc6, 0x12, 0x02, 0x1c, 0x61, 0x46, 0xc3, 0xa5, 0x60, 0x22, 0xa1, 0x68, 0x77, 0x9f, - 0xe1, 0x33, 0x89, 0x26, 0x4f, 0x80, 0x17, 0x06, 0x8c, 0x3b, 0x6f, 0x71, 0x09, 0x8b, 0x0d, 0x34, 0xb3, 0x1b, 0x40, - 0x64, 0x07, 0x1c, 0x01, 0x79, 0x20, 0xf0, 0x3c, 0x4c, 0x66, 0x34, 0x0f, 0x68, 0x81, 0xf0, 0x90, 0x9c, 0x09, 0xaf, - 0x8d, 0xf0, 0x53, 0x01, 0x3f, 0x3a, 0x08, 0x9f, 0xe9, 0x20, 0x26, 0xec, 0x64, 0x45, 0x54, 0x29, 0x57, 0x2a, 0x8b, - 0x8b, 0xf0, 0x74, 0xc3, 0x4b, 0x11, 0x83, 0x7b, 0x01, 0xe1, 0xdd, 0x5a, 0xc8, 0x13, 0xdf, 0x10, 0x43, 0x12, 0xef, - 0x33, 0x4a, 0xbf, 0x0b, 0x93, 0x8f, 0x34, 0xf3, 0x6e, 0x71, 0xbb, 0xf3, 0x04, 0x4b, 0x2f, 0xf4, 0x4e, 0x1b, 0x75, - 0xcb, 0x78, 0xd5, 0x47, 0xa1, 0xe2, 0x04, 0x20, 0x65, 0xeb, 0xce, 0x18, 0x58, 0xf1, 0x9d, 0x74, 0xcd, 0x63, 0x95, - 0x85, 0x37, 0x2e, 0xaa, 0xc7, 0x46, 0x59, 0x3a, 0x0f, 0x13, 0x16, 0x39, 0x82, 0x4e, 0xa6, 0x49, 0x28, 0xa8, 0xa3, - 0xe7, 0xeb, 0x84, 0xd0, 0x91, 0x5b, 0xea, 0x0c, 0x33, 0xcb, 0xe2, 0x9c, 0x99, 0xa0, 0x13, 0xec, 0x15, 0x0f, 0x22, - 0x54, 0x5a, 0xef, 0x78, 0x55, 0x05, 0xc0, 0x56, 0x63, 0x7c, 0xcd, 0x36, 0x78, 0xc2, 0x2e, 0xa4, 0x7c, 0xce, 0x71, - 0x46, 0x40, 0x8a, 0x76, 0xfa, 0xee, 0x49, 0x3e, 0x1f, 0xf7, 0x5c, 0x88, 0xcf, 0x70, 0xf2, 0x56, 0x3a, 0x86, 0xa0, - 0x42, 0x4c, 0x5a, 0xdd, 0xf8, 0x84, 0x76, 0xe3, 0x46, 0xc3, 0x28, 0xd1, 0x09, 0x49, 0x07, 0xb1, 0x6a, 0x1e, 0xe2, - 0x08, 0xcf, 0x48, 0xb3, 0x8d, 0xc7, 0xa4, 0x25, 0x9b, 0x74, 0xc7, 0x27, 0x89, 0x1e, 0x66, 0x6f, 0xcf, 0xe3, 0x7e, - 0x12, 0xe6, 0xe2, 0x2b, 0xb0, 0xf6, 0xc9, 0x18, 0x47, 0x84, 0xfb, 0xf4, 0x96, 0x0e, 0xbd, 0x04, 0xe1, 0x48, 0x73, - 0x1a, 0xd4, 0x45, 0x63, 0x62, 0x55, 0x03, 0x2b, 0x82, 0xbc, 0xed, 0x47, 0x83, 0xf6, 0x05, 0x21, 0xc4, 0xdd, 0x69, - 0x36, 0xdd, 0x3e, 0x27, 0x53, 0x11, 0x40, 0x89, 0xa5, 0x2b, 0x93, 0x31, 0x14, 0x75, 0xac, 0x22, 0xef, 0x5c, 0xf8, - 0x82, 0xe6, 0xc2, 0x83, 0x62, 0xb0, 0xff, 0x73, 0x43, 0xd8, 0xee, 0xc9, 0xbe, 0xdb, 0x80, 0x52, 0x49, 0x9c, 0x08, - 0x73, 0x72, 0x8d, 0x82, 0x68, 0x70, 0x70, 0x61, 0x0b, 0x00, 0x59, 0x08, 0x83, 0x5f, 0xf7, 0xa3, 0x41, 0x4b, 0x0e, - 0xde, 0x73, 0xfb, 0x1e, 0x27, 0xb9, 0xd2, 0xd0, 0xfa, 0x79, 0xf0, 0x56, 0x4e, 0x15, 0x05, 0x1a, 0x38, 0xb3, 0x02, - 0xa4, 0xd9, 0x09, 0xbc, 0x99, 0x3d, 0x89, 0x26, 0x0c, 0xa6, 0xb1, 0x80, 0x43, 0x02, 0xf5, 0x31, 0x27, 0x30, 0x62, - 0xd5, 0xec, 0x3a, 0xd0, 0xcf, 0x5f, 0xb8, 0x5f, 0xf4, 0x47, 0x22, 0x98, 0x0b, 0x35, 0xfc, 0x48, 0x2c, 0x97, 0xf0, - 0xff, 0x5c, 0xf4, 0x39, 0xb9, 0x96, 0x45, 0x53, 0x5d, 0x34, 0x86, 0xa2, 0xb7, 0x01, 0x80, 0x8a, 0xf3, 0x52, 0xcb, - 0x52, 0x6b, 0x32, 0x27, 0x12, 0xf6, 0xbd, 0xbd, 0x74, 0x10, 0x37, 0xda, 0x17, 0xe0, 0xe2, 0xcf, 0x44, 0xfe, 0x1d, - 0x13, 0xb1, 0xe7, 0xee, 0xf7, 0x5c, 0xd4, 0x77, 0x1d, 0x58, 0xda, 0x6e, 0xd6, 0x20, 0x0a, 0xc3, 0x49, 0xe3, 0x9d, - 0x08, 0x66, 0x3d, 0xd2, 0xea, 0x7b, 0x4c, 0xb1, 0xf0, 0x10, 0xe1, 0x44, 0x33, 0xce, 0x16, 0x9e, 0xa1, 0x06, 0x15, - 0x0d, 0xf3, 0x3c, 0x43, 0x8d, 0x49, 0x63, 0x8e, 0x82, 0xa4, 0x31, 0x69, 0x78, 0x33, 0x42, 0x48, 0xb3, 0x53, 0x36, - 0x33, 0xe2, 0x2f, 0x46, 0xc1, 0xdc, 0x78, 0x3b, 0x07, 0x72, 0x3b, 0x64, 0x0d, 0x2f, 0x1d, 0xd0, 0x8b, 0xe5, 0xd2, - 0x3d, 0xe9, 0xf7, 0x5c, 0xd4, 0xf0, 0x0c, 0xa1, 0xed, 0x1b, 0x4a, 0x43, 0x08, 0xb3, 0x8b, 0x42, 0x47, 0x93, 0x5e, - 0xd7, 0x22, 0x47, 0x8b, 0x6a, 0xb3, 0x5b, 0x3c, 0x80, 0x16, 0xa5, 0x21, 0xa3, 0x14, 0xd6, 0x29, 0x4c, 0xd3, 0x10, - 0x73, 0x46, 0x5a, 0x98, 0x13, 0xe3, 0xbc, 0x8e, 0x89, 0xa8, 0x08, 0x3e, 0x21, 0x55, 0x75, 0x3c, 0x08, 0x71, 0x74, - 0x41, 0x5e, 0x29, 0x83, 0xa4, 0x6b, 0x5c, 0xe3, 0x34, 0x21, 0xaf, 0x57, 0x22, 0xb8, 0x21, 0x84, 0x57, 0x6e, 0xfc, - 0xe1, 0x2c, 0xcb, 0x68, 0x2a, 0x5e, 0xf3, 0x48, 0xeb, 0x69, 0x34, 0x01, 0x53, 0x09, 0x42, 0xb3, 0x18, 0x94, 0xb4, - 0x8e, 0xd9, 0x19, 0xb3, 0xb5, 0xd7, 0x63, 0x32, 0x53, 0xfa, 0x93, 0x0c, 0xd8, 0x76, 0xc7, 0xda, 0x30, 0xf6, 0x10, - 0x9e, 0xe9, 0x48, 0xae, 0xe7, 0xfb, 0xfe, 0xd8, 0x1f, 0xc2, 0x6b, 0x18, 0x20, 0x47, 0x85, 0xdc, 0x47, 0x5e, 0x4e, - 0x6e, 0xfc, 0x94, 0xde, 0xca, 0x51, 0x3d, 0x54, 0x49, 0x66, 0xb3, 0xbd, 0x4e, 0xe2, 0xae, 0x64, 0x37, 0xb9, 0x9f, - 0xf2, 0x88, 0x02, 0x7a, 0x20, 0x76, 0xaf, 0x8b, 0xe2, 0x30, 0xb7, 0x43, 0x54, 0x15, 0x7c, 0x03, 0xdb, 0x7b, 0x3d, - 0x06, 0x97, 0xaf, 0x54, 0xb6, 0xca, 0xca, 0xca, 0x0f, 0x8e, 0x10, 0x1b, 0x79, 0x63, 0x1f, 0x42, 0x7b, 0x92, 0x84, - 0x28, 0xd8, 0x72, 0x63, 0x9b, 0xa8, 0x26, 0x65, 0x9f, 0x73, 0x12, 0x0d, 0x78, 0xa3, 0x21, 0xdd, 0xd0, 0x33, 0x45, - 0x12, 0x63, 0x84, 0xe7, 0xe5, 0xde, 0x32, 0xf5, 0xbe, 0x24, 0xf5, 0x91, 0xbc, 0x79, 0xdd, 0x9d, 0xdb, 0x80, 0x34, - 0x09, 0xf0, 0x14, 0x0a, 0x6f, 0x82, 0xf0, 0x29, 0xd9, 0xf7, 0x06, 0x7e, 0xff, 0x2f, 0x17, 0xa8, 0xef, 0xf9, 0x7f, - 0x46, 0xfb, 0x8a, 0x71, 0xcc, 0x51, 0x37, 0x51, 0x43, 0x2c, 0x64, 0x08, 0xb3, 0x8d, 0xa5, 0x27, 0x31, 0xc8, 0x70, - 0x1a, 0x4e, 0x68, 0x70, 0x0a, 0x7b, 0xdc, 0xd0, 0xcd, 0x97, 0x18, 0xe8, 0x28, 0x38, 0xd5, 0x9c, 0xc4, 0x77, 0xfb, - 0xcf, 0x44, 0xf9, 0xd4, 0x77, 0xfb, 0x5f, 0x55, 0x4f, 0x7f, 0x71, 0xfb, 0x3f, 0x8b, 0xe0, 0x97, 0x42, 0x3b, 0xbb, - 0x6b, 0x43, 0x3c, 0x32, 0x43, 0x14, 0x6a, 0x61, 0x2c, 0xcc, 0xcd, 0xd0, 0xba, 0x9f, 0x63, 0x8c, 0x0a, 0x36, 0x2a, - 0x59, 0x51, 0xee, 0x8b, 0x70, 0x0c, 0x28, 0xb5, 0x56, 0x20, 0xb7, 0x23, 0xfb, 0xd5, 0x84, 0x81, 0x50, 0x0c, 0xb5, - 0x02, 0x2a, 0xc7, 0xbd, 0x16, 0x5a, 0xd4, 0xea, 0x4a, 0x8d, 0xa9, 0x1e, 0x49, 0x2f, 0xb9, 0xf4, 0x9c, 0xb4, 0xba, - 0xf3, 0x93, 0x71, 0x77, 0xde, 0x68, 0xa0, 0xdc, 0x10, 0xd6, 0x6c, 0x30, 0xbf, 0xc0, 0x1f, 0xc0, 0xa7, 0x67, 0x53, - 0x12, 0xae, 0x4d, 0xaf, 0xa3, 0xa7, 0xd7, 0x68, 0x64, 0x05, 0xea, 0x5a, 0x4d, 0xc7, 0xaa, 0x69, 0x51, 0x28, 0x9c, - 0xac, 0x12, 0xda, 0x31, 0x92, 0x25, 0x90, 0x0e, 0x45, 0x08, 0x39, 0x15, 0x68, 0x63, 0xaf, 0xd0, 0x27, 0x34, 0x97, - 0x3b, 0x16, 0x98, 0xa7, 0x92, 0x11, 0x1e, 0x60, 0x01, 0x9a, 0x96, 0x8e, 0xe0, 0x09, 0x9e, 0x35, 0xda, 0x92, 0xc8, - 0x9b, 0xed, 0x6e, 0xbd, 0xaf, 0xc7, 0x55, 0x5f, 0x78, 0xd6, 0x20, 0x93, 0x12, 0x4b, 0x45, 0xd6, 0x68, 0x14, 0xf5, - 0x68, 0xa7, 0xd9, 0xb7, 0xb5, 0xf8, 0xc3, 0xed, 0x6a, 0x5a, 0x86, 0x91, 0xaf, 0x95, 0x44, 0x65, 0x3e, 0x4b, 0x53, - 0x9a, 0x81, 0x0c, 0x25, 0x02, 0xb3, 0xa2, 0xa8, 0xe4, 0x3a, 0x08, 0x51, 0x4c, 0x49, 0x0a, 0x7c, 0x47, 0x9a, 0x5d, - 0x38, 0xc3, 0x1c, 0xc7, 0x92, 0x6b, 0x10, 0x42, 0xce, 0x4c, 0x42, 0x8b, 0x90, 0x1c, 0x28, 0x21, 0xcc, 0x92, 0x48, - 0x39, 0xa1, 0xfe, 0xe5, 0xee, 0x19, 0xbf, 0xd7, 0x24, 0x1b, 0xb0, 0x8b, 0x40, 0x56, 0x4b, 0x34, 0xdf, 0x0a, 0xc9, - 0x7b, 0x4f, 0xa0, 0x32, 0x38, 0xe2, 0x4b, 0xf6, 0xf7, 0x8c, 0x65, 0x54, 0x6a, 0xe0, 0xbb, 0xc6, 0xec, 0x4b, 0xea, - 0xea, 0x63, 0x62, 0x3b, 0x6f, 0x00, 0x91, 0x21, 0xf8, 0x76, 0x32, 0xb2, 0x56, 0xed, 0x72, 0xf7, 0xf4, 0xcd, 0x26, - 0x13, 0x78, 0xb9, 0xd4, 0xc6, 0xaf, 0xd4, 0x6c, 0x70, 0x58, 0x41, 0x9a, 0xe8, 0x1f, 0x81, 0x97, 0x48, 0x05, 0x29, - 0xf4, 0x52, 0xa0, 0xa2, 0xcb, 0xdd, 0xd3, 0xf7, 0x5e, 0x2a, 0x5d, 0x4b, 0x08, 0xdb, 0xd3, 0xf6, 0x38, 0xf1, 0x62, - 0x42, 0x91, 0x9a, 0x7b, 0xc9, 0xb8, 0xb8, 0x25, 0xbe, 0x83, 0x58, 0xbe, 0x04, 0xfb, 0x61, 0xc0, 0x2e, 0x48, 0xa2, - 0x31, 0x40, 0x12, 0x84, 0x93, 0x9a, 0x59, 0x46, 0x60, 0x01, 0xe4, 0x58, 0xe7, 0xb0, 0x12, 0xbe, 0x52, 0xfc, 0x10, - 0x4e, 0xe4, 0xa8, 0xa2, 0x50, 0xa2, 0xe3, 0xe5, 0x5a, 0x5e, 0x5a, 0x65, 0x8d, 0x7e, 0x0b, 0x96, 0x93, 0x79, 0x78, - 0xad, 0xbb, 0x2e, 0x0b, 0x9e, 0x99, 0x04, 0xb2, 0xcb, 0xdd, 0xd3, 0x57, 0x3a, 0x87, 0x6c, 0x1a, 0x1a, 0x6e, 0xbf, - 0x66, 0x61, 0x9e, 0xbe, 0xf2, 0xab, 0xb7, 0xb2, 0xf2, 0xe5, 0xee, 0xe9, 0x87, 0x4d, 0xd5, 0xa0, 0xbc, 0x98, 0x55, - 0x26, 0xbe, 0x84, 0x6f, 0x41, 0x93, 0x60, 0xa1, 0x45, 0x43, 0xc0, 0x0a, 0x2c, 0xc5, 0x51, 0x90, 0x17, 0xa5, 0x67, - 0xe4, 0x19, 0xce, 0x88, 0x8c, 0x02, 0xd5, 0x57, 0x4d, 0x2b, 0x79, 0x8c, 0xa7, 0xe7, 0x43, 0x3e, 0xa5, 0x5b, 0x42, - 0x43, 0xb7, 0xc8, 0x67, 0x13, 0x48, 0x9e, 0x91, 0xa0, 0x33, 0xbc, 0xd3, 0x42, 0xdd, 0xba, 0xf0, 0xca, 0x24, 0x91, - 0xf2, 0x9a, 0x64, 0xc1, 0x31, 0x69, 0xe1, 0x84, 0xb4, 0x70, 0x48, 0xf2, 0x41, 0x4b, 0x89, 0x87, 0x6e, 0x58, 0xf6, - 0xab, 0x84, 0x0c, 0xe4, 0x85, 0xe9, 0xdd, 0xaa, 0xc4, 0x6f, 0xd4, 0x0d, 0xa5, 0xeb, 0x51, 0x4a, 0xf4, 0x48, 0x92, - 0xc5, 0x0b, 0x8f, 0x63, 0x2e, 0x3b, 0x3e, 0x67, 0xd7, 0x09, 0xa4, 0x96, 0xc0, 0xac, 0xb0, 0x40, 0x41, 0x59, 0xb5, - 0xad, 0xab, 0x86, 0xbe, 0x5c, 0x27, 0x8e, 0x43, 0x1f, 0x18, 0x37, 0x0e, 0x75, 0x26, 0x4e, 0xbe, 0xde, 0xe4, 0xd1, - 0xde, 0x9e, 0xa7, 0x1a, 0xfd, 0x22, 0x3c, 0x6e, 0xde, 0x57, 0x81, 0xbb, 0x6f, 0x15, 0xaf, 0x88, 0x90, 0x84, 0xbf, - 0xd1, 0x48, 0x2e, 0x0a, 0x88, 0x42, 0x7b, 0x61, 0x1d, 0x83, 0x06, 0x78, 0xa9, 0xe9, 0xd5, 0xa7, 0xdf, 0x68, 0x94, - 0x41, 0xda, 0x3a, 0xb6, 0x6e, 0x71, 0x56, 0xcc, 0xbd, 0x32, 0xf9, 0xa7, 0xb5, 0x96, 0x31, 0x65, 0x40, 0x40, 0xcc, - 0xa6, 0x59, 0x66, 0x26, 0x63, 0x6d, 0x09, 0x06, 0xf5, 0xbe, 0xd2, 0x69, 0x0b, 0x58, 0xe6, 0x57, 0xe9, 0x4a, 0x86, - 0x9d, 0x75, 0x50, 0x60, 0x2a, 0x41, 0x50, 0x0a, 0x2a, 0x35, 0x0a, 0x4d, 0xde, 0x2f, 0xd6, 0xb3, 0x2e, 0x71, 0x8e, - 0xb4, 0x8f, 0x4b, 0x42, 0x21, 0x91, 0xd5, 0x29, 0x91, 0xf2, 0x82, 0x4c, 0xb7, 0x93, 0xfc, 0xa9, 0x45, 0xf2, 0x4f, - 0x09, 0xb5, 0xc8, 0x5f, 0x79, 0x38, 0x7c, 0xae, 0x5d, 0x0b, 0xb9, 0x79, 0x75, 0x36, 0x25, 0xe0, 0x43, 0xab, 0x63, - 0xb4, 0x16, 0x55, 0xdc, 0xc2, 0x50, 0xec, 0x1d, 0x22, 0xbd, 0x90, 0xd8, 0x84, 0x80, 0xbd, 0x2a, 0xa6, 0x06, 0x43, - 0x6f, 0x72, 0xe9, 0xd9, 0x1c, 0xf0, 0xf4, 0xc3, 0xfd, 0xe1, 0xd0, 0xb3, 0xe9, 0xfa, 0xce, 0xb5, 0xb2, 0x3f, 0x61, - 0xd6, 0xd6, 0xc6, 0xad, 0xe7, 0x82, 0xc2, 0xf8, 0x65, 0x18, 0xbb, 0xce, 0x7c, 0x56, 0x36, 0xa1, 0x91, 0x7f, 0x00, - 0x6d, 0xbb, 0x2d, 0x6b, 0x50, 0xab, 0x5b, 0xe0, 0x47, 0x2a, 0x07, 0x35, 0xcc, 0xb6, 0xb0, 0x8f, 0x53, 0x59, 0x81, - 0xa6, 0xd1, 0xe6, 0xd7, 0x4f, 0x0b, 0x4d, 0x26, 0x0a, 0x34, 0xb4, 0x00, 0xfe, 0xa7, 0x48, 0x1e, 0xe8, 0x46, 0xca, - 0x05, 0x40, 0xd0, 0x54, 0xe2, 0xa9, 0x42, 0x98, 0xeb, 0x56, 0xce, 0xf7, 0x17, 0x3b, 0x84, 0x4c, 0x2b, 0xe7, 0xe3, - 0xbb, 0x2a, 0xf7, 0x0a, 0xc8, 0x02, 0x05, 0x60, 0x3c, 0x96, 0x05, 0x2a, 0x7a, 0x79, 0x66, 0xaa, 0x4b, 0x03, 0xd2, - 0xaf, 0xf4, 0x6d, 0x2b, 0xb2, 0x29, 0xbd, 0x72, 0xea, 0xbd, 0x41, 0xc3, 0xca, 0xdb, 0x5d, 0x78, 0xfb, 0x42, 0x48, - 0x18, 0xe1, 0xf9, 0xbd, 0xac, 0x6d, 0xfa, 0x2d, 0x3e, 0xae, 0x26, 0xb0, 0xac, 0x2c, 0x8a, 0xcf, 0xd2, 0x9c, 0x66, - 0xe2, 0x29, 0x1d, 0xf1, 0x0c, 0x42, 0x16, 0x25, 0x4e, 0x50, 0xb1, 0x6b, 0xb9, 0xed, 0xe4, 0xfc, 0xac, 0x38, 0xc1, - 0xca, 0x04, 0xe5, 0xaf, 0x8f, 0x32, 0x66, 0x7d, 0xb9, 0xda, 0x6a, 0xba, 0xb7, 0xf7, 0xbe, 0x42, 0x93, 0x86, 0x52, - 0x42, 0x61, 0x31, 0x2d, 0xa5, 0xd2, 0xe8, 0x40, 0xee, 0xae, 0x57, 0xba, 0x00, 0x0c, 0xc3, 0xb0, 0x79, 0xcf, 0x0b, - 0x22, 0x8a, 0xf1, 0x2a, 0x8b, 0xd7, 0xae, 0x09, 0x66, 0x9b, 0x2d, 0xc0, 0xe1, 0xc1, 0xd0, 0x56, 0xbe, 0xa2, 0xbc, - 0x4a, 0x87, 0x2d, 0x61, 0x38, 0x03, 0x64, 0x79, 0xd2, 0x08, 0xb1, 0x28, 0x70, 0xa3, 0x51, 0xf2, 0x11, 0xf4, 0xca, - 0x18, 0xe7, 0x7e, 0x0c, 0x09, 0xb0, 0xb5, 0x2d, 0x8b, 0x10, 0x56, 0x79, 0x39, 0x56, 0x26, 0xc1, 0xe9, 0x8b, 0x4d, - 0x1e, 0x65, 0x43, 0xd4, 0x54, 0x4a, 0x1d, 0xa8, 0x91, 0xa1, 0xb2, 0x81, 0x3f, 0xf7, 0x98, 0x56, 0xdc, 0x4c, 0xd8, - 0x0c, 0x18, 0xf0, 0x4b, 0xe1, 0xa9, 0x58, 0x14, 0xc8, 0x0c, 0xee, 0xcf, 0xbc, 0xda, 0xd0, 0x5d, 0x2e, 0x9b, 0x61, - 0x8d, 0xb8, 0xd8, 0x46, 0x13, 0x97, 0x61, 0xbd, 0xb3, 0x8a, 0x97, 0xee, 0xaa, 0x1c, 0x6a, 0x61, 0xb8, 0x60, 0x95, - 0x47, 0x62, 0x4d, 0x7f, 0x57, 0xa5, 0x45, 0x97, 0x95, 0x40, 0x0d, 0xa3, 0x37, 0xce, 0x6b, 0xb9, 0x06, 0xb4, 0x00, - 0xfa, 0x5a, 0x3c, 0x17, 0xd6, 0x8a, 0x1a, 0x1f, 0xb6, 0x1c, 0xd3, 0x92, 0xfa, 0xef, 0x20, 0xd3, 0x65, 0x75, 0xcf, - 0xbf, 0x90, 0xb2, 0x90, 0xe1, 0xbc, 0xc6, 0xd8, 0x33, 0xc9, 0xd8, 0x11, 0xe8, 0x69, 0x26, 0xf5, 0xbb, 0xaf, 0x13, - 0x5e, 0x98, 0x96, 0x72, 0x9a, 0xc4, 0x3e, 0x94, 0xc1, 0x72, 0xeb, 0xf7, 0xca, 0x6a, 0x04, 0x8c, 0x40, 0x12, 0x10, - 0xd6, 0x9c, 0x3d, 0x43, 0x38, 0x6f, 0x34, 0xba, 0xf9, 0x09, 0xad, 0x5c, 0x24, 0x15, 0x8c, 0x0c, 0xe2, 0xb9, 0x40, - 0xf0, 0x35, 0x19, 0x0a, 0x11, 0x7f, 0x93, 0x9b, 0x9d, 0x83, 0xab, 0xfd, 0xf4, 0x9d, 0x67, 0x73, 0x35, 0xbb, 0x6e, - 0x19, 0x33, 0x85, 0xf9, 0x78, 0x55, 0xbc, 0xe5, 0xed, 0xfd, 0xf9, 0x1d, 0x00, 0xf7, 0x4e, 0x1b, 0x43, 0x2e, 0x1a, - 0xea, 0x0a, 0xc5, 0x12, 0xca, 0xdd, 0xd7, 0x45, 0x55, 0x5a, 0xa2, 0x3d, 0x58, 0x57, 0x54, 0xa6, 0xac, 0x20, 0x79, - 0x51, 0xe4, 0xb4, 0x8a, 0xee, 0xaf, 0xe4, 0x5f, 0x4a, 0xe1, 0xb2, 0xee, 0x6c, 0x3f, 0x9b, 0x12, 0x81, 0x2d, 0x42, - 0x7d, 0xbb, 0x2d, 0xf4, 0x51, 0x81, 0x09, 0xfb, 0x5a, 0x0b, 0xc5, 0x5f, 0x36, 0x09, 0x45, 0x9c, 0xe9, 0x2d, 0x2f, - 0x05, 0x62, 0xfb, 0x01, 0x02, 0x51, 0x3b, 0xd9, 0x8d, 0x4c, 0x04, 0x75, 0xa4, 0x26, 0x13, 0xeb, 0x4b, 0x4a, 0x32, - 0xcc, 0xf4, 0x6a, 0xf4, 0x3a, 0xcb, 0x25, 0x1b, 0xb4, 0xc0, 0x89, 0xe4, 0xba, 0xf0, 0xb3, 0xad, 0x7e, 0x5a, 0x9c, - 0x58, 0x39, 0x81, 0x3d, 0x56, 0x9a, 0x2c, 0xc8, 0x87, 0x14, 0x67, 0x4f, 0xe6, 0x64, 0x49, 0x9a, 0xd6, 0x14, 0xa4, - 0x09, 0x9c, 0xb0, 0x32, 0xca, 0x04, 0x10, 0x4b, 0x59, 0xa1, 0x0d, 0x48, 0x6f, 0x63, 0xf2, 0x9f, 0x31, 0x2f, 0x3f, - 0xad, 0x89, 0xd6, 0xe4, 0x8a, 0x52, 0x1f, 0x6a, 0xe9, 0x06, 0x1a, 0x02, 0xad, 0x1f, 0xee, 0x48, 0x13, 0xb4, 0x12, - 0xe5, 0xc8, 0x96, 0x43, 0xb8, 0x05, 0x2e, 0xb4, 0x9d, 0xf7, 0x2a, 0xc0, 0xbb, 0x41, 0x9a, 0x60, 0x6e, 0xd1, 0xf5, - 0x0b, 0x22, 0x6a, 0xac, 0x24, 0x26, 0xda, 0x52, 0xc2, 0xa1, 0x24, 0x53, 0x41, 0xb2, 0x41, 0xeb, 0x02, 0x14, 0xd0, - 0x6e, 0x72, 0x92, 0x55, 0x26, 0x70, 0xd2, 0x68, 0xa0, 0xd0, 0x8c, 0x1a, 0x0f, 0x58, 0x23, 0xb9, 0xc0, 0x14, 0x27, - 0xca, 0x30, 0x39, 0xdb, 0xdb, 0xf3, 0xc2, 0x6a, 0xdc, 0x41, 0x72, 0x81, 0x30, 0x5f, 0x2e, 0x3d, 0x09, 0x56, 0x88, - 0x96, 0xcb, 0xd0, 0x06, 0x4b, 0xbe, 0x86, 0x66, 0xd3, 0xbe, 0x20, 0x53, 0x29, 0x00, 0xa7, 0x00, 0x61, 0x83, 0x78, - 0xa1, 0x76, 0xee, 0x85, 0xe0, 0x8c, 0x6a, 0x64, 0x83, 0xa4, 0xd1, 0xbe, 0xb0, 0x18, 0xd7, 0x20, 0xb9, 0x20, 0x61, - 0xc1, 0xf7, 0xf6, 0x76, 0x72, 0x2d, 0x22, 0x7f, 0x02, 0x51, 0xf6, 0x93, 0x94, 0x2c, 0xaa, 0x43, 0x7b, 0x35, 0x56, - 0x9d, 0x01, 0x25, 0x45, 0xe9, 0x65, 0x35, 0xf5, 0x6a, 0x49, 0x10, 0x65, 0x25, 0xac, 0x63, 0xc1, 0x7d, 0xb0, 0xec, - 0x4b, 0x32, 0x7f, 0x26, 0xca, 0x24, 0xeb, 0x5f, 0x36, 0xa6, 0x56, 0xfb, 0xbe, 0x1f, 0x66, 0x63, 0x19, 0xc9, 0x30, - 0x51, 0x58, 0x49, 0xfc, 0x07, 0x1a, 0x4c, 0x6b, 0xe0, 0x41, 0x39, 0xd6, 0x05, 0x51, 0xe0, 0x1b, 0xd5, 0xc6, 0x9c, - 0x26, 0xf9, 0x69, 0xa3, 0x97, 0x41, 0x41, 0xf2, 0xd5, 0x6f, 0x85, 0xe4, 0x50, 0x43, 0xa2, 0xc8, 0x63, 0x05, 0x67, - 0x5b, 0x70, 0xf1, 0x93, 0x58, 0xc1, 0xd9, 0x76, 0xdc, 0x1a, 0x4c, 0xfd, 0xbc, 0x0d, 0x3e, 0x8b, 0x37, 0x28, 0x40, - 0xab, 0x02, 0x0b, 0xca, 0xa3, 0x55, 0xdd, 0x4b, 0xb1, 0x52, 0x10, 0xa6, 0x82, 0x78, 0xac, 0xbe, 0x01, 0x2a, 0x6d, - 0xd4, 0x32, 0x7c, 0x59, 0x30, 0x45, 0x96, 0x4b, 0xa0, 0x9e, 0xb9, 0x02, 0xe4, 0xa4, 0x7d, 0xed, 0xd3, 0xbd, 0x3d, - 0xb0, 0x0d, 0x40, 0x89, 0xf3, 0x87, 0xe1, 0x54, 0xcc, 0x32, 0x50, 0xa5, 0x72, 0xf3, 0x1b, 0x8a, 0xe1, 0x1c, 0x88, - 0x2c, 0x83, 0x1f, 0x50, 0x30, 0x0d, 0xf3, 0x9c, 0xcd, 0x55, 0x99, 0xfe, 0x8d, 0x39, 0x31, 0xa4, 0x9c, 0x2b, 0x9d, - 0x30, 0x43, 0xdd, 0x4c, 0xd3, 0x69, 0x1d, 0x6d, 0xcf, 0xe7, 0x34, 0x15, 0x2f, 0x59, 0x2e, 0x68, 0x0a, 0xd3, 0xaf, - 0x28, 0x0e, 0x66, 0x94, 0x23, 0xd8, 0xb0, 0xb5, 0x56, 0x61, 0x14, 0xdd, 0xdb, 0x44, 0xd4, 0x75, 0xa0, 0x38, 0x4c, - 0xa3, 0x44, 0x0d, 0x62, 0xa7, 0x33, 0x9a, 0x14, 0xce, 0xb2, 0xa6, 0x9d, 0x4e, 0x53, 0x29, 0x1b, 0x92, 0xbb, 0x7b, - 0x8c, 0x18, 0x49, 0x60, 0xa4, 0xe7, 0xbd, 0x5a, 0x0b, 0x04, 0xbc, 0xb7, 0x2c, 0x82, 0x3d, 0x13, 0x2c, 0x2c, 0x8e, - 0xea, 0xd7, 0xe1, 0x2c, 0x05, 0xc9, 0xc6, 0x43, 0x6d, 0x9b, 0x84, 0x83, 0xa4, 0x93, 0x47, 0xdb, 0x2d, 0xab, 0x57, - 0x46, 0x72, 0x18, 0x69, 0xc1, 0x1e, 0xca, 0x98, 0xd1, 0xc2, 0x90, 0x17, 0x32, 0x5b, 0xf1, 0x52, 0x90, 0x9f, 0xe0, - 0xd4, 0xd0, 0x0b, 0x31, 0x49, 0x56, 0x0e, 0xc7, 0x74, 0x2f, 0x4b, 0xed, 0xff, 0x52, 0x78, 0xaf, 0xf1, 0x0b, 0x08, - 0xeb, 0x7e, 0x5d, 0x55, 0x5f, 0x0f, 0xe7, 0x7e, 0x5d, 0x21, 0xe8, 0xeb, 0x60, 0xad, 0x9e, 0x15, 0xc6, 0xed, 0xf8, - 0xc7, 0x7e, 0xcb, 0x35, 0xda, 0xd2, 0xb7, 0x2a, 0x88, 0xa4, 0x12, 0x2d, 0xe5, 0x7e, 0xc0, 0x55, 0x9a, 0x1a, 0xa4, - 0xcb, 0xd5, 0x2d, 0x24, 0xaa, 0x13, 0x0c, 0x95, 0x0e, 0xbf, 0x6d, 0x79, 0xb4, 0x8c, 0xc9, 0x94, 0x9d, 0xf1, 0x36, - 0xcc, 0xc4, 0x2e, 0xec, 0x32, 0xbe, 0x76, 0x12, 0x2f, 0x26, 0xe0, 0x41, 0x7b, 0xd8, 0x10, 0x96, 0xb1, 0x9d, 0xab, - 0x93, 0x40, 0x76, 0xff, 0x84, 0x1b, 0xdd, 0xad, 0x6e, 0x65, 0x7c, 0x00, 0xfb, 0x1f, 0xe1, 0xd8, 0x1c, 0x8f, 0xa3, - 0x9a, 0x03, 0xd3, 0x60, 0x51, 0x94, 0x4e, 0x01, 0xae, 0x94, 0xb7, 0x14, 0x61, 0x5e, 0xc8, 0xf0, 0xf6, 0x37, 0xf8, - 0x7b, 0xcd, 0x12, 0x47, 0x25, 0xc7, 0x79, 0xfe, 0x50, 0x8e, 0xa8, 0xc0, 0x2f, 0xa3, 0xf7, 0x40, 0xc7, 0x92, 0x42, - 0x0b, 0x43, 0x45, 0xcf, 0xb8, 0x9e, 0xc8, 0xd6, 0xac, 0x54, 0x4c, 0xcb, 0x8c, 0x1a, 0x39, 0xcc, 0x86, 0x34, 0x4e, - 0x63, 0x65, 0x8b, 0x72, 0x57, 0xd5, 0xc6, 0x45, 0x5b, 0xb0, 0x58, 0x05, 0x16, 0x97, 0x4b, 0xaf, 0x8e, 0x6a, 0xc2, - 0xac, 0x38, 0x06, 0xc2, 0xcc, 0x4a, 0xa8, 0xa8, 0x69, 0xd6, 0xaa, 0x8d, 0x87, 0x56, 0xf3, 0x89, 0x8c, 0x6e, 0x5e, - 0x83, 0xc3, 0x76, 0x21, 0xa8, 0xe6, 0xb6, 0x4f, 0x01, 0xab, 0xd9, 0x95, 0x03, 0x59, 0x18, 0xfa, 0xb6, 0xcc, 0x94, - 0xad, 0x52, 0x5a, 0x37, 0xe0, 0x17, 0xdd, 0x93, 0x2b, 0xab, 0x51, 0xb7, 0xfe, 0xde, 0xca, 0x35, 0x7a, 0xc6, 0xb7, - 0xe5, 0x1a, 0xd5, 0xb4, 0xdd, 0x9d, 0x16, 0xba, 0x3f, 0x2b, 0x55, 0x8d, 0xb5, 0xb9, 0xca, 0x6f, 0x18, 0xae, 0x0d, - 0xb4, 0xa9, 0xd0, 0x6c, 0xb8, 0xca, 0x59, 0x51, 0x8c, 0xca, 0xb3, 0x04, 0x32, 0x75, 0x67, 0xa4, 0xe8, 0x5f, 0x5b, - 0x8d, 0xf2, 0x40, 0xae, 0xf7, 0x0d, 0x19, 0x27, 0xfc, 0x3a, 0x4c, 0xde, 0xc3, 0x78, 0xd5, 0xcb, 0x17, 0x77, 0x51, - 0x16, 0x0a, 0xaa, 0xb9, 0x4b, 0x05, 0xc3, 0x37, 0x16, 0x0c, 0xdf, 0x28, 0x3e, 0x5d, 0xb5, 0xc7, 0x8b, 0x97, 0x65, - 0x07, 0xc1, 0xa8, 0x30, 0x2c, 0x63, 0x22, 0x36, 0x8f, 0xb1, 0xca, 0xc2, 0x26, 0x25, 0x0b, 0x9b, 0x08, 0x6f, 0xb5, - 0x2b, 0xcf, 0xfb, 0x7e, 0x73, 0x2f, 0xeb, 0x9c, 0xed, 0xfb, 0x6a, 0xe3, 0x7f, 0x1f, 0xdc, 0xdb, 0xc6, 0xe2, 0x72, - 0x07, 0xfe, 0x81, 0x4c, 0x56, 0x51, 0x20, 0x3f, 0x85, 0xa4, 0x03, 0x41, 0x7a, 0xd6, 0x91, 0x83, 0x4a, 0x4e, 0x99, - 0x3c, 0x20, 0x6f, 0x38, 0xcb, 0x05, 0x9f, 0xe8, 0x3e, 0x73, 0x7d, 0xce, 0x48, 0xbe, 0x04, 0x57, 0xb4, 0x8c, 0xb5, - 0x07, 0xf5, 0x93, 0x5c, 0x8b, 0x8f, 0x2c, 0x8d, 0x82, 0x1c, 0x6b, 0x29, 0x92, 0x07, 0x59, 0x41, 0x4c, 0xae, 0xf1, - 0xfa, 0x3b, 0x3c, 0x62, 0x29, 0xcb, 0x63, 0x9a, 0x79, 0x1c, 0x2d, 0xb6, 0x0d, 0xc6, 0x21, 0x20, 0xa3, 0x06, 0xc3, - 0x5f, 0x56, 0x47, 0xfe, 0x7c, 0xe8, 0x0d, 0xfc, 0x40, 0x13, 0x2a, 0x62, 0x1e, 0x41, 0x5a, 0x8a, 0x1f, 0x95, 0x47, - 0x9a, 0xf6, 0xf6, 0x76, 0x3c, 0x57, 0xba, 0x25, 0xe0, 0xf0, 0xb7, 0xfd, 0x06, 0xf5, 0x17, 0x70, 0x3a, 0xa7, 0x1a, - 0x9a, 0xa2, 0x05, 0x5d, 0x3d, 0xc8, 0x22, 0xfc, 0x8f, 0xf4, 0x0e, 0xa7, 0xa8, 0x28, 0x02, 0x05, 0xb5, 0x3b, 0x62, - 0x34, 0x89, 0x5c, 0xfc, 0x91, 0xde, 0x05, 0xe5, 0x79, 0x71, 0x79, 0xbc, 0x59, 0x2e, 0xa0, 0xcb, 0x6f, 0x52, 0x17, - 0x57, 0x83, 0x04, 0x8b, 0x02, 0xf3, 0x8c, 0x8d, 0x81, 0x38, 0xff, 0x46, 0xef, 0x02, 0xd5, 0x1f, 0xb3, 0x4e, 0xeb, - 0xa1, 0x85, 0x41, 0xbd, 0x6f, 0x15, 0xdb, 0xcb, 0xa0, 0x0d, 0x8a, 0x81, 0x6c, 0x7b, 0x41, 0x6a, 0xf5, 0x2a, 0xf3, - 0x10, 0xa1, 0xe2, 0xa1, 0x53, 0xc1, 0xdf, 0xd9, 0xa2, 0x4d, 0xd4, 0x32, 0x5f, 0x57, 0x1a, 0x51, 0x68, 0x50, 0x65, - 0x7a, 0x5c, 0x7a, 0xa9, 0xd9, 0x75, 0xfa, 0x08, 0x82, 0xe5, 0x08, 0xfb, 0x4e, 0xe8, 0x4e, 0x83, 0x2f, 0x55, 0x42, - 0x48, 0x15, 0x49, 0x7a, 0x55, 0xb5, 0x73, 0x2e, 0x3d, 0xc0, 0x3b, 0x24, 0xb4, 0x84, 0xf2, 0x40, 0x66, 0x61, 0xb2, - 0x45, 0x7f, 0x10, 0xc4, 0x5b, 0x98, 0x29, 0x04, 0xa9, 0x8d, 0x45, 0x51, 0x00, 0x15, 0x6a, 0xfa, 0x52, 0x09, 0x80, - 0x70, 0x86, 0x7d, 0x4d, 0x6a, 0x66, 0x52, 0x6a, 0xfa, 0x16, 0xc6, 0xb7, 0x48, 0x49, 0x2a, 0x91, 0x21, 0x95, 0x48, - 0x29, 0xf4, 0xf4, 0xe2, 0x6a, 0x12, 0xb2, 0x17, 0xb4, 0x3c, 0x3f, 0xa7, 0xd6, 0x3c, 0xab, 0x81, 0xe5, 0xc9, 0x7e, - 0x50, 0x11, 0xc0, 0x94, 0xa8, 0xaa, 0x50, 0x94, 0xc7, 0xb2, 0x4d, 0x7a, 0xab, 0xc7, 0x7d, 0x33, 0x2d, 0x62, 0x50, - 0xe2, 0xc5, 0x68, 0x91, 0x7a, 0x31, 0xce, 0x20, 0x1d, 0x91, 0x17, 0x25, 0xfc, 0xd4, 0x5e, 0x8d, 0x5a, 0xb2, 0xf2, - 0xe6, 0x33, 0x7e, 0xa0, 0xcc, 0x0b, 0x48, 0xd1, 0xc4, 0xa9, 0xe1, 0x29, 0xa9, 0x27, 0x0f, 0xdb, 0x59, 0xcb, 0xf6, - 0xb5, 0x4e, 0xd0, 0xd1, 0x80, 0xfd, 0x20, 0xbc, 0x85, 0x35, 0x0b, 0xfb, 0x34, 0xb7, 0x3e, 0xf3, 0xa7, 0x83, 0x7d, - 0x55, 0x0e, 0xa9, 0x97, 0x93, 0x15, 0x89, 0x73, 0x7f, 0xaa, 0xe5, 0xcf, 0x33, 0x9a, 0xdd, 0x9d, 0x53, 0x48, 0x75, - 0xe6, 0x70, 0xda, 0xb7, 0x5a, 0x86, 0x2a, 0x4d, 0xbd, 0x9f, 0x49, 0x65, 0xa5, 0xa8, 0x9f, 0x02, 0x5c, 0x3d, 0x23, - 0x58, 0xc8, 0x68, 0xa3, 0xe5, 0x88, 0x51, 0xbb, 0x85, 0x6e, 0x3d, 0x3d, 0x49, 0xbb, 0x0c, 0xfc, 0x6b, 0x15, 0xa6, - 0x75, 0xb0, 0x00, 0x73, 0xfb, 0x44, 0xea, 0x20, 0xbf, 0x58, 0xf5, 0xca, 0x40, 0x11, 0x84, 0xef, 0xb2, 0xed, 0x53, - 0xdd, 0x94, 0x34, 0xbb, 0x7d, 0xaa, 0xb5, 0xa0, 0x9f, 0x4c, 0xf8, 0xc1, 0x7a, 0x9c, 0xf2, 0xf8, 0x32, 0x2b, 0x0a, - 0x54, 0x00, 0x78, 0x7f, 0xed, 0x7a, 0xde, 0x5f, 0x75, 0xca, 0xa0, 0x0f, 0xb1, 0xd8, 0xf3, 0x84, 0x1b, 0x26, 0x5e, - 0x8d, 0xff, 0xd7, 0xb5, 0xf1, 0xff, 0x6a, 0x9d, 0x39, 0x05, 0xd3, 0x68, 0x9c, 0xd2, 0xc8, 0xb0, 0x4e, 0xa4, 0x08, - 0x50, 0xea, 0x6d, 0xa9, 0x20, 0x6f, 0xae, 0x02, 0xd0, 0xb8, 0x16, 0x23, 0x9e, 0x8a, 0xe6, 0x28, 0x9c, 0xb0, 0xe4, - 0x2e, 0x98, 0xb1, 0xe6, 0x84, 0xa7, 0x3c, 0x9f, 0x86, 0x43, 0x8a, 0xf3, 0xbb, 0x5c, 0xd0, 0x49, 0x73, 0xc6, 0xf0, - 0x0b, 0x9a, 0xcc, 0xa9, 0x60, 0xc3, 0x10, 0xbb, 0xa7, 0x19, 0x0b, 0x13, 0xe7, 0x75, 0x98, 0x65, 0xfc, 0xc6, 0xc5, - 0xef, 0xf8, 0x35, 0x17, 0x1c, 0xbf, 0xb9, 0xbd, 0x1b, 0xd3, 0x14, 0x7f, 0xb8, 0x9e, 0xa5, 0x62, 0x86, 0xf3, 0x30, - 0xcd, 0x9b, 0x39, 0xcd, 0xd8, 0xa8, 0x3b, 0xe4, 0x09, 0xcf, 0x9a, 0x90, 0xb1, 0x3d, 0xa1, 0x41, 0xc2, 0xc6, 0xb1, - 0x70, 0xa2, 0x30, 0xfb, 0xd8, 0x6d, 0x36, 0xa7, 0x19, 0x9b, 0x84, 0xd9, 0x5d, 0x53, 0xd6, 0x08, 0x3e, 0x6f, 0x1d, - 0x84, 0x4f, 0x46, 0x87, 0x5d, 0x91, 0x85, 0x69, 0xce, 0x60, 0x99, 0x82, 0x30, 0x49, 0x9c, 0x83, 0xa3, 0xd6, 0x24, - 0xdf, 0x51, 0x81, 0xbc, 0x30, 0x15, 0xc5, 0x15, 0x7e, 0x03, 0x70, 0xfb, 0xd7, 0x22, 0xc5, 0xd7, 0x33, 0x21, 0x78, - 0xba, 0x18, 0xce, 0xb2, 0x9c, 0x67, 0xc1, 0x94, 0xb3, 0x54, 0xd0, 0xac, 0x7b, 0xcd, 0xb3, 0x88, 0x66, 0xcd, 0x2c, - 0x8c, 0xd8, 0x2c, 0x0f, 0x0e, 0xa7, 0xb7, 0x5d, 0xd0, 0x2c, 0xc6, 0x19, 0x9f, 0xa5, 0x91, 0x1e, 0x8b, 0xa5, 0x31, - 0xcd, 0x98, 0xb0, 0x5f, 0xc8, 0x4b, 0x4c, 0x82, 0x84, 0xa5, 0x34, 0xcc, 0x9a, 0x63, 0x68, 0x0c, 0x66, 0x51, 0x2b, - 0xa2, 0x63, 0x9c, 0x8d, 0xaf, 0x43, 0xaf, 0xdd, 0x79, 0x8c, 0xcd, 0x5f, 0xff, 0x08, 0x39, 0xad, 0xcd, 0xc5, 0xed, - 0x56, 0xeb, 0x4f, 0xa8, 0xbb, 0x32, 0x8a, 0x04, 0x28, 0x68, 0x4f, 0x6f, 0x9d, 0x9c, 0x43, 0x46, 0xdb, 0xa6, 0x96, - 0xdd, 0x69, 0x18, 0x41, 0x3e, 0x70, 0xd0, 0x99, 0xde, 0x16, 0x30, 0xbb, 0x40, 0xa5, 0x98, 0xea, 0x49, 0xea, 0xa7, - 0xc5, 0x6f, 0x85, 0xf8, 0x78, 0x33, 0xc4, 0x1d, 0x03, 0x71, 0x85, 0xf5, 0x66, 0x34, 0xcb, 0x64, 0x6c, 0x35, 0x68, - 0xe7, 0x0a, 0x90, 0x98, 0xcf, 0x69, 0x66, 0xe0, 0x90, 0x0f, 0xbf, 0x19, 0x8c, 0xce, 0x66, 0x30, 0x8e, 0x3f, 0x05, - 0x46, 0x96, 0x46, 0x8b, 0xfa, 0xba, 0xb6, 0x33, 0x3a, 0xe9, 0xc6, 0x14, 0xe8, 0x29, 0xe8, 0xc0, 0xef, 0x1b, 0x16, - 0x89, 0x58, 0xfd, 0x94, 0xe4, 0x7c, 0xa3, 0xde, 0x1d, 0xb5, 0x5a, 0xea, 0x39, 0x67, 0xbf, 0xd0, 0xa0, 0xed, 0x43, - 0x85, 0xe2, 0x0a, 0xff, 0xad, 0x3c, 0xcb, 0x5b, 0xe7, 0x9e, 0xf8, 0x1b, 0xfb, 0x90, 0xaf, 0x95, 0xa2, 0x58, 0x1d, - 0x89, 0xc6, 0x99, 0x91, 0x95, 0x4a, 0xf8, 0x80, 0xdb, 0x4e, 0x72, 0x47, 0xc2, 0x7a, 0xe5, 0x21, 0x4e, 0xd6, 0xff, - 0x46, 0xe5, 0x5d, 0x04, 0x10, 0xe9, 0xb0, 0x52, 0x0d, 0x79, 0x37, 0xeb, 0x91, 0x56, 0x37, 0x6b, 0x36, 0x91, 0xc7, - 0x49, 0x3a, 0xc8, 0x74, 0x72, 0x9e, 0xc7, 0xfa, 0x5c, 0x1a, 0xdb, 0x39, 0x0a, 0x38, 0x9c, 0x34, 0x5d, 0x2e, 0xab, - 0x30, 0x00, 0x93, 0xa7, 0x35, 0xfe, 0x26, 0x74, 0x05, 0x9c, 0x5b, 0x9c, 0x9c, 0x9b, 0xab, 0x5d, 0x52, 0xc3, 0x2b, - 0x12, 0x3e, 0x94, 0x98, 0xf3, 0xa7, 0xa1, 0x88, 0xc1, 0x4b, 0x51, 0x8a, 0x9f, 0x2a, 0x85, 0xc9, 0xdd, 0x77, 0x51, - 0x3f, 0x2d, 0xf3, 0xdb, 0x20, 0x8f, 0x2f, 0x2d, 0xa0, 0x97, 0xef, 0x05, 0x81, 0x1e, 0xf1, 0x57, 0x44, 0xd9, 0x74, - 0xc6, 0xa2, 0x1b, 0x3d, 0xd4, 0xa2, 0xa3, 0xa9, 0x60, 0x32, 0x73, 0xdb, 0x44, 0x1c, 0xe2, 0x30, 0xbf, 0x1c, 0xaa, - 0xa3, 0x92, 0x79, 0x75, 0x30, 0x20, 0x94, 0xd0, 0x2b, 0x23, 0x8d, 0x66, 0xd2, 0x1e, 0xfd, 0xab, 0xd8, 0x6a, 0x9f, - 0xa4, 0xf7, 0xd9, 0x27, 0xe5, 0xc4, 0x73, 0x3e, 0xcb, 0x86, 0x10, 0x8e, 0xd4, 0x52, 0x6f, 0xdd, 0x71, 0xe3, 0x4a, - 0x15, 0xc3, 0xc5, 0xc2, 0xca, 0x03, 0x15, 0x98, 0xd9, 0xd7, 0x4a, 0x50, 0x19, 0xf2, 0x52, 0xc7, 0x35, 0xb4, 0x88, - 0x33, 0x53, 0x02, 0x99, 0x1d, 0xc9, 0x94, 0x46, 0x2f, 0x23, 0xbd, 0xcc, 0x9f, 0xa5, 0xec, 0xe7, 0x19, 0xbd, 0x64, - 0xa0, 0x6b, 0x32, 0x9f, 0x45, 0x32, 0xd6, 0x04, 0xb2, 0xaf, 0xd9, 0x86, 0xe0, 0x05, 0x8b, 0xd4, 0xc2, 0x64, 0xf2, - 0xa5, 0xce, 0x6d, 0x72, 0x9b, 0x2e, 0xf8, 0x8b, 0x41, 0x3b, 0x60, 0x38, 0xe2, 0x93, 0x90, 0xa5, 0x81, 0x74, 0xf9, - 0x96, 0x9d, 0x05, 0x50, 0x1b, 0xb3, 0x28, 0xc8, 0xf4, 0xf2, 0xb4, 0x91, 0xff, 0x13, 0x67, 0xa9, 0x6c, 0x5a, 0x74, - 0xb9, 0x44, 0xa8, 0x42, 0x1f, 0x31, 0x08, 0x3e, 0x55, 0x72, 0x8d, 0x23, 0x6c, 0xbf, 0x2e, 0x4f, 0x9d, 0xd7, 0x56, - 0xa0, 0xb5, 0xb2, 0x50, 0xca, 0x08, 0xe0, 0xab, 0xa5, 0x39, 0xcf, 0x84, 0xe7, 0xc5, 0x38, 0x41, 0xa4, 0x17, 0x4b, - 0x67, 0xd7, 0x49, 0x22, 0xff, 0xeb, 0x37, 0xdb, 0x41, 0xbb, 0x34, 0xdf, 0x6b, 0x87, 0x81, 0x55, 0x72, 0x94, 0x3e, - 0x50, 0x2a, 0xa7, 0x51, 0xfe, 0x56, 0x53, 0xad, 0x9e, 0xcb, 0xe9, 0x62, 0xbd, 0xdd, 0x94, 0xa8, 0xf2, 0x6a, 0x40, - 0xc8, 0x60, 0xd1, 0x96, 0xa1, 0x50, 0x51, 0xcd, 0xbb, 0x54, 0x25, 0xaf, 0x94, 0x88, 0xbe, 0xdc, 0x5d, 0xa4, 0x7a, - 0xc4, 0xe2, 0x8a, 0x19, 0x27, 0x53, 0x9d, 0xe4, 0x0a, 0x8d, 0x11, 0x4b, 0x0f, 0xdd, 0x54, 0x4d, 0xc1, 0x72, 0x47, - 0xd2, 0x8d, 0x74, 0xeb, 0xab, 0x47, 0xaa, 0x14, 0x84, 0xcd, 0x55, 0x64, 0xaa, 0xde, 0x26, 0xc0, 0xc0, 0x6c, 0xcd, - 0x85, 0x99, 0x02, 0x68, 0x63, 0x23, 0x0a, 0xe7, 0x68, 0xae, 0x76, 0x17, 0xdf, 0x8b, 0x62, 0xdf, 0xaa, 0x2a, 0x7f, - 0xb3, 0x08, 0xfe, 0x07, 0x09, 0xb8, 0x50, 0x4a, 0x69, 0xe0, 0xbe, 0x7d, 0x73, 0xfe, 0xde, 0xc5, 0x70, 0x3b, 0x17, - 0xcd, 0xf2, 0x60, 0xe1, 0xea, 0xd4, 0xb8, 0x26, 0x84, 0x59, 0xdd, 0xc0, 0x0d, 0xa7, 0x70, 0xd2, 0x58, 0xf2, 0x82, - 0xfd, 0xdb, 0xe6, 0xcd, 0xcd, 0x4d, 0x13, 0x0e, 0x42, 0x35, 0x67, 0x59, 0x42, 0xd3, 0x21, 0x8f, 0x68, 0xe4, 0x16, - 0x05, 0xf2, 0x45, 0x4c, 0xd3, 0xf2, 0xfe, 0x1e, 0x9e, 0x50, 0x3f, 0xe1, 0x63, 0x75, 0x88, 0x73, 0xd5, 0xaa, 0x1e, - 0x5e, 0x9d, 0xc8, 0x7b, 0xa9, 0x7a, 0x27, 0x42, 0xdd, 0x08, 0x26, 0x32, 0xf8, 0xd9, 0x83, 0x98, 0xcb, 0xc9, 0xbe, - 0x88, 0xe5, 0xc3, 0x39, 0xec, 0x30, 0xf9, 0xb4, 0xbb, 0x58, 0xa3, 0xbe, 0x3e, 0x74, 0x11, 0xf7, 0xd4, 0x9c, 0x73, - 0x59, 0xeb, 0x2a, 0x18, 0x5e, 0x5d, 0x15, 0x27, 0xfb, 0xd0, 0xd7, 0xbe, 0xe9, 0xf7, 0x9a, 0x47, 0x77, 0xa6, 0x7d, - 0x49, 0x91, 0x70, 0x3f, 0x51, 0x4a, 0x7a, 0xd0, 0x05, 0x8c, 0x1b, 0xf5, 0x00, 0x2b, 0x40, 0x91, 0xd0, 0x3a, 0x2a, - 0x4b, 0xe4, 0x16, 0x57, 0x45, 0xdb, 0x20, 0x50, 0x15, 0xab, 0x8d, 0xa2, 0xdc, 0xaf, 0x15, 0x41, 0x18, 0x90, 0x22, - 0x1b, 0xba, 0x2b, 0x04, 0xff, 0x4b, 0xc8, 0x4e, 0xf6, 0x15, 0x1e, 0xae, 0xec, 0xcb, 0x50, 0xd4, 0x35, 0x05, 0x25, - 0xb6, 0x06, 0xa9, 0xc0, 0x6f, 0x04, 0x7e, 0x73, 0x25, 0xab, 0x1a, 0xe9, 0x05, 0x6a, 0x15, 0x48, 0xf9, 0x96, 0x51, - 0x53, 0x86, 0x3c, 0x49, 0xc2, 0x69, 0x4e, 0x03, 0xf3, 0x43, 0x0b, 0x32, 0x90, 0x87, 0xeb, 0x9a, 0x83, 0xce, 0xc7, - 0x39, 0x03, 0xfd, 0x62, 0x5d, 0xad, 0x99, 0x87, 0x99, 0xd7, 0x6c, 0x0e, 0x9b, 0xd7, 0x63, 0x54, 0x88, 0x78, 0x61, - 0x8b, 0xc1, 0x47, 0xad, 0x56, 0x17, 0x92, 0x27, 0x9b, 0x61, 0xc2, 0xc6, 0x69, 0x90, 0xd0, 0x91, 0x28, 0x04, 0x9c, - 0x6a, 0x5b, 0x18, 0xbd, 0xc3, 0xef, 0x1c, 0x65, 0x74, 0xe2, 0xf8, 0xf0, 0xef, 0xfd, 0x03, 0x17, 0x22, 0x0a, 0x52, - 0x11, 0x37, 0x65, 0x92, 0x2e, 0x1c, 0x31, 0x10, 0x71, 0xed, 0x79, 0x61, 0x0d, 0x34, 0xa4, 0xa0, 0x93, 0x15, 0x22, - 0x73, 0x44, 0x8c, 0x45, 0x66, 0xd7, 0x4b, 0xd1, 0x62, 0x6d, 0x06, 0xeb, 0xaa, 0xc1, 0x01, 0x2a, 0x72, 0xa9, 0x49, - 0xaf, 0x57, 0x36, 0xfa, 0x55, 0xfd, 0x69, 0x0d, 0x7d, 0x96, 0x26, 0x58, 0x28, 0x4f, 0xf4, 0x42, 0xb5, 0x78, 0x08, - 0x32, 0x6b, 0x3a, 0x2a, 0xb6, 0x5b, 0xa0, 0x82, 0xa5, 0xd3, 0x99, 0x18, 0x48, 0x2f, 0x78, 0x06, 0xe7, 0x29, 0x2e, - 0xb0, 0x55, 0x02, 0x38, 0xb8, 0x58, 0x28, 0x60, 0x86, 0x61, 0x32, 0xf4, 0x00, 0x22, 0xa7, 0xe9, 0x1c, 0x67, 0x74, - 0x82, 0xba, 0x13, 0x96, 0x36, 0xd5, 0xbb, 0x23, 0x4b, 0x8f, 0xf1, 0x1f, 0xc3, 0x53, 0xe1, 0xcb, 0xde, 0xb0, 0x4c, - 0x76, 0xdd, 0x80, 0xcb, 0xab, 0x8b, 0xa2, 0xe8, 0x66, 0xc2, 0x1b, 0xbc, 0xf2, 0xd0, 0x05, 0xfe, 0xca, 0xba, 0xce, - 0xc5, 0x35, 0x5b, 0xc5, 0xc5, 0x1d, 0xb4, 0xa5, 0x8a, 0xbd, 0x17, 0x64, 0xb5, 0xaf, 0x08, 0x54, 0x7c, 0xea, 0xb9, - 0x34, 0x9f, 0x36, 0x15, 0xb3, 0x6b, 0x4a, 0x92, 0x75, 0xa1, 0x29, 0xd2, 0xae, 0xdd, 0xbf, 0x8a, 0x85, 0xe4, 0x63, - 0xfa, 0x4c, 0x87, 0xf2, 0x3e, 0x5c, 0x94, 0x67, 0x80, 0xf4, 0xb3, 0x7d, 0xea, 0x07, 0xd5, 0xf8, 0xc9, 0xd5, 0x69, - 0x9d, 0x29, 0x02, 0x23, 0x2b, 0xef, 0xbc, 0x0b, 0x93, 0x04, 0x06, 0xbc, 0x32, 0xfa, 0x8e, 0x7d, 0x49, 0xc8, 0x40, - 0x5c, 0x78, 0xa8, 0xd0, 0xfb, 0xf4, 0xa9, 0xd4, 0x41, 0xad, 0x8b, 0xf6, 0x76, 0x84, 0x89, 0x2e, 0x29, 0x71, 0xcd, - 0x20, 0x3e, 0x5e, 0xcb, 0xa3, 0xee, 0x56, 0xbc, 0x4b, 0x69, 0xb0, 0x8e, 0x9c, 0x10, 0x71, 0xb3, 0x34, 0x72, 0x9d, - 0xbf, 0x0c, 0x13, 0x36, 0xfc, 0x48, 0xdc, 0xdd, 0x85, 0x87, 0xd6, 0x8f, 0x49, 0x4a, 0xae, 0x60, 0x38, 0x3c, 0xaa, - 0x7b, 0xde, 0x33, 0xdf, 0x62, 0xde, 0xea, 0x1e, 0x1d, 0xb7, 0xb7, 0xbb, 0x00, 0xc6, 0xa3, 0xc6, 0xe9, 0x5d, 0x15, - 0x97, 0xd5, 0xf5, 0x58, 0x15, 0x14, 0x80, 0x66, 0x55, 0xee, 0x48, 0xa2, 0x22, 0xee, 0x27, 0x29, 0xcd, 0x75, 0x14, - 0x53, 0x03, 0x38, 0x85, 0xe6, 0x6f, 0xae, 0xf3, 0x97, 0xb2, 0x8c, 0x96, 0x2e, 0x10, 0x99, 0xc3, 0x41, 0x5c, 0x18, - 0x0b, 0xec, 0x5e, 0x3f, 0xa2, 0x22, 0x64, 0x89, 0x6a, 0xd2, 0x35, 0x16, 0xfb, 0xca, 0x8c, 0x96, 0xcb, 0xbc, 0x3e, - 0x17, 0x56, 0xc7, 0xa0, 0x9c, 0xd9, 0xc9, 0x7e, 0x05, 0xb7, 0x9c, 0x99, 0xdc, 0x93, 0x76, 0x2c, 0xb1, 0x9a, 0xa1, - 0x7a, 0xe7, 0xfc, 0x65, 0x28, 0x4f, 0x19, 0x01, 0x80, 0x5c, 0x03, 0x08, 0x51, 0x6e, 0x75, 0x8a, 0xc6, 0x4b, 0x08, - 0xf7, 0x45, 0x98, 0x8d, 0xa9, 0x58, 0x41, 0x6c, 0xa2, 0x92, 0x5a, 0xbb, 0x26, 0xa2, 0xbd, 0x06, 0x6d, 0x58, 0x87, - 0xf6, 0x0a, 0x90, 0xde, 0xdf, 0x5d, 0xb0, 0x82, 0xec, 0x2e, 0x94, 0x5c, 0xfb, 0xf0, 0xee, 0x2b, 0x38, 0x14, 0xc9, - 0x53, 0xb0, 0x44, 0x62, 0x04, 0x92, 0x56, 0x2e, 0x8e, 0x12, 0x21, 0x5c, 0x8a, 0x10, 0xc5, 0x09, 0x1c, 0x39, 0x96, - 0x04, 0xb1, 0x70, 0x9d, 0xbe, 0x82, 0x9c, 0x46, 0x0a, 0x66, 0x92, 0xc9, 0x56, 0xbc, 0x38, 0xd9, 0x57, 0xb5, 0x95, - 0x08, 0x50, 0x95, 0x00, 0x09, 0x72, 0x9f, 0x56, 0x38, 0x80, 0x44, 0x68, 0x1b, 0x0f, 0x11, 0x9b, 0x97, 0xc4, 0x26, - 0xcf, 0x5b, 0xf5, 0x4e, 0x92, 0xf0, 0x9a, 0x26, 0xbd, 0xdd, 0x45, 0xb6, 0x5c, 0xb6, 0x8a, 0x93, 0x7d, 0xf5, 0xe8, - 0x9c, 0x48, 0xbe, 0xa1, 0xee, 0xc8, 0x94, 0x4b, 0x0c, 0x87, 0x18, 0x21, 0x3d, 0xd4, 0xe4, 0x45, 0x05, 0xba, 0x83, - 0xc2, 0x75, 0x64, 0x46, 0x86, 0xac, 0x54, 0x6a, 0x50, 0x85, 0xeb, 0xb0, 0x68, 0xbd, 0x2c, 0x17, 0x74, 0x0a, 0xa5, - 0xf1, 0x72, 0xd9, 0x2e, 0x5c, 0x67, 0xc2, 0x52, 0x78, 0xca, 0x96, 0x4b, 0x79, 0x3e, 0x70, 0xc2, 0x52, 0xaf, 0x05, - 0x64, 0xeb, 0x3a, 0x93, 0xf0, 0x56, 0x4e, 0xd8, 0xbc, 0x09, 0x6f, 0xbd, 0xb6, 0x7e, 0xe5, 0x97, 0xf8, 0xc9, 0x81, - 0xe2, 0xaa, 0x15, 0x4d, 0xf4, 0x8a, 0x46, 0x78, 0xa6, 0x4e, 0x3e, 0x11, 0x2f, 0x22, 0xc9, 0xe6, 0x15, 0x8d, 0xcc, - 0x8a, 0xce, 0xb6, 0xac, 0xe8, 0xec, 0x9e, 0x15, 0x0d, 0xf5, 0xea, 0x39, 0x25, 0xee, 0xf8, 0x72, 0xd9, 0x6e, 0x55, - 0xd8, 0x3b, 0xd9, 0x8f, 0xd8, 0x1c, 0x56, 0x03, 0xf4, 0x42, 0xc1, 0x26, 0x74, 0x33, 0x51, 0xd6, 0x51, 0x4c, 0x7f, - 0x15, 0x26, 0x2b, 0x2c, 0x64, 0x75, 0x2c, 0xd8, 0x74, 0x5d, 0x06, 0xe9, 0xfe, 0x48, 0xca, 0x66, 0x80, 0x87, 0x1c, - 0xf0, 0x10, 0x9b, 0x3b, 0x33, 0x3d, 0xf7, 0xbd, 0x8b, 0x5d, 0xc7, 0x35, 0x64, 0x7d, 0x55, 0x5c, 0x82, 0x8c, 0x90, - 0xf3, 0x7b, 0x10, 0x2d, 0x42, 0x6d, 0xb7, 0xb7, 0x9d, 0xe6, 0x20, 0x9e, 0x7e, 0xc3, 0xb3, 0xc8, 0x0d, 0x54, 0xd5, - 0x5f, 0x85, 0xaa, 0x09, 0x4b, 0x75, 0x76, 0xd6, 0x56, 0x5a, 0xab, 0xde, 0xdb, 0x14, 0xd7, 0x39, 0x3a, 0x52, 0x35, - 0xa6, 0xa1, 0x10, 0x34, 0x4b, 0x35, 0xe5, 0xba, 0xee, 0xff, 0x17, 0x54, 0xb8, 0x81, 0xaf, 0x84, 0x66, 0x01, 0x0c, - 0x01, 0x6a, 0x0d, 0x5f, 0xf3, 0x7c, 0x25, 0x9e, 0x76, 0x2a, 0x0d, 0xf6, 0x0e, 0xd9, 0x56, 0x86, 0x2a, 0x02, 0xa3, - 0x67, 0x36, 0xa1, 0xd1, 0xa5, 0x64, 0xd0, 0xfd, 0xe1, 0x95, 0x56, 0x58, 0x57, 0xc4, 0x5d, 0xd5, 0x00, 0xbb, 0x3f, - 0xce, 0x3a, 0x8f, 0x0f, 0xcf, 0x5c, 0xac, 0x78, 0x3c, 0x1f, 0x8d, 0x5c, 0x54, 0x38, 0x0f, 0x6b, 0xd6, 0x3e, 0xfc, - 0x71, 0xf6, 0xe5, 0xf3, 0xd6, 0x97, 0x65, 0xe3, 0x14, 0x88, 0x48, 0x27, 0x04, 0x18, 0x51, 0x65, 0xc1, 0x6b, 0x66, - 0x34, 0x0a, 0xd3, 0xed, 0xd3, 0x19, 0xd8, 0xd3, 0xc9, 0xa7, 0x94, 0x46, 0x40, 0x9c, 0x78, 0xad, 0xf4, 0x32, 0xa1, - 0x73, 0x6a, 0xee, 0x2a, 0xdc, 0x30, 0xd8, 0x86, 0x16, 0x43, 0x3e, 0x4b, 0x85, 0xce, 0x8c, 0xd0, 0xac, 0xd6, 0x9a, - 0xd2, 0x95, 0x9c, 0x83, 0x6d, 0x23, 0xdc, 0x29, 0x39, 0x57, 0x97, 0x5e, 0xc5, 0x15, 0x76, 0x2d, 0x00, 0xb6, 0x42, - 0xd6, 0xdf, 0x52, 0x1e, 0xb4, 0x70, 0x6b, 0x1b, 0x6c, 0xb8, 0x8d, 0x02, 0xd7, 0xbd, 0x30, 0x78, 0x92, 0xce, 0xcd, - 0xda, 0x05, 0x13, 0x5b, 0xf1, 0xf5, 0x49, 0x0c, 0x5c, 0x67, 0xd0, 0x59, 0x4a, 0xf3, 0x7c, 0x2b, 0x02, 0xca, 0x45, - 0xc4, 0x6e, 0x55, 0xdb, 0xdd, 0xd2, 0x0b, 0x6e, 0x61, 0xd8, 0x61, 0x12, 0xe0, 0x32, 0xc4, 0xaa, 0x6b, 0xd1, 0xd1, - 0x88, 0x0e, 0x4b, 0xdf, 0x30, 0x04, 0xcb, 0x46, 0x2c, 0x11, 0x10, 0x33, 0x92, 0xc1, 0x1c, 0xf7, 0x35, 0x4f, 0xa9, - 0x8b, 0x4c, 0xfa, 0xa7, 0x86, 0x5f, 0xcb, 0xff, 0xcd, 0xf0, 0xa8, 0x1e, 0xeb, 0xb0, 0xe8, 0x51, 0x96, 0x4b, 0xe3, - 0x17, 0xaa, 0x95, 0xd7, 0x11, 0xc9, 0xa5, 0xe3, 0x67, 0xdb, 0x06, 0x7a, 0xd8, 0x36, 0x59, 0xb4, 0xbf, 0x3c, 0x6a, - 0xb7, 0x0a, 0x17, 0xbb, 0xd0, 0xdd, 0x43, 0x77, 0x89, 0x6c, 0x75, 0x00, 0xad, 0x66, 0xe9, 0xaf, 0x69, 0xd7, 0x69, - 0x3f, 0x69, 0xbb, 0x58, 0xdd, 0x3b, 0x80, 0x8a, 0x92, 0x19, 0x0c, 0xc1, 0x5b, 0xfa, 0xbb, 0xa7, 0x52, 0xef, 0xfc, - 0x61, 0xf0, 0x3c, 0x6a, 0xb7, 0x5c, 0xec, 0xe6, 0x82, 0x4f, 0x7f, 0xc5, 0x14, 0x0e, 0x5c, 0xec, 0x0e, 0x13, 0x9e, - 0x53, 0x7b, 0x0e, 0x4a, 0x9d, 0xfd, 0xfd, 0x93, 0x50, 0x10, 0x4d, 0x33, 0x9a, 0xe7, 0x8e, 0xdd, 0xbf, 0x26, 0xa5, - 0x4f, 0x30, 0xcc, 0x8d, 0x14, 0x97, 0x53, 0x21, 0xf1, 0xa2, 0xae, 0x04, 0xb0, 0xa9, 0x4a, 0x95, 0xad, 0x11, 0x9b, - 0x14, 0x01, 0x25, 0x63, 0x53, 0xda, 0xd5, 0x27, 0x47, 0xde, 0xb0, 0xf5, 0xd4, 0xc0, 0x2a, 0x88, 0xbc, 0x3e, 0x40, - 0xad, 0x64, 0xc2, 0xd2, 0xcb, 0x0d, 0xa5, 0xe1, 0xed, 0x86, 0x52, 0x50, 0xd9, 0x4a, 0xe8, 0xf4, 0x75, 0x35, 0x9f, - 0xc6, 0x7a, 0xa5, 0xf8, 0xd8, 0x20, 0x46, 0xd2, 0xd1, 0xf9, 0x09, 0x48, 0xad, 0x65, 0x90, 0x3d, 0xfc, 0xf6, 0xe1, - 0xa0, 0xe4, 0xd7, 0x0c, 0x57, 0xf6, 0xf2, 0xfb, 0x66, 0x08, 0xa5, 0x4d, 0x70, 0x78, 0x27, 0xbf, 0x6a, 0xae, 0xf4, - 0xf6, 0xd3, 0x04, 0x67, 0x69, 0x55, 0xbf, 0x63, 0xe9, 0xf5, 0xb1, 0xf7, 0xd5, 0xb5, 0xdf, 0x50, 0xac, 0x15, 0x9f, - 0x72, 0xfd, 0x87, 0x09, 0x9b, 0x54, 0x24, 0xb0, 0x0e, 0xa6, 0xd4, 0x78, 0x20, 0xfb, 0xc9, 0xee, 0x44, 0xa9, 0x3e, - 0x97, 0x70, 0xa6, 0x13, 0xae, 0xcd, 0x98, 0x65, 0xf4, 0x32, 0xe1, 0x37, 0xab, 0xf7, 0x80, 0x6d, 0xaf, 0x1c, 0xb3, - 0x71, 0x6c, 0x1d, 0xd4, 0xa2, 0xa4, 0x5c, 0x84, 0x7b, 0x07, 0x28, 0xfe, 0xe5, 0x9f, 0x7d, 0xff, 0x5f, 0xfe, 0xf9, - 0x93, 0x55, 0xa1, 0xfb, 0xe2, 0x0a, 0x8b, 0xaa, 0xdb, 0xed, 0xbb, 0x6b, 0xf3, 0x48, 0x75, 0x9c, 0x6f, 0xae, 0xb3, - 0xb6, 0x08, 0xf0, 0x7e, 0x6d, 0x09, 0xd6, 0x0a, 0xd5, 0xee, 0x73, 0x7e, 0x0b, 0x60, 0x30, 0xaf, 0x4f, 0x42, 0x06, - 0x95, 0x7e, 0x17, 0x68, 0x57, 0x28, 0x78, 0xd0, 0x8a, 0xfc, 0x76, 0x0c, 0x7f, 0x6a, 0x0e, 0xbf, 0x13, 0x7c, 0xed, - 0x9f, 0x18, 0x5e, 0x5d, 0x95, 0x19, 0x79, 0x76, 0x53, 0x38, 0xef, 0xdf, 0x5f, 0x2b, 0xd1, 0x8a, 0x47, 0xd0, 0x42, - 0x3d, 0x79, 0x9e, 0x90, 0x0c, 0xaf, 0x5e, 0xc1, 0x25, 0x3f, 0x27, 0xd7, 0x99, 0x71, 0xf0, 0xde, 0x23, 0x1c, 0xa0, - 0x8b, 0xfa, 0xac, 0x64, 0xa7, 0x6b, 0x92, 0x01, 0x4a, 0xc1, 0xdc, 0x00, 0x30, 0xf1, 0xf0, 0x4a, 0x5b, 0x9b, 0x67, - 0xca, 0x0d, 0x13, 0xac, 0x92, 0xb6, 0x76, 0xcf, 0xd4, 0x90, 0x8e, 0x9d, 0xf7, 0x12, 0x5f, 0xb2, 0x32, 0xad, 0xac, - 0x7b, 0xe9, 0xea, 0x02, 0x3b, 0xa2, 0x64, 0x3f, 0xf3, 0x30, 0x99, 0x3f, 0x8c, 0xf1, 0x6d, 0x17, 0xa8, 0x4b, 0x67, - 0xf9, 0x6f, 0xad, 0x12, 0x2c, 0x9b, 0xcb, 0x9a, 0x3e, 0x20, 0xb3, 0x12, 0xfe, 0xbe, 0x2d, 0x70, 0x2a, 0xe8, 0x27, - 0x03, 0xa7, 0xc9, 0x83, 0x02, 0xa7, 0xea, 0x86, 0xbe, 0x3f, 0x32, 0x70, 0xfa, 0x77, 0x3b, 0x70, 0x0a, 0x24, 0xf8, - 0xf3, 0x83, 0x82, 0x9b, 0x26, 0xf0, 0xc4, 0x6f, 0x72, 0xd2, 0xd6, 0x46, 0x40, 0xc2, 0xc7, 0x10, 0xd9, 0xfc, 0xb7, - 0x0f, 0x54, 0x26, 0x7c, 0x6c, 0x87, 0x29, 0xe1, 0x8e, 0x5a, 0x88, 0x4b, 0xe2, 0x8c, 0x2c, 0xdc, 0x1f, 0x6f, 0xdb, - 0x4f, 0x07, 0xed, 0xee, 0x41, 0x7b, 0xe2, 0x06, 0x2e, 0x48, 0x5d, 0x59, 0xd0, 0xea, 0x1e, 0x1c, 0x40, 0xc1, 0x8d, - 0x55, 0xd0, 0x81, 0x02, 0x66, 0x15, 0x1c, 0x41, 0xc1, 0xd0, 0x2a, 0x78, 0x04, 0x05, 0x91, 0x55, 0xf0, 0x18, 0x0a, - 0xe6, 0x6e, 0x31, 0x60, 0x65, 0x74, 0xf8, 0x31, 0x92, 0xd7, 0x59, 0xec, 0x64, 0xf5, 0x54, 0xfe, 0x98, 0x98, 0x2a, - 0x8f, 0xcb, 0x63, 0x40, 0xcd, 0x43, 0x73, 0x6b, 0xc5, 0xd5, 0x67, 0x57, 0x08, 0x27, 0x04, 0x4e, 0xe5, 0x61, 0x30, - 0xca, 0x55, 0xcd, 0x03, 0xf3, 0xda, 0x0d, 0xca, 0x7b, 0xa9, 0x5a, 0xb8, 0x63, 0x22, 0x9c, 0x81, 0x8b, 0xf0, 0xac, - 0xac, 0x7c, 0xd4, 0x88, 0x74, 0xb7, 0x70, 0x21, 0x44, 0x75, 0x1b, 0xcb, 0x01, 0xc2, 0xea, 0x02, 0xec, 0x67, 0x52, - 0x3e, 0xfa, 0x82, 0xbf, 0x67, 0x13, 0x6a, 0x3e, 0x0f, 0x62, 0x06, 0x70, 0x5c, 0x04, 0x07, 0xb8, 0xe3, 0xea, 0x0a, - 0xb3, 0x2f, 0xf1, 0x69, 0x75, 0x01, 0xd0, 0x5b, 0x41, 0xd4, 0x8d, 0x0a, 0x19, 0x56, 0x86, 0xde, 0x18, 0x8b, 0x70, - 0x1c, 0x40, 0xc8, 0x12, 0x7c, 0xa6, 0xc1, 0x29, 0x21, 0xa4, 0xd5, 0x9f, 0x05, 0x5f, 0xe2, 0x9b, 0x98, 0xa6, 0xc1, - 0xbc, 0xe8, 0x96, 0x04, 0xa0, 0x22, 0xa6, 0x6f, 0x45, 0x79, 0x6f, 0x9c, 0xa4, 0x8a, 0xea, 0xb5, 0x82, 0xb3, 0x59, - 0x52, 0xcf, 0x96, 0x58, 0x9a, 0xe5, 0x93, 0x19, 0x25, 0xfc, 0xa6, 0x79, 0xeb, 0xf6, 0x36, 0xc7, 0xd7, 0x60, 0x76, - 0x65, 0x7c, 0xed, 0x25, 0x00, 0x5b, 0x3e, 0xbd, 0x0f, 0xc7, 0xe5, 0xef, 0x57, 0x34, 0xcf, 0xc3, 0xb1, 0xae, 0xb9, - 0x3d, 0x9e, 0x26, 0x41, 0xb4, 0x63, 0x69, 0x06, 0x08, 0x88, 0x89, 0x01, 0x46, 0xc0, 0xa7, 0xa1, 0x43, 0x64, 0x30, - 0xf5, 0x7a, 0x74, 0x4d, 0xe2, 0xaa, 0x5e, 0x24, 0xc2, 0x71, 0x55, 0x70, 0x32, 0xcd, 0xa8, 0x2c, 0x55, 0x68, 0x2c, - 0x4e, 0xf6, 0xa1, 0x40, 0xbd, 0xde, 0x12, 0x45, 0x33, 0x0e, 0x94, 0xed, 0xb1, 0x34, 0xc7, 0x44, 0xd1, 0xec, 0x44, - 0xa5, 0x32, 0x4b, 0x69, 0x3d, 0x76, 0xf3, 0x79, 0x7b, 0x08, 0x7f, 0x74, 0x64, 0xe8, 0xf3, 0xd1, 0x68, 0x74, 0x6f, - 0x54, 0xed, 0xf3, 0x68, 0x44, 0x3b, 0xf4, 0xa8, 0x0b, 0x49, 0x2c, 0x4d, 0x1d, 0x8b, 0x69, 0x17, 0x12, 0x77, 0x8b, - 0x87, 0x55, 0x86, 0xb0, 0x8d, 0x88, 0x17, 0x0f, 0x8f, 0xb0, 0x15, 0xd3, 0x8c, 0x2e, 0x26, 0x61, 0x36, 0x66, 0x69, - 0xd0, 0x2a, 0xfc, 0xb9, 0x0e, 0x49, 0x7d, 0x7e, 0x7c, 0x7c, 0x5c, 0xf8, 0x91, 0x79, 0x6a, 0x45, 0x51, 0xe1, 0x0f, - 0x17, 0xe5, 0x34, 0x5a, 0xad, 0xd1, 0xa8, 0xf0, 0x99, 0x29, 0x38, 0xe8, 0x0c, 0xa3, 0x83, 0x4e, 0xe1, 0xdf, 0x58, - 0x35, 0x0a, 0x9f, 0xea, 0xa7, 0x8c, 0x46, 0xb5, 0x4c, 0x98, 0xc7, 0xad, 0x56, 0xe1, 0x2b, 0x42, 0x5b, 0x80, 0x59, - 0xaa, 0x7e, 0x06, 0xe1, 0x4c, 0x70, 0x60, 0xee, 0xdd, 0x44, 0x78, 0x83, 0x4b, 0x7d, 0xcb, 0x88, 0xfa, 0x26, 0x47, - 0x81, 0x2e, 0xf0, 0xcf, 0x76, 0xf0, 0x08, 0x88, 0x59, 0x06, 0x8d, 0x12, 0x13, 0x5b, 0xaa, 0xbd, 0x06, 0xca, 0x92, - 0xaf, 0x7f, 0x26, 0x49, 0x15, 0x53, 0x02, 0x4e, 0x06, 0x35, 0xd5, 0x65, 0x78, 0x94, 0x6e, 0x91, 0x1f, 0xec, 0xd3, - 0xf2, 0xe3, 0xee, 0x21, 0xe2, 0x83, 0xfd, 0xe1, 0xe2, 0x83, 0x52, 0x4b, 0x7c, 0x28, 0xe6, 0x71, 0x27, 0x88, 0x3b, - 0x8c, 0xe9, 0xf0, 0xe3, 0x35, 0xbf, 0x6d, 0xc2, 0x96, 0xc8, 0x5c, 0x29, 0x58, 0x76, 0x7f, 0x6b, 0xd6, 0x8c, 0xe9, - 0xcc, 0xfa, 0xa2, 0x87, 0x54, 0x1f, 0xde, 0xa4, 0xc4, 0x7d, 0x63, 0x6c, 0x5b, 0x55, 0x32, 0x1a, 0x11, 0xf7, 0xcd, - 0x68, 0xe4, 0x9a, 0xb3, 0x92, 0xa1, 0xa0, 0xb2, 0xd6, 0xeb, 0x5a, 0x89, 0xac, 0xf5, 0xe5, 0x97, 0x76, 0x99, 0x5d, - 0xa0, 0x43, 0x4f, 0x76, 0x98, 0x49, 0xbf, 0x89, 0x58, 0x0e, 0x5b, 0x0d, 0x3e, 0x34, 0x52, 0xbf, 0xab, 0x31, 0xad, - 0x5d, 0xab, 0x5d, 0x02, 0xbc, 0xe1, 0x2e, 0xf0, 0xd5, 0x8b, 0x02, 0xc6, 0xd4, 0xe4, 0x2d, 0x3e, 0xbd, 0xfb, 0x2a, - 0xf2, 0xee, 0x04, 0x2a, 0x58, 0xfe, 0x26, 0x5d, 0x39, 0x04, 0xa4, 0x60, 0x24, 0xc4, 0x9e, 0x56, 0x21, 0xf8, 0x78, - 0x9c, 0xc0, 0xb7, 0x5e, 0x16, 0xb5, 0xfb, 0x63, 0x55, 0xf3, 0x7e, 0x6d, 0xbe, 0x81, 0xdd, 0x50, 0xdf, 0xb6, 0x2a, - 0x3f, 0x3d, 0xa5, 0x92, 0xc7, 0xe7, 0xfa, 0x1b, 0x44, 0xd2, 0x2c, 0x5e, 0x68, 0x26, 0xbf, 0x50, 0x29, 0xc7, 0x02, - 0xd2, 0x6d, 0x54, 0xc7, 0x51, 0x51, 0xe8, 0xc3, 0x1a, 0x11, 0xcb, 0xa7, 0x70, 0xaf, 0xa9, 0x6a, 0x49, 0x3f, 0xc5, - 0xc2, 0xf3, 0x1b, 0x2b, 0xbe, 0x53, 0x5b, 0xae, 0xc2, 0x04, 0x78, 0x94, 0xc3, 0xfc, 0x4e, 0x14, 0xae, 0xf6, 0xbb, - 0x1b, 0x24, 0xba, 0x8e, 0xc2, 0xa7, 0x8a, 0x3c, 0x59, 0x33, 0x04, 0xe7, 0x77, 0xb9, 0x20, 0xe6, 0x95, 0x29, 0x28, - 0xec, 0xf8, 0xa5, 0x7c, 0xa3, 0xb0, 0x25, 0xa3, 0x25, 0xf9, 0x34, 0x4c, 0x15, 0x1b, 0x25, 0xae, 0xe2, 0x07, 0xbb, - 0x8b, 0x6a, 0xe5, 0x0b, 0xd7, 0x80, 0xad, 0x88, 0xb7, 0x77, 0xb2, 0x0f, 0x0d, 0x7a, 0x4e, 0x0d, 0xf4, 0x74, 0x2d, - 0xc8, 0xf2, 0x89, 0x74, 0x87, 0x2b, 0x3f, 0xbf, 0xc1, 0x7e, 0x7e, 0xe3, 0xfc, 0x79, 0xd1, 0xbc, 0xa1, 0xd7, 0x1f, - 0x99, 0x68, 0x8a, 0x70, 0xda, 0x04, 0xc3, 0x47, 0x3a, 0x47, 0x35, 0x7b, 0x96, 0x59, 0x7e, 0xea, 0xaa, 0x83, 0xee, - 0x2c, 0x87, 0xac, 0x08, 0xa9, 0xbe, 0x07, 0x29, 0x4f, 0x69, 0xb7, 0x9e, 0xcd, 0x69, 0x07, 0xd9, 0x0d, 0xb6, 0x2e, - 0x16, 0x1c, 0xb2, 0x28, 0xc4, 0x5d, 0xd0, 0xd2, 0x6c, 0xbd, 0x65, 0x22, 0xe8, 0xad, 0x8d, 0xf5, 0x03, 0x8d, 0xdc, - 0x86, 0x94, 0x5e, 0xd9, 0x7a, 0x26, 0xc1, 0xb6, 0x4c, 0x80, 0x4f, 0xe5, 0x36, 0x82, 0x4b, 0xd5, 0xfc, 0xb5, 0x92, - 0x42, 0x57, 0x8b, 0x65, 0x6e, 0xe3, 0x43, 0x20, 0x0b, 0xc2, 0x91, 0xa0, 0x19, 0x7e, 0x48, 0xcd, 0x6b, 0x79, 0x0c, - 0x69, 0x01, 0x62, 0x26, 0x68, 0x1f, 0x4f, 0x6f, 0x1f, 0xde, 0xfd, 0xfd, 0xd3, 0x2f, 0x34, 0x8e, 0xcc, 0xb5, 0x3c, - 0xae, 0xdb, 0x85, 0x8d, 0x90, 0x84, 0x77, 0x01, 0x4b, 0xa5, 0xcc, 0xbb, 0x06, 0xbf, 0x68, 0x77, 0xca, 0x75, 0x92, - 0x6e, 0x46, 0x13, 0xf9, 0x15, 0x3e, 0xbd, 0x14, 0x07, 0x8f, 0xa6, 0xb7, 0x66, 0x35, 0xda, 0x2b, 0xc9, 0xb7, 0x7f, - 0x68, 0x8e, 0xed, 0xf6, 0xa4, 0xde, 0x7a, 0x9e, 0xe8, 0xd1, 0xf4, 0xb6, 0xab, 0x04, 0x6d, 0x33, 0x53, 0x50, 0xb5, - 0xa6, 0xb7, 0x76, 0x96, 0x71, 0xd5, 0x91, 0xe3, 0x1f, 0xe4, 0x0e, 0x0d, 0x73, 0xda, 0x85, 0x7b, 0xc7, 0xd9, 0x30, - 0x4c, 0xb4, 0x30, 0x9f, 0xb0, 0x28, 0x4a, 0x68, 0xd7, 0xc8, 0x6b, 0xa7, 0xfd, 0x08, 0x92, 0x74, 0xed, 0x25, 0xab, - 0xaf, 0x8a, 0x85, 0xbc, 0x12, 0x4f, 0xe1, 0x75, 0xce, 0x13, 0xf8, 0xe8, 0xc7, 0x46, 0x74, 0xea, 0xec, 0xd5, 0x56, - 0x85, 0x3c, 0xf9, 0xbb, 0x3e, 0x97, 0xa3, 0xd6, 0x9f, 0xba, 0x72, 0xc1, 0x5b, 0x5d, 0xc1, 0xa7, 0x41, 0xf3, 0xa0, - 0x3e, 0x11, 0x78, 0x55, 0x4e, 0x01, 0x6f, 0x98, 0x16, 0x06, 0x69, 0xa5, 0xf8, 0xb4, 0xe3, 0xb7, 0x75, 0x99, 0xec, - 0x00, 0xf2, 0xc2, 0xca, 0xa2, 0xa2, 0x3e, 0x99, 0x7f, 0x9b, 0xdd, 0xf2, 0x64, 0xf3, 0x6e, 0x79, 0x62, 0x76, 0xcb, - 0xfd, 0x14, 0xfb, 0xf9, 0xa8, 0x0d, 0x7f, 0xba, 0xd5, 0x84, 0x82, 0x96, 0x73, 0x30, 0xbd, 0x75, 0x40, 0x4f, 0x6b, - 0x76, 0xa6, 0xb7, 0x2a, 0xc7, 0x1a, 0x62, 0x37, 0x2d, 0xc8, 0x3a, 0xc6, 0x2d, 0x07, 0x0a, 0xe1, 0x6f, 0xab, 0xf6, - 0xaa, 0x7d, 0x08, 0xef, 0xa0, 0xd5, 0xd1, 0xfa, 0xbb, 0xce, 0xfd, 0x9b, 0x36, 0x48, 0xb9, 0xf0, 0x02, 0xc3, 0x8d, - 0x91, 0x2f, 0xc2, 0xeb, 0x6b, 0x1a, 0x05, 0x23, 0x3e, 0x9c, 0xe5, 0xff, 0xa4, 0xe1, 0xd7, 0x48, 0xbc, 0x77, 0x4b, - 0xaf, 0xf4, 0x63, 0x9a, 0xaa, 0x8c, 0x6f, 0xd3, 0xc3, 0xa2, 0x5c, 0xa7, 0x20, 0x1f, 0x86, 0x09, 0xf5, 0x3a, 0xfe, - 0xe1, 0x86, 0x4d, 0xf0, 0xef, 0xb2, 0x36, 0x1b, 0x27, 0xf3, 0x7b, 0x91, 0x71, 0x2f, 0x12, 0x7e, 0x15, 0x0e, 0xec, - 0x35, 0x6c, 0x1d, 0x6f, 0x06, 0x77, 0x60, 0x46, 0xba, 0x30, 0x42, 0x41, 0xcb, 0x9d, 0x88, 0x8e, 0xc2, 0x59, 0x22, - 0xee, 0xef, 0x75, 0x1b, 0x65, 0xac, 0xf5, 0x7a, 0x0f, 0x43, 0xaf, 0xea, 0x3e, 0x90, 0x4b, 0x7f, 0xfe, 0xe4, 0x10, - 0xfe, 0xa8, 0xfc, 0xaf, 0xbb, 0x4a, 0x57, 0x57, 0x76, 0x2f, 0xe8, 0xea, 0xbb, 0x35, 0x65, 0x5c, 0x89, 0x70, 0xa9, - 0x8f, 0x3f, 0xb4, 0x36, 0x68, 0x95, 0x0f, 0xaa, 0xae, 0xb5, 0xac, 0x5f, 0x55, 0xfb, 0xd7, 0x75, 0xfe, 0xc0, 0xba, - 0x43, 0xa5, 0xb9, 0xd6, 0xeb, 0xea, 0xcf, 0x10, 0xae, 0x55, 0x36, 0x18, 0x97, 0xf5, 0x77, 0xc9, 0x5d, 0x69, 0xa2, - 0xa8, 0x68, 0x2c, 0x58, 0x29, 0xbb, 0xca, 0x4a, 0xc9, 0x29, 0xb9, 0x3a, 0xe9, 0xdf, 0x4e, 0x12, 0x67, 0xae, 0x8e, - 0x4b, 0x12, 0xb7, 0xed, 0xb7, 0x5c, 0x47, 0xe6, 0x01, 0xc0, 0xad, 0xed, 0xae, 0xfc, 0xbc, 0xad, 0xdb, 0x07, 0x4d, - 0x6b, 0x3e, 0x96, 0x9a, 0xdd, 0xcb, 0xf0, 0x8e, 0x66, 0x97, 0x1d, 0xd7, 0x01, 0x3f, 0x4d, 0x53, 0xa5, 0x4c, 0xc8, - 0x32, 0xa7, 0xe3, 0x3a, 0xb7, 0x93, 0x24, 0xcd, 0x89, 0x1b, 0x0b, 0x31, 0x0d, 0xd4, 0xf7, 0x6f, 0x6f, 0x0e, 0x7c, - 0x9e, 0x8d, 0xf7, 0x3b, 0xad, 0x56, 0x0b, 0x2e, 0x80, 0x75, 0x9d, 0x39, 0xa3, 0x37, 0x4f, 0xf9, 0x2d, 0x71, 0x5b, - 0x4e, 0xcb, 0x69, 0x77, 0x8e, 0x9d, 0x76, 0xe7, 0xd0, 0x7f, 0x74, 0xec, 0xf6, 0x3e, 0x73, 0x9c, 0x93, 0x88, 0x8e, - 0x72, 0xf8, 0xe1, 0x38, 0x27, 0x52, 0xf1, 0x52, 0xbf, 0x1d, 0xc7, 0x1f, 0x26, 0x79, 0xb3, 0xed, 0x2c, 0xf4, 0xa3, - 0xe3, 0xc0, 0xa1, 0xd2, 0xc0, 0xf9, 0x7c, 0xd4, 0x19, 0x1d, 0x8e, 0x9e, 0x74, 0x75, 0x71, 0xf1, 0x59, 0xad, 0x3a, - 0x56, 0xff, 0x77, 0xac, 0x66, 0xb9, 0xc8, 0xf8, 0x47, 0xaa, 0x73, 0x12, 0x1d, 0x10, 0x3d, 0x1b, 0x9b, 0x76, 0xd6, - 0x47, 0x6a, 0x1f, 0x5f, 0x0f, 0x47, 0x9d, 0xaa, 0xba, 0x84, 0x71, 0xbf, 0x04, 0xf2, 0x64, 0xdf, 0x80, 0x7e, 0x62, - 0xa3, 0xa9, 0xdd, 0xdc, 0x84, 0xa8, 0xb6, 0xab, 0xe7, 0x38, 0x36, 0xf3, 0x3b, 0x81, 0x33, 0x0c, 0x46, 0x57, 0x95, - 0x10, 0xb8, 0x4e, 0x44, 0xdc, 0x57, 0xed, 0xce, 0x31, 0x6e, 0xb7, 0x1f, 0xf9, 0x8f, 0x8e, 0x87, 0x2d, 0x7c, 0xe8, - 0x1f, 0x36, 0x0f, 0xfc, 0x47, 0xf8, 0xb8, 0x79, 0x8c, 0x8f, 0x5f, 0x1c, 0x0f, 0x9b, 0x87, 0xfe, 0x21, 0x6e, 0x35, - 0x8f, 0xa1, 0xb0, 0x79, 0xdc, 0x3c, 0x9e, 0x37, 0x0f, 0x8f, 0x87, 0x2d, 0x59, 0xda, 0xf1, 0x8f, 0x8e, 0x9a, 0xed, - 0x96, 0x7f, 0x74, 0x84, 0x8f, 0xfc, 0x47, 0x8f, 0x9a, 0xed, 0x03, 0xff, 0xd1, 0xa3, 0x97, 0x47, 0xc7, 0xfe, 0x01, - 0xbc, 0x3b, 0x38, 0x18, 0x1e, 0xf8, 0xed, 0x76, 0x13, 0xfe, 0xc1, 0xc7, 0x7e, 0x47, 0xfd, 0x68, 0xb7, 0xfd, 0x83, - 0x36, 0x6e, 0x25, 0x47, 0x1d, 0xff, 0xd1, 0x13, 0x2c, 0xff, 0x95, 0xd5, 0xb0, 0xfc, 0x07, 0xba, 0xc1, 0x4f, 0xfc, - 0xce, 0x23, 0xf5, 0x4b, 0x76, 0x38, 0x3f, 0x3c, 0xfe, 0xc1, 0xdd, 0xdf, 0x3a, 0x87, 0xb6, 0x9a, 0xc3, 0xf1, 0x91, - 0x7f, 0x70, 0x80, 0x0f, 0xdb, 0xfe, 0xf1, 0x41, 0xdc, 0x3c, 0xec, 0xf8, 0x8f, 0x1e, 0x0f, 0x9b, 0x6d, 0xff, 0xf1, - 0x63, 0xdc, 0x6a, 0x1e, 0xf8, 0x1d, 0xdc, 0xf6, 0x0f, 0x0f, 0xe4, 0x8f, 0x03, 0xbf, 0x33, 0x7f, 0xfc, 0xc4, 0x7f, - 0x74, 0x14, 0x3f, 0xf2, 0x0f, 0xbf, 0x3d, 0x3c, 0xf6, 0x3b, 0x07, 0xf1, 0xc1, 0x23, 0xbf, 0xf3, 0x78, 0xfe, 0xc8, - 0x3f, 0x8c, 0x9b, 0x9d, 0x47, 0xf7, 0xb6, 0x6c, 0x77, 0x7c, 0xc0, 0x91, 0x7c, 0x0d, 0x2f, 0xb0, 0x7e, 0x01, 0x7f, - 0x63, 0xd9, 0xf6, 0xdf, 0xb1, 0x9b, 0x7c, 0xbd, 0xe9, 0x13, 0xff, 0xf8, 0xf1, 0x50, 0x55, 0x87, 0x82, 0xa6, 0xa9, - 0x01, 0x4d, 0xe6, 0x4d, 0x35, 0xac, 0xec, 0xae, 0x69, 0x3a, 0x32, 0x7f, 0xf5, 0x60, 0xf3, 0x26, 0x0c, 0xac, 0xc6, - 0xfd, 0x0f, 0xed, 0xa7, 0x5c, 0xf2, 0x93, 0xfd, 0xb1, 0x22, 0xfd, 0x71, 0xef, 0x33, 0x75, 0xbb, 0xf3, 0x67, 0x57, - 0x38, 0xdd, 0xe6, 0xf8, 0xc8, 0x3e, 0xed, 0xf8, 0xe0, 0xf4, 0x21, 0x9e, 0x8f, 0xec, 0x0f, 0xf7, 0x7c, 0xa4, 0x74, - 0xc5, 0x71, 0x7e, 0x2d, 0xd6, 0x1c, 0x1c, 0xab, 0x56, 0xf1, 0x53, 0xe1, 0x0d, 0x72, 0xf8, 0x8e, 0x58, 0xd1, 0xbd, - 0x16, 0x84, 0x53, 0xdb, 0x0f, 0xc4, 0x81, 0xc5, 0x5e, 0x0b, 0xc5, 0x63, 0x93, 0x6d, 0x08, 0x09, 0x3f, 0x8d, 0x90, - 0x6f, 0x1f, 0x82, 0x8f, 0xf0, 0x0f, 0xc7, 0x47, 0x62, 0xe3, 0xa3, 0xe6, 0xcb, 0x97, 0x9e, 0x06, 0xe9, 0x29, 0x38, - 0x97, 0xcf, 0x1e, 0x1c, 0xa2, 0x6a, 0xb8, 0xfb, 0x14, 0x8a, 0x72, 0x57, 0x45, 0xbe, 0xde, 0xfd, 0x9a, 0xb0, 0x83, - 0x3a, 0x31, 0x49, 0x5c, 0xed, 0x96, 0x99, 0x4a, 0xa9, 0xa3, 0x1f, 0x4a, 0xa1, 0xd4, 0xf1, 0x5b, 0x7e, 0xab, 0x74, - 0xe9, 0xc0, 0x29, 0x59, 0xb2, 0xe0, 0x22, 0x84, 0x2f, 0xd6, 0x26, 0x7c, 0x2c, 0xbf, 0x6d, 0x0b, 0x5f, 0x13, 0x80, - 0xa4, 0x9f, 0xa1, 0xfa, 0x90, 0x43, 0xe0, 0xba, 0xfa, 0x6e, 0x0d, 0x38, 0x85, 0xf9, 0x0d, 0x9c, 0x54, 0x35, 0x51, - 0x89, 0x09, 0x78, 0x3b, 0x5e, 0xd1, 0x88, 0x85, 0x9e, 0xeb, 0x4d, 0x33, 0x3a, 0xa2, 0x59, 0xde, 0xac, 0x1d, 0xdf, - 0x94, 0x27, 0x37, 0x91, 0x6b, 0x3e, 0x8d, 0x9a, 0xc1, 0xed, 0xd8, 0x64, 0xa0, 0xfd, 0x8d, 0xae, 0x36, 0xc0, 0xdc, - 0x02, 0x9b, 0x92, 0x0c, 0x64, 0x6d, 0xa5, 0xb4, 0xb9, 0x4a, 0x6b, 0x6b, 0xfb, 0x9d, 0x23, 0xe4, 0xc8, 0x62, 0xb8, - 0x77, 0xf8, 0x7b, 0xaf, 0x79, 0xd0, 0xfa, 0x13, 0xb2, 0x9a, 0x95, 0x1d, 0x5d, 0x68, 0x77, 0x5b, 0x5a, 0x7d, 0x53, - 0xba, 0x7e, 0xb6, 0xd6, 0x55, 0x14, 0xf1, 0xb9, 0x9a, 0xbb, 0x8b, 0xba, 0xa9, 0x8e, 0x70, 0xab, 0x1b, 0x22, 0x46, - 0x6c, 0xec, 0xd9, 0x5f, 0x0c, 0x56, 0xf7, 0x1a, 0xcb, 0x0f, 0x8d, 0xa3, 0xa2, 0xaa, 0x92, 0xa2, 0x85, 0x8c, 0xb7, - 0xb0, 0xd4, 0x49, 0x97, 0x4b, 0x2f, 0x05, 0x17, 0x39, 0xb1, 0x70, 0x0a, 0xcf, 0xa8, 0x86, 0xe4, 0x14, 0x97, 0x00, - 0x49, 0x04, 0x93, 0x54, 0xfd, 0x5f, 0x15, 0x9b, 0x1f, 0xda, 0xf1, 0xe5, 0x27, 0x61, 0x3a, 0x06, 0x2a, 0x0c, 0xd3, - 0xf1, 0x9a, 0x5b, 0x4d, 0x85, 0x8c, 0x56, 0x4a, 0xab, 0xae, 0x2a, 0xf7, 0x59, 0xfe, 0xf4, 0xee, 0xbd, 0xbe, 0x00, - 0xcd, 0x05, 0xef, 0xb4, 0x8c, 0x70, 0x54, 0x97, 0x35, 0x37, 0xc8, 0x17, 0x27, 0x13, 0x2a, 0x42, 0x95, 0xaf, 0x09, - 0xfa, 0x04, 0x9c, 0x9a, 0x75, 0xb4, 0x35, 0x4a, 0x5c, 0x29, 0xdd, 0x49, 0x44, 0xe7, 0x6c, 0xa8, 0x45, 0x3d, 0x76, - 0xf4, 0xcd, 0x01, 0x4d, 0xb9, 0x34, 0xa4, 0x8d, 0x95, 0x3f, 0x66, 0x18, 0xca, 0x8c, 0x7c, 0x92, 0x72, 0xb7, 0xf7, - 0x45, 0xf9, 0xf5, 0xd3, 0x6d, 0x8b, 0x90, 0xb0, 0xf4, 0xe3, 0x20, 0xa3, 0xc9, 0x3f, 0x91, 0x2f, 0xd8, 0x90, 0xa7, - 0x5f, 0x5c, 0xc0, 0x57, 0xe9, 0xfd, 0x38, 0xa3, 0x23, 0xf2, 0x05, 0xc8, 0xf8, 0x40, 0x5a, 0x1f, 0xc0, 0x08, 0x1b, - 0xb7, 0x93, 0x04, 0x4b, 0x8d, 0xe9, 0x01, 0x0a, 0x91, 0x02, 0xd7, 0xed, 0x1c, 0xb9, 0x8e, 0xb2, 0x89, 0xe5, 0xef, - 0x9e, 0x12, 0xa7, 0x52, 0x09, 0x70, 0xda, 0x1d, 0xff, 0x28, 0xee, 0xf8, 0x4f, 0xe6, 0x8f, 0xfd, 0xe3, 0xb8, 0xfd, - 0x78, 0xde, 0x84, 0xff, 0x3b, 0xfe, 0x93, 0xa4, 0xd9, 0xf1, 0x9f, 0xc0, 0xdf, 0x6f, 0x0f, 0xfd, 0xa3, 0xb8, 0xd9, - 0xf6, 0x8f, 0xe7, 0x07, 0xfe, 0xc1, 0xcb, 0x76, 0xc7, 0x3f, 0x70, 0xda, 0x8e, 0x6a, 0x07, 0xec, 0x5a, 0x71, 0xe7, - 0x2f, 0x56, 0x36, 0xc4, 0x86, 0x70, 0x9c, 0xca, 0x39, 0x75, 0xb1, 0x57, 0x7e, 0x63, 0x51, 0xef, 0x4f, 0xed, 0xac, - 0x7b, 0x16, 0x66, 0xf0, 0xa1, 0x9b, 0xfa, 0xde, 0xad, 0xbd, 0xc3, 0x35, 0x7e, 0xb1, 0x61, 0x08, 0xd8, 0xe1, 0x2e, - 0xb6, 0x8f, 0xde, 0xc3, 0xb9, 0x75, 0x79, 0x2f, 0xb8, 0xb9, 0x1e, 0x71, 0x3b, 0x69, 0xab, 0x8a, 0xe6, 0x0a, 0x46, - 0xc9, 0x2c, 0x98, 0xfc, 0x02, 0x83, 0x1c, 0xe4, 0xab, 0xa8, 0x58, 0x1d, 0x1f, 0x52, 0x5f, 0x33, 0x6e, 0xdd, 0x3e, - 0x40, 0xab, 0x03, 0x1b, 0x11, 0x83, 0xfb, 0x22, 0x8a, 0xc2, 0x80, 0x5e, 0x73, 0xd3, 0x56, 0x58, 0x92, 0xfc, 0x82, - 0xe6, 0x7d, 0x17, 0x8a, 0xdc, 0xc0, 0x95, 0x2e, 0x3e, 0xb7, 0xfc, 0xd8, 0x4f, 0x49, 0xd8, 0x55, 0x01, 0x96, 0x87, - 0xae, 0x60, 0xd7, 0x02, 0x7e, 0x5c, 0xb4, 0xb7, 0xb7, 0x75, 0xbf, 0x48, 0x05, 0x12, 0xe6, 0x5a, 0x7d, 0x23, 0xc4, - 0x66, 0x45, 0xae, 0x8d, 0xe8, 0xb2, 0x5f, 0x89, 0x42, 0xa4, 0xf1, 0x74, 0x4d, 0x43, 0xe1, 0x87, 0xa9, 0x4a, 0xa2, - 0xb1, 0x18, 0x16, 0x6e, 0xd3, 0x03, 0x54, 0x70, 0x11, 0x5a, 0xdf, 0x01, 0xd6, 0xfb, 0x9c, 0x8b, 0xd0, 0x9c, 0xa5, - 0xb5, 0xae, 0x0d, 0x02, 0x47, 0x6f, 0xdc, 0xe9, 0xbd, 0x79, 0x7f, 0xea, 0xa8, 0xed, 0x79, 0xb2, 0x1f, 0x77, 0x7a, - 0x27, 0xd2, 0x67, 0xa2, 0x4e, 0xe2, 0x11, 0x75, 0x12, 0xcf, 0xd1, 0xa7, 0x32, 0x21, 0x92, 0x56, 0xec, 0xab, 0x69, - 0x4b, 0x9b, 0x41, 0x79, 0x7b, 0x27, 0xb3, 0x44, 0x30, 0xb8, 0xe3, 0x7a, 0x5f, 0x1e, 0xc3, 0x83, 0x05, 0x2b, 0xf3, - 0xb0, 0xb5, 0x76, 0x78, 0x2d, 0x52, 0xe3, 0x1b, 0x1e, 0xb1, 0x84, 0x9a, 0xcc, 0x6b, 0xdd, 0x55, 0x79, 0x52, 0x60, - 0xbd, 0x76, 0x3e, 0xbb, 0x9e, 0x30, 0xe1, 0x9a, 0xf3, 0x0c, 0x1f, 0x74, 0x83, 0x13, 0x39, 0x54, 0xef, 0xaa, 0xd0, - 0xce, 0x6b, 0xf3, 0x35, 0x9f, 0xfa, 0x92, 0xea, 0xd9, 0x6b, 0x09, 0x01, 0x27, 0xe4, 0xe2, 0x83, 0x5e, 0xe9, 0x2e, - 0xb6, 0xdf, 0x15, 0x27, 0xfb, 0xf1, 0x41, 0xef, 0x2a, 0x98, 0xea, 0xfe, 0x5e, 0xf2, 0xf1, 0xe6, 0xbe, 0x12, 0x3e, - 0xee, 0xcb, 0xa3, 0x20, 0xea, 0x90, 0xb2, 0x51, 0x7e, 0x79, 0xe2, 0xf6, 0x4e, 0xb4, 0x32, 0xe0, 0xc8, 0xc0, 0xba, - 0x7b, 0xd4, 0x32, 0xa7, 0x4b, 0x12, 0x3e, 0x86, 0x0d, 0xa9, 0x9a, 0x58, 0x83, 0xd4, 0x3c, 0xee, 0x71, 0xbb, 0x77, - 0x12, 0x3a, 0x92, 0xb7, 0x48, 0xe6, 0x91, 0x07, 0xfb, 0xd0, 0x38, 0xe6, 0x13, 0xea, 0x33, 0xbe, 0x7f, 0x43, 0xaf, - 0x9b, 0xe1, 0x94, 0x55, 0xee, 0x6d, 0x50, 0x3a, 0xca, 0x21, 0xb9, 0xf1, 0x88, 0xeb, 0xb3, 0x57, 0x9d, 0xca, 0xdd, - 0x76, 0x08, 0x36, 0x8f, 0x71, 0xcd, 0x49, 0x9f, 0x9c, 0x05, 0x16, 0xef, 0x9d, 0xec, 0x87, 0x2b, 0x18, 0x91, 0xfc, - 0xbe, 0xd0, 0x8e, 0x76, 0x30, 0x6c, 0x80, 0xde, 0x5c, 0x47, 0x89, 0x03, 0xe3, 0x90, 0xd7, 0x82, 0xba, 0x70, 0x7b, - 0xff, 0xfa, 0x3f, 0xfe, 0x97, 0xf6, 0xb1, 0x9f, 0xec, 0xc7, 0x6d, 0xd3, 0xd7, 0xca, 0xaa, 0x14, 0x27, 0x70, 0xdc, - 0xb3, 0x0a, 0x0a, 0xd3, 0xdb, 0xe6, 0x38, 0x63, 0x51, 0x33, 0x0e, 0x93, 0x91, 0xdb, 0xdb, 0x8e, 0x4d, 0xfb, 0xd8, - 0x96, 0x86, 0xba, 0x5e, 0x04, 0xf4, 0xfa, 0x9b, 0x0e, 0x1e, 0x99, 0xf3, 0x2b, 0x72, 0x6b, 0xdb, 0xc7, 0x90, 0xaa, - 0xdd, 0x57, 0x3b, 0x8a, 0x94, 0xea, 0x4f, 0x84, 0x69, 0x0e, 0x98, 0xd6, 0x4e, 0x20, 0x15, 0xae, 0x53, 0x06, 0xb5, - 0xfe, 0xef, 0xff, 0xfc, 0x2f, 0xff, 0xcd, 0x3c, 0x42, 0xac, 0xea, 0x5f, 0xff, 0xfb, 0x7f, 0xfe, 0x3f, 0xff, 0xfb, - 0xbf, 0xc2, 0xa9, 0x15, 0x1d, 0xcf, 0x92, 0x4c, 0xc5, 0xa9, 0x82, 0x59, 0x8a, 0xbb, 0x38, 0x90, 0xd8, 0x39, 0x61, - 0xb9, 0x60, 0xc3, 0xfa, 0x99, 0xa4, 0x73, 0x39, 0xa0, 0xdc, 0x99, 0x1a, 0x3a, 0xb9, 0xc3, 0x8b, 0x8a, 0xa0, 0x6a, - 0x28, 0x97, 0x84, 0x5b, 0x9c, 0xec, 0x03, 0xbe, 0x1f, 0x76, 0x8c, 0xd3, 0x2f, 0x97, 0x63, 0x61, 0xc8, 0x04, 0x4a, - 0x8a, 0xaa, 0xdc, 0x81, 0xd8, 0xca, 0x02, 0x1e, 0x83, 0x8e, 0x55, 0x2c, 0x57, 0xaf, 0xd6, 0xa6, 0xfb, 0xd3, 0x2c, - 0x17, 0x6c, 0x04, 0x28, 0x57, 0x7e, 0x62, 0x19, 0xc6, 0x6e, 0x82, 0xae, 0x98, 0xdc, 0x15, 0xb2, 0x17, 0x45, 0xa0, - 0x87, 0xc7, 0x7f, 0x2a, 0xfe, 0x32, 0x01, 0x8d, 0xcc, 0xf1, 0x26, 0xe1, 0xad, 0x36, 0xcf, 0x1f, 0xb5, 0x5a, 0xd3, - 0x5b, 0xb4, 0xa8, 0x46, 0xc0, 0xdb, 0x06, 0x93, 0x74, 0x6c, 0x77, 0x28, 0xe3, 0xdf, 0xa5, 0x1b, 0xbb, 0xe5, 0x80, - 0x2f, 0xdc, 0x69, 0x15, 0xc5, 0x9f, 0x17, 0xd2, 0x93, 0xca, 0x7e, 0x81, 0x38, 0xb5, 0x76, 0x3a, 0x5f, 0x73, 0x7b, - 0x72, 0x0b, 0xab, 0x55, 0x47, 0xb5, 0x8a, 0xdb, 0xeb, 0xa7, 0x13, 0xed, 0x38, 0xbb, 0x1d, 0x21, 0x3f, 0x84, 0x98, - 0x77, 0xdc, 0xc6, 0x71, 0x67, 0x51, 0x76, 0x2f, 0x04, 0x9f, 0xd8, 0x81, 0x75, 0x1a, 0xd2, 0x21, 0x1d, 0x19, 0x67, - 0xbd, 0x7e, 0xaf, 0x82, 0xe6, 0x45, 0x7c, 0xb0, 0x61, 0x2c, 0x0d, 0x92, 0x0c, 0xa8, 0x3b, 0xad, 0xe2, 0x73, 0xd8, - 0x81, 0x8b, 0x51, 0xc2, 0x43, 0x11, 0x48, 0x82, 0xed, 0xda, 0xe1, 0xf9, 0x10, 0x78, 0x12, 0x5f, 0x58, 0xf0, 0x74, - 0x55, 0x55, 0x70, 0x9b, 0xd7, 0xcf, 0x90, 0x16, 0xbe, 0x6c, 0x6e, 0x77, 0xa5, 0xbc, 0x6e, 0xdf, 0xea, 0xa8, 0xf7, - 0xbb, 0x9a, 0xbb, 0x4a, 0x0b, 0xa4, 0x0e, 0xda, 0xfc, 0x5e, 0xc9, 0x75, 0xf5, 0xf6, 0x6b, 0xe1, 0xb9, 0x12, 0x4c, - 0x77, 0xb5, 0x96, 0x2c, 0x84, 0x5a, 0xef, 0xc8, 0xb7, 0xa5, 0xc9, 0x14, 0x4e, 0xa7, 0xb2, 0x22, 0xea, 0x9e, 0xec, - 0x2b, 0x4d, 0x17, 0xb8, 0x87, 0x4c, 0xe9, 0x50, 0x19, 0x14, 0xba, 0x92, 0xde, 0x0a, 0xea, 0x97, 0xce, 0xad, 0x80, - 0x4f, 0xc7, 0xf5, 0xfe, 0x1f, 0xe7, 0xe0, 0x1c, 0x12, 0xcf, 0x89, 0x00, 0x00}; + 0xe4, 0x2b, 0x20, 0x44, 0x5b, 0x41, 0x6f, 0x36, 0xc1, 0x8b, 0x2e, 0x96, 0x41, 0x36, 0x19, 0x59, 0x76, 0xe2, 0x64, + 0xfb, 0x16, 0xcb, 0x4e, 0x76, 0xc2, 0x70, 0x4b, 0x10, 0xd1, 0x24, 0xda, 0x06, 0x01, 0x06, 0x68, 0x52, 0x52, 0x48, + 0x9c, 0x9a, 0x0f, 0x98, 0xaa, 0xa9, 0x9a, 0xa7, 0x79, 0x99, 0x9a, 0xf3, 0x30, 0x1f, 0x31, 0xcf, 0xe7, 0x53, 0xce, + 0x0f, 0xcc, 0x7c, 0xc2, 0xd4, 0xea, 0x0b, 0xd0, 0xe0, 0x45, 0x56, 0x2e, 0xe7, 0x9c, 0x29, 0x97, 0x6d, 0xa2, 0xd1, + 0x97, 0xd5, 0xab, 0x57, 0xaf, 0x7b, 0x37, 0xba, 0x7b, 0x41, 0x32, 0xe2, 0x77, 0x33, 0x6a, 0x85, 0x7c, 0x1a, 0xf5, + 0xba, 0xea, 0x5f, 0xea, 0x07, 0xbd, 0x6e, 0xc4, 0xe2, 0x8f, 0x56, 0x4a, 0x23, 0xc2, 0x46, 0x49, 0x6c, 0x85, 0x29, + 0x1d, 0x93, 0xc0, 0xe7, 0xbe, 0xc7, 0xa6, 0xfe, 0x84, 0x5a, 0x8d, 0x5e, 0x77, 0x4a, 0xb9, 0x6f, 0x8d, 0x42, 0x3f, + 0xcd, 0x28, 0x27, 0xef, 0xdf, 0x7d, 0x55, 0x3f, 0xed, 0x75, 0xb3, 0x51, 0xca, 0x66, 0xdc, 0x82, 0x2e, 0xc9, 0x34, + 0x09, 0xe6, 0x11, 0xed, 0x35, 0x1a, 0x37, 0x37, 0x37, 0xee, 0x87, 0xec, 0xb3, 0x51, 0x12, 0x67, 0xdc, 0x7a, 0x41, + 0x6e, 0x58, 0x1c, 0x24, 0x37, 0x98, 0x71, 0xf2, 0xc2, 0xbd, 0x08, 0xfd, 0x20, 0xb9, 0x79, 0x9b, 0x24, 0xfc, 0xe0, + 0xc0, 0x91, 0x8f, 0x77, 0xe7, 0x17, 0x17, 0x84, 0x90, 0x45, 0xc2, 0x02, 0xab, 0xb9, 0x5a, 0x95, 0x85, 0x6e, 0xec, + 0x73, 0xb6, 0xa0, 0xb2, 0x09, 0x3a, 0x38, 0xb0, 0xfd, 0x20, 0x99, 0x71, 0x1a, 0x5c, 0xf0, 0xbb, 0x88, 0x5e, 0x84, + 0x94, 0xf2, 0xcc, 0x66, 0xb1, 0xf5, 0x34, 0x19, 0xcd, 0xa7, 0x34, 0xe6, 0xee, 0x2c, 0x4d, 0x78, 0x02, 0x90, 0x1c, + 0x1c, 0xd8, 0x29, 0x9d, 0x45, 0xfe, 0x88, 0xc2, 0xfb, 0xf3, 0x8b, 0x8b, 0xb2, 0x45, 0x59, 0x09, 0x67, 0x9c, 0x5c, + 0xdc, 0x4d, 0xaf, 0x93, 0xc8, 0x41, 0xd8, 0xe7, 0x24, 0xa6, 0x37, 0xd6, 0x0f, 0xd4, 0xff, 0xf8, 0xd2, 0x9f, 0x75, + 0x46, 0x91, 0x9f, 0x65, 0xd6, 0x2d, 0x5f, 0x8a, 0x29, 0xa4, 0xf3, 0x11, 0x4f, 0x52, 0x87, 0x63, 0x8a, 0x19, 0x5a, + 0xb2, 0xb1, 0xc3, 0x43, 0x96, 0xb9, 0x97, 0xfb, 0xa3, 0x2c, 0x7b, 0x4b, 0xb3, 0x79, 0xc4, 0xf7, 0xc9, 0x5e, 0x13, + 0xb3, 0x3d, 0x42, 0x32, 0x8e, 0x78, 0x98, 0x26, 0x37, 0xd6, 0xb3, 0x34, 0x4d, 0x52, 0xc7, 0x3e, 0xbf, 0xb8, 0x90, + 0x35, 0x2c, 0x96, 0x59, 0x71, 0xc2, 0xad, 0xa2, 0x3f, 0xff, 0x3a, 0xa2, 0xae, 0xf5, 0x3e, 0xa3, 0xd6, 0xd5, 0x3c, + 0xce, 0xfc, 0x31, 0x3d, 0xbf, 0xb8, 0xb8, 0xb2, 0x92, 0xd4, 0xba, 0x1a, 0x65, 0xd9, 0x95, 0xc5, 0xe2, 0x8c, 0x53, + 0x3f, 0x70, 0x6d, 0xd4, 0x11, 0x83, 0x8d, 0xb2, 0xec, 0x1d, 0xbd, 0xe5, 0x84, 0x63, 0xf1, 0xc8, 0x09, 0xcd, 0x27, + 0x94, 0x5b, 0x59, 0x31, 0x2f, 0x07, 0x2d, 0x23, 0xca, 0x2d, 0x4e, 0xc4, 0xfb, 0xa4, 0x23, 0x71, 0x4f, 0xe5, 0x23, + 0xef, 0xb0, 0xb1, 0xc3, 0xf8, 0xc1, 0x01, 0x2f, 0xf0, 0x8c, 0xe4, 0xd4, 0x2c, 0x46, 0xe8, 0x9e, 0x2e, 0x3b, 0x38, + 0xa0, 0x6e, 0x44, 0xe3, 0x09, 0x0f, 0x09, 0x21, 0xad, 0x0e, 0x3b, 0x38, 0x70, 0x38, 0xf1, 0xb9, 0x3b, 0xa1, 0xdc, + 0xa1, 0x08, 0xe1, 0xb2, 0xf5, 0xc1, 0x81, 0x23, 0x91, 0x90, 0x10, 0x89, 0xb8, 0x0a, 0x8e, 0x91, 0xab, 0xb0, 0x7f, + 0x71, 0x17, 0x8f, 0x1c, 0x13, 0x7e, 0x84, 0xd9, 0xc1, 0x81, 0xcf, 0xdd, 0x0c, 0x7a, 0xc4, 0x1c, 0xa1, 0x3c, 0xa5, + 0x7c, 0x9e, 0xc6, 0x16, 0xcf, 0x79, 0x72, 0xc1, 0x53, 0x16, 0x4f, 0x1c, 0xb4, 0xd4, 0x65, 0x46, 0xc3, 0x3c, 0x97, + 0xe0, 0xbe, 0xe2, 0x24, 0x26, 0x3d, 0x18, 0xf1, 0x96, 0x3b, 0xb0, 0x8a, 0xc9, 0xd8, 0x8a, 0x09, 0xb1, 0x33, 0xd1, + 0xd6, 0xee, 0xc7, 0x5e, 0x5c, 0xb3, 0x6d, 0x2c, 0xa1, 0xc4, 0x19, 0x47, 0xf8, 0x35, 0x71, 0x62, 0xec, 0xba, 0x2e, + 0x47, 0xa4, 0xb7, 0xd4, 0x58, 0x89, 0x8d, 0x79, 0xf6, 0xe3, 0x41, 0x73, 0xe8, 0x71, 0x37, 0xa5, 0xc1, 0x7c, 0x44, + 0x1d, 0x87, 0xe1, 0x0c, 0xa7, 0x88, 0xf4, 0x58, 0xcd, 0x49, 0x48, 0x0f, 0x96, 0x3b, 0xa9, 0xae, 0x35, 0x21, 0x7b, + 0x4d, 0xa4, 0x60, 0x4c, 0x34, 0x80, 0x80, 0x61, 0x05, 0x4f, 0x42, 0x88, 0x1d, 0xcf, 0xa7, 0xd7, 0x34, 0xb5, 0x8b, + 0x6a, 0x9d, 0x0a, 0x59, 0xcc, 0x33, 0x6a, 0x8d, 0xb2, 0xcc, 0x1a, 0xcf, 0xe3, 0x11, 0x67, 0x49, 0x6c, 0xd9, 0xb5, + 0xa4, 0x66, 0x4b, 0x72, 0x28, 0xa8, 0xc1, 0x46, 0x39, 0x72, 0x32, 0x54, 0x8b, 0x07, 0x69, 0xad, 0x35, 0xc4, 0x00, + 0x25, 0xea, 0xa8, 0xfe, 0x14, 0x02, 0x28, 0x8e, 0x61, 0x8e, 0x39, 0x7e, 0xcb, 0x61, 0x96, 0x62, 0x8a, 0x8c, 0xf7, + 0x63, 0x77, 0x73, 0xa3, 0x10, 0xee, 0x4e, 0xfd, 0x99, 0x43, 0x49, 0x8f, 0x0a, 0xe2, 0xf2, 0xe3, 0x11, 0xc0, 0x5a, + 0x59, 0xb7, 0x3e, 0xf5, 0xa8, 0x5b, 0x92, 0x14, 0xf2, 0xb8, 0x3b, 0x4e, 0xd2, 0x67, 0xfe, 0x28, 0x84, 0x76, 0x05, + 0xc1, 0x04, 0x7a, 0xbf, 0x8d, 0x52, 0xea, 0x73, 0xfa, 0x2c, 0xa2, 0xf0, 0xe4, 0xd8, 0xa2, 0xa5, 0x8d, 0x70, 0x46, + 0x5e, 0xb8, 0x11, 0xe3, 0xaf, 0x92, 0x78, 0x44, 0x3b, 0x99, 0x41, 0x5d, 0x0c, 0xd6, 0xfd, 0x8c, 0xf3, 0x94, 0x5d, + 0xcf, 0x39, 0x75, 0xec, 0x18, 0x6a, 0xd8, 0x38, 0x43, 0x98, 0xb9, 0x9c, 0xde, 0xf2, 0xf3, 0x24, 0xe6, 0x34, 0xe6, + 0x84, 0x6a, 0xa4, 0xe2, 0xd8, 0xf5, 0x67, 0x33, 0x1a, 0x07, 0xe7, 0x21, 0x8b, 0x02, 0x87, 0xa1, 0x1c, 0xe5, 0x38, + 0xe4, 0x04, 0xe6, 0x48, 0x7a, 0xb1, 0x07, 0xff, 0xec, 0x9e, 0x8d, 0xc3, 0x49, 0x4f, 0x6c, 0x0a, 0x4a, 0x6c, 0xbb, + 0x33, 0x4e, 0x52, 0x47, 0xcd, 0xc0, 0x4a, 0xc6, 0x16, 0x87, 0x31, 0xde, 0xce, 0x23, 0x9a, 0x21, 0x5a, 0x23, 0xac, + 0x58, 0x46, 0x85, 0xe0, 0x57, 0x40, 0xf1, 0x39, 0x72, 0x62, 0xe4, 0xc5, 0x9d, 0x85, 0x9f, 0x5a, 0x3f, 0xa8, 0x1d, + 0xf5, 0x54, 0x73, 0xb3, 0x11, 0x27, 0x4f, 0x5d, 0x9e, 0xce, 0x33, 0x4e, 0x83, 0x77, 0x77, 0x33, 0x9a, 0xe1, 0xe7, + 0x9c, 0x8c, 0x78, 0x7f, 0xc4, 0x5d, 0x3a, 0x9d, 0xf1, 0xbb, 0x0b, 0xc1, 0x18, 0x3d, 0xdb, 0xc6, 0x01, 0xd4, 0x4c, + 0xa9, 0x3f, 0x02, 0x66, 0xa6, 0xb0, 0xf5, 0x26, 0x89, 0xee, 0xc6, 0x2c, 0x8a, 0x2e, 0xe6, 0xb3, 0x59, 0x92, 0x72, + 0xfc, 0x77, 0xb2, 0xe4, 0x49, 0x89, 0x1a, 0x58, 0xcb, 0x65, 0x76, 0xc3, 0xf8, 0x28, 0x74, 0x38, 0x5a, 0x8e, 0xfc, + 0x8c, 0x5a, 0x4f, 0x92, 0x24, 0xa2, 0x3e, 0x4c, 0x3a, 0xee, 0x3f, 0xe7, 0x5e, 0x3c, 0x8f, 0xa2, 0xce, 0x75, 0x4a, + 0xfd, 0x8f, 0x1d, 0xf1, 0xfa, 0xf5, 0xf5, 0x07, 0x3a, 0xe2, 0x9e, 0xf8, 0x7d, 0x96, 0xa6, 0xfe, 0x1d, 0x54, 0x24, + 0x04, 0xaa, 0xf5, 0x63, 0xef, 0xdb, 0x8b, 0xd7, 0xaf, 0x5c, 0xb9, 0x49, 0xd8, 0xf8, 0xce, 0x89, 0x8b, 0x8d, 0x17, + 0xe7, 0x78, 0x9c, 0x26, 0xd3, 0xb5, 0xa1, 0x25, 0xd6, 0xe2, 0xce, 0x0e, 0x10, 0x28, 0x89, 0xf7, 0x64, 0xd7, 0x26, + 0x04, 0xaf, 0x04, 0xcd, 0xc3, 0x4b, 0xa2, 0xc7, 0x9d, 0x47, 0x91, 0x27, 0x8b, 0x9d, 0x18, 0xdd, 0x0f, 0x2d, 0x4f, + 0xef, 0x96, 0x94, 0x08, 0x38, 0x67, 0x20, 0x61, 0x00, 0xc6, 0x91, 0xcf, 0x47, 0xe1, 0x92, 0x8a, 0xce, 0x72, 0x0d, + 0x31, 0xcd, 0x73, 0x7c, 0x56, 0xd0, 0x3b, 0x07, 0x40, 0x04, 0xa3, 0x22, 0x7c, 0xb5, 0x82, 0x09, 0x23, 0xfc, 0x13, + 0x59, 0xfa, 0x7a, 0x3e, 0xde, 0x5e, 0x13, 0xc3, 0xbe, 0xf4, 0x24, 0x77, 0xc1, 0xa3, 0x24, 0x5e, 0xd0, 0x94, 0xd3, + 0xd4, 0xfb, 0x3b, 0x4e, 0xe9, 0x38, 0x02, 0x28, 0xf6, 0x5a, 0x38, 0xf4, 0xb3, 0xf3, 0xd0, 0x8f, 0x27, 0x34, 0xf0, + 0xce, 0x78, 0x8e, 0x39, 0x27, 0xf6, 0x98, 0xc5, 0x7e, 0xc4, 0x7e, 0xa5, 0x81, 0xad, 0xc4, 0xc1, 0x33, 0x8b, 0xde, + 0x72, 0x1a, 0x07, 0x99, 0xf5, 0xfc, 0xdd, 0xcb, 0x17, 0x6a, 0x21, 0x2b, 0x12, 0x02, 0x2d, 0xb3, 0xf9, 0x8c, 0xa6, + 0x0e, 0xc2, 0x4a, 0x42, 0x3c, 0x63, 0x82, 0x3b, 0xbe, 0xf4, 0x67, 0xb2, 0x84, 0x65, 0xef, 0x67, 0x81, 0xcf, 0xe9, + 0x1b, 0x1a, 0x07, 0x2c, 0x9e, 0x90, 0xbd, 0x96, 0x2c, 0x0f, 0x7d, 0xf5, 0x22, 0x28, 0x8a, 0x2e, 0xf7, 0x9f, 0x45, + 0x62, 0xe2, 0xc5, 0xe3, 0xdc, 0x41, 0x79, 0xc6, 0x7d, 0xce, 0x46, 0x96, 0x1f, 0x04, 0xdf, 0xc4, 0x8c, 0x33, 0x01, + 0x60, 0x0a, 0xeb, 0x03, 0x34, 0x4a, 0xa5, 0xac, 0xd0, 0x80, 0x3b, 0x08, 0x3b, 0x8e, 0x92, 0x00, 0x21, 0x52, 0x0b, + 0x76, 0x70, 0x50, 0xf2, 0xfb, 0x3e, 0xf5, 0xe4, 0x4b, 0x32, 0x18, 0x22, 0x77, 0x36, 0xcf, 0x60, 0xa5, 0xf5, 0x10, + 0x20, 0x5e, 0x92, 0xeb, 0x8c, 0xa6, 0x0b, 0x1a, 0x14, 0xd4, 0x91, 0x39, 0x68, 0xb9, 0x36, 0x86, 0xda, 0x17, 0x9c, + 0x0c, 0x86, 0x1d, 0x93, 0x71, 0x53, 0x45, 0xe8, 0x69, 0x32, 0xa3, 0x29, 0x67, 0x34, 0x2b, 0x78, 0x89, 0x03, 0x62, + 0xb4, 0xe0, 0x27, 0x19, 0xd1, 0xf3, 0x9b, 0x39, 0x0c, 0x53, 0x54, 0xe1, 0x18, 0x5a, 0xd2, 0x3e, 0x5b, 0x08, 0x91, + 0x91, 0x61, 0x86, 0x30, 0x97, 0x90, 0x66, 0x08, 0xe5, 0x08, 0x73, 0x0d, 0xae, 0xe4, 0x45, 0x6a, 0xb4, 0x3b, 0x90, + 0xd5, 0xe4, 0x27, 0x21, 0xab, 0x81, 0xa3, 0xf9, 0x9c, 0x1e, 0x1c, 0x38, 0xd4, 0x2d, 0xa8, 0x82, 0xec, 0xb5, 0xd4, + 0x1a, 0x19, 0xc8, 0xda, 0x01, 0x36, 0x0c, 0xcc, 0x31, 0x45, 0x78, 0x8f, 0xba, 0x71, 0x72, 0x36, 0x1a, 0xd1, 0x2c, + 0x4b, 0xd2, 0x83, 0x83, 0x3d, 0x51, 0xbf, 0x50, 0x27, 0x60, 0x0d, 0x5f, 0xdf, 0xc4, 0x25, 0x04, 0xa8, 0x14, 0xb1, + 0x4a, 0x30, 0x70, 0x10, 0x54, 0x42, 0xe3, 0xb0, 0xfb, 0x5a, 0xf3, 0xf0, 0xec, 0xcb, 0x4b, 0xbb, 0xc6, 0xb1, 0x42, + 0xc3, 0x84, 0xea, 0xa1, 0xef, 0x9e, 0x52, 0xa9, 0x5b, 0x09, 0xcd, 0x63, 0x03, 0x33, 0x72, 0x03, 0xb9, 0x01, 0x1d, + 0xb3, 0xd8, 0x98, 0x76, 0x05, 0x24, 0xcc, 0x71, 0x86, 0x72, 0x63, 0x41, 0xb7, 0x76, 0x2d, 0x94, 0x1a, 0xb9, 0x72, + 0xcb, 0x89, 0x50, 0x24, 0x8c, 0x65, 0x1c, 0xd0, 0x61, 0x8e, 0x05, 0xea, 0xf5, 0x6c, 0x52, 0x01, 0xe8, 0x80, 0x0f, + 0x3b, 0xea, 0x3d, 0xc9, 0x24, 0xe6, 0x52, 0xfa, 0xcb, 0x9c, 0x66, 0x5c, 0xd2, 0xb1, 0xc3, 0x71, 0x8a, 0x19, 0xca, + 0x61, 0xbf, 0x8d, 0xd9, 0x64, 0x9e, 0x82, 0xbe, 0x03, 0x7b, 0x91, 0xc6, 0xf3, 0x29, 0xd5, 0x4f, 0xdb, 0x60, 0x7b, + 0x3d, 0x03, 0x89, 0x98, 0x01, 0x4d, 0xdf, 0x4f, 0x4e, 0x00, 0x2b, 0x47, 0xab, 0xd5, 0x4f, 0xba, 0x93, 0x72, 0x29, + 0x0b, 0x1d, 0x6d, 0x7d, 0x4d, 0x38, 0x52, 0x12, 0x79, 0xaf, 0x25, 0xc1, 0xe7, 0x7c, 0x48, 0xf6, 0x9a, 0x05, 0x0d, + 0x2b, 0xac, 0x4a, 0x70, 0x24, 0x12, 0x5f, 0xcb, 0xae, 0x90, 0x10, 0xf0, 0x15, 0x72, 0x71, 0xc3, 0x0d, 0x4a, 0x0d, + 0xc9, 0x00, 0x54, 0x0d, 0x37, 0x1c, 0xee, 0x22, 0x27, 0xcd, 0x0f, 0x1c, 0xbe, 0xf9, 0xae, 0x64, 0x1b, 0x8b, 0x2a, + 0xdb, 0x58, 0x9b, 0x86, 0x3d, 0x2b, 0x9a, 0xd8, 0x05, 0x95, 0xa9, 0x8d, 0x5e, 0xbe, 0xc2, 0x4c, 0x00, 0x53, 0x4e, + 0xc9, 0xe8, 0xe2, 0x95, 0x3f, 0xa5, 0x99, 0x43, 0x11, 0xde, 0x55, 0x41, 0x92, 0x27, 0x54, 0x19, 0x1a, 0x92, 0x33, + 0x03, 0xc9, 0xc9, 0x90, 0x54, 0xcc, 0xaa, 0x1b, 0x2e, 0xc3, 0x74, 0x90, 0x0d, 0x4b, 0x7d, 0xce, 0x98, 0xbc, 0x10, + 0xc9, 0x8a, 0xbe, 0x35, 0xfe, 0x64, 0x99, 0x44, 0x9a, 0xd0, 0x1b, 0x32, 0x84, 0xf7, 0x9a, 0xeb, 0x2b, 0xa9, 0x6b, + 0x95, 0x73, 0x1c, 0x0c, 0x61, 0x1d, 0x84, 0xc4, 0x70, 0x59, 0x26, 0xfe, 0xaf, 0xec, 0x34, 0x40, 0xdb, 0x05, 0x10, + 0x86, 0x3b, 0x8e, 0x7c, 0xee, 0xb4, 0x1a, 0x4d, 0x50, 0x46, 0x17, 0x14, 0x04, 0x0a, 0x42, 0x9b, 0x53, 0xa1, 0xee, + 0x3c, 0xce, 0x42, 0x36, 0xe6, 0x4e, 0xc8, 0x05, 0x4b, 0xa1, 0x51, 0x46, 0x2d, 0x5e, 0x51, 0x89, 0x05, 0xbb, 0x09, + 0x81, 0xd8, 0x0a, 0xfd, 0x8b, 0x6a, 0x48, 0x05, 0xdb, 0x02, 0xee, 0x50, 0xaa, 0xd3, 0x25, 0x97, 0xd1, 0xb5, 0x19, + 0xa8, 0x8c, 0xad, 0xbe, 0xec, 0xd1, 0x53, 0xcc, 0x80, 0x19, 0x5a, 0x2b, 0xf3, 0x4c, 0x0e, 0xa1, 0x0a, 0xb9, 0xcb, + 0x93, 0x17, 0xc9, 0x0d, 0x4d, 0xcf, 0x7d, 0x00, 0xde, 0x93, 0xcd, 0x73, 0x29, 0x08, 0x04, 0xbf, 0xe7, 0x1d, 0x4d, + 0x2f, 0x97, 0x62, 0xe2, 0x6f, 0xd2, 0x64, 0xca, 0x32, 0x0a, 0xca, 0x9a, 0xc4, 0x7f, 0x0c, 0xfb, 0x4c, 0x6c, 0x48, + 0x10, 0x36, 0xb4, 0xa0, 0xaf, 0xb3, 0x17, 0x55, 0xfa, 0xba, 0xdc, 0x7f, 0x36, 0xd1, 0x0c, 0xb0, 0xba, 0x8d, 0x11, + 0x76, 0x94, 0x49, 0x61, 0xc8, 0x39, 0x37, 0x44, 0x4a, 0xc2, 0xaf, 0x56, 0xdc, 0xb0, 0xdc, 0x2a, 0xea, 0x22, 0x95, + 0xdb, 0x06, 0xe5, 0x7e, 0x10, 0x80, 0x62, 0x97, 0x26, 0x51, 0x64, 0x88, 0x2a, 0xcc, 0x3a, 0x85, 0x70, 0xba, 0xdc, + 0x7f, 0x76, 0x71, 0x9f, 0x7c, 0x82, 0xf7, 0xa6, 0x88, 0xd2, 0x80, 0xc6, 0x01, 0x4d, 0xc1, 0x92, 0x34, 0x56, 0x4b, + 0x49, 0xd9, 0xf3, 0x24, 0x8e, 0xe9, 0x88, 0xd3, 0x00, 0x0c, 0x15, 0x46, 0xb8, 0x1b, 0x26, 0x19, 0x2f, 0x0a, 0x4b, + 0xe8, 0x99, 0x01, 0x3d, 0x73, 0x47, 0x7e, 0x14, 0x39, 0xd2, 0x28, 0x99, 0x26, 0x0b, 0xba, 0x05, 0xea, 0x4e, 0x05, + 0xe4, 0xa2, 0x1b, 0x6a, 0x74, 0x43, 0xdd, 0x6c, 0x16, 0xb1, 0x11, 0x2d, 0x44, 0xd7, 0x85, 0xcb, 0xe2, 0x80, 0xde, + 0x02, 0x1f, 0x41, 0xbd, 0x5e, 0xaf, 0x89, 0x5b, 0x28, 0x97, 0x08, 0x5f, 0x6e, 0x20, 0xf6, 0x1e, 0xa1, 0x09, 0x44, + 0x46, 0x7a, 0xcb, 0x6d, 0xfc, 0x80, 0x22, 0x43, 0x52, 0x32, 0x6d, 0x5c, 0x49, 0xee, 0x8c, 0x70, 0x40, 0x23, 0xca, + 0xa9, 0xe6, 0xe6, 0xa0, 0x42, 0xcb, 0xad, 0xfb, 0xb6, 0xc0, 0x5f, 0x41, 0x4e, 0x7a, 0x97, 0xe9, 0x35, 0xcf, 0x0a, + 0x63, 0xbd, 0x5c, 0x9e, 0x12, 0xdb, 0x7d, 0x2e, 0x97, 0xc7, 0xe7, 0xdc, 0x1f, 0x85, 0xd2, 0x4a, 0x77, 0x36, 0xa6, + 0x54, 0xf6, 0xa1, 0x38, 0x7b, 0xb1, 0x89, 0xde, 0x6a, 0x30, 0xb7, 0xa1, 0xe0, 0x42, 0x31, 0x05, 0x0a, 0x86, 0x9f, + 0x5c, 0xb6, 0x73, 0x3f, 0x8a, 0xae, 0xfd, 0xd1, 0xc7, 0x2a, 0xf5, 0x97, 0x64, 0x40, 0xd6, 0xb9, 0xb1, 0xf1, 0xca, + 0x60, 0x59, 0xe6, 0xbc, 0x35, 0x97, 0xae, 0x6c, 0x14, 0x67, 0xaf, 0x59, 0x92, 0x7d, 0x75, 0xa1, 0x77, 0x52, 0xbb, + 0x80, 0x88, 0xa9, 0x99, 0x39, 0xc0, 0x05, 0x3e, 0x49, 0x71, 0x9a, 0x1f, 0x28, 0xba, 0x03, 0x73, 0x23, 0x5f, 0x03, + 0x84, 0xa3, 0x65, 0x1e, 0xb0, 0x6c, 0x37, 0x06, 0xfe, 0x14, 0x28, 0x9f, 0x1a, 0x23, 0x3c, 0x14, 0xd0, 0x82, 0xc7, + 0x29, 0xad, 0xb9, 0x80, 0x4c, 0xe9, 0x13, 0x9a, 0xd1, 0xfc, 0x0d, 0x74, 0x17, 0x41, 0xef, 0xaf, 0xe5, 0x2b, 0xd0, + 0xca, 0x00, 0x8a, 0xac, 0x63, 0xaa, 0x13, 0x15, 0x0a, 0x50, 0x3c, 0x95, 0x09, 0x91, 0x9b, 0x56, 0xec, 0x47, 0xa5, + 0xb1, 0x4b, 0x13, 0x5c, 0xb1, 0xdc, 0x84, 0x38, 0x8e, 0x93, 0x81, 0x09, 0xa7, 0x55, 0xfb, 0x72, 0x12, 0xd9, 0xc6, + 0x24, 0x32, 0xd7, 0xb0, 0xb3, 0x50, 0x49, 0xcb, 0x46, 0x73, 0xef, 0xef, 0xc8, 0xac, 0x04, 0xea, 0xaa, 0x0b, 0xfc, + 0x19, 0x15, 0xec, 0x36, 0x22, 0x1c, 0x27, 0xca, 0xc6, 0x51, 0x94, 0x06, 0x0c, 0xa3, 0x6c, 0x92, 0x22, 0xb9, 0x35, + 0x2a, 0xf6, 0x6e, 0x8a, 0x13, 0xb4, 0xa6, 0xdb, 0xe7, 0xb9, 0xc2, 0x11, 0x45, 0x6a, 0x6d, 0x2a, 0x4a, 0xb1, 0x81, + 0x15, 0x9c, 0x12, 0xa5, 0x08, 0x4b, 0xbd, 0x67, 0x1d, 0x37, 0x45, 0xbf, 0x7b, 0x84, 0xa4, 0x25, 0x6a, 0x2a, 0x1a, + 0xa5, 0x56, 0xad, 0x52, 0x84, 0x43, 0xad, 0x93, 0x26, 0xe5, 0xbc, 0x09, 0xb1, 0xb5, 0x43, 0xc2, 0xee, 0x2f, 0x2b, + 0x56, 0xa1, 0x67, 0x54, 0xcb, 0x3d, 0x60, 0xa9, 0xc9, 0x36, 0x74, 0x6f, 0xa3, 0x99, 0x4a, 0x3f, 0x06, 0xc2, 0x13, + 0x13, 0xe1, 0x06, 0x66, 0x53, 0xc9, 0xb9, 0xd2, 0x21, 0x09, 0xab, 0x6d, 0x1d, 0x8a, 0x13, 0xb9, 0x0e, 0x1b, 0x48, + 0x5c, 0x57, 0x3d, 0x05, 0x09, 0x82, 0x0d, 0x9b, 0x81, 0x72, 0x67, 0xca, 0x07, 0x07, 0x60, 0x67, 0xab, 0xd5, 0x06, + 0xd1, 0x6d, 0xd5, 0x40, 0x91, 0x5b, 0xda, 0x85, 0xab, 0xd5, 0x19, 0x47, 0x8e, 0xd2, 0x7d, 0x31, 0x45, 0x7d, 0xcd, + 0x71, 0xcf, 0x5e, 0x40, 0x2d, 0xa1, 0x8a, 0x96, 0x25, 0x85, 0xd1, 0x50, 0xa5, 0xd9, 0xea, 0x3a, 0x71, 0x83, 0x6d, + 0x9f, 0x6f, 0x70, 0x2f, 0x51, 0xa8, 0xc4, 0x74, 0x39, 0xe5, 0x73, 0xd5, 0x35, 0x43, 0x08, 0x79, 0x99, 0xb0, 0x63, + 0xf6, 0xb6, 0x99, 0x96, 0x07, 0x07, 0x99, 0xd1, 0xd1, 0x65, 0xc1, 0x26, 0x3e, 0x38, 0x20, 0x92, 0xb3, 0xbb, 0x58, + 0xe8, 0x2e, 0x1f, 0xb4, 0x10, 0xda, 0x30, 0x4c, 0x9b, 0x1d, 0x30, 0xc8, 0xfd, 0x1b, 0x9f, 0x71, 0xab, 0xe8, 0x45, + 0x1a, 0xe4, 0x0e, 0x45, 0x4b, 0xa5, 0x6a, 0xb8, 0x29, 0x05, 0xe5, 0x11, 0x78, 0x82, 0x56, 0xa1, 0x25, 0xdd, 0x8f, + 0x42, 0x0a, 0xbe, 0x60, 0xad, 0x45, 0x14, 0x96, 0xe1, 0x9e, 0x92, 0x22, 0xaa, 0xe3, 0xed, 0xb0, 0xe7, 0xeb, 0xcd, + 0x2b, 0x96, 0xc0, 0x8c, 0xa6, 0xe3, 0x24, 0x9d, 0xea, 0x77, 0xf9, 0xda, 0xb3, 0xe2, 0x8c, 0x6c, 0xec, 0x6c, 0xed, + 0x5b, 0xe9, 0xff, 0x9d, 0x35, 0xb3, 0xbb, 0x34, 0xd8, 0x2b, 0xa2, 0xb4, 0x90, 0xbe, 0xd2, 0x25, 0xa8, 0x29, 0x33, + 0x33, 0x0d, 0x7c, 0xe5, 0x4f, 0xed, 0x48, 0x9f, 0xc9, 0x5e, 0xab, 0x53, 0x58, 0x7d, 0x9a, 0x1a, 0x3a, 0xd2, 0xb7, + 0xa1, 0x44, 0x6a, 0x32, 0x8f, 0x02, 0x05, 0x2c, 0x43, 0x98, 0x2a, 0x3a, 0xba, 0x61, 0x51, 0x54, 0x96, 0xfe, 0x16, + 0xbe, 0x9e, 0x29, 0xbe, 0x9e, 0x6a, 0xbe, 0x0e, 0x9c, 0x02, 0xf8, 0xba, 0xec, 0xae, 0x6c, 0x9e, 0x6e, 0xec, 0xce, + 0x54, 0x72, 0xf4, 0x4c, 0x58, 0xd2, 0x30, 0xde, 0x5c, 0x43, 0x80, 0x0a, 0xcd, 0xeb, 0xa3, 0xa3, 0xfc, 0x30, 0x60, + 0x02, 0x4a, 0x2f, 0x26, 0x35, 0x9d, 0x14, 0x1f, 0x1d, 0x84, 0xb3, 0x9c, 0x16, 0x94, 0x7d, 0xf6, 0x0c, 0xfc, 0x74, + 0xc6, 0x74, 0x40, 0x88, 0x89, 0xe2, 0xdf, 0xa4, 0x44, 0xe9, 0xd9, 0x31, 0x35, 0xbb, 0x4c, 0xcf, 0x0e, 0x38, 0x7d, + 0x39, 0xbb, 0xe0, 0x7e, 0x5e, 0x2f, 0xa6, 0xc7, 0x8a, 0xe9, 0x95, 0xeb, 0xbd, 0x5a, 0x39, 0x6b, 0x25, 0xe0, 0xc2, + 0x57, 0x26, 0x4a, 0x5a, 0xf4, 0x0e, 0x3c, 0xc0, 0xc4, 0x0c, 0x14, 0xe4, 0x72, 0xd2, 0x85, 0x88, 0x7b, 0xf1, 0x29, + 0x17, 0x8f, 0xf0, 0xd4, 0xcb, 0xf6, 0xe7, 0xc9, 0x74, 0x06, 0xda, 0xd8, 0x1a, 0x49, 0x4f, 0xa8, 0x1a, 0xb0, 0x7c, + 0x9f, 0x6f, 0x29, 0xab, 0xb4, 0x11, 0xfb, 0xb1, 0x42, 0x4d, 0x85, 0xc5, 0xbc, 0xd7, 0xcc, 0xe7, 0x45, 0x51, 0xc1, + 0x38, 0xb6, 0xb9, 0x55, 0xce, 0xd7, 0x9d, 0x32, 0xfa, 0xc5, 0x6b, 0x87, 0x49, 0x3e, 0xcc, 0x80, 0xd7, 0x19, 0xec, + 0x47, 0x93, 0xbb, 0xb9, 0xfe, 0x79, 0x89, 0x9c, 0x65, 0xbe, 0x86, 0xbe, 0x65, 0x9e, 0x3f, 0x53, 0x56, 0x36, 0x7e, + 0xb6, 0xdb, 0x1c, 0x2e, 0xdf, 0x29, 0x6b, 0x71, 0x30, 0xc4, 0xcf, 0x36, 0x75, 0x47, 0xb2, 0x9c, 0x26, 0x01, 0xf5, + 0xec, 0x64, 0x46, 0x63, 0x3b, 0x07, 0xcf, 0xaa, 0x5a, 0xfc, 0x80, 0x3b, 0xcb, 0xb7, 0x55, 0x17, 0xab, 0xf7, 0x2c, + 0x07, 0x07, 0xd8, 0x0f, 0x9b, 0xce, 0xd7, 0xef, 0x69, 0x9a, 0x09, 0x4d, 0xb4, 0x50, 0x6a, 0x7f, 0x28, 0xe5, 0xd2, + 0x0f, 0xde, 0xce, 0xfa, 0xa5, 0x0d, 0x62, 0xb7, 0xdc, 0x13, 0xf7, 0xd0, 0x46, 0xc2, 0x35, 0xfc, 0xad, 0xda, 0xf1, + 0x1f, 0xb4, 0x6b, 0xf8, 0x82, 0x7c, 0xa8, 0x7a, 0x86, 0xe7, 0x9c, 0x5c, 0xf4, 0x2f, 0xb4, 0xc9, 0x9c, 0x44, 0x6c, + 0x74, 0xe7, 0xd8, 0x11, 0xe3, 0x75, 0x08, 0xbf, 0xd9, 0x78, 0x29, 0x5f, 0x80, 0x57, 0x51, 0xb8, 0xb4, 0x73, 0x6d, + 0xec, 0x61, 0xca, 0x89, 0xbd, 0x1f, 0x31, 0xbe, 0x6f, 0xe3, 0x29, 0xb9, 0x82, 0x1f, 0xfb, 0x4b, 0xe7, 0xa5, 0xcf, + 0x43, 0x37, 0xf5, 0xe3, 0x20, 0x99, 0x3a, 0xa8, 0x66, 0xdb, 0xc8, 0xcd, 0x84, 0xc1, 0xf1, 0x18, 0xe5, 0xfb, 0x57, + 0xf8, 0x19, 0x27, 0x76, 0xdf, 0xae, 0x4d, 0xf1, 0x13, 0x4e, 0xae, 0xba, 0xfb, 0xcb, 0x67, 0x3c, 0xef, 0x5d, 0xe1, + 0xdb, 0xc2, 0x6b, 0x8f, 0xdf, 0x13, 0x07, 0x91, 0xde, 0xad, 0x82, 0xe6, 0x3c, 0x99, 0x4a, 0xef, 0xbd, 0x8d, 0xf0, + 0x3b, 0x11, 0x5b, 0x29, 0xd9, 0x8d, 0x0a, 0xaf, 0xec, 0x11, 0x3b, 0x11, 0x3e, 0x02, 0xfb, 0xe0, 0xc0, 0x28, 0x2b, + 0x74, 0x05, 0x7c, 0xc1, 0x49, 0xc5, 0x22, 0xc7, 0x2f, 0x45, 0x94, 0xe6, 0x82, 0x3b, 0x31, 0xd2, 0xdd, 0x38, 0xda, + 0x17, 0xad, 0xf6, 0x66, 0x3c, 0x90, 0x2e, 0x06, 0x97, 0x71, 0x9a, 0xfa, 0x3c, 0x49, 0x87, 0xc8, 0xd4, 0x3f, 0xf0, + 0xdf, 0xc8, 0xd5, 0xc0, 0xfa, 0x4f, 0x9f, 0xfd, 0x3c, 0xfe, 0x39, 0x1d, 0x5e, 0xe1, 0x37, 0xa4, 0xd1, 0x75, 0xfa, + 0x9e, 0xb3, 0x57, 0xaf, 0xaf, 0x7e, 0x6e, 0x0c, 0xfe, 0xe1, 0xd7, 0x7f, 0x3d, 0xab, 0xff, 0x34, 0x44, 0x2b, 0xe7, + 0xe7, 0x46, 0x7f, 0xa0, 0x9e, 0x06, 0xff, 0xe8, 0xfd, 0x9c, 0x0d, 0xff, 0x2a, 0x0b, 0xf7, 0x11, 0x6a, 0x4c, 0xf0, + 0x8c, 0x93, 0x46, 0xbd, 0xde, 0x6b, 0x4c, 0xf0, 0x84, 0x93, 0x06, 0xfc, 0x7f, 0x4d, 0xde, 0xd2, 0xc9, 0xb3, 0xdb, + 0x99, 0x73, 0xd5, 0x5b, 0xed, 0x2f, 0xff, 0x96, 0x43, 0xaf, 0x83, 0x7f, 0xfc, 0xfc, 0x73, 0x66, 0x7f, 0xd1, 0x23, + 0x8d, 0x61, 0x0d, 0x39, 0x50, 0xfa, 0x57, 0x22, 0xfe, 0x75, 0xfa, 0xde, 0xe0, 0x1f, 0x0a, 0x0a, 0xfb, 0x8b, 0x9f, + 0xaf, 0xba, 0x3d, 0x32, 0x5c, 0x39, 0xf6, 0xea, 0x0b, 0xb4, 0x42, 0x68, 0xb5, 0x8f, 0xae, 0xb0, 0x3d, 0xb1, 0x11, + 0x5e, 0x70, 0xd2, 0xf8, 0xa2, 0x31, 0xc1, 0x63, 0x4e, 0x1a, 0x76, 0x63, 0x82, 0xcf, 0x39, 0x69, 0xfc, 0xc3, 0xe9, + 0x7b, 0xd2, 0xc9, 0xb6, 0x12, 0xfe, 0x8d, 0x15, 0x04, 0x38, 0xfc, 0x94, 0xfa, 0x2b, 0xce, 0x78, 0x44, 0xd1, 0x7e, + 0x83, 0xe1, 0x8f, 0x02, 0x4d, 0x0e, 0x07, 0x2f, 0x0c, 0x18, 0x77, 0xce, 0xf2, 0x12, 0x16, 0x1b, 0x68, 0x66, 0xdf, + 0x83, 0xc8, 0x0e, 0x38, 0x02, 0x32, 0x8f, 0xe3, 0x85, 0x1f, 0xcd, 0x69, 0xe6, 0xd1, 0x1c, 0xe1, 0x11, 0xf9, 0xc8, + 0x9d, 0x16, 0xc2, 0x2f, 0x38, 0xfc, 0x68, 0x23, 0x7c, 0xae, 0x82, 0x98, 0xb0, 0x93, 0x25, 0x51, 0xc5, 0x89, 0x54, + 0x59, 0x6c, 0x84, 0x67, 0x5b, 0x5e, 0xf2, 0x10, 0xdc, 0x0b, 0x08, 0xef, 0x57, 0x42, 0x9e, 0xf8, 0x86, 0x68, 0x92, + 0x78, 0x97, 0x52, 0xfa, 0x83, 0x1f, 0x7d, 0xa4, 0xa9, 0x73, 0x8b, 0x5b, 0xed, 0xc7, 0x58, 0x78, 0xa1, 0xf7, 0x5a, + 0xa8, 0x53, 0xc4, 0xab, 0x5e, 0x73, 0x19, 0x27, 0x00, 0x29, 0x5b, 0x75, 0xc6, 0xc0, 0x8a, 0xef, 0xc5, 0x1b, 0x1e, + 0xab, 0xd4, 0xbf, 0xb1, 0x51, 0x35, 0x36, 0xca, 0xe2, 0x85, 0x1f, 0xb1, 0xc0, 0xe2, 0x74, 0x3a, 0x8b, 0x7c, 0x4e, + 0x2d, 0x35, 0x5f, 0xcb, 0x87, 0x8e, 0xec, 0x42, 0x67, 0x98, 0x1b, 0x16, 0xe7, 0x5c, 0x07, 0x9d, 0x60, 0xaf, 0x38, + 0x10, 0xa1, 0x52, 0x7a, 0xc7, 0xd3, 0x32, 0x00, 0xb6, 0x1e, 0xe3, 0xab, 0xb7, 0xc0, 0x13, 0x36, 0x14, 0xf2, 0x39, + 0xc3, 0x29, 0x01, 0x29, 0xda, 0xee, 0xdb, 0xdd, 0x6c, 0x31, 0xe9, 0xd9, 0x10, 0x9f, 0x49, 0xc8, 0x1b, 0xe1, 0x18, + 0x82, 0x0a, 0x21, 0x69, 0x76, 0xc2, 0x2e, 0xed, 0x84, 0xb5, 0x9a, 0x56, 0xa2, 0x23, 0x12, 0x0f, 0x42, 0xd9, 0xdc, + 0xc7, 0x01, 0x9e, 0x93, 0x7a, 0x0b, 0x4f, 0x48, 0x53, 0x34, 0xe9, 0x4c, 0xba, 0x91, 0x1a, 0xe6, 0xe0, 0xc0, 0x49, + 0xdc, 0xc8, 0xcf, 0xf8, 0x37, 0x60, 0xed, 0x93, 0x09, 0x0e, 0x48, 0xe2, 0xd2, 0x5b, 0x3a, 0x72, 0x22, 0x84, 0x03, + 0xc5, 0x69, 0x50, 0x07, 0x4d, 0x88, 0x51, 0x0d, 0xac, 0x08, 0xf2, 0xa6, 0x1f, 0x0c, 0x5a, 0x43, 0x42, 0x88, 0xbd, + 0x57, 0xaf, 0xdb, 0xfd, 0x84, 0xcc, 0xb8, 0x07, 0x25, 0x86, 0xae, 0x4c, 0x26, 0x50, 0xd4, 0x36, 0x8a, 0x9c, 0x73, + 0xee, 0x72, 0x9a, 0x71, 0x07, 0x8a, 0xc1, 0xfe, 0xcf, 0x34, 0x61, 0xdb, 0xdd, 0x86, 0x5d, 0x83, 0x52, 0x41, 0x9c, + 0x08, 0x27, 0xe4, 0x1a, 0x79, 0xc1, 0xe0, 0x70, 0x68, 0x0a, 0x00, 0x51, 0x08, 0x83, 0x5f, 0xf7, 0x83, 0x41, 0x53, + 0x0c, 0xde, 0xb3, 0xfb, 0x4e, 0x42, 0x32, 0xa9, 0xa1, 0xf5, 0x33, 0xef, 0x8d, 0x98, 0x2a, 0xf2, 0x14, 0x70, 0x7a, + 0x05, 0x48, 0xbd, 0xed, 0x39, 0x73, 0x73, 0x12, 0x75, 0x18, 0x4c, 0x61, 0x01, 0xfb, 0x04, 0xea, 0xe3, 0x84, 0xc0, + 0x88, 0x65, 0xb3, 0x6b, 0x4f, 0x3d, 0x7f, 0x61, 0x7f, 0xd1, 0x1f, 0x73, 0x6f, 0xc1, 0xe5, 0xf0, 0x63, 0xbe, 0x5a, + 0xc1, 0xff, 0x0b, 0xde, 0x4f, 0xc8, 0xb5, 0x28, 0x9a, 0xa9, 0xa2, 0x09, 0x14, 0xbd, 0xf1, 0x00, 0x54, 0x9c, 0x15, + 0x5a, 0x96, 0x5c, 0x93, 0x05, 0x11, 0xb0, 0x1f, 0x1c, 0xc4, 0x83, 0xb0, 0xd6, 0x1a, 0x82, 0x8b, 0x3f, 0xe5, 0xd9, + 0x0f, 0x8c, 0x87, 0x8e, 0xdd, 0xe8, 0xd9, 0xa8, 0x6f, 0x5b, 0xb0, 0xb4, 0x9d, 0xb4, 0x46, 0x24, 0x86, 0xa3, 0xda, + 0x13, 0xee, 0xcd, 0x7b, 0xa4, 0xd9, 0x77, 0x98, 0x64, 0xe1, 0x3e, 0xc2, 0x91, 0x62, 0x9c, 0x4d, 0x3c, 0x47, 0x35, + 0xca, 0x6b, 0xfa, 0x79, 0x8e, 0x6a, 0xd3, 0xda, 0x02, 0x79, 0x51, 0x6d, 0x5a, 0x73, 0xe6, 0x84, 0x90, 0x7a, 0xbb, + 0x68, 0xa6, 0xc5, 0x5f, 0x88, 0xbc, 0x85, 0xf6, 0x76, 0x0e, 0xc4, 0x76, 0x48, 0x6b, 0x4e, 0x3c, 0xa0, 0xc3, 0xd5, + 0xca, 0xee, 0xf6, 0x7b, 0x36, 0xaa, 0x39, 0x9a, 0xd0, 0x1a, 0x9a, 0xd2, 0x10, 0xc2, 0x6c, 0x98, 0xab, 0x68, 0xd2, + 0xab, 0x4a, 0xe4, 0x68, 0x59, 0x6e, 0x76, 0x83, 0x07, 0xd0, 0xbc, 0x30, 0x64, 0xa4, 0xc2, 0x3a, 0x83, 0x69, 0x6a, + 0x62, 0x4e, 0x49, 0x13, 0x27, 0x44, 0x3b, 0xaf, 0x43, 0xc2, 0x4b, 0x82, 0x8f, 0x48, 0x59, 0x1d, 0x0f, 0x7c, 0x1c, + 0x0c, 0xc9, 0x53, 0x69, 0x90, 0x74, 0xb4, 0x6b, 0x9c, 0x46, 0xe4, 0xd5, 0x5a, 0x04, 0xd7, 0x87, 0xf0, 0xca, 0x8d, + 0x3b, 0x9a, 0xa7, 0x29, 0x8d, 0xf9, 0xab, 0x24, 0x50, 0x7a, 0x1a, 0x8d, 0xc0, 0x54, 0x82, 0xd0, 0x2c, 0x06, 0x25, + 0xad, 0xad, 0x77, 0xc6, 0x7c, 0xe3, 0xf5, 0x84, 0xcc, 0xa5, 0xfe, 0x24, 0x02, 0xb6, 0x9d, 0x89, 0x32, 0x8c, 0x1d, + 0x84, 0xe7, 0x2a, 0x92, 0xeb, 0xb8, 0xae, 0x3b, 0x71, 0x47, 0xf0, 0x1a, 0x06, 0xc8, 0x50, 0x2e, 0xf6, 0x91, 0x93, + 0x91, 0x1b, 0x37, 0xa6, 0xb7, 0x62, 0x54, 0x07, 0x95, 0x92, 0x59, 0x6f, 0xaf, 0x6e, 0xd8, 0x11, 0xec, 0x26, 0x73, + 0xe3, 0x24, 0xa0, 0x80, 0x1e, 0x88, 0xdd, 0xab, 0xa2, 0xd0, 0xcf, 0xcc, 0x10, 0x55, 0x09, 0xdf, 0xc0, 0xf4, 0x5e, + 0x4f, 0xc0, 0xe5, 0x2b, 0x94, 0xad, 0xa2, 0xb2, 0xf4, 0x83, 0x23, 0xc4, 0xc6, 0xce, 0xc4, 0x85, 0xd0, 0x9e, 0x20, + 0x21, 0x0a, 0xb6, 0xdc, 0xc4, 0x24, 0xaa, 0x69, 0xd1, 0xe7, 0x82, 0x04, 0x83, 0xa4, 0x56, 0x13, 0x6e, 0xe8, 0xb9, + 0x24, 0x89, 0x09, 0xc2, 0x8b, 0x62, 0x6f, 0xe9, 0x7a, 0x5f, 0x91, 0xea, 0x48, 0xce, 0xa2, 0xea, 0xce, 0xad, 0x41, + 0x9a, 0x04, 0x78, 0x0a, 0xb9, 0x33, 0x45, 0xf8, 0x8c, 0x34, 0x9c, 0x81, 0xdb, 0xff, 0x72, 0x88, 0xfa, 0x8e, 0xfb, + 0x57, 0xd4, 0x90, 0x8c, 0x63, 0x81, 0x3a, 0x91, 0x1c, 0x62, 0x29, 0x42, 0x98, 0x2d, 0x2c, 0x3c, 0x89, 0x5e, 0x8a, + 0x63, 0x7f, 0x4a, 0xbd, 0x33, 0xd8, 0xe3, 0x9a, 0x6e, 0xbe, 0xc2, 0x40, 0x47, 0xde, 0x99, 0xe2, 0x24, 0xae, 0xdd, + 0xff, 0x86, 0x17, 0x4f, 0x7d, 0xbb, 0xff, 0x6b, 0xf9, 0xf4, 0xa5, 0xdd, 0xff, 0x9e, 0x7b, 0xbf, 0xe6, 0xca, 0xd9, + 0x5d, 0x19, 0xe2, 0x44, 0x0f, 0x91, 0xcb, 0x85, 0x31, 0x30, 0x37, 0x47, 0x9b, 0x7e, 0x8e, 0x09, 0xca, 0xd9, 0xb8, + 0x60, 0x45, 0x99, 0xcb, 0xfd, 0x09, 0xa0, 0xd4, 0x58, 0x81, 0xcc, 0x8c, 0xec, 0x97, 0x13, 0x06, 0x42, 0xd1, 0xd4, + 0x0a, 0xa8, 0x9c, 0xf4, 0x9a, 0x68, 0x59, 0xa9, 0x2b, 0x34, 0xa6, 0x6a, 0x24, 0xbd, 0xe0, 0xd2, 0x0b, 0xd2, 0xec, + 0x2c, 0xba, 0x93, 0xce, 0xa2, 0x56, 0x43, 0x99, 0x26, 0xac, 0xf9, 0x60, 0x31, 0xc4, 0xef, 0xc1, 0xa7, 0x67, 0x52, + 0x12, 0xae, 0x4c, 0xaf, 0xad, 0xa6, 0x57, 0xab, 0xa5, 0x39, 0xea, 0x18, 0x4d, 0x27, 0xb2, 0x69, 0x9e, 0x4b, 0x9c, + 0xac, 0x13, 0xda, 0x29, 0x12, 0x25, 0x90, 0x0e, 0x45, 0x08, 0x79, 0xc6, 0xd1, 0xd6, 0x5e, 0xa1, 0x4f, 0x68, 0x2e, + 0x76, 0x2c, 0x30, 0x4f, 0x29, 0x23, 0x1c, 0xc0, 0x02, 0x34, 0x2d, 0x1c, 0xc1, 0x53, 0x3c, 0xaf, 0xb5, 0x04, 0x91, + 0xd7, 0x5b, 0x9d, 0x6a, 0x5f, 0x8f, 0xca, 0xbe, 0xf0, 0xbc, 0x46, 0xa6, 0x05, 0x96, 0xf2, 0xb4, 0x56, 0xcb, 0xab, + 0xd1, 0x4e, 0xbd, 0x6f, 0x2b, 0xf1, 0x87, 0xdb, 0xf5, 0xb4, 0x0c, 0x2d, 0x5f, 0x4b, 0x89, 0xca, 0x5c, 0x16, 0xc7, + 0x34, 0x05, 0x19, 0x4a, 0x38, 0x66, 0x79, 0x5e, 0xc8, 0xf5, 0x8f, 0x20, 0x44, 0x31, 0x25, 0x31, 0xf0, 0x1d, 0x61, + 0x76, 0xe1, 0x14, 0x27, 0x38, 0x14, 0x5c, 0x83, 0x10, 0x72, 0xae, 0x13, 0x5a, 0xb8, 0xe0, 0x40, 0x11, 0x61, 0x86, + 0x44, 0xca, 0x08, 0x75, 0x2f, 0xf7, 0xcf, 0x93, 0x7b, 0x4d, 0xb2, 0x01, 0x1b, 0x7a, 0xa2, 0x5a, 0xa4, 0xf8, 0x96, + 0x4f, 0xde, 0x39, 0x1c, 0x15, 0xc1, 0x11, 0x57, 0xb0, 0xbf, 0xa7, 0x2c, 0xa5, 0x42, 0x03, 0xdf, 0xd7, 0x66, 0x5f, + 0x54, 0x55, 0x1f, 0x23, 0xd3, 0x79, 0x03, 0x88, 0xf4, 0xc1, 0xb7, 0x93, 0x92, 0x8d, 0x6a, 0x97, 0xfb, 0x67, 0xaf, + 0xb7, 0x99, 0xc0, 0xab, 0x95, 0x32, 0x7e, 0x85, 0x66, 0x83, 0xfd, 0x12, 0xd2, 0x48, 0xfd, 0xf0, 0x9c, 0x48, 0x28, + 0x48, 0xbe, 0x13, 0x03, 0x15, 0x5d, 0xee, 0x9f, 0xbd, 0x73, 0x62, 0xe1, 0x5a, 0x42, 0xd8, 0x9c, 0xb6, 0x93, 0x10, + 0x27, 0x24, 0x14, 0xc9, 0xb9, 0x17, 0x8c, 0x2b, 0x31, 0xc4, 0xb7, 0x17, 0x8a, 0x97, 0x60, 0x3f, 0x0c, 0xd8, 0x90, + 0x44, 0x0a, 0x03, 0x24, 0x42, 0x38, 0xaa, 0x98, 0x65, 0x04, 0x16, 0x40, 0x8c, 0x75, 0x01, 0x2b, 0xe1, 0x4a, 0xc5, + 0x0f, 0xe1, 0x48, 0x8c, 0xca, 0x73, 0x29, 0x3a, 0x3e, 0x6c, 0xe4, 0xa5, 0x95, 0xd6, 0xe8, 0xf7, 0x60, 0x39, 0xe9, + 0x87, 0x57, 0xaa, 0xeb, 0xa2, 0xe0, 0xa9, 0x4e, 0x20, 0xbb, 0xdc, 0x3f, 0x7b, 0xa9, 0x72, 0xc8, 0x66, 0xbe, 0xe6, + 0xf6, 0x1b, 0x16, 0xe6, 0xd9, 0x4b, 0xb7, 0x7c, 0x2b, 0x2a, 0x5f, 0xee, 0x9f, 0xbd, 0xdf, 0x56, 0x0d, 0xca, 0xf3, + 0x79, 0x69, 0xe2, 0x0b, 0xf8, 0x96, 0x34, 0xf2, 0x96, 0x4a, 0x34, 0x78, 0x2c, 0xc7, 0x42, 0x1c, 0x79, 0x59, 0x5e, + 0x78, 0x46, 0x9e, 0xe2, 0x94, 0x88, 0x28, 0x50, 0x75, 0xd5, 0x94, 0x92, 0xc7, 0x92, 0xf8, 0x62, 0x94, 0xcc, 0xe8, + 0x8e, 0xd0, 0xd0, 0x2d, 0x72, 0xd9, 0x14, 0x92, 0x67, 0x04, 0xe8, 0x0c, 0xef, 0x35, 0x51, 0xa7, 0x2a, 0xbc, 0x52, + 0x41, 0xa4, 0x49, 0x45, 0xb2, 0xe0, 0x90, 0x34, 0x71, 0x44, 0x9a, 0xd8, 0x27, 0xd9, 0xa0, 0x29, 0xc5, 0x43, 0xc7, + 0x2f, 0xfa, 0x95, 0x42, 0x06, 0xf2, 0xc2, 0xd4, 0x6e, 0x95, 0xe2, 0x37, 0xe8, 0xf8, 0xc2, 0xf5, 0x28, 0x24, 0x7a, + 0x20, 0xc8, 0xe2, 0xb9, 0x93, 0xe0, 0x44, 0x74, 0x7c, 0xc1, 0xae, 0x23, 0x48, 0x2d, 0x81, 0x59, 0x61, 0x8e, 0xbc, + 0xa2, 0x6a, 0x4b, 0x55, 0xf5, 0x5d, 0xb1, 0x4e, 0x09, 0xf6, 0x5d, 0x60, 0xdc, 0xd8, 0x57, 0x99, 0x38, 0xd9, 0x66, + 0x93, 0x93, 0x83, 0x03, 0x47, 0x36, 0xfa, 0x8a, 0x3b, 0x89, 0x7e, 0x5f, 0x06, 0xee, 0xbe, 0x97, 0xbc, 0x22, 0x40, + 0x02, 0xfe, 0x5a, 0x2d, 0x1a, 0xe6, 0x10, 0x85, 0x76, 0xfc, 0x2a, 0x06, 0x35, 0xf0, 0x42, 0xd3, 0xab, 0x4e, 0xbf, + 0x56, 0x2b, 0x82, 0xb4, 0x55, 0x6c, 0xdd, 0xe2, 0x34, 0x5f, 0x38, 0x45, 0xf2, 0x4f, 0x73, 0x23, 0x63, 0x4a, 0x83, + 0x80, 0x98, 0x49, 0xb3, 0x4c, 0x4f, 0xc6, 0xd8, 0x12, 0x0c, 0xea, 0x7d, 0xa3, 0xd2, 0x16, 0xb0, 0xc8, 0xaf, 0x52, + 0x95, 0x34, 0x3b, 0x6b, 0x23, 0x4f, 0x57, 0x82, 0xa0, 0x14, 0x54, 0xaa, 0xe5, 0x8a, 0xbc, 0x9f, 0x6f, 0x66, 0x5d, + 0xe2, 0x0c, 0x29, 0x1f, 0x97, 0x80, 0x42, 0x20, 0xab, 0x5d, 0x20, 0xe5, 0x39, 0x99, 0xed, 0x26, 0xf9, 0x33, 0x83, + 0xe4, 0x9f, 0x10, 0x6a, 0x90, 0xbf, 0xf4, 0x70, 0xb8, 0x89, 0x72, 0x2d, 0x64, 0xfa, 0xd5, 0xf9, 0x8c, 0x80, 0x0f, + 0xad, 0x8a, 0xd1, 0x4a, 0x54, 0x71, 0x07, 0x43, 0x31, 0x77, 0x88, 0xf0, 0x42, 0x62, 0x1d, 0x02, 0x76, 0xca, 0x98, + 0x1a, 0x0c, 0xbd, 0xcd, 0xa5, 0x67, 0x72, 0xc0, 0xb3, 0xf7, 0xf7, 0x87, 0x43, 0xcf, 0x67, 0x9b, 0x3b, 0xd7, 0xc8, + 0xfe, 0x84, 0x59, 0x1b, 0x1b, 0xb7, 0x9a, 0x0b, 0x0a, 0xe3, 0x17, 0x61, 0xec, 0x2a, 0xf3, 0x59, 0xdb, 0x84, 0x5a, + 0xfe, 0x01, 0xb4, 0xad, 0x96, 0xa8, 0x41, 0x8d, 0x6e, 0x81, 0x1f, 0xc9, 0x1c, 0x54, 0x3f, 0xdd, 0xc1, 0x3e, 0xce, + 0x44, 0x05, 0x1a, 0x07, 0xdb, 0x5f, 0x3f, 0xc9, 0x15, 0x99, 0x48, 0xd0, 0xd0, 0x12, 0xf8, 0x9f, 0x24, 0x79, 0xa0, + 0x1b, 0x21, 0x17, 0x00, 0x41, 0x33, 0x81, 0xa7, 0x12, 0x61, 0xb6, 0x5d, 0x3a, 0xdf, 0x9f, 0xef, 0x11, 0x32, 0x2b, + 0x9d, 0x8f, 0x6f, 0xcb, 0xdc, 0x2b, 0x20, 0x0b, 0xe4, 0x81, 0xf1, 0x58, 0x14, 0xc8, 0xe8, 0xe5, 0xb9, 0xae, 0x2e, + 0x0c, 0x48, 0xb7, 0xd4, 0xb7, 0x8d, 0xc8, 0xa6, 0xf0, 0xca, 0xc9, 0xf7, 0x1a, 0x0d, 0x6b, 0x6f, 0xf7, 0xe1, 0xed, + 0x4b, 0x2e, 0x60, 0x84, 0xe7, 0x77, 0xa2, 0xb6, 0xee, 0x37, 0xff, 0xb8, 0x9e, 0xc0, 0xb2, 0xb6, 0x28, 0x2e, 0x8b, + 0x33, 0x9a, 0xf2, 0x27, 0x74, 0x9c, 0xa4, 0x10, 0xb2, 0x28, 0x70, 0x82, 0xf2, 0x7d, 0xc3, 0x6d, 0x27, 0xe6, 0x67, + 0xc4, 0x09, 0xd6, 0x26, 0x28, 0x7e, 0x7d, 0x14, 0x31, 0xeb, 0xcb, 0xf5, 0x56, 0xb3, 0x83, 0x83, 0x77, 0x25, 0x9a, + 0x14, 0x94, 0x02, 0x0a, 0x83, 0x69, 0x49, 0x95, 0x46, 0x05, 0x72, 0xf7, 0x9d, 0xc2, 0x05, 0xa0, 0x19, 0x86, 0xc9, + 0x7b, 0x9e, 0x13, 0x9e, 0x4f, 0xd6, 0x59, 0xbc, 0x72, 0x4d, 0x30, 0xd3, 0x6c, 0x01, 0x0e, 0x0f, 0x86, 0xb6, 0xf4, + 0x15, 0x65, 0x65, 0x3a, 0x6c, 0x01, 0xc3, 0x39, 0x20, 0xcb, 0x11, 0x46, 0x88, 0x41, 0x81, 0x5b, 0x8d, 0x92, 0xd7, + 0xa0, 0x57, 0x86, 0x38, 0x73, 0x43, 0x48, 0x80, 0xad, 0x6c, 0x59, 0x84, 0xb0, 0xcc, 0xcb, 0x31, 0x32, 0x09, 0xce, + 0x9e, 0x6f, 0xf3, 0x28, 0x6b, 0xa2, 0xa6, 0x42, 0xea, 0x40, 0x8d, 0x14, 0x15, 0x0d, 0xdc, 0x85, 0xc3, 0x94, 0xe2, + 0xa6, 0xc3, 0x66, 0xc0, 0x80, 0x3f, 0x70, 0x47, 0xc6, 0xa2, 0x40, 0x66, 0x24, 0xee, 0xdc, 0xa9, 0x0c, 0xdd, 0x49, + 0x44, 0x33, 0xac, 0x10, 0x17, 0x9a, 0x68, 0x4a, 0x44, 0x58, 0xef, 0xbc, 0xe4, 0xa5, 0xfb, 0x32, 0x87, 0x9a, 0x6b, + 0x2e, 0x58, 0xe6, 0x91, 0x18, 0xd3, 0xdf, 0x97, 0x69, 0xd1, 0x45, 0x25, 0x50, 0xc3, 0xe8, 0x8d, 0xf5, 0x4a, 0xac, + 0x01, 0xcd, 0x81, 0xbe, 0x96, 0x17, 0xdc, 0x58, 0x51, 0xed, 0xc3, 0x16, 0x63, 0x1a, 0x52, 0xff, 0x2d, 0x64, 0xba, + 0xac, 0xef, 0xf9, 0xe7, 0x42, 0x16, 0x32, 0x9c, 0x55, 0x18, 0x7b, 0x2a, 0x18, 0x3b, 0x02, 0x3d, 0x4d, 0xa7, 0x7e, + 0xf7, 0x55, 0xc2, 0x0b, 0x53, 0x52, 0x4e, 0x91, 0xd8, 0xfb, 0x22, 0x58, 0x6e, 0xfc, 0x5e, 0x5b, 0x0d, 0x8f, 0x11, + 0x48, 0x02, 0xc2, 0x8a, 0xb3, 0xa7, 0x08, 0x67, 0xb5, 0x5a, 0x27, 0xeb, 0xd2, 0xd2, 0x45, 0x52, 0xc2, 0xc8, 0x20, + 0x9e, 0x0b, 0x04, 0x5f, 0x91, 0xa1, 0x10, 0xf1, 0xd7, 0xb9, 0xd9, 0x19, 0xb8, 0xda, 0xcf, 0xde, 0x3a, 0x26, 0x57, + 0x33, 0xeb, 0x16, 0x31, 0x53, 0x98, 0x8f, 0x53, 0xc6, 0x5b, 0xde, 0xdc, 0x9f, 0xdf, 0x01, 0x70, 0xef, 0xb5, 0x30, + 0xe4, 0xa2, 0xa1, 0x0e, 0x97, 0x2c, 0xa1, 0xd8, 0x7d, 0x1d, 0x54, 0xa6, 0x25, 0x9a, 0x83, 0x75, 0x78, 0x69, 0xca, + 0x72, 0x92, 0xe5, 0x79, 0x46, 0xcb, 0xe8, 0xfe, 0x5a, 0xfe, 0xa5, 0x10, 0x2e, 0x9b, 0xce, 0xf6, 0xf3, 0x19, 0xe1, + 0xd8, 0x20, 0xd4, 0x37, 0xbb, 0x42, 0x1f, 0x25, 0x98, 0xb0, 0xaf, 0x95, 0x50, 0xfc, 0x75, 0x9b, 0x50, 0xc4, 0xa9, + 0xda, 0xf2, 0x42, 0x20, 0xb6, 0x1e, 0x20, 0x10, 0x95, 0x93, 0x5d, 0xcb, 0x44, 0x50, 0x47, 0x2a, 0x32, 0xb1, 0xba, + 0xa4, 0x24, 0xc5, 0x4c, 0xad, 0x46, 0xaf, 0xbd, 0x5a, 0xb1, 0x41, 0x13, 0x9c, 0x48, 0xb6, 0x0d, 0x3f, 0x5b, 0xf2, + 0xa7, 0xc1, 0x89, 0xa5, 0x13, 0xd8, 0x61, 0x85, 0xc9, 0x82, 0x5c, 0x48, 0x71, 0x76, 0x44, 0x4e, 0x96, 0xa0, 0x69, + 0x45, 0x41, 0x8a, 0xc0, 0x09, 0x2b, 0xa2, 0x4c, 0x00, 0xb1, 0x90, 0x15, 0xca, 0x80, 0x74, 0xb6, 0x26, 0xff, 0x69, + 0xf3, 0xf2, 0xd3, 0x9a, 0x68, 0x45, 0xae, 0x48, 0xf5, 0xa1, 0x92, 0x6e, 0xa0, 0x20, 0x50, 0xfa, 0xe1, 0x9e, 0x30, + 0x41, 0x4b, 0x51, 0x8e, 0x4c, 0x39, 0x84, 0x9b, 0xe0, 0x42, 0xdb, 0x7b, 0x27, 0x03, 0xbc, 0x5b, 0xa4, 0x09, 0x4e, + 0x0c, 0xba, 0x7e, 0x4e, 0x78, 0x85, 0x95, 0x84, 0x44, 0x59, 0x4a, 0xd8, 0x17, 0x64, 0xca, 0x49, 0x3a, 0x68, 0x0e, + 0x41, 0x01, 0xed, 0x44, 0xdd, 0xb4, 0x34, 0x81, 0xa3, 0x5a, 0x0d, 0xf9, 0x7a, 0xd4, 0x70, 0xc0, 0x6a, 0xd1, 0x10, + 0x53, 0x1c, 0x49, 0xc3, 0xe4, 0xfc, 0xe0, 0xc0, 0xf1, 0xcb, 0x71, 0x07, 0xd1, 0x10, 0xe1, 0x64, 0xb5, 0x72, 0x04, + 0x58, 0x3e, 0x5a, 0xad, 0x7c, 0x13, 0x2c, 0xf1, 0x1a, 0x9a, 0xcd, 0xfa, 0x9c, 0xcc, 0x84, 0x00, 0x9c, 0x01, 0x84, + 0x35, 0xe2, 0xf8, 0xca, 0xb9, 0xe7, 0x83, 0x33, 0xaa, 0x96, 0x0e, 0xa2, 0x5a, 0x6b, 0x68, 0x30, 0xae, 0x41, 0x34, + 0x24, 0x7e, 0x9e, 0x1c, 0x1c, 0xec, 0x65, 0x4a, 0x44, 0x7e, 0x00, 0x51, 0xf6, 0x41, 0x48, 0x16, 0xd9, 0xa1, 0xb9, + 0x1a, 0xeb, 0xce, 0x80, 0x82, 0xa2, 0xd4, 0xb2, 0xea, 0x7a, 0x95, 0x24, 0x88, 0xa2, 0x12, 0x56, 0xb1, 0xe0, 0x3e, + 0x58, 0xf6, 0x05, 0x99, 0x7f, 0xc3, 0x8b, 0x24, 0xeb, 0x5f, 0xb7, 0xa6, 0x56, 0xbb, 0xae, 0xeb, 0xa7, 0x13, 0x11, + 0xc9, 0xd0, 0x51, 0x58, 0x41, 0xfc, 0x87, 0x0a, 0x4c, 0x63, 0xe0, 0x41, 0x31, 0xd6, 0x90, 0x48, 0xf0, 0xb5, 0x6a, + 0xa3, 0x4f, 0x93, 0xfc, 0xb2, 0xd5, 0xcb, 0xa0, 0x36, 0xdc, 0xef, 0x85, 0xe4, 0x48, 0x41, 0x22, 0xc9, 0x63, 0x0d, + 0x67, 0x3b, 0x70, 0xf1, 0x0b, 0x5f, 0xc3, 0xd9, 0x6e, 0xdc, 0x6a, 0x4c, 0x7d, 0xbf, 0x0b, 0x3e, 0x83, 0x37, 0x48, + 0x40, 0xcb, 0x02, 0x03, 0xca, 0xe3, 0x75, 0xdd, 0x4b, 0xb2, 0x52, 0x10, 0xa6, 0x9c, 0x38, 0xac, 0xba, 0x01, 0x4a, + 0x6d, 0xd4, 0x30, 0x7c, 0x99, 0x37, 0x43, 0x86, 0x4b, 0xa0, 0x9a, 0xb9, 0x02, 0xe4, 0xa4, 0x7c, 0xed, 0xb3, 0x83, + 0x03, 0xb0, 0x0d, 0x40, 0x89, 0x73, 0x47, 0xfe, 0x8c, 0xcf, 0x53, 0x50, 0xa5, 0x32, 0xfd, 0x1b, 0x8a, 0xe1, 0x1c, + 0x88, 0x28, 0x83, 0x1f, 0x50, 0x30, 0xf3, 0xb3, 0x8c, 0x2d, 0x64, 0x99, 0xfa, 0x8d, 0x13, 0xa2, 0x49, 0x39, 0x93, + 0x3a, 0x61, 0x8a, 0x3a, 0xa9, 0xa2, 0xd3, 0x2a, 0xda, 0x9e, 0x2d, 0x68, 0xcc, 0x5f, 0xb0, 0x8c, 0xd3, 0x18, 0xa6, + 0x5f, 0x52, 0x1c, 0xcc, 0x28, 0x43, 0xb0, 0x61, 0x2b, 0xad, 0xfc, 0x20, 0xb8, 0xb7, 0x09, 0xaf, 0xea, 0x40, 0xa1, + 0x1f, 0x07, 0x91, 0x1c, 0xc4, 0x4c, 0x67, 0xd4, 0x29, 0x9c, 0x45, 0x4d, 0x33, 0x9d, 0xa6, 0x54, 0x36, 0x04, 0x77, + 0x77, 0x18, 0xd1, 0x92, 0x40, 0x4b, 0xcf, 0x7b, 0xb5, 0x16, 0x08, 0x78, 0xef, 0x58, 0x04, 0x73, 0x26, 0x98, 0x1b, + 0x1c, 0xd5, 0xad, 0xc2, 0xa9, 0xe9, 0xe6, 0xab, 0xad, 0x87, 0xda, 0xb6, 0x09, 0x07, 0x41, 0x27, 0x27, 0xbb, 0x2d, + 0xab, 0x97, 0x5a, 0x72, 0x68, 0x69, 0xc1, 0x1e, 0xca, 0x98, 0xd1, 0x52, 0x93, 0x17, 0xd2, 0x5b, 0xf1, 0x92, 0x93, + 0x0f, 0x70, 0x6a, 0xe8, 0x39, 0x9f, 0x46, 0x6b, 0x87, 0x63, 0x3a, 0x97, 0x85, 0xf6, 0x7f, 0xc9, 0x9d, 0x57, 0xf8, + 0x39, 0x84, 0x75, 0xbf, 0x2d, 0xab, 0x6f, 0x86, 0x73, 0xbf, 0x2d, 0x11, 0xf4, 0xad, 0xb7, 0x51, 0xcf, 0x08, 0xe3, + 0xb6, 0xdd, 0x53, 0xb7, 0x69, 0x6b, 0x6d, 0xe9, 0x07, 0x19, 0x44, 0x92, 0x89, 0x96, 0x62, 0x3f, 0xe0, 0x32, 0x4d, + 0x0d, 0xd2, 0xe5, 0xaa, 0x16, 0x12, 0x55, 0x09, 0x86, 0x52, 0x87, 0xdf, 0xb5, 0x3c, 0x4a, 0xc6, 0xa4, 0xd2, 0xce, + 0x78, 0xe3, 0xa7, 0x7c, 0x1f, 0x76, 0x59, 0xb2, 0x71, 0x12, 0x2f, 0x24, 0xe0, 0x41, 0x7b, 0xd8, 0x10, 0x86, 0xb1, + 0x9d, 0xc9, 0x93, 0x40, 0x66, 0xff, 0x24, 0xd1, 0xba, 0x5b, 0xd5, 0xca, 0x78, 0x0f, 0xf6, 0x3f, 0xc2, 0xa1, 0x3e, + 0x1e, 0x47, 0x15, 0x07, 0xa6, 0xde, 0x32, 0x2f, 0x9c, 0x02, 0x89, 0x54, 0xde, 0x62, 0x84, 0x93, 0x5c, 0x84, 0xb7, + 0xbf, 0xc3, 0x3f, 0x2a, 0x96, 0x38, 0x2e, 0x38, 0xce, 0xb3, 0x87, 0x72, 0x44, 0x09, 0x7e, 0x11, 0xbd, 0x07, 0x3a, + 0x16, 0x14, 0x9a, 0x6b, 0x2a, 0x7a, 0x9a, 0xa8, 0x89, 0xec, 0xcc, 0x4a, 0xc5, 0xb4, 0xc8, 0xa8, 0x11, 0xc3, 0x6c, + 0x49, 0xe3, 0xd4, 0x56, 0x36, 0x2f, 0x76, 0x55, 0x65, 0x5c, 0xb4, 0x03, 0x8b, 0x65, 0x60, 0x71, 0xb5, 0x72, 0xaa, + 0xa8, 0x26, 0xcc, 0x88, 0x63, 0x20, 0xcc, 0x8c, 0x84, 0x8a, 0x8a, 0x66, 0x2d, 0xdb, 0x38, 0x68, 0x3d, 0x9f, 0x48, + 0xeb, 0xe6, 0x15, 0x38, 0x4c, 0x17, 0x82, 0x6c, 0x6e, 0xfa, 0x14, 0xb0, 0x9c, 0x5d, 0x31, 0x90, 0x81, 0xa1, 0x1f, + 0x8a, 0x4c, 0xd9, 0x32, 0xa5, 0x75, 0x0b, 0x7e, 0xd1, 0x3d, 0xb9, 0xb2, 0x0a, 0x75, 0x9b, 0xef, 0x8d, 0x5c, 0xa3, + 0xa7, 0xc9, 0xae, 0x5c, 0xa3, 0x8a, 0xb6, 0xbb, 0xd7, 0x44, 0xf7, 0x67, 0xa5, 0xca, 0xb1, 0xb6, 0x57, 0xf9, 0x1d, + 0xc3, 0xb5, 0x80, 0x36, 0x25, 0x9a, 0x35, 0x57, 0x39, 0xcf, 0xf3, 0x71, 0x71, 0x96, 0x40, 0xa4, 0xee, 0x8c, 0x25, + 0xfd, 0x2b, 0xab, 0x51, 0x1c, 0xc8, 0x75, 0xbe, 0x23, 0x93, 0x28, 0xb9, 0xf6, 0xa3, 0x77, 0x30, 0x5e, 0xf9, 0xf2, + 0xf9, 0x5d, 0x90, 0xfa, 0x9c, 0x2a, 0xee, 0x52, 0xc2, 0xf0, 0x9d, 0x01, 0xc3, 0x77, 0x92, 0x4f, 0x97, 0xed, 0xf1, + 0xf2, 0x45, 0xd1, 0x81, 0x37, 0xce, 0x35, 0xcb, 0x98, 0xf2, 0xed, 0x63, 0xac, 0xb3, 0xb0, 0x69, 0xc1, 0xc2, 0xa6, + 0xdc, 0x59, 0xef, 0xca, 0x71, 0x7e, 0xdc, 0xde, 0xcb, 0x26, 0x67, 0xfb, 0xb1, 0xdc, 0xf8, 0x3f, 0x7a, 0xf7, 0xb6, + 0x31, 0xb8, 0xdc, 0xa1, 0x7b, 0x28, 0x92, 0x55, 0x24, 0xc8, 0x4f, 0x20, 0xe9, 0x80, 0x93, 0x9e, 0x71, 0xe4, 0xa0, + 0x94, 0x53, 0x3a, 0x0f, 0xc8, 0x19, 0xcd, 0x33, 0x9e, 0x4c, 0x55, 0x9f, 0x99, 0x3a, 0x67, 0x24, 0x5e, 0x82, 0x2b, + 0x5a, 0xc4, 0xda, 0xbd, 0xea, 0x49, 0xae, 0xe5, 0x47, 0x16, 0x07, 0x5e, 0x86, 0x95, 0x14, 0xc9, 0xbc, 0x34, 0x27, + 0x3a, 0xd7, 0x78, 0xf3, 0x1d, 0x1e, 0xb3, 0x98, 0x65, 0x21, 0x4d, 0x9d, 0x04, 0x2d, 0x77, 0x0d, 0x96, 0x40, 0x40, + 0x46, 0x0e, 0x86, 0x7f, 0x2a, 0x8f, 0xfc, 0xb9, 0xd0, 0x1b, 0xf8, 0x81, 0xa6, 0x94, 0x87, 0x49, 0x00, 0x69, 0x29, + 0x6e, 0x50, 0x1c, 0x69, 0x3a, 0x38, 0xd8, 0x73, 0x6c, 0xe1, 0x96, 0x80, 0xc3, 0xdf, 0xe6, 0x1b, 0xd4, 0x5f, 0xc2, + 0xe9, 0x9c, 0x72, 0x68, 0x8a, 0x96, 0x74, 0xfd, 0x20, 0x0b, 0x77, 0x3f, 0xd2, 0x3b, 0x1c, 0xa3, 0x3c, 0xf7, 0x24, + 0xd4, 0xf6, 0x98, 0xd1, 0x28, 0xb0, 0xf1, 0x47, 0x7a, 0xe7, 0x15, 0xe7, 0xc5, 0xc5, 0xf1, 0x66, 0xb1, 0x80, 0x76, + 0x72, 0x13, 0xdb, 0xb8, 0x1c, 0xc4, 0x5b, 0xe6, 0x38, 0x49, 0xd9, 0x04, 0x88, 0xf3, 0x6f, 0xf4, 0xce, 0x93, 0xfd, + 0x31, 0xe3, 0xb4, 0x1e, 0x5a, 0x6a, 0xd4, 0xbb, 0x46, 0xb1, 0xb9, 0x0c, 0xca, 0xa0, 0x18, 0x88, 0xb6, 0x43, 0x52, + 0xa9, 0x57, 0x9a, 0x87, 0x08, 0xe5, 0x0f, 0x9d, 0x0a, 0xfe, 0xd6, 0x14, 0x6d, 0xbc, 0x92, 0xf9, 0xba, 0xd6, 0x88, + 0x42, 0x83, 0x32, 0xd3, 0xe3, 0xd2, 0x89, 0xf5, 0xae, 0x53, 0x47, 0x10, 0x0c, 0x47, 0xd8, 0xb7, 0x5c, 0x75, 0xea, + 0xfd, 0x24, 0x13, 0x42, 0xca, 0x48, 0xd2, 0xcb, 0xb2, 0x9d, 0x75, 0xe9, 0x00, 0xde, 0x21, 0xa1, 0xc5, 0x17, 0x07, + 0x32, 0x73, 0x9d, 0x2d, 0xfa, 0x37, 0x4e, 0x9c, 0xa5, 0x9e, 0x82, 0x17, 0x9b, 0x58, 0xe4, 0x39, 0x50, 0xa1, 0xa2, + 0x2f, 0x99, 0x00, 0x08, 0x67, 0xd8, 0x37, 0xa4, 0x66, 0x2a, 0xa4, 0xa6, 0x6b, 0x60, 0x7c, 0x87, 0x94, 0xa4, 0x02, + 0x19, 0x42, 0x89, 0x14, 0x42, 0x4f, 0x2d, 0xae, 0x22, 0x21, 0x73, 0x41, 0x8b, 0xf3, 0x73, 0x72, 0xcd, 0xd3, 0x0a, + 0x58, 0x8e, 0xe8, 0x07, 0xe5, 0x1e, 0x4c, 0x89, 0xca, 0x0a, 0x79, 0x71, 0x2c, 0x5b, 0xa7, 0xb7, 0x3a, 0x89, 0xab, + 0xa7, 0x45, 0x34, 0x4a, 0x9c, 0x10, 0x2d, 0x63, 0x27, 0xc4, 0x29, 0xa4, 0x23, 0x26, 0x79, 0x01, 0x3f, 0x35, 0x57, + 0xa3, 0x92, 0xac, 0xbc, 0xfd, 0x8c, 0x1f, 0x28, 0xf3, 0x1c, 0x52, 0x34, 0x71, 0xac, 0x79, 0x4a, 0xec, 0x88, 0xc3, + 0x76, 0xc6, 0xb2, 0x7d, 0xa7, 0x12, 0x74, 0x14, 0x60, 0x7f, 0xe3, 0xce, 0xd2, 0x98, 0x85, 0x79, 0x9a, 0x5b, 0x9d, + 0xf9, 0x53, 0xc1, 0xbe, 0x32, 0x87, 0xd4, 0xc9, 0xc8, 0x9a, 0xc4, 0xb9, 0x3f, 0xd5, 0xf2, 0x97, 0x39, 0x4d, 0xef, + 0x2e, 0x28, 0xa4, 0x3a, 0x27, 0x70, 0xda, 0xb7, 0x5c, 0x86, 0x32, 0x4d, 0xbd, 0x9f, 0x0a, 0x65, 0x25, 0xaf, 0x9e, + 0x02, 0x5c, 0x3f, 0x23, 0x98, 0x8b, 0x68, 0xa3, 0xe1, 0x88, 0x91, 0xbb, 0x85, 0xee, 0x3c, 0x3d, 0x49, 0x3b, 0x0c, + 0xfc, 0x6b, 0x25, 0xa6, 0x55, 0xb0, 0x00, 0x27, 0xe6, 0x89, 0xd4, 0x41, 0x36, 0x5c, 0xf7, 0xca, 0x40, 0x11, 0x84, + 0xef, 0xd2, 0xdd, 0x53, 0xdd, 0x96, 0x34, 0xbb, 0x7b, 0xaa, 0x95, 0xa0, 0x9f, 0x48, 0xf8, 0xc1, 0x6a, 0x9c, 0xe2, + 0xf8, 0x32, 0xcb, 0x73, 0x94, 0x03, 0x78, 0x5f, 0x77, 0x1c, 0xe7, 0x6b, 0x95, 0x32, 0xe8, 0x42, 0x2c, 0xf6, 0x22, + 0x4a, 0x34, 0x13, 0x2f, 0xc7, 0xff, 0x7a, 0x63, 0xfc, 0xaf, 0x8d, 0x33, 0xa7, 0x60, 0x1a, 0x4d, 0x62, 0x1a, 0x68, + 0xd6, 0x89, 0x24, 0x01, 0x0a, 0xbd, 0x2d, 0xe6, 0xe4, 0xf5, 0x95, 0x07, 0x1a, 0xd7, 0x72, 0x9c, 0xc4, 0xbc, 0x3e, + 0xf6, 0xa7, 0x2c, 0xba, 0xf3, 0xe6, 0xac, 0x3e, 0x4d, 0xe2, 0x24, 0x9b, 0xf9, 0x23, 0x8a, 0xb3, 0xbb, 0x8c, 0xd3, + 0x69, 0x7d, 0xce, 0xf0, 0x73, 0x1a, 0x2d, 0x28, 0x67, 0x23, 0x1f, 0xdb, 0x67, 0x29, 0xf3, 0x23, 0xeb, 0x95, 0x9f, + 0xa6, 0xc9, 0x8d, 0x8d, 0xdf, 0x26, 0xd7, 0x09, 0x4f, 0xf0, 0xeb, 0xdb, 0xbb, 0x09, 0x8d, 0xf1, 0xfb, 0xeb, 0x79, + 0xcc, 0xe7, 0x38, 0xf3, 0xe3, 0xac, 0x9e, 0xd1, 0x94, 0x8d, 0x3b, 0xa3, 0x24, 0x4a, 0xd2, 0x3a, 0x64, 0x6c, 0x4f, + 0xa9, 0x17, 0xb1, 0x49, 0xc8, 0xad, 0xc0, 0x4f, 0x3f, 0x76, 0xea, 0xf5, 0x59, 0xca, 0xa6, 0x7e, 0x7a, 0x57, 0x17, + 0x35, 0xbc, 0xcf, 0x9b, 0x87, 0xfe, 0xe3, 0xf1, 0x51, 0x87, 0xa7, 0x7e, 0x9c, 0x31, 0x58, 0x26, 0xcf, 0x8f, 0x22, + 0xeb, 0xf0, 0xb8, 0x39, 0xcd, 0xf6, 0x64, 0x20, 0xcf, 0x8f, 0x79, 0x7e, 0x85, 0xdf, 0x00, 0xdc, 0xee, 0x35, 0x8f, + 0xf1, 0xf5, 0x9c, 0xf3, 0x24, 0x5e, 0x8e, 0xe6, 0x69, 0x96, 0xa4, 0xde, 0x2c, 0x61, 0x31, 0xa7, 0x69, 0xe7, 0x3a, + 0x49, 0x03, 0x9a, 0xd6, 0x53, 0x3f, 0x60, 0xf3, 0xcc, 0x3b, 0x9a, 0xdd, 0x76, 0x40, 0xb3, 0x98, 0xa4, 0xc9, 0x3c, + 0x0e, 0xd4, 0x58, 0x2c, 0x0e, 0x69, 0xca, 0xb8, 0xf9, 0x42, 0x5c, 0x62, 0xe2, 0x45, 0x2c, 0xa6, 0x7e, 0x5a, 0x9f, + 0x40, 0x63, 0x30, 0x8b, 0x9a, 0x01, 0x9d, 0xe0, 0x74, 0x72, 0xed, 0x3b, 0xad, 0xf6, 0x23, 0xac, 0xff, 0xba, 0xc7, + 0xc8, 0x6a, 0x6e, 0x2f, 0x6e, 0x35, 0x9b, 0x7f, 0x41, 0x9d, 0xb5, 0x51, 0x04, 0x40, 0x5e, 0x6b, 0x76, 0x6b, 0x65, + 0x09, 0x64, 0xb4, 0x6d, 0x6b, 0xd9, 0x99, 0xf9, 0x01, 0xe4, 0x03, 0x7b, 0xed, 0xd9, 0x6d, 0x0e, 0xb3, 0xf3, 0x64, + 0x8a, 0xa9, 0x9a, 0xa4, 0x7a, 0x5a, 0xfe, 0x5e, 0x88, 0x4f, 0xb7, 0x43, 0xdc, 0xd6, 0x10, 0x97, 0x58, 0xaf, 0x07, + 0xf3, 0x54, 0xc4, 0x56, 0xbd, 0x56, 0x26, 0x01, 0x09, 0x93, 0x05, 0x4d, 0x35, 0x1c, 0xe2, 0xe1, 0x77, 0x83, 0xd1, + 0xde, 0x0e, 0xc6, 0xe9, 0xa7, 0xc0, 0x48, 0xe3, 0x60, 0x59, 0x5d, 0xd7, 0x56, 0x4a, 0xa7, 0x9d, 0x90, 0x02, 0x3d, + 0x79, 0x6d, 0xf8, 0x7d, 0xc3, 0x02, 0x1e, 0xca, 0x9f, 0x82, 0x9c, 0x6f, 0xe4, 0xbb, 0xe3, 0x66, 0x53, 0x3e, 0x67, + 0xec, 0x57, 0xea, 0xb5, 0x5c, 0xa8, 0x90, 0x5f, 0xe1, 0x1f, 0x8b, 0xb3, 0xbc, 0x55, 0xee, 0x89, 0xbf, 0x36, 0x0f, + 0xf9, 0x1a, 0x29, 0x8a, 0xe5, 0x91, 0x68, 0x9c, 0x6a, 0x59, 0x29, 0x85, 0x0f, 0xb8, 0xed, 0x04, 0x77, 0x24, 0xac, + 0x57, 0x1c, 0xe2, 0x64, 0xfd, 0xaf, 0x65, 0xde, 0x85, 0x07, 0x91, 0x0e, 0x23, 0xd5, 0x30, 0xe9, 0xa4, 0x3d, 0xd2, + 0xec, 0xa4, 0xf5, 0x3a, 0x72, 0x12, 0x12, 0x0f, 0x52, 0x95, 0x9c, 0xe7, 0xb0, 0x7e, 0x22, 0x8c, 0xed, 0x0c, 0x79, + 0x09, 0x9c, 0x34, 0x5d, 0xad, 0xca, 0x30, 0x00, 0x13, 0xa7, 0x35, 0x7e, 0xe4, 0xaa, 0x02, 0xce, 0x0c, 0x4e, 0x9e, + 0xe8, 0xab, 0x5d, 0x62, 0xcd, 0x2b, 0xa2, 0x64, 0x24, 0x30, 0xe7, 0xce, 0x7c, 0x1e, 0x82, 0x97, 0xa2, 0x10, 0x3f, + 0x65, 0x0a, 0x93, 0xdd, 0xb0, 0x51, 0x3f, 0x2e, 0xf2, 0xdb, 0x20, 0x8f, 0x2f, 0xce, 0xa1, 0x97, 0x3b, 0x4e, 0x84, + 0xc5, 0x54, 0xf4, 0xff, 0x9e, 0x1b, 0x92, 0x3a, 0x76, 0x59, 0x3c, 0x8a, 0xe6, 0x01, 0xcd, 0x44, 0x0f, 0xa5, 0x38, + 0xff, 0xbb, 0x59, 0x4b, 0x34, 0x81, 0xde, 0x45, 0x36, 0x0f, 0x54, 0x84, 0x1b, 0x54, 0x8a, 0xe7, 0xba, 0x78, 0x2e, + 0xdb, 0xea, 0x4b, 0x25, 0xd8, 0xd8, 0x81, 0x96, 0xee, 0x3c, 0x66, 0xbf, 0xcc, 0xe9, 0x25, 0x0b, 0x8c, 0x73, 0xbb, + 0x34, 0x1e, 0x25, 0x01, 0x7d, 0xff, 0xf6, 0x1b, 0xc8, 0x76, 0x4f, 0x62, 0x20, 0xb1, 0x58, 0xfa, 0xbb, 0x70, 0x46, + 0x62, 0x37, 0xa0, 0x0b, 0x36, 0xa2, 0xfd, 0xab, 0xfd, 0xe5, 0xd6, 0x8a, 0xf2, 0x35, 0xca, 0x1b, 0x57, 0x22, 0xe9, + 0x4f, 0x40, 0x79, 0xb5, 0xbf, 0xbc, 0xe3, 0x79, 0x63, 0x7f, 0x19, 0xbb, 0x41, 0x32, 0xf5, 0x59, 0x0c, 0xbf, 0xb3, + 0x7c, 0x7f, 0xc9, 0xe0, 0x07, 0xcf, 0xaf, 0xf2, 0x32, 0x51, 0xb4, 0x80, 0xc8, 0x98, 0x82, 0xc2, 0x5d, 0x0b, 0xb9, + 0x1f, 0x12, 0x16, 0x8b, 0xa2, 0xfb, 0x7a, 0xa6, 0xba, 0x57, 0x40, 0xf2, 0x37, 0x44, 0x1a, 0xcc, 0xda, 0x5c, 0x1e, + 0x3f, 0xd4, 0x5c, 0xa6, 0x31, 0x67, 0x22, 0x2d, 0x5e, 0x87, 0x73, 0x42, 0x3f, 0xbb, 0x1c, 0xc9, 0x73, 0xa8, 0x59, + 0x79, 0xea, 0xc2, 0x17, 0x88, 0x95, 0x16, 0x30, 0x4d, 0x85, 0xb1, 0x4f, 0x77, 0x1f, 0x94, 0x8c, 0xef, 0x33, 0xfe, + 0x0a, 0xaa, 0xca, 0x92, 0x79, 0x3a, 0x82, 0x58, 0xaf, 0x52, 0x29, 0x36, 0xbd, 0x62, 0xb6, 0xd0, 0xdf, 0x6c, 0xcc, + 0x8d, 0x24, 0x5b, 0x8e, 0x99, 0x79, 0x67, 0x07, 0x15, 0xf1, 0x44, 0x79, 0x16, 0x46, 0xe9, 0x0f, 0x7a, 0x4a, 0xa0, + 0x10, 0x05, 0x22, 0x5f, 0xd4, 0x49, 0x49, 0x2f, 0x2d, 0x71, 0x4e, 0x08, 0x61, 0x2e, 0x0b, 0x44, 0x20, 0x0f, 0x14, + 0x8b, 0x7a, 0x0b, 0x22, 0x43, 0x2c, 0x28, 0x35, 0x3c, 0xa6, 0xf0, 0xbc, 0x5a, 0xfd, 0x9d, 0x3b, 0xb2, 0xae, 0x74, + 0xaa, 0x80, 0x0e, 0xc6, 0xb0, 0x7c, 0xe9, 0xa5, 0xb8, 0xe8, 0xd2, 0x83, 0x4a, 0x79, 0x27, 0x11, 0xe8, 0x93, 0xc8, + 0x22, 0x1a, 0x9d, 0x67, 0x52, 0x45, 0x48, 0x10, 0x36, 0x5f, 0x17, 0x07, 0xf8, 0x2b, 0xf8, 0x6e, 0xae, 0x2d, 0x8b, + 0xb4, 0xa7, 0x92, 0xf5, 0xd2, 0x2c, 0x49, 0xb9, 0xe3, 0x84, 0x38, 0x42, 0xa4, 0x17, 0x0a, 0xaa, 0xed, 0x46, 0xe2, + 0xbf, 0x7e, 0xbd, 0xe5, 0xb5, 0x0a, 0x4f, 0x48, 0xe5, 0x5c, 0xb5, 0xcc, 0x33, 0x53, 0x67, 0x73, 0x01, 0x5c, 0x5c, + 0xfc, 0x96, 0xf3, 0x29, 0x9f, 0x8b, 0x69, 0x61, 0xc5, 0xb9, 0xa4, 0xd4, 0x77, 0x2a, 0x40, 0x88, 0xb8, 0xdb, 0x8e, + 0xa1, 0x50, 0x5e, 0xce, 0xbb, 0xd8, 0xc5, 0x57, 0x52, 0xdb, 0xb9, 0x34, 0xc8, 0xf8, 0x8a, 0x69, 0x7f, 0x5d, 0x95, + 0xc0, 0x72, 0x85, 0x11, 0x83, 0x05, 0x6c, 0xab, 0x26, 0x61, 0xb9, 0x23, 0xf1, 0x56, 0x2a, 0x75, 0xe5, 0x23, 0x95, + 0xba, 0xd6, 0xf6, 0x2a, 0x22, 0xeb, 0x71, 0x1b, 0x60, 0xe0, 0x01, 0xc8, 0xb8, 0x9e, 0x02, 0x30, 0x93, 0x31, 0x15, + 0x17, 0xd3, 0x48, 0xd6, 0x82, 0x97, 0x52, 0x8d, 0xf7, 0xec, 0x37, 0xaf, 0x2f, 0xde, 0xd9, 0x18, 0xee, 0x33, 0xa3, + 0x69, 0xe6, 0x2d, 0x6d, 0x95, 0x4c, 0x58, 0x87, 0xc0, 0xb4, 0xed, 0xd9, 0xfe, 0x0c, 0xce, 0x66, 0x0b, 0xee, 0xd9, + 0xb8, 0xad, 0xdf, 0xdc, 0xdc, 0xd4, 0xe1, 0xe8, 0x58, 0x7d, 0x9e, 0x46, 0x92, 0xaf, 0x04, 0x76, 0x9e, 0x23, 0x97, + 0x87, 0x34, 0x2e, 0x6e, 0x3c, 0x4a, 0x22, 0xea, 0x46, 0xc9, 0x44, 0x1e, 0x7b, 0x5d, 0xf7, 0x43, 0x8c, 0xae, 0xba, + 0xe2, 0x26, 0xaf, 0x5e, 0x97, 0xcb, 0x3b, 0xd4, 0x78, 0x0a, 0x3f, 0x7b, 0x10, 0xa5, 0xea, 0x36, 0x78, 0x28, 0x1e, + 0x2e, 0x60, 0xdb, 0x88, 0xa7, 0xfd, 0xe5, 0x06, 0x91, 0xf5, 0xa1, 0x8b, 0xb0, 0x27, 0xa7, 0x96, 0x89, 0x5a, 0x57, + 0xde, 0xe8, 0xea, 0x2a, 0xef, 0x36, 0xa0, 0xaf, 0x86, 0xee, 0xf7, 0x3a, 0x09, 0xee, 0x74, 0xfb, 0x82, 0xf0, 0xe0, + 0x46, 0xa7, 0x98, 0xf4, 0xa0, 0x0b, 0x18, 0x37, 0xe8, 0x09, 0x9c, 0x29, 0x5e, 0x39, 0x28, 0x1f, 0xf2, 0xa1, 0x05, + 0x9c, 0x31, 0x87, 0x12, 0xa0, 0x4b, 0xe8, 0x3c, 0x28, 0x1a, 0x88, 0x6d, 0x2d, 0x8b, 0x76, 0x01, 0x28, 0x2b, 0x96, + 0xdb, 0x45, 0xfa, 0xb3, 0x4b, 0xb2, 0xd0, 0x10, 0x07, 0x26, 0xf0, 0x57, 0x08, 0xfe, 0x17, 0x80, 0x77, 0x1b, 0x12, + 0x4d, 0x57, 0xe6, 0xed, 0x32, 0xf2, 0xde, 0x87, 0x02, 0x99, 0x83, 0x98, 0xe3, 0x37, 0x1c, 0xbf, 0xbe, 0x12, 0x55, + 0xb5, 0x3a, 0x00, 0x7a, 0x2a, 0xa8, 0x4d, 0x4d, 0xad, 0xf7, 0x8d, 0x92, 0x28, 0xf2, 0x67, 0x19, 0xf5, 0xf4, 0x0f, + 0xa5, 0x19, 0x80, 0x82, 0xb1, 0xa9, 0x8a, 0xa9, 0x04, 0xa7, 0x73, 0x50, 0xd8, 0x36, 0xf5, 0xc4, 0x85, 0x9f, 0x3a, + 0xf5, 0xfa, 0xa8, 0x7e, 0x3d, 0x41, 0x39, 0x0f, 0x97, 0xa6, 0x5e, 0x71, 0xd2, 0x6c, 0x76, 0x20, 0x1b, 0xb5, 0xee, + 0x47, 0x6c, 0x12, 0x7b, 0x11, 0x1d, 0xf3, 0x9c, 0xc3, 0x31, 0xc1, 0xa5, 0x56, 0xe4, 0xdc, 0xf6, 0x71, 0x4a, 0xa7, + 0x96, 0x0b, 0xff, 0xde, 0x3f, 0x70, 0xce, 0x03, 0x2f, 0xe6, 0x61, 0x5d, 0x64, 0x3d, 0xc3, 0x99, 0x0d, 0x1e, 0x56, + 0x9e, 0x97, 0xc6, 0x40, 0x23, 0x0a, 0x4a, 0x6e, 0xce, 0x53, 0x8b, 0x87, 0x98, 0xa7, 0x66, 0xbd, 0x18, 0x2d, 0x37, + 0x66, 0xb0, 0xa9, 0x6b, 0x1d, 0xa2, 0x3c, 0x13, 0xa6, 0xc9, 0x66, 0x65, 0xad, 0xb0, 0x56, 0x9f, 0x36, 0xd0, 0x67, + 0xa8, 0xd6, 0xb9, 0x74, 0xed, 0x2f, 0x65, 0x8b, 0x87, 0x20, 0xb3, 0xa2, 0xf4, 0x63, 0xb3, 0x05, 0xca, 0x59, 0x3c, + 0x9b, 0xf3, 0x81, 0x08, 0x2b, 0xa4, 0x70, 0x40, 0x65, 0x88, 0x8d, 0x12, 0xc0, 0xc1, 0x70, 0x29, 0x81, 0x19, 0xf9, + 0xd1, 0xc8, 0x01, 0x88, 0xac, 0xba, 0x75, 0x9a, 0xd2, 0x29, 0xea, 0x4c, 0x59, 0x5c, 0x97, 0xef, 0x8e, 0x0d, 0xc5, + 0xd0, 0x7d, 0x04, 0x4f, 0xb9, 0x2b, 0x7a, 0xc3, 0x22, 0x7b, 0x78, 0x0b, 0x2e, 0xaf, 0x86, 0x79, 0xde, 0x49, 0xb9, + 0x33, 0x78, 0xe9, 0xa0, 0x21, 0xfe, 0xc6, 0xb8, 0x1f, 0xc7, 0xd6, 0x3b, 0xc9, 0xc6, 0x6d, 0xb4, 0xa3, 0x8a, 0xb9, + 0x17, 0x44, 0xb5, 0x6f, 0x08, 0x54, 0x7c, 0xe2, 0xd8, 0x34, 0x9b, 0xd5, 0x25, 0xcb, 0xab, 0x0b, 0x92, 0xb5, 0xa1, + 0x29, 0x52, 0xbe, 0x72, 0x4a, 0x97, 0x82, 0x9b, 0xa9, 0x43, 0x32, 0xd2, 0x9d, 0x33, 0x2c, 0x0e, 0x55, 0xa9, 0x67, + 0xf3, 0x18, 0x15, 0xaa, 0xb0, 0x9b, 0xab, 0xb3, 0x2a, 0x6b, 0x04, 0xe5, 0xa2, 0xb8, 0x44, 0xd0, 0x8f, 0x22, 0x18, + 0xf0, 0x4a, 0x6b, 0x24, 0xe6, 0xad, 0x2b, 0x03, 0x3e, 0x74, 0x50, 0xae, 0xf6, 0xe9, 0x13, 0xa1, 0xd4, 0x1b, 0x37, + 0x17, 0xee, 0x71, 0x1d, 0xae, 0x93, 0x22, 0x9a, 0x41, 0xc2, 0x41, 0x25, 0x31, 0xbd, 0x53, 0xb2, 0x36, 0x69, 0x12, + 0x58, 0x62, 0x42, 0xc4, 0x4e, 0xe3, 0xc0, 0xb6, 0xbe, 0x1c, 0x45, 0x6c, 0xf4, 0x91, 0xd8, 0xfb, 0x4b, 0x07, 0x6d, + 0x9e, 0x3b, 0x15, 0x5c, 0x41, 0xf3, 0x79, 0x54, 0x0d, 0x65, 0xa4, 0xae, 0xc1, 0xc2, 0xe5, 0xc5, 0x44, 0x76, 0x0f, + 0xf4, 0xa6, 0x6e, 0x43, 0x8e, 0xd3, 0xbb, 0xca, 0x2f, 0xcb, 0xfb, 0xc6, 0x4a, 0x28, 0x00, 0xcd, 0xb2, 0xdc, 0x12, + 0x44, 0x45, 0xec, 0x4f, 0x52, 0x9a, 0x6d, 0x49, 0xa6, 0x06, 0x70, 0x72, 0xc5, 0xdf, 0x6c, 0xeb, 0xcb, 0xa2, 0x8c, + 0x16, 0x3e, 0x25, 0x91, 0x14, 0x43, 0x6c, 0x18, 0x0b, 0x1c, 0x09, 0x6e, 0x40, 0xb9, 0xcf, 0x22, 0xd9, 0xa4, 0xa3, + 0x5d, 0x20, 0x6b, 0x33, 0x5a, 0xad, 0xb2, 0xea, 0x5c, 0x58, 0x15, 0x83, 0x62, 0x66, 0xdd, 0x46, 0x09, 0xb7, 0x98, + 0x99, 0xd8, 0x93, 0x66, 0x70, 0xb6, 0x9c, 0xa1, 0x7c, 0x67, 0x7d, 0x39, 0x12, 0xc7, 0xb6, 0x00, 0xc0, 0x44, 0x01, + 0x08, 0x69, 0x03, 0xf2, 0x58, 0x92, 0x13, 0x91, 0xc4, 0xe5, 0x7e, 0x3a, 0xa1, 0x7c, 0x0d, 0xb1, 0x91, 0xcc, 0x12, + 0xee, 0xe8, 0x14, 0x81, 0x0d, 0x68, 0xfd, 0x2a, 0xb4, 0xa0, 0x44, 0xe7, 0x7d, 0xd0, 0x83, 0xc9, 0x56, 0x75, 0x3a, + 0x44, 0x20, 0x6f, 0xc5, 0xe2, 0x48, 0x09, 0x93, 0x08, 0x09, 0x23, 0x39, 0x81, 0x25, 0xc6, 0x12, 0x20, 0xe6, 0xb6, + 0xd5, 0x97, 0x90, 0xd3, 0x40, 0xc2, 0x4c, 0x52, 0xd1, 0x2a, 0xc9, 0xbb, 0x0d, 0x59, 0x5b, 0x8a, 0x00, 0x59, 0x09, + 0x90, 0x20, 0xf6, 0x69, 0x89, 0x03, 0xc8, 0x2c, 0x37, 0xf1, 0x10, 0xb0, 0x45, 0x41, 0x6c, 0xe2, 0x00, 0x5b, 0xaf, + 0x1b, 0xf9, 0xd7, 0x34, 0xea, 0xed, 0x2f, 0xd3, 0xd5, 0xaa, 0x99, 0x77, 0x1b, 0xf2, 0xd1, 0xea, 0x0a, 0xbe, 0x21, + 0x2f, 0x1d, 0x15, 0x4b, 0x0c, 0xa7, 0x42, 0x21, 0xdf, 0x56, 0x27, 0x9a, 0x79, 0xaa, 0x83, 0xdc, 0xb6, 0x44, 0x8a, + 0x8b, 0xa8, 0x54, 0xe8, 0x51, 0xb9, 0x6d, 0xb1, 0x60, 0xb3, 0x2c, 0xe3, 0x74, 0x06, 0xa5, 0xe1, 0x6a, 0xd5, 0xca, + 0x6d, 0x6b, 0xca, 0x62, 0x78, 0x4a, 0x57, 0x2b, 0x71, 0xe0, 0x72, 0xca, 0x62, 0xa7, 0x09, 0x64, 0x6b, 0x5b, 0x53, + 0xff, 0x56, 0x4c, 0x58, 0xbf, 0xf1, 0x6f, 0x9d, 0x96, 0x7a, 0xe5, 0x16, 0xf8, 0xc9, 0x80, 0xe2, 0xca, 0x15, 0x8d, + 0xd4, 0x8a, 0x06, 0x78, 0x2e, 0x8f, 0x92, 0x11, 0x27, 0x20, 0xd1, 0xf6, 0x15, 0x0d, 0xf4, 0x8a, 0xce, 0x77, 0xac, + 0xe8, 0xfc, 0x9e, 0x15, 0xf5, 0xd5, 0xea, 0x59, 0x05, 0xee, 0x92, 0xd5, 0xaa, 0xd5, 0x2c, 0xb1, 0xd7, 0x6d, 0x04, + 0x6c, 0x01, 0xab, 0x01, 0xda, 0x21, 0x67, 0x53, 0xba, 0x9d, 0x28, 0xab, 0x28, 0xa6, 0xbf, 0x09, 0x93, 0x25, 0x16, + 0xd2, 0x2a, 0x16, 0x4c, 0xba, 0x2e, 0xa2, 0x9e, 0x7f, 0x26, 0x65, 0x33, 0xc0, 0x43, 0x06, 0x78, 0x08, 0xf5, 0x25, + 0xa4, 0x8e, 0xfd, 0xce, 0xc6, 0xb6, 0x65, 0x6b, 0xb2, 0xbe, 0xca, 0x2f, 0x41, 0x46, 0x88, 0xf9, 0x3d, 0x88, 0x16, + 0xa1, 0xb6, 0xdd, 0xdb, 0x4d, 0x73, 0x90, 0xa0, 0x70, 0x93, 0xa4, 0x81, 0xed, 0xc9, 0xaa, 0xbf, 0x09, 0x55, 0x53, + 0x16, 0xab, 0x74, 0xb7, 0x9d, 0xb4, 0x56, 0xbe, 0x37, 0x29, 0xae, 0x7d, 0x7c, 0x2c, 0x6b, 0xcc, 0x7c, 0xce, 0x69, + 0x1a, 0x2b, 0xca, 0xb5, 0xed, 0xff, 0x2f, 0xa8, 0x70, 0x0b, 0x5f, 0xf1, 0xf5, 0x02, 0x68, 0x02, 0x54, 0x7a, 0xbe, + 0xe2, 0xf9, 0x52, 0x3c, 0xed, 0x95, 0x0a, 0xee, 0x1d, 0x32, 0x6d, 0x0d, 0x59, 0x04, 0xa6, 0xcf, 0x7c, 0x4a, 0x83, + 0x4b, 0xc1, 0xa0, 0xfb, 0xa3, 0x2b, 0xa5, 0xb0, 0xae, 0x89, 0xbb, 0xb2, 0x01, 0xb6, 0x7f, 0x9e, 0xb7, 0x1f, 0x1d, + 0x9d, 0xdb, 0x58, 0xf2, 0xf8, 0x64, 0x3c, 0xb6, 0x51, 0x6e, 0x3d, 0xac, 0x59, 0xeb, 0xe8, 0xe7, 0xf9, 0x57, 0xcf, + 0x9a, 0x5f, 0x15, 0x8d, 0x63, 0x20, 0x22, 0x95, 0x61, 0xa1, 0x45, 0x95, 0x01, 0xaf, 0x9e, 0xd1, 0xd8, 0x8f, 0x77, + 0x4f, 0x67, 0x60, 0x4e, 0x27, 0x9b, 0x51, 0x1a, 0x00, 0x71, 0xe2, 0x8d, 0xd2, 0xcb, 0x88, 0x2e, 0xa8, 0xbe, 0xfc, + 0x71, 0xcb, 0x60, 0x5b, 0x5a, 0x8c, 0x92, 0x79, 0xcc, 0x55, 0xaa, 0x89, 0x62, 0xb5, 0xc6, 0x94, 0xae, 0xc4, 0x1c, + 0x4c, 0x13, 0xe2, 0x4e, 0xca, 0xb9, 0xaa, 0xf4, 0xca, 0xaf, 0xb0, 0x6d, 0x00, 0xb0, 0x13, 0xb2, 0xfe, 0x8e, 0x72, + 0xaf, 0x89, 0x9b, 0xbb, 0x60, 0xc3, 0x2d, 0xe4, 0xd9, 0xf6, 0x50, 0xe3, 0x49, 0x78, 0x8b, 0x2b, 0x37, 0x76, 0xec, + 0xc4, 0xd7, 0x27, 0x31, 0x70, 0x9d, 0x42, 0x67, 0x31, 0xcd, 0xb2, 0x9d, 0x08, 0x28, 0x16, 0x11, 0xdb, 0x65, 0x6d, + 0x7b, 0x47, 0x2f, 0xb8, 0x89, 0x61, 0x87, 0x09, 0x80, 0x8b, 0x98, 0xb5, 0xaa, 0x45, 0xc7, 0x63, 0x3a, 0x2a, 0x9c, + 0xed, 0x10, 0x7d, 0x1c, 0xb3, 0x88, 0x43, 0x10, 0x4e, 0x44, 0xc7, 0xec, 0x57, 0x49, 0x4c, 0x6d, 0xa4, 0xf3, 0x69, + 0x15, 0xfc, 0x4a, 0xfe, 0x6f, 0x87, 0x47, 0xf6, 0x58, 0x85, 0x45, 0x8d, 0xb2, 0x5a, 0x69, 0x5f, 0x50, 0xa5, 0xbc, + 0x8a, 0xc8, 0x44, 0x38, 0x7b, 0x76, 0x6d, 0xa0, 0x87, 0x6d, 0x93, 0x65, 0xeb, 0xab, 0xe3, 0x56, 0x33, 0xb7, 0xb1, + 0x0d, 0xdd, 0x3d, 0x74, 0x97, 0x88, 0x56, 0x87, 0xd0, 0x6a, 0x1e, 0xff, 0x96, 0x76, 0xed, 0xd6, 0xe3, 0x96, 0x8d, + 0xe5, 0x45, 0x0e, 0x28, 0x2f, 0x98, 0xc1, 0x08, 0xdc, 0xcf, 0x7f, 0x78, 0x2a, 0xd5, 0xce, 0x1f, 0x06, 0xcf, 0x49, + 0xab, 0x69, 0x63, 0x3b, 0xe3, 0xc9, 0xec, 0x37, 0x4c, 0xe1, 0xd0, 0xc6, 0xf6, 0x28, 0x4a, 0x32, 0x6a, 0xce, 0x41, + 0xaa, 0xb3, 0x7f, 0x7c, 0x12, 0x12, 0xa2, 0x59, 0x4a, 0xb3, 0xcc, 0x32, 0xfb, 0x57, 0xa4, 0xf4, 0x09, 0x86, 0xb9, + 0x95, 0xe2, 0x32, 0xca, 0x05, 0x5e, 0xe4, 0x1d, 0x0b, 0x26, 0x55, 0xc9, 0xb2, 0x0d, 0x62, 0x13, 0x22, 0xa0, 0x60, + 0x6c, 0x52, 0xbb, 0xfa, 0xe4, 0xc8, 0x5b, 0xb6, 0x9e, 0x1c, 0x58, 0x46, 0xe5, 0x37, 0x07, 0xa8, 0x94, 0x4c, 0x59, + 0x7c, 0xb9, 0xa5, 0xd4, 0xbf, 0xdd, 0x52, 0x0a, 0x2a, 0x5b, 0x01, 0x9d, 0xba, 0xff, 0xe7, 0xd3, 0x58, 0x2f, 0x15, + 0x1f, 0x13, 0xc4, 0x40, 0x38, 0x37, 0x3f, 0x01, 0xa9, 0xb1, 0x0c, 0xa2, 0x87, 0xdf, 0x3f, 0x1c, 0x94, 0xfc, 0x96, + 0xe1, 0x8a, 0x5e, 0xfe, 0xd8, 0x0c, 0xa1, 0xb4, 0x0e, 0x11, 0x84, 0xe8, 0x37, 0xcd, 0x95, 0xde, 0x7e, 0x9a, 0xe0, + 0x0c, 0xad, 0xea, 0x0f, 0x2c, 0xbd, 0xba, 0x47, 0x60, 0x7d, 0xed, 0xb7, 0x14, 0x2b, 0xc5, 0xa7, 0x58, 0xff, 0x51, + 0xc4, 0xa6, 0x25, 0x09, 0x6c, 0x82, 0x29, 0x34, 0x1e, 0x48, 0x27, 0x33, 0x3b, 0x91, 0xaa, 0xcf, 0x25, 0x1c, 0x92, + 0x85, 0x7b, 0x48, 0xe6, 0x29, 0xbd, 0x8c, 0x92, 0x9b, 0xf5, 0x8b, 0xd5, 0x76, 0x57, 0x0e, 0xd9, 0x24, 0x34, 0x4e, + 0xbe, 0x51, 0x52, 0x2c, 0xc2, 0xbd, 0x03, 0xe4, 0xff, 0xf2, 0xcf, 0xae, 0xfb, 0x2f, 0xff, 0xfc, 0xc9, 0xaa, 0xd0, + 0x7d, 0x7e, 0x85, 0x79, 0xd9, 0xed, 0xee, 0xdd, 0xb5, 0x7d, 0xa4, 0x2a, 0xce, 0xb7, 0xd7, 0xd9, 0x58, 0x04, 0x78, + 0xbf, 0xb1, 0x04, 0x1b, 0x85, 0x72, 0xf7, 0x59, 0xbf, 0x07, 0x30, 0x98, 0xd7, 0x27, 0x21, 0x83, 0x4a, 0x7f, 0x08, + 0xb4, 0x2b, 0xe4, 0x3d, 0x68, 0x45, 0x7e, 0x3f, 0x86, 0x3f, 0x35, 0x87, 0x3f, 0x08, 0xbe, 0xf2, 0x4f, 0x8c, 0xae, + 0xae, 0x8a, 0x14, 0x47, 0xb3, 0x29, 0x5c, 0xa0, 0xd0, 0xdf, 0x28, 0x51, 0x8a, 0x87, 0xd7, 0x44, 0x3d, 0x71, 0x40, + 0x93, 0x8c, 0xae, 0x5e, 0xc2, 0xad, 0x49, 0xdd, 0xeb, 0x54, 0x3b, 0x78, 0xef, 0x11, 0x0e, 0xd0, 0x45, 0x75, 0x56, + 0xa2, 0xd3, 0x0d, 0xc9, 0x00, 0xa5, 0x60, 0x6e, 0x00, 0x98, 0x78, 0x74, 0xa5, 0xac, 0xcd, 0x73, 0xe9, 0x86, 0xf1, + 0xd6, 0x49, 0x5b, 0xb9, 0x67, 0x2a, 0x48, 0xc7, 0xd6, 0x3b, 0x81, 0x2f, 0x51, 0x99, 0x96, 0xd6, 0xbd, 0x70, 0x75, + 0x81, 0x1d, 0x51, 0xb0, 0x9f, 0x85, 0x1f, 0x2d, 0x1e, 0xc6, 0xf8, 0x76, 0x0b, 0xd4, 0x95, 0xb5, 0xfa, 0xb7, 0x56, + 0x09, 0x56, 0xf5, 0x55, 0x45, 0x1f, 0x10, 0x69, 0x1e, 0x8c, 0xee, 0x88, 0x44, 0x67, 0xf4, 0x93, 0x91, 0xe8, 0xe8, + 0x41, 0x91, 0xe8, 0x8c, 0xfe, 0xd9, 0x91, 0x68, 0x46, 0x8d, 0x48, 0x34, 0x90, 0xe0, 0x2f, 0x0f, 0x0a, 0x68, 0xea, + 0xf0, 0x53, 0x72, 0x93, 0x91, 0x96, 0x32, 0x02, 0xa2, 0x64, 0x02, 0xd1, 0xcc, 0x7f, 0xfb, 0xe0, 0x64, 0x94, 0x4c, + 0xcc, 0xd0, 0x24, 0x5c, 0xfa, 0x0b, 0xb1, 0x48, 0x9c, 0x92, 0xa5, 0xfd, 0xf3, 0x6d, 0xeb, 0xc9, 0xa0, 0xd5, 0x39, + 0x6c, 0x4d, 0x6d, 0xcf, 0x06, 0xa9, 0x2b, 0x0a, 0x9a, 0x9d, 0xc3, 0x43, 0x28, 0xb8, 0x31, 0x0a, 0xda, 0x50, 0xc0, + 0x8c, 0x82, 0x63, 0x28, 0x18, 0x19, 0x05, 0x27, 0x50, 0x10, 0x18, 0x05, 0x8f, 0xa0, 0x60, 0x61, 0xe7, 0x03, 0x56, + 0x84, 0xdb, 0x1f, 0x21, 0x71, 0x3f, 0xc8, 0x5e, 0x5a, 0x3d, 0x1b, 0x11, 0x12, 0x5d, 0xe5, 0x51, 0x71, 0xae, 0xaa, + 0x7e, 0xa4, 0xaf, 0x01, 0xb9, 0xfa, 0xec, 0x0a, 0xe1, 0x88, 0xc0, 0x31, 0x47, 0x0c, 0x46, 0xb9, 0xac, 0x79, 0xa8, + 0x5f, 0xdb, 0x5e, 0x11, 0x93, 0x6e, 0xe2, 0xb6, 0x8e, 0x4a, 0x7b, 0x36, 0xc2, 0xf3, 0xa2, 0xf2, 0x71, 0x2d, 0x50, + 0xdd, 0xc2, 0x0d, 0x1b, 0xe5, 0xf5, 0x36, 0x87, 0x08, 0xcb, 0x1b, 0xc5, 0x9f, 0x0a, 0xf9, 0xe8, 0xf2, 0xe4, 0x1d, + 0x9b, 0x52, 0xfd, 0xbd, 0x15, 0x3d, 0x80, 0x25, 0xe2, 0xf6, 0x9d, 0xb0, 0xbc, 0x13, 0xee, 0x2b, 0x7c, 0x56, 0xde, + 0xa8, 0xf4, 0x8e, 0x13, 0x79, 0x45, 0x45, 0x8a, 0xa5, 0xa1, 0x37, 0xc1, 0xdc, 0x9f, 0x78, 0x10, 0xb8, 0x04, 0x9f, + 0xa9, 0x77, 0x46, 0x08, 0x69, 0xf6, 0xe7, 0xde, 0x57, 0xf8, 0x26, 0xa4, 0xb1, 0xb7, 0xc8, 0x3b, 0x05, 0x01, 0xc8, + 0xb8, 0xe9, 0x3b, 0x5e, 0x5c, 0xc4, 0x27, 0xa8, 0xa2, 0x7c, 0x2d, 0xe1, 0xac, 0x17, 0xd4, 0xb3, 0x23, 0xd4, 0x66, + 0xf8, 0x64, 0xc6, 0x51, 0x72, 0x53, 0xbf, 0xb5, 0x7b, 0xdb, 0xc3, 0x6f, 0x30, 0xbb, 0x22, 0xfc, 0xf6, 0x02, 0x80, + 0x2d, 0x9e, 0xde, 0xf9, 0x93, 0xe2, 0xf7, 0x4b, 0x9a, 0x65, 0xfe, 0x44, 0xd5, 0xdc, 0x1d, 0x6e, 0x13, 0x20, 0x9a, + 0xa1, 0x36, 0x0d, 0x04, 0xc4, 0xc4, 0x00, 0x23, 0xe0, 0xd3, 0x50, 0x21, 0x32, 0x98, 0x7a, 0x35, 0xba, 0x26, 0x70, + 0x55, 0x2d, 0xe2, 0xfe, 0xa4, 0x2c, 0xe8, 0xce, 0x52, 0xaa, 0xe2, 0x76, 0x80, 0xc6, 0xbc, 0xdb, 0x80, 0x02, 0xf9, + 0x7a, 0x47, 0x14, 0x4d, 0x3b, 0x50, 0x76, 0xc7, 0xd2, 0x2c, 0x1d, 0x45, 0x33, 0x33, 0xbf, 0x8a, 0xb4, 0xaf, 0xcd, + 0xd8, 0xcd, 0xe7, 0xad, 0x11, 0xfc, 0x51, 0x91, 0xa1, 0xcf, 0xc7, 0xe3, 0xf1, 0xbd, 0x51, 0xb5, 0xcf, 0x83, 0x31, + 0x6d, 0xd3, 0xe3, 0x0e, 0x64, 0x05, 0xd5, 0x55, 0x2c, 0xa6, 0x95, 0x0b, 0xdc, 0x2d, 0x1f, 0x56, 0x19, 0xc2, 0x36, + 0x3c, 0x5c, 0x3e, 0x3c, 0xc2, 0x96, 0xcf, 0x52, 0xba, 0x9c, 0xfa, 0xe9, 0x84, 0xc5, 0x5e, 0x33, 0x77, 0x17, 0x2a, + 0x24, 0xf5, 0xf9, 0xe9, 0xe9, 0x69, 0xee, 0x06, 0xfa, 0xa9, 0x19, 0x04, 0xb9, 0x3b, 0x5a, 0x16, 0xd3, 0x68, 0x36, + 0xc7, 0xe3, 0xdc, 0x65, 0xba, 0xe0, 0xb0, 0x3d, 0x0a, 0x0e, 0xdb, 0xb9, 0x7b, 0x63, 0xd4, 0xc8, 0x5d, 0xaa, 0x9e, + 0x52, 0x1a, 0x54, 0x52, 0x8b, 0x1e, 0x35, 0x9b, 0xb9, 0x2b, 0x09, 0x6d, 0x09, 0x66, 0xa9, 0xfc, 0xe9, 0xf9, 0x73, + 0x9e, 0x00, 0x73, 0xef, 0x44, 0xdc, 0x19, 0x5c, 0xaa, 0x6b, 0x5b, 0xe4, 0x47, 0x4e, 0x72, 0x34, 0xc4, 0xbf, 0x98, + 0xc1, 0x23, 0x20, 0x66, 0x11, 0x34, 0x8a, 0x74, 0x6c, 0xa9, 0xf2, 0x1a, 0x28, 0x4b, 0xbc, 0xfe, 0x85, 0x44, 0x65, + 0x4c, 0x09, 0x38, 0x19, 0xd4, 0x94, 0xb7, 0x0b, 0xc6, 0xbb, 0xe4, 0x47, 0xfa, 0x69, 0xf9, 0x71, 0xf7, 0x10, 0xf1, + 0x91, 0xfe, 0xe9, 0xe2, 0x23, 0x36, 0xc5, 0x87, 0x64, 0x1e, 0xd7, 0x9c, 0xd8, 0xa3, 0x90, 0x8e, 0x3e, 0x5e, 0x27, + 0xb7, 0x75, 0xd8, 0x12, 0xa9, 0x2d, 0x04, 0xcb, 0xfe, 0xef, 0xcd, 0x94, 0xd1, 0x9d, 0x19, 0x9f, 0x48, 0x11, 0xea, + 0xc3, 0xeb, 0x98, 0xd8, 0xaf, 0xb5, 0x6d, 0x2b, 0x4b, 0xc6, 0x63, 0x62, 0xbf, 0x1e, 0x8f, 0x6d, 0x7d, 0xf8, 0xd4, + 0xe7, 0x54, 0xd4, 0x7a, 0x55, 0x29, 0x11, 0xb5, 0xbe, 0xfa, 0xca, 0x2c, 0x33, 0x0b, 0x54, 0xe8, 0xc9, 0x0c, 0x33, + 0xa9, 0x37, 0x01, 0xcb, 0x60, 0xab, 0xc1, 0x97, 0x5b, 0xaa, 0x97, 0x5f, 0xc6, 0x95, 0x7b, 0xca, 0x0b, 0x80, 0xb7, + 0x5c, 0xae, 0xbe, 0x7e, 0xf3, 0xc2, 0x84, 0xea, 0x44, 0xd0, 0x27, 0x77, 0xdf, 0x04, 0xce, 0x35, 0x47, 0x39, 0xcb, + 0x5e, 0xc7, 0x6b, 0xa7, 0xaa, 0x24, 0x8c, 0x84, 0x98, 0xd3, 0xca, 0x79, 0x32, 0x99, 0x44, 0xf0, 0xf1, 0x9c, 0x65, + 0xe5, 0x42, 0x5e, 0xd9, 0xbc, 0x5f, 0x99, 0xaf, 0x67, 0x36, 0x54, 0xd7, 0xd7, 0x8a, 0x6f, 0x79, 0xc9, 0x6c, 0xfc, + 0x85, 0xfa, 0xa8, 0x93, 0x30, 0x8b, 0x97, 0x8a, 0xc9, 0x2f, 0x65, 0x0e, 0x37, 0xc7, 0x2c, 0x90, 0xcd, 0x59, 0x90, + 0xe7, 0xea, 0xf4, 0x4b, 0xc0, 0xb2, 0x19, 0x5c, 0x14, 0x2b, 0x5b, 0xd2, 0x4f, 0xb1, 0xf0, 0xec, 0xc6, 0x88, 0xef, + 0x54, 0x96, 0x2b, 0xd7, 0x01, 0x1e, 0xe9, 0x30, 0xbf, 0xe6, 0xb9, 0xad, 0xfc, 0xee, 0x1a, 0x89, 0xb6, 0x25, 0xf1, + 0x29, 0x23, 0x4f, 0xc6, 0x0c, 0xc1, 0xf9, 0x5d, 0x2c, 0x88, 0x7e, 0xa5, 0x0b, 0x72, 0x33, 0x7e, 0x29, 0xde, 0x48, + 0x6c, 0x89, 0x68, 0x49, 0x36, 0xf3, 0x63, 0xc9, 0x46, 0x89, 0x2d, 0xf9, 0xc1, 0xfe, 0xb2, 0x5c, 0xf9, 0xdc, 0xd6, + 0x60, 0x4b, 0xe2, 0xed, 0x75, 0x1b, 0xd0, 0xa0, 0x67, 0x55, 0x40, 0x8f, 0x37, 0x82, 0x2c, 0xf7, 0xa7, 0x3b, 0xbc, + 0xbe, 0x72, 0xb3, 0x1b, 0xec, 0x66, 0x37, 0xd6, 0x5f, 0x97, 0xf5, 0x1b, 0x7a, 0xfd, 0x91, 0xf1, 0x3a, 0xf7, 0x67, + 0x75, 0x30, 0x7c, 0x84, 0x73, 0x54, 0xb1, 0x67, 0x91, 0x36, 0x29, 0xef, 0x8e, 0xe8, 0xcc, 0x33, 0xc8, 0x8a, 0x10, + 0xea, 0xbb, 0x17, 0x27, 0x31, 0xed, 0x54, 0xd3, 0x63, 0xcd, 0x20, 0xbb, 0xc6, 0xd6, 0x70, 0x99, 0x40, 0x16, 0x05, + 0xbf, 0xf3, 0x9a, 0x8a, 0xad, 0x37, 0x75, 0x04, 0xbd, 0xb9, 0xb5, 0xbe, 0xa7, 0x90, 0x5b, 0x13, 0xd2, 0x2b, 0xdd, + 0xcc, 0x24, 0xd8, 0x95, 0x09, 0xf0, 0xa9, 0x64, 0x51, 0x70, 0xa9, 0xea, 0xbf, 0x46, 0x96, 0xed, 0x7a, 0xb1, 0x48, + 0x16, 0x7d, 0x08, 0x64, 0x9e, 0x3f, 0xe6, 0x34, 0xc5, 0x0f, 0xa9, 0x79, 0x2d, 0xce, 0x75, 0x2d, 0x41, 0xcc, 0x78, + 0xad, 0xd3, 0xd9, 0xed, 0xc3, 0xbb, 0xbf, 0x7f, 0xfa, 0xb9, 0xc2, 0x91, 0xbe, 0xe7, 0xc8, 0xb6, 0x3b, 0xb0, 0x11, + 0x22, 0xff, 0xce, 0x63, 0xb1, 0x90, 0x79, 0xd7, 0xe0, 0x17, 0xed, 0xcc, 0x12, 0x95, 0xf5, 0x9c, 0xd2, 0x48, 0x7c, + 0xd6, 0x50, 0x2d, 0xc5, 0xe1, 0xc9, 0xec, 0x56, 0xaf, 0x46, 0x6b, 0x2d, 0x9b, 0xf9, 0x4f, 0x4d, 0x5a, 0xde, 0x9d, + 0x25, 0x5d, 0x4d, 0xbc, 0x3d, 0x9e, 0xdd, 0x76, 0xa4, 0xa0, 0xad, 0xa7, 0x12, 0xaa, 0xe6, 0xec, 0xd6, 0x4c, 0xdb, + 0x2e, 0x3b, 0xb2, 0xdc, 0xc3, 0xcc, 0xa2, 0x7e, 0x46, 0x3b, 0x70, 0x91, 0x3b, 0x1b, 0xf9, 0x91, 0x12, 0xe6, 0x53, + 0x16, 0x04, 0x11, 0xed, 0x68, 0x79, 0x6d, 0xb5, 0x4e, 0x20, 0xeb, 0xd9, 0x5c, 0xb2, 0xea, 0xaa, 0x18, 0xc8, 0x2b, + 0xf0, 0xe4, 0x5f, 0x67, 0x49, 0x04, 0x5f, 0x51, 0xd9, 0x8a, 0x4e, 0x95, 0x0e, 0xdc, 0x2c, 0x91, 0x27, 0x7e, 0x57, + 0xe7, 0x72, 0xdc, 0xfc, 0x4b, 0x47, 0x2c, 0x78, 0xb3, 0xc3, 0x93, 0x99, 0x57, 0x3f, 0xac, 0x4e, 0x04, 0x5e, 0x15, + 0x53, 0xc0, 0x5b, 0xa6, 0x85, 0x41, 0x5a, 0x49, 0x3e, 0x6d, 0xb9, 0x2d, 0x55, 0x26, 0x3a, 0x80, 0xb4, 0xb1, 0xa2, + 0x28, 0xaf, 0x4e, 0xe6, 0xdf, 0x66, 0xb7, 0x3c, 0xde, 0xbe, 0x5b, 0x1e, 0xeb, 0xdd, 0x72, 0x3f, 0xc5, 0x7e, 0x3e, + 0x6e, 0xc1, 0x9f, 0x4e, 0x39, 0x21, 0xaf, 0x69, 0x1d, 0xce, 0x6e, 0x2d, 0xd0, 0xd3, 0xea, 0xed, 0xd9, 0xad, 0x4c, + 0x5a, 0x87, 0xd8, 0x4d, 0x13, 0xd2, 0xb8, 0x71, 0xd3, 0x82, 0x42, 0xf8, 0xdb, 0xac, 0xbc, 0x6a, 0x1d, 0xc1, 0x3b, + 0x68, 0x75, 0xbc, 0xf9, 0xae, 0x7d, 0xff, 0xa6, 0xf5, 0xe2, 0x84, 0x3b, 0x9e, 0xe6, 0xc6, 0xc8, 0xe5, 0xfe, 0xf5, + 0x35, 0x0d, 0xbc, 0x71, 0x32, 0x9a, 0x67, 0xff, 0xa4, 0xe0, 0x57, 0x48, 0xbc, 0x77, 0x4b, 0xaf, 0xf5, 0xa3, 0x9b, + 0xca, 0x14, 0x7a, 0xdd, 0xc3, 0xb2, 0x58, 0x27, 0x2f, 0x1b, 0xf9, 0x11, 0x75, 0xda, 0xee, 0xd1, 0x96, 0x4d, 0xf0, + 0xef, 0xb2, 0x36, 0x5b, 0x27, 0xf3, 0x47, 0x91, 0x71, 0x2f, 0x12, 0x7e, 0x13, 0x0e, 0xcc, 0x35, 0x6c, 0x9e, 0x6e, + 0x07, 0x77, 0xa0, 0x47, 0x1a, 0x6a, 0xa1, 0xa0, 0xe4, 0x4e, 0x40, 0xc7, 0xfe, 0x3c, 0xe2, 0xf7, 0xf7, 0xba, 0x8b, + 0x32, 0x36, 0x7a, 0xbd, 0x87, 0xa1, 0x97, 0x75, 0x1f, 0xc8, 0xa5, 0x3f, 0x7f, 0x7c, 0x04, 0x7f, 0x64, 0xfe, 0xd7, + 0x5d, 0xa9, 0xab, 0x4b, 0xbb, 0x17, 0x74, 0xf5, 0xfd, 0x8a, 0x32, 0x2e, 0x45, 0xb8, 0xd0, 0xc7, 0x1f, 0x5a, 0x1b, + 0xb4, 0xca, 0x07, 0x55, 0x57, 0x5a, 0xd6, 0x6f, 0xaa, 0xfd, 0xdb, 0x3a, 0x7f, 0x60, 0xdd, 0x91, 0xd4, 0x5c, 0xab, + 0x75, 0xd5, 0x77, 0x1d, 0x37, 0x2a, 0x6b, 0x8c, 0x8b, 0xfa, 0xfb, 0xe4, 0xae, 0x30, 0x51, 0x64, 0x34, 0x16, 0xac, + 0x94, 0x7d, 0x69, 0xa5, 0x24, 0x94, 0x5c, 0x75, 0xfb, 0xb7, 0xd3, 0xc8, 0x5a, 0xc8, 0xf3, 0xa7, 0xc4, 0x6e, 0xb9, + 0x4d, 0xdb, 0x12, 0x79, 0x00, 0x70, 0x0d, 0xbe, 0x2d, 0xbe, 0x17, 0x6c, 0xf7, 0x41, 0xd3, 0x5a, 0x4c, 0x84, 0x66, + 0xf7, 0xc2, 0xbf, 0xa3, 0xe9, 0x65, 0xdb, 0xb6, 0xc0, 0x4f, 0x53, 0x97, 0x29, 0x13, 0xa2, 0xcc, 0x6a, 0xdb, 0xd6, + 0xed, 0x34, 0x8a, 0x33, 0x62, 0x87, 0x9c, 0xcf, 0x3c, 0xf9, 0x41, 0xe1, 0x9b, 0x43, 0x37, 0x49, 0x27, 0x8d, 0x76, + 0xb3, 0xd9, 0x84, 0x1b, 0x75, 0x6d, 0x6b, 0xc1, 0xe8, 0xcd, 0x93, 0xe4, 0x96, 0xd8, 0x4d, 0xab, 0x69, 0xb5, 0xda, + 0xa7, 0x56, 0xab, 0x7d, 0xe4, 0x9e, 0x9c, 0xda, 0xbd, 0xcf, 0x2c, 0xab, 0x1b, 0xd0, 0x71, 0x06, 0x3f, 0x2c, 0xab, + 0x2b, 0x14, 0x2f, 0xf9, 0xdb, 0xb2, 0xdc, 0x51, 0x94, 0xd5, 0x5b, 0xd6, 0x52, 0x3d, 0x5a, 0x16, 0x9c, 0xd2, 0xf5, + 0xac, 0xcf, 0xc7, 0xed, 0xf1, 0xd1, 0xf8, 0x71, 0x47, 0x15, 0xe7, 0x9f, 0x55, 0xaa, 0x63, 0xf9, 0x7f, 0xdb, 0x68, + 0x96, 0xf1, 0x34, 0xf9, 0x48, 0x55, 0x4e, 0xa2, 0x05, 0xa2, 0x67, 0x6b, 0xd3, 0xf6, 0xe6, 0x48, 0xad, 0xd3, 0xeb, + 0xd1, 0xb8, 0x5d, 0x56, 0x17, 0x30, 0x36, 0x0a, 0x20, 0xbb, 0x0d, 0x0d, 0x7a, 0xd7, 0x44, 0x53, 0xab, 0xbe, 0x0d, + 0x51, 0x2d, 0x5b, 0xcd, 0x71, 0xa2, 0xe7, 0xd7, 0x85, 0x43, 0x21, 0x5a, 0x57, 0x15, 0x10, 0xd8, 0x56, 0x40, 0xec, + 0x97, 0xad, 0xf6, 0x29, 0x6e, 0xb5, 0x4e, 0xdc, 0x93, 0xd3, 0x51, 0x13, 0x1f, 0xb9, 0x47, 0xf5, 0x43, 0xf7, 0x04, + 0x9f, 0xd6, 0x4f, 0xf1, 0xe9, 0xf3, 0xd3, 0x51, 0xfd, 0xc8, 0x3d, 0xc2, 0xcd, 0xfa, 0x29, 0x14, 0xd6, 0x4f, 0xeb, + 0xa7, 0x8b, 0xfa, 0xd1, 0xe9, 0xa8, 0x29, 0x4a, 0xdb, 0xee, 0xf1, 0x71, 0xbd, 0xd5, 0x74, 0x8f, 0x8f, 0xf1, 0xb1, + 0x7b, 0x72, 0x52, 0x6f, 0x1d, 0xba, 0x27, 0x27, 0x2f, 0x8e, 0x4f, 0xdd, 0x43, 0x78, 0x77, 0x78, 0x38, 0x3a, 0x74, + 0x5b, 0xad, 0x3a, 0xfc, 0x83, 0x4f, 0xdd, 0xb6, 0xfc, 0xd1, 0x6a, 0xb9, 0x87, 0x2d, 0xdc, 0x8c, 0x8e, 0xdb, 0xee, + 0xc9, 0x63, 0x2c, 0xfe, 0x15, 0xd5, 0xb0, 0xf8, 0x07, 0xba, 0xc1, 0x8f, 0xdd, 0xf6, 0x89, 0xfc, 0x25, 0x3a, 0x5c, + 0x1c, 0x9d, 0xfe, 0x64, 0x37, 0x76, 0xce, 0xa1, 0x25, 0xe7, 0x70, 0x7a, 0xec, 0x1e, 0x1e, 0xe2, 0xa3, 0x96, 0x7b, + 0x7a, 0x18, 0xd6, 0x8f, 0xda, 0xee, 0xc9, 0xa3, 0x51, 0xbd, 0xe5, 0x3e, 0x7a, 0x84, 0x9b, 0xf5, 0x43, 0xb7, 0x8d, + 0x5b, 0xee, 0xd1, 0xa1, 0xf8, 0x71, 0xe8, 0xb6, 0x17, 0x8f, 0x1e, 0xbb, 0x27, 0xc7, 0xe1, 0x89, 0x7b, 0xf4, 0xfd, + 0xd1, 0xa9, 0xdb, 0x3e, 0x0c, 0x0f, 0x4f, 0xdc, 0xf6, 0xa3, 0xc5, 0x89, 0x7b, 0x14, 0xd6, 0xdb, 0x27, 0xf7, 0xb6, + 0x6c, 0xb5, 0x5d, 0xc0, 0x91, 0x78, 0x0d, 0x2f, 0xb0, 0x7a, 0x01, 0x7f, 0x43, 0xd1, 0xf6, 0xdf, 0xb1, 0x9b, 0x6c, + 0xb3, 0xe9, 0x63, 0xf7, 0xf4, 0xd1, 0x48, 0x56, 0x87, 0x82, 0xba, 0xae, 0x01, 0x4d, 0x16, 0x75, 0x39, 0xac, 0xe8, + 0xae, 0xae, 0x3b, 0xd2, 0x7f, 0xd5, 0x60, 0x8b, 0x3a, 0x0c, 0x2c, 0xc7, 0xfd, 0x0f, 0xed, 0xa7, 0x58, 0xf2, 0x6e, + 0x63, 0x22, 0x49, 0x7f, 0xd2, 0xfb, 0x4c, 0x5e, 0x97, 0xfd, 0xd9, 0x15, 0x8e, 0x76, 0x39, 0x3e, 0xfc, 0x4f, 0x3b, + 0x3e, 0x42, 0xfa, 0x10, 0xcf, 0x87, 0xff, 0xa7, 0x7b, 0x3e, 0xa2, 0x75, 0xc7, 0xf9, 0x0d, 0xdf, 0x70, 0x70, 0xac, + 0x5b, 0xc5, 0x2f, 0xb8, 0x33, 0x48, 0xe0, 0xc3, 0x6c, 0x79, 0xe7, 0x86, 0x93, 0x90, 0x9a, 0x7e, 0xa0, 0x04, 0x58, + 0xec, 0x0d, 0x97, 0x3c, 0x76, 0xb4, 0x0b, 0x21, 0xc1, 0xa7, 0x11, 0xf2, 0xfd, 0x43, 0xf0, 0x11, 0xfc, 0xe9, 0xf8, + 0x18, 0x99, 0xf8, 0xa8, 0xf8, 0xf2, 0x85, 0xa7, 0x41, 0x78, 0x0a, 0x2e, 0xc4, 0xb3, 0x03, 0xa7, 0xd2, 0x6a, 0x76, + 0x83, 0x42, 0x51, 0x66, 0xcb, 0xc8, 0xd7, 0xdb, 0xdf, 0x12, 0x76, 0x90, 0x47, 0x50, 0x89, 0xad, 0xdc, 0x32, 0x33, + 0x21, 0x75, 0xd4, 0x43, 0x21, 0x94, 0xda, 0x6e, 0xd3, 0x6d, 0x16, 0x2e, 0x1d, 0x38, 0x76, 0x4c, 0x96, 0x09, 0xf7, + 0xe1, 0x13, 0xc0, 0x51, 0x32, 0x11, 0x1f, 0x0b, 0x86, 0xcf, 0x33, 0x40, 0xd2, 0xcf, 0x48, 0x7e, 0x19, 0x03, 0xce, + 0x4d, 0x28, 0x47, 0x8f, 0x9f, 0x7e, 0xfc, 0x0e, 0x8e, 0xfe, 0xea, 0xa8, 0xc4, 0x14, 0xbc, 0x1d, 0x2f, 0x69, 0xc0, + 0x7c, 0xc7, 0x76, 0x66, 0x29, 0x1d, 0xd3, 0x34, 0xab, 0x57, 0xce, 0xc3, 0x8a, 0xa3, 0xb0, 0xc8, 0xd6, 0xdf, 0x9a, + 0x4d, 0xe1, 0xba, 0x71, 0x32, 0x50, 0xfe, 0x46, 0x5b, 0x19, 0x60, 0x76, 0x8e, 0x75, 0x49, 0x0a, 0xb2, 0xb6, 0x54, + 0xda, 0x6c, 0xa9, 0xb5, 0xb5, 0xdc, 0xf6, 0x31, 0xb2, 0x44, 0x31, 0x5c, 0xe4, 0xfc, 0xa3, 0x53, 0x3f, 0x6c, 0xfe, + 0x05, 0x19, 0xcd, 0x8a, 0x8e, 0x86, 0xca, 0xdd, 0x16, 0x97, 0x1f, 0xe9, 0xae, 0x1e, 0x56, 0xb6, 0x25, 0x45, 0x7c, + 0x2e, 0xe7, 0x6e, 0xa3, 0x4e, 0xac, 0x22, 0xdc, 0xf2, 0xca, 0x8d, 0x31, 0x9b, 0x38, 0xe6, 0x27, 0x98, 0xe5, 0x45, + 0xd1, 0xe2, 0xcb, 0xed, 0x28, 0x2f, 0xab, 0xc4, 0x68, 0x29, 0xe2, 0x2d, 0x2c, 0xb6, 0xe2, 0xd5, 0xca, 0x89, 0xc1, + 0x45, 0x4e, 0x0c, 0x9c, 0xc2, 0x33, 0xaa, 0x20, 0x39, 0xc6, 0x05, 0x40, 0x02, 0xc1, 0x24, 0x96, 0xff, 0x97, 0xc5, + 0xfa, 0x87, 0x72, 0x7c, 0xb9, 0x91, 0x1f, 0x4f, 0x80, 0x0a, 0xfd, 0x78, 0xb2, 0xe1, 0x56, 0x93, 0x21, 0xa3, 0xb5, + 0xd2, 0xb2, 0xab, 0xd2, 0x7d, 0x96, 0x3d, 0xb9, 0x7b, 0xa7, 0x6e, 0x94, 0xb3, 0xc1, 0x3b, 0x2d, 0x22, 0x1c, 0xe5, + 0xed, 0xd7, 0x35, 0xf2, 0x45, 0x77, 0x4a, 0xb9, 0x2f, 0xf3, 0x35, 0x41, 0x9f, 0x80, 0x63, 0xc8, 0x96, 0xb2, 0x46, + 0x89, 0x2d, 0xa4, 0x3b, 0x91, 0x67, 0x68, 0xa4, 0xa8, 0xc7, 0x96, 0xba, 0x8a, 0xa1, 0x2e, 0x96, 0x86, 0xb4, 0xb0, + 0xf4, 0xc7, 0x8c, 0x7c, 0x91, 0x91, 0x4f, 0xe2, 0xc4, 0xee, 0x7d, 0x51, 0x7c, 0x4e, 0x76, 0xd7, 0x22, 0x44, 0x2c, + 0xfe, 0x38, 0x48, 0x69, 0xf4, 0x4f, 0xe4, 0x0b, 0x36, 0x4a, 0xe2, 0x2f, 0x86, 0x36, 0xea, 0x70, 0x37, 0x4c, 0xe9, + 0x98, 0x7c, 0x01, 0x32, 0xde, 0x13, 0xd6, 0x07, 0x30, 0xc2, 0xda, 0xed, 0x34, 0xc2, 0x42, 0x63, 0x7a, 0x80, 0x42, + 0x24, 0xc1, 0xb5, 0xdb, 0xc7, 0xb6, 0x25, 0x6d, 0x62, 0xf1, 0xbb, 0x27, 0xc5, 0xa9, 0x50, 0x02, 0xac, 0x56, 0xdb, + 0x3d, 0x0e, 0xdb, 0xee, 0xe3, 0xc5, 0x23, 0xf7, 0x34, 0x6c, 0x3d, 0x5a, 0xd4, 0xe1, 0xff, 0xb6, 0xfb, 0x38, 0xaa, + 0xb7, 0xdd, 0xc7, 0xf0, 0xf7, 0xfb, 0x23, 0xf7, 0x38, 0xac, 0xb7, 0xdc, 0xd3, 0xc5, 0xa1, 0x7b, 0xf8, 0xa2, 0xd5, + 0x76, 0x0f, 0xad, 0x96, 0x25, 0xdb, 0x01, 0xbb, 0x96, 0xdc, 0xf9, 0x8b, 0xb5, 0x0d, 0xb1, 0x25, 0x1c, 0x27, 0x73, + 0x4e, 0x6d, 0xec, 0x14, 0x1f, 0xad, 0x54, 0xfb, 0x53, 0x39, 0xeb, 0x9e, 0xfa, 0x29, 0x7c, 0x39, 0xa8, 0xba, 0x77, + 0x2b, 0xef, 0x70, 0x85, 0x5f, 0x6c, 0x19, 0x02, 0x76, 0xb8, 0x8d, 0xcd, 0xbb, 0x0c, 0xe0, 0x22, 0x00, 0x71, 0xd1, + 0xba, 0xbe, 0x6f, 0x72, 0x37, 0x69, 0xcb, 0x8a, 0xfa, 0x4e, 0x4b, 0xc1, 0x2c, 0x98, 0xf8, 0xa4, 0x85, 0x18, 0xe4, + 0x9b, 0x20, 0x5f, 0x1f, 0x1f, 0x52, 0x5f, 0xd3, 0xc4, 0xb8, 0xce, 0x81, 0x96, 0x07, 0x36, 0x02, 0x06, 0x17, 0x70, + 0xe4, 0xb9, 0x06, 0xbd, 0xe2, 0xa6, 0x2d, 0xb1, 0x24, 0xf8, 0x05, 0xcd, 0xfa, 0x36, 0x14, 0xd9, 0x9e, 0x2d, 0x5c, + 0x7c, 0x76, 0xf1, 0xf5, 0xa4, 0x82, 0xb0, 0xcb, 0x02, 0x2c, 0x0e, 0x5d, 0xc1, 0xae, 0x05, 0xfc, 0xd8, 0xe8, 0xe0, + 0x60, 0xe7, 0x7e, 0x11, 0x0a, 0x24, 0xcc, 0xb5, 0xfc, 0xe8, 0x8a, 0xc9, 0x8a, 0x6c, 0x13, 0xd1, 0x45, 0xbf, 0x02, + 0x85, 0x48, 0xe1, 0xe9, 0x9a, 0xfa, 0xdc, 0xf5, 0x63, 0x99, 0x44, 0x63, 0x30, 0x2c, 0xdc, 0xa2, 0x87, 0x28, 0x4f, + 0xb8, 0x6f, 0x7c, 0x58, 0x59, 0xed, 0xf3, 0x84, 0xfb, 0xfa, 0x70, 0xb2, 0x71, 0x0f, 0x13, 0x38, 0x7a, 0xc3, 0x76, + 0xef, 0xf5, 0xbb, 0x33, 0x4b, 0x6e, 0xcf, 0x6e, 0x23, 0x6c, 0xf7, 0xba, 0xc2, 0x67, 0x22, 0x0f, 0xea, 0x11, 0x79, + 0x50, 0xcf, 0x52, 0x67, 0x33, 0x21, 0x92, 0x96, 0x37, 0xe4, 0xb4, 0x85, 0xcd, 0x20, 0xbd, 0xbd, 0xd3, 0x79, 0xc4, + 0x19, 0x5c, 0x1a, 0xde, 0x10, 0xa7, 0xf4, 0x60, 0xc1, 0x8a, 0x3c, 0x6c, 0xa5, 0x1d, 0x5e, 0xf3, 0x58, 0xfb, 0x86, + 0xc7, 0x2c, 0xa2, 0x3a, 0xf3, 0x5a, 0x75, 0x55, 0x9c, 0x14, 0xd8, 0xac, 0x9d, 0xcd, 0xaf, 0xa7, 0x8c, 0xdb, 0xfa, + 0x3c, 0xc3, 0x7b, 0xd5, 0xa0, 0x2b, 0x86, 0xea, 0x5d, 0xe5, 0xca, 0x79, 0xad, 0x3f, 0x8f, 0x54, 0x5d, 0x52, 0x35, + 0x7b, 0x25, 0x21, 0xe0, 0x84, 0x5c, 0x78, 0xd8, 0x2b, 0xdc, 0xc5, 0xe6, 0xbb, 0xbc, 0xdb, 0x08, 0x0f, 0x7b, 0x57, + 0xde, 0x4c, 0xf5, 0xf7, 0x22, 0x99, 0x6c, 0xef, 0x2b, 0x4a, 0x26, 0x7d, 0x71, 0x14, 0x44, 0x9e, 0x99, 0xd6, 0xca, + 0x6f, 0x12, 0xd9, 0xbd, 0xae, 0x52, 0x06, 0x2c, 0x11, 0x58, 0xb7, 0x8f, 0x9b, 0xfa, 0x74, 0x49, 0x94, 0x4c, 0x60, + 0x43, 0xca, 0x26, 0xc6, 0x20, 0x15, 0x8f, 0x7b, 0xd8, 0xea, 0x75, 0x7d, 0x4b, 0xf0, 0x16, 0xc1, 0x3c, 0x32, 0xaf, + 0x01, 0x8d, 0xc3, 0x64, 0x4a, 0x5d, 0x96, 0x34, 0x6e, 0xe8, 0x75, 0xdd, 0x9f, 0xb1, 0xd2, 0xbd, 0x0d, 0x4a, 0x47, + 0x31, 0x64, 0xa2, 0x3d, 0xe2, 0xea, 0xec, 0x55, 0xbb, 0x74, 0xb7, 0x1d, 0x81, 0xcd, 0xa3, 0x5d, 0x73, 0xc2, 0x27, + 0x67, 0x80, 0x95, 0xf4, 0xba, 0x0d, 0x7f, 0x0d, 0x23, 0x82, 0xdf, 0xe7, 0xca, 0xd1, 0x0e, 0x86, 0x0d, 0xd0, 0x9b, + 0x6d, 0x49, 0x71, 0xa0, 0x1d, 0xf2, 0x4a, 0x50, 0xe7, 0x76, 0xef, 0x5f, 0xff, 0xc7, 0xff, 0x52, 0x3e, 0xf6, 0x6e, + 0x23, 0x6c, 0xe9, 0xbe, 0xd6, 0x56, 0x25, 0xef, 0xc2, 0xf9, 0xd0, 0x32, 0x28, 0x4c, 0x6f, 0xeb, 0x93, 0x94, 0x05, + 0xf5, 0xd0, 0x8f, 0xc6, 0x76, 0x6f, 0x37, 0x36, 0xcd, 0x63, 0x5b, 0x0a, 0xea, 0x6a, 0x11, 0xd0, 0xeb, 0xef, 0x3a, + 0x78, 0xa4, 0xcf, 0xaf, 0x88, 0xad, 0x6d, 0x1e, 0x43, 0x2a, 0x77, 0x5f, 0xe5, 0x28, 0x52, 0xac, 0xbe, 0xb9, 0xa6, + 0x38, 0x60, 0x5c, 0x39, 0x81, 0x94, 0xdb, 0x56, 0x11, 0xd4, 0xfa, 0xbf, 0xff, 0xf3, 0xbf, 0xfc, 0x37, 0xfd, 0x08, + 0xb1, 0xaa, 0x7f, 0xfd, 0xef, 0xff, 0xf9, 0xff, 0xfc, 0xef, 0xff, 0x0a, 0xa7, 0x56, 0x54, 0x3c, 0x4b, 0x30, 0x15, + 0xab, 0x0c, 0x66, 0x49, 0xee, 0x62, 0x41, 0x62, 0xe7, 0x94, 0x65, 0x9c, 0x8d, 0xaa, 0x67, 0x92, 0x2e, 0xc4, 0x80, + 0x62, 0x67, 0x2a, 0xe8, 0xc4, 0x0e, 0xcf, 0x4b, 0x82, 0xaa, 0xa0, 0x5c, 0x10, 0x6e, 0xde, 0x6d, 0x00, 0xbe, 0x1f, + 0x76, 0x8c, 0xd3, 0x2d, 0x96, 0x63, 0xa9, 0xc9, 0x04, 0x4a, 0xf2, 0xb2, 0xdc, 0x82, 0xd8, 0xca, 0x12, 0x1e, 0xbd, + 0xb6, 0x51, 0x2c, 0x56, 0xaf, 0xd2, 0xa6, 0xf3, 0x61, 0x9e, 0x71, 0x36, 0x06, 0x94, 0x4b, 0x3f, 0xb1, 0x08, 0x63, + 0xd7, 0x41, 0x57, 0x8c, 0xee, 0x72, 0xd1, 0x8b, 0x24, 0xd0, 0xa3, 0xd3, 0xbf, 0xe4, 0x5f, 0x4e, 0x41, 0x23, 0xb3, + 0x9c, 0xa9, 0x7f, 0xab, 0xcc, 0xf3, 0x93, 0x66, 0x73, 0x76, 0x8b, 0x96, 0xe5, 0x08, 0x78, 0xd7, 0x60, 0x82, 0x8e, + 0xcd, 0x0e, 0x45, 0xfc, 0xbb, 0x70, 0x63, 0x37, 0x2d, 0xf0, 0x85, 0x5b, 0xcd, 0x3c, 0xff, 0xeb, 0x52, 0x78, 0x52, + 0xd9, 0xaf, 0x10, 0xa7, 0x56, 0x4e, 0xe7, 0xeb, 0xc4, 0x9c, 0xdc, 0xd2, 0x68, 0xd5, 0x96, 0xad, 0xc2, 0xd6, 0xe6, + 0xe9, 0x44, 0x33, 0xce, 0x6e, 0x46, 0xc8, 0x8f, 0x20, 0xe6, 0x1d, 0xb6, 0x70, 0xd8, 0x5e, 0x16, 0xdd, 0x73, 0x9e, + 0x4c, 0xcd, 0xc0, 0x3a, 0xf5, 0xe9, 0x88, 0x8e, 0xb5, 0xb3, 0x5e, 0xbd, 0x97, 0x41, 0xf3, 0x3c, 0x3c, 0xdc, 0x32, + 0x96, 0x02, 0x49, 0x04, 0xd4, 0xad, 0x66, 0xfe, 0x39, 0xec, 0xc0, 0xe5, 0x38, 0x4a, 0x7c, 0xee, 0x09, 0x82, 0xed, + 0x98, 0xe1, 0x79, 0x1f, 0x78, 0x52, 0xb2, 0x34, 0xe0, 0xe9, 0xc8, 0xaa, 0xe0, 0x36, 0xaf, 0x9e, 0x21, 0xcd, 0x5d, + 0xd1, 0xdc, 0xec, 0x4a, 0x7a, 0xdd, 0xbe, 0x57, 0x51, 0xef, 0xb7, 0x15, 0x77, 0x95, 0x12, 0x48, 0x6d, 0xb4, 0xfd, + 0xbd, 0x94, 0xeb, 0xf2, 0xed, 0x77, 0xdc, 0xb1, 0x05, 0x98, 0xf6, 0x7a, 0x2d, 0x51, 0x08, 0xb5, 0xde, 0x92, 0xef, + 0x0b, 0x93, 0xc9, 0x9f, 0xcd, 0x44, 0x45, 0xd4, 0xe9, 0x36, 0xa4, 0xa6, 0x0b, 0xdc, 0x43, 0xa4, 0x74, 0xc8, 0x0c, + 0x0a, 0x55, 0x49, 0x6d, 0x05, 0xf9, 0x4b, 0xe5, 0x56, 0xc0, 0xb7, 0xf8, 0x7a, 0xff, 0x0f, 0x85, 0xa3, 0x0b, 0x12, + 0x20, 0x8b, 0x00, 0x00}; -} // namespace esphome::web_server +} // namespace web_server +} // namespace esphome #endif #endif diff --git a/esphome/components/web_server/server_index_v3.h b/esphome/components/web_server/server_index_v3.h index 8a8ced9153..725bdc34e3 100644 --- a/esphome/components/web_server/server_index_v3.h +++ b/esphome/components/web_server/server_index_v3.h @@ -6,4048 +6,4058 @@ #include "esphome/core/hal.h" -namespace esphome::web_server { +namespace esphome { +namespace web_server { const uint8_t INDEX_GZ[] PROGMEM = { - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0xbd, 0xeb, 0x7a, 0x1b, 0xb7, 0xb2, 0x20, 0xfa, - 0xfb, 0xcc, 0x53, 0x48, 0xbd, 0x1d, 0xa5, 0x21, 0x82, 0x2d, 0x92, 0xba, 0x58, 0x6e, 0x0a, 0xe2, 0xf8, 0x1a, 0x3b, - 0x71, 0x6c, 0xc7, 0x72, 0xec, 0x38, 0x0c, 0xb7, 0x0c, 0x36, 0x41, 0x12, 0x76, 0x13, 0x60, 0x1a, 0xa0, 0x25, 0x85, - 0xe4, 0xbb, 0x9f, 0xaf, 0x70, 0xe9, 0x46, 0x93, 0xb4, 0xd7, 0x5a, 0x73, 0x66, 0xce, 0x37, 0x3b, 0x7b, 0x59, 0x6c, - 0xdc, 0x51, 0x28, 0x14, 0xaa, 0x0a, 0x55, 0x85, 0x8b, 0xfd, 0x91, 0xcc, 0xf4, 0xdd, 0x9c, 0xed, 0x4d, 0xf5, 0x2c, - 0xbf, 0xbc, 0x70, 0xff, 0x32, 0x3a, 0xba, 0xbc, 0xc8, 0xb9, 0xf8, 0xb2, 0x57, 0xb0, 0x9c, 0xf0, 0x4c, 0x8a, 0xbd, - 0x69, 0xc1, 0xc6, 0x64, 0x44, 0x35, 0x4d, 0xf9, 0x8c, 0x4e, 0xd8, 0xde, 0xd1, 0xe5, 0xc5, 0x8c, 0x69, 0xba, 0x97, - 0x4d, 0x69, 0xa1, 0x98, 0x26, 0xbf, 0xbf, 0x7b, 0xd6, 0x3c, 0xbf, 0xbc, 0x50, 0x59, 0xc1, 0xe7, 0x7a, 0x0f, 0x9a, - 0x24, 0x33, 0x39, 0x5a, 0xe4, 0xec, 0xf2, 0xe8, 0xe8, 0xe6, 0xe6, 0x26, 0xf9, 0xac, 0xfe, 0xc7, 0x57, 0x5a, 0xec, - 0xfd, 0x52, 0x90, 0xd7, 0xc3, 0xcf, 0x2c, 0xd3, 0xc9, 0x88, 0x8d, 0xb9, 0x60, 0x6f, 0x0a, 0x39, 0x67, 0x85, 0xbe, - 0xeb, 0x42, 0xe6, 0x4f, 0x05, 0x89, 0x39, 0xd6, 0x98, 0x21, 0x72, 0xa9, 0xf7, 0xb8, 0xd8, 0xe3, 0xbd, 0x5f, 0x0a, - 0x93, 0xb2, 0x64, 0x62, 0x31, 0x63, 0x05, 0x1d, 0xe6, 0x2c, 0xdd, 0x6f, 0xe1, 0x4c, 0x8a, 0x31, 0x9f, 0x2c, 0xca, - 0xef, 0x9b, 0x82, 0x6b, 0xff, 0xfb, 0x2b, 0xcd, 0x17, 0x2c, 0x65, 0x6b, 0x94, 0xf2, 0xbe, 0x1e, 0x10, 0x66, 0x5a, - 0xfe, 0x52, 0x35, 0x1c, 0xff, 0x64, 0x9a, 0xbc, 0x9b, 0x33, 0x39, 0xde, 0xd3, 0xfb, 0x24, 0x52, 0x77, 0xb3, 0xa1, - 0xcc, 0xa3, 0x9e, 0x6e, 0x44, 0x51, 0x0a, 0x65, 0x30, 0x43, 0xdd, 0x4c, 0x0a, 0xa5, 0xf7, 0x04, 0x27, 0x37, 0x5c, - 0x8c, 0xe4, 0x0d, 0xbe, 0x11, 0x44, 0xf0, 0xe4, 0x6a, 0x4a, 0x47, 0xf2, 0xe6, 0xad, 0x94, 0xfa, 0xe0, 0x20, 0x76, - 0xdf, 0x77, 0x8f, 0xaf, 0xae, 0x08, 0x21, 0x5f, 0x25, 0x1f, 0xed, 0xb5, 0x56, 0xab, 0x20, 0x35, 0x11, 0x54, 0xf3, - 0xaf, 0xcc, 0x56, 0x42, 0x07, 0x07, 0x11, 0x1d, 0xc9, 0xb9, 0x66, 0xa3, 0x2b, 0x7d, 0x97, 0xb3, 0xab, 0x29, 0x63, - 0x5a, 0x45, 0x5c, 0xec, 0x3d, 0x91, 0xd9, 0x62, 0xc6, 0x84, 0x4e, 0xe6, 0x85, 0xd4, 0x12, 0x06, 0x76, 0x70, 0x10, - 0x15, 0x6c, 0x9e, 0xd3, 0x8c, 0x41, 0xfe, 0xe3, 0xab, 0xab, 0xaa, 0x46, 0x55, 0x08, 0x7f, 0x11, 0xe4, 0xca, 0x0c, - 0x3d, 0x46, 0xf8, 0x83, 0x20, 0x82, 0xdd, 0xec, 0x7d, 0x60, 0xf4, 0xcb, 0xaf, 0x74, 0xde, 0xcd, 0x72, 0xaa, 0xd4, - 0xde, 0x33, 0xb9, 0x34, 0xd3, 0x28, 0x16, 0x99, 0x96, 0x45, 0xac, 0x31, 0xc3, 0x02, 0x2d, 0xf9, 0x38, 0xd6, 0x53, - 0xae, 0x92, 0xeb, 0x7b, 0x99, 0x52, 0x6f, 0x99, 0x5a, 0xe4, 0xfa, 0x1e, 0xd9, 0x6f, 0x61, 0xb1, 0x4f, 0xc8, 0x17, - 0x81, 0xf4, 0xb4, 0x90, 0x37, 0x7b, 0x4f, 0x8b, 0x42, 0x16, 0x71, 0xf4, 0xf8, 0xea, 0xca, 0x96, 0xd8, 0xe3, 0x6a, - 0x4f, 0x48, 0xbd, 0x57, 0xb6, 0x07, 0xd0, 0x4e, 0xf6, 0x7e, 0x57, 0x6c, 0xef, 0xd3, 0x42, 0x28, 0x3a, 0x66, 0x8f, - 0xaf, 0xae, 0x3e, 0xed, 0xc9, 0x62, 0xef, 0x53, 0xa6, 0xd4, 0xa7, 0x3d, 0x2e, 0x94, 0x66, 0x74, 0x94, 0x44, 0xa8, - 0x6b, 0x3a, 0xcb, 0x94, 0x7a, 0xc7, 0x6e, 0x35, 0xd1, 0xd8, 0x7c, 0x6a, 0xc2, 0xd6, 0x13, 0xa6, 0xf7, 0x54, 0x39, - 0xaf, 0x18, 0x2d, 0x73, 0xa6, 0xf7, 0x34, 0x31, 0xf9, 0xd2, 0xc1, 0x9f, 0xd9, 0x4f, 0xdd, 0xe5, 0xe3, 0xf8, 0x46, - 0x1c, 0x1c, 0xe8, 0x12, 0xd0, 0x68, 0xe9, 0x56, 0x88, 0xb0, 0x7d, 0x9f, 0x76, 0x70, 0xc0, 0x92, 0x9c, 0x89, 0x89, - 0x9e, 0x12, 0x42, 0xda, 0x5d, 0x71, 0x70, 0x10, 0x6b, 0xf2, 0x41, 0x24, 0x13, 0xa6, 0x63, 0x86, 0x10, 0xae, 0x6a, - 0x1f, 0x1c, 0xc4, 0x16, 0x08, 0x92, 0x68, 0x03, 0xb8, 0x1a, 0x8c, 0x51, 0xe2, 0xa0, 0x7f, 0x75, 0x27, 0xb2, 0x38, - 0x1c, 0x3f, 0xc2, 0xe2, 0xe0, 0xe0, 0x83, 0x48, 0x14, 0xb4, 0x88, 0x35, 0x42, 0xeb, 0x82, 0xe9, 0x45, 0x21, 0xf6, - 0xf4, 0x5a, 0xcb, 0x2b, 0x5d, 0x70, 0x31, 0x89, 0xd1, 0xd2, 0xa7, 0x05, 0x15, 0xd7, 0x6b, 0x3b, 0xdc, 0xdf, 0x0a, - 0xc2, 0xc9, 0x25, 0xf4, 0xf8, 0x4c, 0xc6, 0x0e, 0x07, 0x39, 0x21, 0x91, 0x32, 0x75, 0xa3, 0x1e, 0x4f, 0x79, 0x23, - 0x8a, 0xb0, 0x1d, 0x25, 0xfe, 0x22, 0x10, 0x16, 0x1a, 0x50, 0x37, 0x49, 0x12, 0x8d, 0xc8, 0xe5, 0xd2, 0x83, 0x85, - 0x07, 0x13, 0xed, 0xf1, 0x7e, 0x6b, 0x90, 0xea, 0xa4, 0x60, 0xa3, 0x45, 0xc6, 0xe2, 0x58, 0x60, 0x85, 0x25, 0x22, - 0x97, 0xa2, 0x11, 0x17, 0xe4, 0x12, 0xd6, 0xbb, 0xa8, 0x2f, 0x36, 0x21, 0xfb, 0x2d, 0xe4, 0x06, 0x59, 0xf8, 0x11, - 0x02, 0x88, 0xdd, 0x80, 0x0a, 0x42, 0x22, 0xb1, 0x98, 0x0d, 0x59, 0x11, 0x95, 0xc5, 0xba, 0x35, 0xbc, 0x58, 0x28, - 0xb6, 0x97, 0x29, 0xb5, 0x37, 0x5e, 0x88, 0x4c, 0x73, 0x29, 0xf6, 0xa2, 0x46, 0xd1, 0x88, 0x2c, 0x3e, 0x94, 0xe8, - 0x10, 0xa1, 0x35, 0x8a, 0x15, 0x6a, 0xf0, 0xbe, 0x6c, 0xb4, 0x07, 0x18, 0x46, 0x89, 0xba, 0xae, 0x3d, 0x07, 0x01, - 0x86, 0x39, 0x4c, 0x72, 0x8d, 0xff, 0xb4, 0x3b, 0x1f, 0xa6, 0x78, 0x23, 0x7a, 0x3c, 0xd9, 0xde, 0x29, 0x44, 0x27, - 0x33, 0x3a, 0x8f, 0x19, 0xb9, 0x64, 0x06, 0xbb, 0xa8, 0xc8, 0x60, 0xac, 0xb5, 0x85, 0xeb, 0xb1, 0x94, 0x25, 0x15, - 0x4e, 0xa1, 0x54, 0x27, 0x63, 0x59, 0x3c, 0xa5, 0xd9, 0x14, 0xea, 0x95, 0x18, 0x33, 0xf2, 0x1b, 0x2e, 0x2b, 0x18, - 0xd5, 0xec, 0x69, 0xce, 0xe0, 0x2b, 0x8e, 0x4c, 0xcd, 0x08, 0x61, 0x05, 0x5b, 0x3d, 0xe7, 0xfa, 0x95, 0x14, 0x19, - 0xeb, 0xaa, 0x00, 0xbf, 0xcc, 0xca, 0x3f, 0xd4, 0xba, 0xe0, 0xc3, 0x85, 0x66, 0x71, 0x24, 0xa0, 0x44, 0x84, 0x15, - 0xc2, 0x22, 0xd1, 0xec, 0x56, 0x3f, 0x96, 0x42, 0x33, 0xa1, 0x09, 0xf3, 0x50, 0xc5, 0x3c, 0xa1, 0xf3, 0x39, 0x13, - 0xa3, 0xc7, 0x53, 0x9e, 0x8f, 0x62, 0x81, 0xd6, 0x68, 0x8d, 0x7f, 0x17, 0x04, 0x26, 0x49, 0x2e, 0x79, 0x0a, 0xff, - 0x7c, 0x7b, 0x3a, 0xb1, 0x26, 0x97, 0x66, 0x5b, 0x30, 0x12, 0x45, 0xdd, 0xb1, 0x2c, 0x62, 0x37, 0x85, 0x3d, 0x20, - 0x5d, 0xd0, 0xc7, 0xdb, 0x45, 0xce, 0x14, 0x62, 0x0d, 0x22, 0xca, 0x75, 0x74, 0x10, 0xfe, 0xad, 0x88, 0x19, 0x2c, - 0x00, 0x47, 0x29, 0x37, 0x24, 0xf0, 0x25, 0x77, 0x9b, 0x6a, 0x54, 0x12, 0xb5, 0x8f, 0x82, 0x8c, 0x78, 0xa2, 0x8b, - 0x85, 0xd2, 0x6c, 0xf4, 0xee, 0x6e, 0xce, 0x14, 0xfe, 0xb9, 0x20, 0x1f, 0x45, 0xef, 0xa3, 0x48, 0xd8, 0x6c, 0xae, - 0xef, 0xae, 0x0c, 0x35, 0x4f, 0xa3, 0x08, 0xff, 0x6d, 0x8a, 0x16, 0x8c, 0x66, 0x40, 0xd2, 0x1c, 0xc8, 0xde, 0xc8, - 0xfc, 0x6e, 0xcc, 0xf3, 0xfc, 0x6a, 0x31, 0x9f, 0xcb, 0x42, 0x63, 0x2d, 0xc8, 0x52, 0xcb, 0x0a, 0x3e, 0xb0, 0xa2, - 0x4b, 0x75, 0xc3, 0x75, 0x36, 0x8d, 0x35, 0x5a, 0x66, 0x54, 0xb1, 0xbd, 0x47, 0x52, 0xe6, 0x8c, 0x8a, 0x94, 0x13, - 0xde, 0xfb, 0xb9, 0x48, 0xc5, 0x22, 0xcf, 0xbb, 0xc3, 0x82, 0xd1, 0x2f, 0x5d, 0x93, 0x6d, 0x0f, 0x87, 0xd4, 0xfc, - 0x7e, 0x58, 0x14, 0xf4, 0x0e, 0x0a, 0x12, 0x02, 0xc5, 0x7a, 0x3c, 0xfd, 0xf9, 0xea, 0xf5, 0xab, 0xc4, 0xee, 0x15, - 0x3e, 0xbe, 0x8b, 0x79, 0xb9, 0xff, 0xf8, 0x1a, 0x8f, 0x0b, 0x39, 0xdb, 0xe8, 0xda, 0x82, 0x8e, 0x77, 0xbf, 0x31, - 0x04, 0x46, 0xf8, 0xbe, 0x6d, 0x3a, 0x1c, 0xc1, 0x2b, 0x83, 0xf9, 0x90, 0x49, 0x5c, 0xbf, 0xf0, 0x4f, 0x6a, 0x93, - 0x63, 0x8e, 0xbe, 0x3f, 0x5a, 0x5d, 0xdc, 0x2d, 0x19, 0x31, 0xe3, 0x9c, 0xc3, 0xc1, 0x08, 0x63, 0xcc, 0xa8, 0xce, - 0xa6, 0x4b, 0x66, 0x1a, 0x5b, 0xfb, 0x11, 0xb3, 0xf5, 0x1a, 0xbf, 0x92, 0x1e, 0xeb, 0xf5, 0x3e, 0x21, 0xdc, 0xd0, - 0x2b, 0xa2, 0x57, 0x2b, 0x4e, 0x08, 0x47, 0xf8, 0x2d, 0x27, 0x4b, 0xea, 0x27, 0x04, 0x27, 0x1b, 0x6c, 0xcf, 0xd4, - 0x52, 0x19, 0x38, 0x01, 0xbf, 0xb2, 0x42, 0xb3, 0x22, 0xd5, 0x02, 0x17, 0x6c, 0x9c, 0xc3, 0x38, 0xf6, 0xdb, 0x78, - 0x4a, 0xd5, 0xe3, 0x29, 0x15, 0x13, 0x36, 0x4a, 0x5f, 0xc9, 0x35, 0x66, 0x82, 0x44, 0x63, 0x2e, 0x68, 0xce, 0xff, - 0x61, 0xa3, 0xc8, 0x9d, 0x0b, 0xef, 0xf5, 0x1e, 0xbb, 0xd5, 0x4c, 0x8c, 0xd4, 0xde, 0xf3, 0x77, 0xbf, 0xbe, 0x74, - 0x8b, 0x59, 0x3b, 0x2b, 0xd0, 0x52, 0x2d, 0xe6, 0xac, 0x88, 0x11, 0x76, 0x67, 0xc5, 0x53, 0x6e, 0xe8, 0xe4, 0xaf, - 0x74, 0x6e, 0x53, 0xb8, 0xfa, 0x7d, 0x3e, 0xa2, 0x9a, 0xbd, 0x61, 0x62, 0xc4, 0xc5, 0x84, 0xec, 0xb7, 0x6d, 0xfa, - 0x94, 0xba, 0x8c, 0x51, 0x99, 0x74, 0x7d, 0xef, 0x69, 0x6e, 0xe6, 0x5e, 0x7e, 0x2e, 0x62, 0xb4, 0x56, 0x9a, 0x6a, - 0x9e, 0xed, 0xd1, 0xd1, 0xe8, 0x85, 0xe0, 0x9a, 0x9b, 0x11, 0x16, 0xb0, 0x44, 0x80, 0xab, 0xcc, 0x9e, 0x1a, 0x7e, - 0xe4, 0x31, 0xc2, 0x71, 0xec, 0xce, 0x82, 0x29, 0x72, 0x6b, 0x76, 0x70, 0x50, 0x51, 0xfe, 0x1e, 0x4b, 0x6d, 0x26, - 0xe9, 0x0f, 0x50, 0x32, 0x5f, 0x28, 0x58, 0x6c, 0xdf, 0x05, 0x1c, 0x34, 0x72, 0xa8, 0x58, 0xf1, 0x95, 0x8d, 0x4a, - 0x04, 0x51, 0x31, 0x5a, 0x6e, 0xf4, 0xe1, 0xb6, 0x87, 0x26, 0xfd, 0x41, 0x37, 0x24, 0xe1, 0xcc, 0x21, 0xbb, 0xe5, - 0x54, 0x38, 0x53, 0x25, 0x51, 0x89, 0xe1, 0x40, 0x2d, 0x09, 0x8b, 0x22, 0x7e, 0x7e, 0xf3, 0x58, 0x00, 0x0f, 0x11, - 0x52, 0x0e, 0x7f, 0xe6, 0x3e, 0xfd, 0x6a, 0x0e, 0x0f, 0x85, 0x05, 0xc2, 0xda, 0x8e, 0x54, 0x21, 0xb4, 0x46, 0x58, - 0xfb, 0xe1, 0x5a, 0xa2, 0xe4, 0xf9, 0x22, 0x38, 0xb5, 0xc9, 0x5b, 0x6e, 0x8e, 0x6d, 0xa0, 0x6d, 0x54, 0xb3, 0x83, - 0x83, 0x98, 0x25, 0x25, 0x62, 0x90, 0xfd, 0xb6, 0x5b, 0xa4, 0x00, 0x5a, 0xdf, 0x18, 0x37, 0xf4, 0x6c, 0x18, 0x9c, - 0x7d, 0x96, 0x08, 0xf9, 0x30, 0xcb, 0x98, 0x52, 0xb2, 0x38, 0x38, 0xd8, 0x37, 0xe5, 0x4b, 0xce, 0x02, 0x16, 0xf1, - 0xf5, 0x8d, 0xa8, 0x86, 0x80, 0xaa, 0xd3, 0xd6, 0xf3, 0x4d, 0xa4, 0xe2, 0x9b, 0x3c, 0x13, 0x92, 0x46, 0xd7, 0xd7, - 0x51, 0x43, 0x63, 0x07, 0x87, 0x09, 0xf3, 0x5d, 0xdf, 0x3d, 0x61, 0x96, 0x2d, 0x34, 0x4c, 0xc8, 0x16, 0x68, 0x76, - 0xf2, 0x83, 0x71, 0x7d, 0x48, 0x58, 0x63, 0x85, 0xd6, 0xc1, 0x8a, 0xee, 0x6c, 0xda, 0xf0, 0x37, 0x76, 0xe9, 0x96, - 0x13, 0xc3, 0x53, 0x04, 0xeb, 0xd8, 0x67, 0x83, 0x35, 0x36, 0xb0, 0xf7, 0xb3, 0x91, 0x66, 0xa0, 0x7d, 0x3d, 0xe8, - 0xba, 0x7c, 0xa2, 0x2c, 0xe4, 0x0a, 0xf6, 0xf7, 0x82, 0x29, 0x6d, 0x11, 0x39, 0xd6, 0x58, 0x62, 0x38, 0xa3, 0x36, - 0x99, 0xce, 0x1a, 0x4b, 0xba, 0x6b, 0x6c, 0xaf, 0xe7, 0x70, 0x36, 0x2a, 0x40, 0xea, 0xef, 0xe3, 0x13, 0x8c, 0x55, - 0xa3, 0xd5, 0xea, 0x2d, 0xf7, 0xad, 0x54, 0x6b, 0x59, 0xf2, 0x6b, 0x1b, 0x8b, 0xc2, 0x04, 0x72, 0x87, 0xf3, 0x7e, - 0xdb, 0x8d, 0x5f, 0x0c, 0xc8, 0x7e, 0xab, 0xc4, 0x62, 0x07, 0x56, 0x3b, 0x1e, 0x0b, 0xc5, 0xd7, 0xb6, 0x29, 0x64, - 0xce, 0xfa, 0x1a, 0xbe, 0x24, 0xd3, 0x2d, 0x5c, 0x9d, 0x92, 0x3e, 0x70, 0x1d, 0xc9, 0x74, 0xf0, 0x2d, 0x7c, 0xf2, - 0x14, 0x21, 0xd6, 0xdb, 0x79, 0x15, 0xe1, 0xf8, 0x5a, 0x27, 0x1c, 0x1b, 0xd3, 0x88, 0xe6, 0x65, 0x95, 0xa8, 0x44, - 0x33, 0xb7, 0xd5, 0xab, 0x2c, 0x2c, 0xcc, 0x60, 0xaa, 0x29, 0x05, 0x4d, 0xbc, 0xa2, 0x33, 0xa6, 0x62, 0x86, 0xf0, - 0xb7, 0x0a, 0x58, 0xfc, 0x84, 0x22, 0x83, 0xe0, 0x0c, 0x55, 0x70, 0x86, 0x02, 0xbb, 0x0b, 0x4c, 0x5a, 0x7d, 0xcb, - 0x29, 0xcc, 0xfa, 0x6a, 0x50, 0xf1, 0x76, 0xc1, 0xe4, 0xcd, 0xe1, 0xec, 0x10, 0xdc, 0xc3, 0xcf, 0xa6, 0x59, 0xa0, - 0x19, 0x16, 0x42, 0x21, 0xbc, 0xdf, 0xda, 0x5c, 0x49, 0x5f, 0xaa, 0x9a, 0x63, 0x7f, 0x00, 0xeb, 0x60, 0x8e, 0x8d, - 0x84, 0x2b, 0xf3, 0xb7, 0xb6, 0xd5, 0x00, 0x6c, 0x57, 0x80, 0x19, 0xc9, 0x38, 0xa7, 0x3a, 0x6e, 0x1f, 0xb5, 0x80, - 0x31, 0xfd, 0xca, 0xe0, 0x54, 0x41, 0x68, 0x7b, 0x2a, 0x2c, 0x59, 0x08, 0x35, 0xe5, 0x63, 0x1d, 0xff, 0x2e, 0x0c, - 0x51, 0x61, 0xb9, 0x62, 0x20, 0xe1, 0x04, 0xec, 0xb1, 0x21, 0x38, 0xbf, 0x0b, 0xe8, 0xa7, 0x5b, 0x1e, 0x44, 0x6e, - 0xa4, 0x86, 0x70, 0x01, 0x79, 0xa8, 0x58, 0xeb, 0x8a, 0xcc, 0x94, 0x8c, 0x1b, 0x70, 0x8f, 0xed, 0x9e, 0x6d, 0x31, - 0x75, 0xd4, 0x40, 0x04, 0x1c, 0xac, 0x48, 0x43, 0x12, 0xe1, 0x12, 0x75, 0xa2, 0xe5, 0x4b, 0x79, 0xc3, 0x8a, 0xc7, - 0x14, 0x06, 0x9f, 0xda, 0xea, 0x6b, 0x7b, 0x14, 0x18, 0x8a, 0xaf, 0xbb, 0x1e, 0x5f, 0xae, 0xcd, 0xc4, 0xdf, 0x14, - 0x72, 0xc6, 0x15, 0x03, 0xbe, 0xcd, 0xc2, 0x5f, 0xc0, 0x46, 0x33, 0x3b, 0x12, 0x8e, 0x1b, 0x56, 0xe2, 0xd7, 0xc3, - 0x97, 0x75, 0xfc, 0xba, 0xbe, 0xf7, 0x74, 0xe2, 0x29, 0x60, 0x7d, 0x1f, 0x23, 0x1c, 0x3b, 0xf1, 0x22, 0x38, 0xe9, - 0x92, 0x29, 0x72, 0xc7, 0xfc, 0x6a, 0xa5, 0x03, 0x31, 0xae, 0xc6, 0x39, 0x32, 0xbb, 0x6d, 0xd0, 0x9a, 0x8e, 0x46, - 0xc0, 0xe2, 0x15, 0x32, 0xcf, 0x83, 0xc3, 0x0a, 0x8b, 0x6e, 0x79, 0x3c, 0x5d, 0xdf, 0x7b, 0x7a, 0xf5, 0xbd, 0x13, - 0x0a, 0xf2, 0xc3, 0x43, 0xca, 0x0f, 0x54, 0x8c, 0x58, 0x01, 0x72, 0x65, 0xb0, 0x5a, 0xee, 0x9c, 0x7d, 0x2c, 0x85, - 0x60, 0x99, 0x66, 0x23, 0x10, 0x5a, 0x04, 0xd1, 0xc9, 0x54, 0x2a, 0x5d, 0x26, 0x56, 0xa3, 0x17, 0xa1, 0x10, 0x9a, - 0x64, 0x34, 0xcf, 0x63, 0x2b, 0xa0, 0xcc, 0xe4, 0x57, 0xb6, 0x63, 0xd4, 0xdd, 0xda, 0x90, 0xcb, 0x66, 0x58, 0xd0, - 0x0c, 0x4b, 0xd4, 0x3c, 0xe7, 0x19, 0x2b, 0x0f, 0xaf, 0xab, 0x84, 0x8b, 0x11, 0xbb, 0x05, 0x3a, 0x82, 0x2e, 0x2f, - 0x2f, 0x5b, 0xb8, 0x8d, 0xd6, 0x16, 0xe0, 0xcb, 0x2d, 0xc0, 0x7e, 0xe7, 0xd8, 0xb4, 0x82, 0xf8, 0x72, 0x27, 0x59, - 0x43, 0xc1, 0x59, 0xc9, 0xbd, 0xa0, 0x65, 0xc9, 0x33, 0xc2, 0x23, 0x96, 0x33, 0xcd, 0x3c, 0x39, 0x07, 0x66, 0xda, - 0x6e, 0xdd, 0xb7, 0x25, 0xfc, 0x4a, 0x74, 0xf2, 0xbb, 0xcc, 0xaf, 0xb9, 0x2a, 0x45, 0xf7, 0x6a, 0x79, 0x2a, 0x68, - 0xf7, 0xb4, 0x5d, 0x1e, 0xaa, 0x35, 0xcd, 0xa6, 0x56, 0x62, 0x8f, 0xb7, 0xa6, 0x54, 0xb5, 0xe1, 0x48, 0x7b, 0xb9, - 0x89, 0xfe, 0x2c, 0xdc, 0x30, 0x77, 0x81, 0xe0, 0xca, 0x11, 0x05, 0x06, 0x42, 0xa0, 0x5d, 0xb6, 0xc7, 0x34, 0xcf, - 0x87, 0x34, 0xfb, 0x52, 0xc7, 0xfe, 0x0a, 0x0d, 0xc8, 0x26, 0x35, 0x0e, 0xb2, 0x02, 0x92, 0x15, 0xce, 0xdb, 0x53, - 0xe9, 0xda, 0x46, 0x89, 0xf7, 0x5b, 0x15, 0xda, 0xd7, 0x17, 0xfa, 0x9b, 0xd8, 0x6e, 0x46, 0x24, 0xdc, 0xcc, 0x62, - 0xa0, 0x02, 0xff, 0x12, 0xe3, 0x3c, 0x3d, 0x70, 0x78, 0x07, 0x82, 0xc7, 0x7a, 0x63, 0x20, 0x1a, 0x2d, 0xd7, 0x23, - 0xae, 0xbe, 0x0d, 0x81, 0xff, 0x2d, 0xa3, 0x7c, 0x12, 0xf4, 0xf0, 0xef, 0x0e, 0xb4, 0xa4, 0x71, 0x8e, 0x71, 0x2e, - 0x47, 0xe6, 0x18, 0x0a, 0x4f, 0x68, 0x7e, 0x01, 0xe6, 0xc5, 0xe0, 0xfb, 0x6b, 0x9b, 0x65, 0xf8, 0x32, 0x18, 0x86, - 0xea, 0x86, 0x0c, 0x45, 0x0d, 0x05, 0x1c, 0x51, 0x15, 0xe6, 0xcc, 0x95, 0x35, 0x51, 0xd2, 0x71, 0xed, 0x56, 0x1c, - 0x77, 0x34, 0xb7, 0x20, 0x71, 0x1c, 0x2b, 0x90, 0xe6, 0x3c, 0x7f, 0x5f, 0xcd, 0x42, 0x6d, 0xcd, 0x42, 0x25, 0x81, - 0xb4, 0x85, 0x2a, 0x64, 0x0e, 0xaa, 0xa7, 0x5a, 0xa0, 0xb0, 0x14, 0xb0, 0xac, 0x09, 0x50, 0x68, 0x54, 0x12, 0xdc, - 0x9c, 0x68, 0x5c, 0x38, 0x51, 0xc7, 0xe1, 0x1a, 0x90, 0x8c, 0xaa, 0x8a, 0x44, 0x76, 0x73, 0xd4, 0x64, 0x5f, 0x89, - 0x0b, 0xb4, 0xc1, 0xdf, 0xaf, 0xd7, 0x0e, 0x4a, 0x0c, 0xb9, 0xd5, 0xa9, 0x31, 0xc6, 0x01, 0x58, 0xb0, 0x24, 0x8e, - 0x19, 0xb6, 0xac, 0xcf, 0x26, 0x70, 0xca, 0x76, 0xf7, 0x09, 0x91, 0x15, 0x6c, 0x6a, 0x4c, 0xa5, 0xe7, 0xae, 0x24, - 0xc2, 0xd4, 0xb3, 0xa5, 0x45, 0x35, 0x71, 0x42, 0x22, 0xaf, 0x9d, 0x88, 0x7a, 0xcb, 0x9a, 0x70, 0x98, 0x06, 0xc5, - 0xd6, 0x29, 0x10, 0xd5, 0x62, 0x17, 0xbc, 0x77, 0x61, 0x4d, 0xad, 0x9d, 0x00, 0xe2, 0x45, 0x0d, 0xe2, 0x01, 0x68, - 0xa5, 0x25, 0x5e, 0x72, 0x40, 0x68, 0xbd, 0x72, 0xcc, 0x70, 0x61, 0x17, 0x62, 0x0b, 0x8a, 0x9b, 0xec, 0xa7, 0xc1, - 0x42, 0x90, 0x65, 0x15, 0xf0, 0x77, 0xe1, 0x11, 0x11, 0xc3, 0xe0, 0xc5, 0x6a, 0xb5, 0x85, 0x76, 0x3b, 0xb9, 0x50, - 0x94, 0x54, 0xd2, 0xe1, 0x6a, 0xf5, 0x4a, 0xa2, 0xd8, 0xf1, 0xbf, 0x98, 0xa1, 0x9e, 0x27, 0xba, 0x0f, 0x5f, 0x42, - 0x29, 0xc3, 0x8e, 0x56, 0x29, 0xa5, 0xe0, 0x50, 0xc7, 0xda, 0xfa, 0x42, 0xe9, 0x80, 0x72, 0x3f, 0xde, 0x22, 0x60, - 0x26, 0xd1, 0x9d, 0xd4, 0xd5, 0x94, 0x1f, 0xbb, 0xa6, 0x05, 0x42, 0x28, 0x55, 0x46, 0x96, 0xd9, 0xdf, 0x25, 0x5f, - 0x1e, 0x1c, 0xa8, 0xa0, 0xa1, 0xeb, 0x92, 0x52, 0x7c, 0x8e, 0xe1, 0x54, 0x56, 0x77, 0xc2, 0xb0, 0x2f, 0x9f, 0xfd, - 0x39, 0xb4, 0x25, 0x9d, 0xb6, 0xba, 0x20, 0x98, 0xd3, 0x1b, 0xca, 0xf5, 0x5e, 0xd9, 0x8a, 0x15, 0xcc, 0x63, 0x86, - 0x96, 0x8e, 0xdb, 0x48, 0x0a, 0x06, 0xfc, 0x23, 0x90, 0x05, 0xcf, 0x45, 0x5b, 0xc4, 0xcf, 0xa6, 0x0c, 0x54, 0xd9, - 0x9e, 0x91, 0x28, 0xc5, 0xc3, 0x7d, 0x77, 0x90, 0xb8, 0x86, 0x77, 0x8f, 0x7d, 0xbd, 0x59, 0xbd, 0x26, 0x0d, 0xcc, - 0x59, 0x31, 0x96, 0xc5, 0xcc, 0xe7, 0xad, 0x37, 0xbe, 0x1d, 0x71, 0xe4, 0xe3, 0x78, 0x67, 0xdb, 0x4e, 0x04, 0xe8, - 0x6e, 0xc8, 0xde, 0x95, 0xd4, 0x5e, 0x3b, 0x4d, 0xcb, 0x03, 0xd8, 0x2a, 0x08, 0x3d, 0x66, 0xaa, 0x50, 0xca, 0x77, - 0xea, 0xd5, 0xae, 0xd5, 0x9d, 0xec, 0xb7, 0xbb, 0xa5, 0xe4, 0xe7, 0xb1, 0xa1, 0x6b, 0x75, 0x1c, 0xee, 0x54, 0x95, - 0x8b, 0x7c, 0xe4, 0x06, 0x2b, 0x10, 0x66, 0x0e, 0x8f, 0x6e, 0x78, 0x9e, 0x57, 0xa9, 0xff, 0x09, 0x69, 0x57, 0x8e, - 0xb4, 0x4b, 0x4f, 0xda, 0x81, 0x54, 0x00, 0x69, 0xb7, 0xcd, 0x55, 0xd5, 0xe5, 0xd6, 0xf6, 0x94, 0x96, 0xa8, 0x2b, - 0x23, 0x4e, 0x43, 0x7f, 0x0b, 0x3f, 0x02, 0x54, 0x32, 0x5f, 0x5f, 0x62, 0xa7, 0x8f, 0x01, 0x31, 0xd0, 0xea, 0x34, - 0x59, 0xa8, 0xa9, 0xf8, 0x12, 0x23, 0xac, 0xd6, 0xac, 0xc4, 0xec, 0x87, 0x4f, 0x41, 0x69, 0x17, 0x4c, 0x07, 0xce, - 0x31, 0x93, 0xfc, 0x1f, 0xf1, 0x51, 0x7e, 0x76, 0xc2, 0xcd, 0x4e, 0xf9, 0xd9, 0x01, 0xad, 0xaf, 0x66, 0x37, 0xfa, - 0x3e, 0xb5, 0x37, 0xd3, 0x13, 0xe5, 0xf4, 0xaa, 0xf5, 0x5e, 0xad, 0xe2, 0x8d, 0x14, 0xd0, 0xe8, 0x3b, 0x29, 0xa5, - 0x28, 0x5b, 0x07, 0x1a, 0x10, 0x42, 0x06, 0x12, 0xd6, 0x76, 0xd2, 0xe5, 0x29, 0xf7, 0xf2, 0x5f, 0xe9, 0x79, 0x8c, - 0xe2, 0xde, 0xd6, 0x7f, 0x2c, 0x67, 0x73, 0x60, 0xc8, 0x36, 0x50, 0x7a, 0xc2, 0x5c, 0x87, 0x55, 0xfe, 0x7a, 0x47, - 0x5a, 0xad, 0x8e, 0xd9, 0x8f, 0x35, 0x6c, 0x2a, 0xa5, 0xe6, 0xfd, 0xd6, 0x7a, 0x51, 0x26, 0x95, 0x84, 0x63, 0x97, - 0x6e, 0xe5, 0xf1, 0xa6, 0x66, 0xc6, 0x67, 0xbc, 0x8e, 0x85, 0xa5, 0xc3, 0x02, 0x68, 0x5d, 0x40, 0x7e, 0x3c, 0xba, - 0x87, 0xeb, 0xbf, 0xae, 0x80, 0xb3, 0x5c, 0x6f, 0x80, 0x6f, 0xb9, 0x5e, 0xbf, 0xd7, 0x4e, 0xd2, 0xc6, 0xef, 0x77, - 0xc8, 0xbd, 0x25, 0xf4, 0xaa, 0x4c, 0x27, 0x33, 0xf6, 0x07, 0x90, 0xb6, 0xc5, 0x42, 0x92, 0xe5, 0x4c, 0x8e, 0x58, - 0x1a, 0xc9, 0x39, 0x13, 0xd1, 0x1a, 0xf4, 0xac, 0x0e, 0x01, 0xfe, 0x16, 0xf1, 0xf2, 0x6d, 0x5d, 0xdf, 0x9a, 0xbe, - 0xd7, 0x6b, 0x50, 0x85, 0xbd, 0xe4, 0x3b, 0x94, 0xb1, 0xef, 0x59, 0xa1, 0x0c, 0x4f, 0x5a, 0xb2, 0xb7, 0x2f, 0x79, - 0x75, 0x40, 0xbd, 0xe4, 0xe9, 0xb7, 0xab, 0x54, 0x02, 0x49, 0xd4, 0x4e, 0xce, 0x92, 0xe3, 0x08, 0x19, 0x8d, 0xf1, - 0x33, 0xaf, 0x31, 0x5e, 0x94, 0x1a, 0xe3, 0xe7, 0x9a, 0x2c, 0x36, 0x34, 0xc6, 0x7f, 0x08, 0xf2, 0x5c, 0xf7, 0x9e, - 0x7b, 0x6d, 0xfa, 0x1b, 0x99, 0xf3, 0xec, 0x2e, 0x8e, 0x72, 0xae, 0x9b, 0x70, 0x9b, 0x18, 0xe1, 0xa5, 0xcd, 0x00, - 0x55, 0xa3, 0xd1, 0x77, 0xaf, 0xbd, 0xfc, 0x87, 0x85, 0x20, 0xd1, 0xbd, 0x9c, 0xeb, 0x7b, 0x11, 0x9e, 0x6a, 0xf2, - 0x09, 0x7e, 0xdd, 0x5b, 0xc6, 0xbf, 0x52, 0x3d, 0x4d, 0x0a, 0x2a, 0x46, 0x72, 0x16, 0xa3, 0x46, 0x14, 0xa1, 0x44, - 0x19, 0x21, 0xe4, 0x01, 0x5a, 0xdf, 0xfb, 0x84, 0xff, 0x91, 0x24, 0xea, 0x45, 0x8d, 0xa9, 0xc6, 0x9a, 0x92, 0x4f, - 0x17, 0xf7, 0x96, 0xff, 0xc8, 0xf5, 0xe5, 0x27, 0xfc, 0x54, 0x97, 0x6a, 0x7d, 0x7c, 0xcb, 0x48, 0x8c, 0xc8, 0xe5, - 0x53, 0x3f, 0xa4, 0xc7, 0x72, 0x66, 0x15, 0xfc, 0x11, 0xc2, 0x5f, 0x41, 0xaf, 0x7b, 0xc9, 0x2b, 0x22, 0xe4, 0xee, - 0x60, 0xf6, 0x49, 0x24, 0x8d, 0xf2, 0x20, 0x3a, 0x38, 0x08, 0xd2, 0x4a, 0x16, 0x02, 0x7f, 0x96, 0xa4, 0x26, 0xaa, - 0x63, 0x46, 0xa1, 0xa5, 0xcf, 0x32, 0xe6, 0xc8, 0x37, 0x13, 0x7b, 0x4d, 0xb5, 0xdb, 0xb1, 0xbc, 0x6f, 0x75, 0x0f, - 0x09, 0xd7, 0xac, 0xa0, 0x5a, 0x16, 0x03, 0x14, 0xb2, 0x25, 0xf8, 0x15, 0x27, 0x9f, 0xfa, 0x7b, 0xff, 0xcf, 0xff, - 0xf8, 0x6b, 0xfc, 0x57, 0x31, 0xf8, 0x84, 0x05, 0x23, 0x47, 0x17, 0x71, 0x2f, 0x8d, 0xf7, 0x9b, 0xcd, 0xd5, 0x5f, - 0x47, 0xfd, 0xff, 0xa6, 0xcd, 0x7f, 0x1e, 0x36, 0xff, 0x1c, 0xa0, 0x55, 0xfc, 0xd7, 0x51, 0xaf, 0xef, 0xbe, 0xfa, - 0xff, 0x7d, 0xf9, 0x97, 0x1a, 0x1c, 0xda, 0xc4, 0x7b, 0x08, 0x1d, 0x4d, 0xf0, 0x2f, 0x82, 0x1c, 0x35, 0x9b, 0x97, - 0x47, 0x13, 0xfc, 0x93, 0x20, 0x47, 0xf0, 0xf7, 0x4e, 0x93, 0xb7, 0x6c, 0xf2, 0xf4, 0x76, 0x1e, 0x7f, 0xba, 0x5c, - 0xdd, 0x5b, 0xbe, 0xe2, 0x6b, 0x68, 0xb7, 0xff, 0xdf, 0x7f, 0xfd, 0xa5, 0xa2, 0x1f, 0x2f, 0xc9, 0xd1, 0xa0, 0x81, - 0x62, 0x93, 0x7c, 0x48, 0xec, 0x9f, 0xb8, 0x97, 0xf6, 0xff, 0xdb, 0x0d, 0x25, 0xfa, 0xf1, 0xaf, 0x4f, 0x17, 0x97, - 0x64, 0xb0, 0x8a, 0xa3, 0xd5, 0x8f, 0x68, 0x85, 0xd0, 0xea, 0x1e, 0xfa, 0x84, 0xa3, 0x49, 0x84, 0xf0, 0x6f, 0x82, - 0x1c, 0xfd, 0x78, 0x34, 0xc1, 0x7f, 0x0a, 0x72, 0x14, 0x1d, 0x4d, 0xf0, 0x23, 0x49, 0x8e, 0xfe, 0x3b, 0xee, 0xa5, - 0x56, 0x09, 0xb7, 0x32, 0xea, 0x8f, 0x15, 0xdc, 0x84, 0xd0, 0x82, 0xd1, 0x95, 0xe6, 0x3a, 0x67, 0xe8, 0xde, 0x11, - 0xc7, 0xef, 0x25, 0x00, 0x2b, 0xd6, 0xa0, 0xa4, 0x31, 0x97, 0xb0, 0xcb, 0x6b, 0x58, 0x78, 0xc0, 0xa0, 0x7b, 0x29, - 0xc7, 0x56, 0x4f, 0xa0, 0x52, 0x6d, 0x6f, 0x6f, 0x15, 0x5c, 0xdf, 0xe2, 0xc7, 0xe4, 0xbd, 0x8c, 0xdb, 0x08, 0x73, - 0x0a, 0x3f, 0x3a, 0x08, 0x7f, 0xd0, 0xee, 0xc2, 0x13, 0xb6, 0xb9, 0xc5, 0x30, 0x21, 0x2d, 0x3f, 0x13, 0x21, 0xfc, - 0x72, 0x47, 0xa6, 0x9e, 0x82, 0xfa, 0x01, 0xe1, 0x9f, 0x6b, 0xd7, 0xa3, 0xf8, 0xb1, 0x26, 0x25, 0x72, 0xbc, 0x2b, - 0x18, 0xfb, 0x40, 0xf3, 0x2f, 0xac, 0x88, 0x9f, 0x6a, 0xdc, 0xee, 0x3c, 0xc0, 0x46, 0x55, 0xbd, 0xdf, 0x46, 0xdd, - 0xf2, 0x76, 0xeb, 0xb9, 0xb4, 0xf7, 0x09, 0x70, 0x0a, 0xd7, 0xf5, 0x35, 0xb0, 0xf6, 0xfb, 0x7c, 0x4b, 0xa9, 0x55, - 0xd0, 0x9b, 0x08, 0xd5, 0xaf, 0x52, 0xb9, 0xf8, 0x4a, 0x73, 0x3e, 0xda, 0xd3, 0x6c, 0x36, 0xcf, 0xa9, 0x66, 0x7b, - 0x6e, 0xce, 0x7b, 0x14, 0x1a, 0x8a, 0x4a, 0x9e, 0xe2, 0x0f, 0x51, 0x6d, 0xda, 0x3f, 0x44, 0x52, 0xed, 0x9d, 0x18, - 0xee, 0xb3, 0x1c, 0x5f, 0x22, 0x68, 0x79, 0x5d, 0xb6, 0x79, 0x23, 0xd8, 0x6c, 0x83, 0xb2, 0x6c, 0x60, 0xce, 0x6f, - 0x85, 0xe1, 0x7e, 0x93, 0x90, 0x4e, 0x2f, 0xba, 0x50, 0x5f, 0x27, 0x97, 0x11, 0xdc, 0xe4, 0x14, 0x44, 0x30, 0xa3, - 0x3c, 0x82, 0x12, 0x94, 0xb4, 0xba, 0xf4, 0x82, 0x75, 0x69, 0xa3, 0xe1, 0xd9, 0xec, 0x8c, 0xf0, 0x3e, 0xb5, 0xf5, - 0x73, 0x3c, 0xc5, 0x23, 0xd2, 0x6c, 0xe3, 0x05, 0x69, 0x99, 0x2a, 0xdd, 0xc5, 0x45, 0xe6, 0xfa, 0x39, 0x38, 0x88, - 0x8b, 0x24, 0xa7, 0x4a, 0xbf, 0x00, 0x8d, 0x00, 0x59, 0xe0, 0x29, 0x29, 0x12, 0x76, 0xcb, 0xb2, 0x38, 0x43, 0x78, - 0xea, 0x68, 0x10, 0xea, 0xa2, 0x05, 0x09, 0x8a, 0x81, 0x9c, 0x41, 0x04, 0xeb, 0x4d, 0xfb, 0xed, 0x01, 0x21, 0x24, - 0xda, 0x6f, 0x36, 0xa3, 0x5e, 0x41, 0x7e, 0x11, 0x29, 0xa4, 0x04, 0xec, 0x34, 0xf9, 0x09, 0x92, 0x3a, 0x41, 0x52, - 0xfc, 0x48, 0x26, 0x9a, 0x29, 0x1d, 0x43, 0x32, 0x28, 0x09, 0x94, 0xc7, 0xf0, 0xe8, 0xe2, 0x28, 0x6a, 0x40, 0xaa, - 0x41, 0x51, 0x84, 0x0b, 0x72, 0xa7, 0x51, 0x3a, 0xed, 0x1f, 0x0f, 0xc2, 0x33, 0xc2, 0xa6, 0x42, 0xff, 0x77, 0xba, - 0x37, 0xed, 0xb7, 0x4c, 0xff, 0x97, 0x51, 0x2f, 0x2e, 0x88, 0xb2, 0x6c, 0x5c, 0x4f, 0xa5, 0x82, 0x99, 0xf9, 0xa2, - 0xd4, 0x0d, 0xd0, 0xf5, 0x3d, 0x22, 0xcd, 0x4e, 0x1a, 0x8f, 0xc2, 0x99, 0x34, 0xa1, 0x43, 0x07, 0x0a, 0x9c, 0x13, - 0x28, 0x8f, 0x0b, 0x02, 0x9d, 0x56, 0xd5, 0xee, 0x74, 0xea, 0x12, 0x7e, 0x8c, 0x7e, 0xec, 0xfd, 0x29, 0xd2, 0xdf, - 0x84, 0x1d, 0xc1, 0x9f, 0x62, 0xb5, 0x82, 0xbf, 0xbf, 0x89, 0x1e, 0x0c, 0xcb, 0xa4, 0xfd, 0xe2, 0xd2, 0x7e, 0x82, - 0x34, 0xc1, 0x52, 0x33, 0x60, 0xac, 0x4a, 0x7e, 0xcc, 0x2e, 0xce, 0x98, 0xd8, 0x19, 0x1c, 0x1c, 0xf0, 0x3e, 0x6d, - 0xb4, 0x07, 0x70, 0x23, 0x50, 0x68, 0xf5, 0x81, 0xeb, 0x69, 0x1c, 0x1d, 0x5d, 0x46, 0xa8, 0x17, 0xed, 0xc1, 0x2a, - 0x77, 0x65, 0x83, 0x38, 0x58, 0x67, 0x0d, 0x4d, 0xd3, 0xd1, 0x25, 0x69, 0xf5, 0x62, 0x61, 0x89, 0x7c, 0x8e, 0x70, - 0xe6, 0x68, 0x6a, 0x0b, 0x8f, 0x50, 0x43, 0x88, 0x86, 0xff, 0x1e, 0xa1, 0xc6, 0x54, 0x37, 0xc6, 0x28, 0xcd, 0xe0, - 0x6f, 0x3c, 0x22, 0x84, 0x34, 0x3b, 0x65, 0x45, 0x7f, 0x58, 0x52, 0x94, 0x8e, 0xbd, 0x7a, 0xb4, 0x6f, 0x36, 0x87, - 0x6c, 0xc4, 0xbc, 0xcf, 0x06, 0xab, 0x55, 0x74, 0xd1, 0xbb, 0x8c, 0x50, 0x23, 0xf6, 0x68, 0x77, 0xe4, 0xf1, 0x0e, - 0x21, 0x2c, 0x06, 0x6b, 0x77, 0x03, 0x75, 0xc3, 0x6a, 0xb7, 0x4d, 0xcb, 0x6a, 0xff, 0x07, 0x64, 0x81, 0xad, 0x4b, - 0xb9, 0xc7, 0xf2, 0xb7, 0x73, 0x98, 0xaa, 0xc7, 0x6d, 0x49, 0x5a, 0xb8, 0x20, 0x5e, 0xdd, 0x4d, 0x89, 0xae, 0xf0, - 0x3f, 0x23, 0x55, 0x71, 0xdc, 0xcf, 0xf1, 0x74, 0x40, 0x04, 0x35, 0xf2, 0x4b, 0xd7, 0x2b, 0xd3, 0x59, 0x4e, 0x6e, - 0xd8, 0xc6, 0xfd, 0x6f, 0x0e, 0x77, 0x32, 0x8f, 0x75, 0x92, 0x2d, 0x8a, 0x82, 0x09, 0xfd, 0x4a, 0x8e, 0x1c, 0x63, - 0xc7, 0x72, 0x90, 0xad, 0xe0, 0x62, 0x17, 0x03, 0x57, 0xd7, 0xf1, 0x3b, 0x65, 0xb4, 0x95, 0xbd, 0x20, 0x23, 0xcb, - 0x70, 0x99, 0xeb, 0xde, 0xee, 0xc2, 0x89, 0xd2, 0x31, 0xc2, 0x23, 0x77, 0x0f, 0x1c, 0x27, 0x49, 0xb2, 0x48, 0x32, - 0xc8, 0x86, 0x0e, 0x14, 0x5a, 0x9b, 0x7d, 0x15, 0x2b, 0xf2, 0x58, 0x27, 0x82, 0xdd, 0x9a, 0x6e, 0x63, 0x54, 0x1d, - 0xe2, 0x7e, 0xbf, 0x5d, 0xd0, 0xae, 0x21, 0x40, 0x2a, 0x11, 0x72, 0xc4, 0x00, 0x42, 0x70, 0xf7, 0xef, 0x92, 0xa6, - 0x54, 0x85, 0x37, 0x5b, 0xd5, 0x00, 0xfb, 0xa1, 0xca, 0x7b, 0x01, 0x7a, 0x62, 0xc3, 0x9e, 0x95, 0x85, 0xad, 0xf2, - 0x1c, 0x21, 0x3e, 0x8e, 0x17, 0x09, 0xdc, 0x08, 0x1a, 0x4c, 0x12, 0x02, 0xad, 0x56, 0x8b, 0x10, 0xb7, 0xa6, 0x95, - 0x62, 0x7a, 0x4c, 0xa6, 0xfd, 0xa2, 0xd1, 0x30, 0xca, 0xeb, 0x91, 0xc5, 0x8b, 0x05, 0xc2, 0xe3, 0x72, 0xaf, 0xf9, - 0x72, 0x73, 0x52, 0xef, 0x2a, 0x1e, 0xd7, 0x95, 0xc0, 0x0d, 0x21, 0x90, 0xd1, 0x2f, 0x6a, 0x68, 0x1d, 0x4f, 0xc8, - 0x51, 0xdc, 0x4f, 0x7a, 0xff, 0x73, 0x80, 0x7a, 0x71, 0x72, 0x88, 0x8e, 0x2c, 0x2d, 0x19, 0xa3, 0x6e, 0x66, 0xfb, - 0x58, 0x9a, 0xdb, 0xcf, 0x36, 0x36, 0x0a, 0xc8, 0x54, 0x62, 0x41, 0x67, 0x2c, 0x9d, 0xc0, 0xae, 0xf7, 0xc8, 0x33, - 0xc7, 0x80, 0x4c, 0xe9, 0xc4, 0xd1, 0x96, 0x24, 0xea, 0x49, 0x5a, 0x7e, 0xf5, 0xa2, 0x1e, 0xad, 0xbe, 0xfe, 0x67, - 0xd4, 0xcb, 0x68, 0xfa, 0x98, 0xaf, 0x9d, 0x92, 0xbc, 0xd6, 0xc7, 0x99, 0xef, 0x63, 0x6d, 0x17, 0x27, 0x00, 0xde, - 0x08, 0x6d, 0x6b, 0x47, 0x16, 0x68, 0xcd, 0xc7, 0x25, 0x75, 0x52, 0x89, 0xa6, 0x13, 0x80, 0x6a, 0xb0, 0x08, 0x2a, - 0xb4, 0x0d, 0x08, 0xa6, 0x0c, 0xd8, 0xe2, 0x91, 0x16, 0xa0, 0xb9, 0xb8, 0x6c, 0xa1, 0x65, 0xad, 0xb0, 0xe3, 0xac, - 0xea, 0x77, 0xf1, 0x25, 0xf1, 0x1e, 0x03, 0x55, 0xbe, 0x58, 0x74, 0xc7, 0x8d, 0x06, 0x52, 0x1e, 0xbf, 0x46, 0xfd, - 0xf1, 0x00, 0xdf, 0x02, 0x0a, 0xe1, 0x1a, 0x46, 0xe1, 0xda, 0x1c, 0x3b, 0x6e, 0x8e, 0x8d, 0x86, 0x5c, 0xa3, 0x6e, - 0x50, 0x79, 0xe1, 0x2a, 0xaf, 0xd7, 0x16, 0x32, 0x9b, 0x18, 0x77, 0x8e, 0x4c, 0x0a, 0x18, 0x82, 0x11, 0x42, 0xfe, - 0x91, 0x68, 0x67, 0xb3, 0xd0, 0x28, 0x54, 0x37, 0xbb, 0x17, 0x28, 0xaa, 0x3d, 0x3d, 0x62, 0x80, 0x05, 0x54, 0x2d, - 0xd5, 0xc8, 0x53, 0x8d, 0x47, 0x8d, 0xb6, 0x41, 0xf7, 0x66, 0xbb, 0x5b, 0x6f, 0xec, 0x7e, 0xd5, 0x18, 0x1e, 0x35, - 0xc8, 0xb4, 0xda, 0xe1, 0x6b, 0xd9, 0x68, 0xac, 0xeb, 0xf7, 0xa5, 0x7e, 0x13, 0xd7, 0xee, 0x2f, 0x9e, 0x6e, 0x99, - 0x78, 0xf8, 0xd3, 0xb7, 0x3a, 0x6f, 0x45, 0xc2, 0x85, 0x60, 0x05, 0x9c, 0xb0, 0x44, 0x63, 0xb1, 0x5e, 0x97, 0xa7, - 0xfe, 0xef, 0xda, 0xda, 0x8c, 0x11, 0x0e, 0x74, 0xc8, 0x48, 0x6d, 0x58, 0xe2, 0x02, 0x53, 0x43, 0x45, 0x08, 0x21, - 0x1f, 0xb4, 0x37, 0x8f, 0xd1, 0x86, 0x24, 0x65, 0x24, 0x38, 0xbb, 0x63, 0x45, 0x58, 0x72, 0x7d, 0xef, 0xb1, 0xfc, - 0xae, 0x48, 0xd7, 0x17, 0x83, 0xd4, 0x14, 0xcb, 0x1d, 0x21, 0xcb, 0xc9, 0x57, 0x90, 0x73, 0xca, 0x0b, 0x96, 0xc4, - 0x10, 0xc4, 0x27, 0xbc, 0x60, 0x86, 0x71, 0xbf, 0xe7, 0xe5, 0xc6, 0xac, 0xce, 0x69, 0x66, 0xa1, 0xf6, 0x07, 0xa0, - 0x99, 0x83, 0x72, 0x48, 0x92, 0xad, 0x62, 0xd7, 0xf7, 0x1e, 0xbe, 0xde, 0x25, 0x43, 0xaf, 0x56, 0x4e, 0x7a, 0xce, - 0x80, 0xf5, 0xc1, 0x79, 0x35, 0xd4, 0xcc, 0xfd, 0x48, 0xe3, 0xcc, 0x30, 0x51, 0x79, 0xcc, 0x01, 0x99, 0xae, 0xef, - 0x3d, 0x7c, 0x17, 0x73, 0xa3, 0x9b, 0x42, 0x38, 0x9c, 0x77, 0x5c, 0x90, 0x98, 0x12, 0x86, 0xec, 0xe4, 0x4b, 0x3a, - 0x56, 0x04, 0xa7, 0x7b, 0x4a, 0x4d, 0x26, 0x88, 0x1d, 0x7d, 0x31, 0x20, 0x99, 0x03, 0x01, 0xc9, 0x10, 0xce, 0x6a, - 0x72, 0x1d, 0x31, 0x6b, 0x60, 0x3a, 0xbb, 0x82, 0xc5, 0x48, 0x2c, 0x7b, 0x88, 0x70, 0x66, 0xba, 0xd5, 0x6b, 0x7b, - 0x9c, 0x28, 0xba, 0x69, 0xe8, 0x56, 0xc9, 0xb3, 0xef, 0x41, 0xf0, 0xf2, 0x1f, 0xaf, 0x5c, 0xdb, 0x65, 0xc2, 0x13, - 0x6f, 0x91, 0x76, 0x7d, 0xef, 0xe1, 0xaf, 0xce, 0x28, 0x6d, 0x4e, 0x3d, 0xf9, 0xdf, 0x92, 0x51, 0x1f, 0xfe, 0x9a, - 0x54, 0xb9, 0xa6, 0xf0, 0xf5, 0xbd, 0x87, 0xbf, 0xef, 0x2a, 0x06, 0xe9, 0xeb, 0x45, 0xa5, 0x24, 0x30, 0xe3, 0x5b, - 0xb2, 0x3c, 0x5d, 0xba, 0xb3, 0x22, 0x15, 0x6b, 0x6c, 0x4e, 0xa8, 0x54, 0xad, 0x4b, 0xdd, 0xca, 0x13, 0x2c, 0x89, - 0xb9, 0x4a, 0xaa, 0x2f, 0x9b, 0x43, 0x63, 0x2e, 0xc5, 0x55, 0x26, 0xe7, 0xec, 0x1b, 0xf7, 0x4b, 0x4f, 0x35, 0x4a, - 0xf8, 0x0c, 0x0c, 0x71, 0xcc, 0xd8, 0x05, 0xde, 0x6f, 0xa1, 0xee, 0xc6, 0x79, 0x26, 0x0d, 0xa2, 0x16, 0xf5, 0xc3, - 0x06, 0x53, 0xd2, 0xc2, 0x19, 0x69, 0xe1, 0x9c, 0xa8, 0x7e, 0xcb, 0x9e, 0x18, 0xdd, 0xbc, 0x6c, 0xda, 0x9e, 0x3b, - 0xb0, 0xdd, 0x73, 0xbb, 0x6f, 0xed, 0xa1, 0x3c, 0xed, 0xe6, 0x46, 0x7f, 0x69, 0x0e, 0xfa, 0xa9, 0x41, 0x8d, 0x27, - 0x2c, 0x2e, 0x70, 0x61, 0x5a, 0xbe, 0xe2, 0xc3, 0x1c, 0xec, 0x54, 0x60, 0x66, 0x58, 0xa3, 0xb4, 0x2c, 0xdb, 0x76, - 0x65, 0xf3, 0xc4, 0xac, 0x55, 0x81, 0xf3, 0x04, 0x48, 0x39, 0xce, 0x9d, 0x5d, 0x8f, 0xda, 0xae, 0x72, 0x76, 0x70, - 0x10, 0xbb, 0x4a, 0x34, 0x2e, 0x7c, 0x7e, 0x75, 0x03, 0xf8, 0xde, 0x52, 0x8d, 0x29, 0x32, 0x13, 0x68, 0x34, 0xb2, - 0xc1, 0x9a, 0xee, 0x13, 0x12, 0xe7, 0x75, 0x28, 0xfa, 0xd1, 0x1b, 0x66, 0x70, 0x03, 0x00, 0x8d, 0x46, 0x79, 0xdd, - 0xbb, 0x01, 0xb1, 0xa7, 0x1a, 0xcb, 0xf5, 0xd7, 0xb8, 0xb4, 0x26, 0x6a, 0x6d, 0xd9, 0x61, 0xf9, 0x51, 0x20, 0x11, - 0xe2, 0xae, 0xf0, 0xf3, 0x09, 0xb6, 0x86, 0x80, 0x72, 0x2f, 0x9c, 0x0d, 0x04, 0x36, 0x56, 0x5b, 0xae, 0x90, 0x27, - 0x6d, 0x1d, 0x94, 0xfa, 0x42, 0x70, 0xc1, 0x05, 0x85, 0x1a, 0x6b, 0x87, 0xe5, 0x4f, 0xd8, 0xb6, 0x39, 0x27, 0x56, - 0xc8, 0x69, 0xcb, 0xcc, 0x30, 0x0c, 0xc0, 0x3a, 0x25, 0x60, 0x9e, 0x93, 0x97, 0xdf, 0x46, 0xfd, 0x87, 0x01, 0xea, - 0x3f, 0x22, 0x2c, 0xd8, 0x06, 0x56, 0x57, 0x92, 0x48, 0xa7, 0xa0, 0x50, 0x3e, 0xeb, 0xf1, 0x9c, 0x80, 0x36, 0xae, - 0x0e, 0xd5, 0xda, 0x15, 0xe5, 0x37, 0x28, 0x4b, 0xb8, 0x53, 0x8c, 0x3e, 0x13, 0xfb, 0xfb, 0xe4, 0xb8, 0xba, 0xa0, - 0x83, 0xae, 0x77, 0x29, 0x07, 0x43, 0x52, 0xf8, 0xf0, 0xf7, 0xef, 0xdf, 0xad, 0x3e, 0x9e, 0x6f, 0xef, 0xe0, 0xc0, - 0xac, 0x14, 0x66, 0x1d, 0x6c, 0xe0, 0xba, 0x91, 0x29, 0xf4, 0x5f, 0xde, 0x89, 0xd7, 0xa9, 0xd0, 0xc6, 0x66, 0xf4, - 0xc7, 0x21, 0x8c, 0xb6, 0xdd, 0x36, 0x25, 0x58, 0xd0, 0x2c, 0xd0, 0x25, 0x6b, 0xdc, 0x4a, 0x8b, 0x6f, 0x90, 0x91, - 0x87, 0xa6, 0x00, 0x13, 0xa3, 0xdd, 0xd9, 0x8f, 0xd6, 0x0e, 0x4f, 0xec, 0xd0, 0xd0, 0xd2, 0x10, 0x42, 0x8b, 0xf7, - 0x80, 0x39, 0xf6, 0x88, 0x00, 0x10, 0xbd, 0x34, 0x90, 0xaa, 0x40, 0x16, 0x45, 0x95, 0x22, 0xff, 0xf9, 0x3e, 0x21, - 0x2f, 0x2b, 0x45, 0xe6, 0xdb, 0xca, 0x98, 0x0b, 0x10, 0x03, 0xa5, 0x70, 0x91, 0x50, 0x26, 0xd8, 0xcb, 0xd0, 0x0f, - 0xda, 0x97, 0x37, 0xd2, 0x66, 0x52, 0x71, 0xe3, 0xc1, 0x4d, 0xa9, 0x51, 0xf1, 0xd9, 0x7c, 0x0f, 0x89, 0x8d, 0xdc, - 0x7b, 0x90, 0xcb, 0xa8, 0x19, 0x24, 0x7c, 0xbf, 0x33, 0xa5, 0x7d, 0xbb, 0xeb, 0x2f, 0x9b, 0x16, 0x31, 0x1b, 0xeb, - 0x92, 0x70, 0xa1, 0x58, 0xa1, 0x1f, 0xb1, 0xb1, 0x2c, 0xe0, 0xfe, 0xa3, 0x04, 0x0b, 0x5a, 0xdf, 0x0b, 0x74, 0x80, - 0x66, 0x82, 0xc1, 0xa5, 0xc3, 0xc6, 0x0c, 0xcd, 0xaf, 0x2f, 0xe6, 0x0e, 0xfc, 0x7a, 0xb3, 0xd6, 0xcb, 0x83, 0x83, - 0xaf, 0xac, 0x02, 0x94, 0x1b, 0xa6, 0x19, 0x46, 0x40, 0xbc, 0x2c, 0x97, 0xe3, 0x6e, 0x86, 0xef, 0xc5, 0x95, 0xca, - 0xc0, 0x13, 0x8e, 0x90, 0x08, 0x3d, 0x27, 0x7a, 0x3d, 0xd9, 0xa4, 0xf7, 0x4e, 0x9b, 0x21, 0x42, 0xb1, 0x06, 0xc8, - 0x3d, 0xc8, 0xe5, 0x56, 0xc9, 0xa4, 0x2a, 0x5b, 0xdb, 0x72, 0x10, 0x8f, 0x01, 0x5c, 0xb1, 0x11, 0x52, 0x02, 0x34, - 0xdc, 0x2d, 0xb4, 0x3c, 0x97, 0xc0, 0xfe, 0x63, 0x95, 0x80, 0x48, 0x8b, 0x6a, 0x1b, 0x17, 0x21, 0x6c, 0x4d, 0x7d, - 0x02, 0xe3, 0x84, 0x87, 0xcf, 0x77, 0x69, 0xa8, 0x3d, 0x6a, 0x33, 0x73, 0x06, 0x41, 0x09, 0x89, 0xca, 0x0a, 0xc9, - 0xd7, 0x58, 0x38, 0x6e, 0xce, 0xdf, 0xc3, 0x01, 0x29, 0x56, 0x34, 0xb6, 0x77, 0x5b, 0x70, 0x7c, 0x14, 0xc9, 0x22, - 0xae, 0x75, 0xdd, 0x2d, 0x4c, 0x35, 0xec, 0x40, 0x47, 0x43, 0x38, 0x15, 0xe6, 0x9e, 0xf0, 0x71, 0x45, 0x52, 0x7f, - 0xb6, 0x26, 0xda, 0xda, 0x13, 0xc3, 0xca, 0x34, 0x25, 0x98, 0xff, 0xcf, 0xd6, 0xea, 0xba, 0x2c, 0x84, 0x99, 0x19, - 0xc6, 0x8d, 0x5d, 0x05, 0xb6, 0x06, 0x1c, 0x5b, 0x7e, 0x96, 0xc1, 0xa2, 0x7a, 0xa5, 0xb8, 0xe9, 0x34, 0x60, 0x02, - 0xde, 0x82, 0xf5, 0xcc, 0xe6, 0xd6, 0x7f, 0x6e, 0x0e, 0x46, 0x81, 0x55, 0x8d, 0xc0, 0x4b, 0x43, 0xe0, 0x11, 0x30, - 0x6e, 0xde, 0xb4, 0xbc, 0xe7, 0x8c, 0x68, 0x84, 0x3f, 0xf1, 0x1c, 0x9e, 0x59, 0x96, 0x7b, 0xeb, 0x63, 0x63, 0x45, - 0x52, 0x41, 0xc0, 0xb6, 0x08, 0x3b, 0x22, 0x2f, 0x11, 0x56, 0x8d, 0x46, 0x57, 0x5d, 0xb0, 0x4a, 0xab, 0x52, 0x0d, - 0x53, 0xc0, 0x2d, 0x31, 0xe0, 0x7d, 0xed, 0x44, 0x05, 0x43, 0x02, 0x6f, 0xfd, 0xad, 0x40, 0x7d, 0xff, 0xf0, 0x6d, - 0x1c, 0xd2, 0xb7, 0xb0, 0x6c, 0x79, 0x11, 0x0b, 0x53, 0x8a, 0xab, 0x3b, 0x9c, 0x37, 0xdf, 0x37, 0x1b, 0x81, 0x71, - 0xef, 0xb7, 0x31, 0xd8, 0xb8, 0xa1, 0xae, 0xb6, 0xa4, 0xa1, 0xdc, 0x84, 0x5d, 0x54, 0xd9, 0x3b, 0x86, 0x9d, 0x75, - 0x75, 0x25, 0xed, 0x6a, 0xa2, 0xd6, 0x6b, 0xc5, 0x2a, 0xa3, 0x81, 0x0d, 0xc3, 0x4e, 0x73, 0xcc, 0x6c, 0x2b, 0xf0, - 0x1f, 0xcf, 0x89, 0xc6, 0x01, 0xb2, 0xbe, 0xf9, 0xd6, 0x75, 0x4a, 0x35, 0x4c, 0xd8, 0xde, 0xee, 0x7c, 0x7c, 0xcc, - 0x77, 0x9d, 0x8f, 0x58, 0xba, 0xad, 0x6f, 0xce, 0xc6, 0xf6, 0xbf, 0x71, 0x36, 0x3a, 0xb5, 0xbd, 0x3f, 0x1e, 0x81, - 0x3b, 0xa9, 0x1d, 0x8f, 0xf5, 0x35, 0x25, 0x12, 0x0b, 0xb7, 0x1c, 0x97, 0x9d, 0xd5, 0x4a, 0xf4, 0x5b, 0xa0, 0x76, - 0x8a, 0x22, 0xf8, 0xd9, 0xb6, 0x3f, 0x03, 0x92, 0x6c, 0x75, 0xc8, 0xb1, 0x28, 0x45, 0x19, 0x94, 0x80, 0x01, 0x75, - 0x6c, 0x6c, 0xbd, 0x0c, 0x62, 0x3b, 0x1c, 0x72, 0x58, 0x4e, 0x44, 0x79, 0x75, 0x05, 0x23, 0x36, 0xc7, 0x86, 0x13, - 0x30, 0xe3, 0x9d, 0x56, 0x85, 0x5e, 0xfc, 0xfc, 0xd7, 0xcc, 0x69, 0xed, 0x88, 0xb1, 0x9c, 0x44, 0xcd, 0x8a, 0xc1, - 0x8d, 0xc0, 0x31, 0x8c, 0xfb, 0x46, 0x42, 0xad, 0x4e, 0x75, 0x54, 0x3b, 0x92, 0x70, 0x0b, 0xd4, 0x6e, 0xfb, 0xe6, - 0x5c, 0x5a, 0xad, 0x76, 0x1e, 0x2c, 0xb8, 0x08, 0x70, 0xfb, 0x39, 0xd1, 0x35, 0x92, 0x42, 0x89, 0x93, 0xa0, 0x70, - 0x6e, 0x50, 0x55, 0x13, 0xd9, 0x6f, 0x0d, 0x80, 0x27, 0xed, 0x66, 0x17, 0xb2, 0x12, 0x92, 0xb3, 0x46, 0x03, 0xe5, - 0x65, 0xc7, 0xb4, 0x2f, 0x1a, 0xd9, 0x00, 0x33, 0x9c, 0x59, 0x81, 0x05, 0x4e, 0xaf, 0x38, 0xaf, 0xba, 0xee, 0x67, - 0x03, 0x84, 0x8b, 0xd5, 0x2a, 0xb6, 0x43, 0xcb, 0xd1, 0x6a, 0x95, 0x87, 0x43, 0x33, 0xf9, 0x50, 0xf1, 0x65, 0x4f, - 0x93, 0x97, 0xe6, 0x3c, 0x7c, 0x09, 0x83, 0x6c, 0x90, 0x38, 0x77, 0x2a, 0xc1, 0x1c, 0x34, 0x57, 0x0d, 0xd9, 0xcf, - 0x1a, 0xed, 0x41, 0x40, 0xc3, 0xfa, 0xd9, 0x80, 0xe4, 0x6b, 0xb0, 0x9c, 0x55, 0xee, 0xc0, 0xfc, 0x0c, 0x07, 0xdb, - 0x67, 0x73, 0xce, 0xd8, 0x06, 0xc3, 0x35, 0xd9, 0x54, 0x19, 0x94, 0x78, 0xe5, 0x16, 0xd7, 0x97, 0xab, 0x19, 0x58, - 0x94, 0x85, 0xb0, 0xbb, 0x66, 0xee, 0x81, 0xf0, 0x5f, 0x62, 0xbb, 0xa4, 0xa5, 0x11, 0xf7, 0x06, 0xe2, 0x7b, 0xdb, - 0xed, 0x24, 0x49, 0x68, 0x31, 0x31, 0x57, 0x22, 0xfe, 0x86, 0xd7, 0xec, 0x81, 0x63, 0x37, 0xce, 0xa0, 0xe7, 0x7e, - 0xd9, 0xd9, 0x80, 0xd8, 0xf1, 0x7b, 0x66, 0xc7, 0x3b, 0xae, 0x14, 0x74, 0xb7, 0x2e, 0xc2, 0x0e, 0x86, 0xfe, 0x2f, - 0x0f, 0xe6, 0xc4, 0x0d, 0xc6, 0xa2, 0xc9, 0x06, 0xdc, 0xbe, 0x01, 0x8f, 0x82, 0x6e, 0xc0, 0xed, 0xdb, 0xf0, 0xf5, - 0xd0, 0xca, 0xbe, 0x39, 0xc0, 0x80, 0x4c, 0xd8, 0x91, 0x56, 0x09, 0xc1, 0x30, 0x4f, 0x37, 0x39, 0x32, 0x4b, 0x56, - 0xe1, 0x70, 0xd5, 0x24, 0x16, 0x1b, 0x7b, 0xa1, 0x62, 0x52, 0x03, 0xc1, 0x58, 0xa4, 0x2f, 0x51, 0xa8, 0x34, 0xa8, - 0x1b, 0xc7, 0x00, 0x56, 0x39, 0x6d, 0xfd, 0xcb, 0x83, 0x03, 0x10, 0x1a, 0x80, 0xb5, 0x4b, 0x32, 0x3a, 0xd7, 0x8b, - 0x02, 0xf8, 0x2b, 0xe5, 0x7f, 0x43, 0x32, 0xb8, 0x9d, 0x98, 0x34, 0xf8, 0x01, 0x09, 0x73, 0xaa, 0x14, 0xff, 0x6a, - 0xd3, 0xdc, 0x6f, 0x5c, 0x10, 0x8f, 0xd1, 0xca, 0x72, 0x8a, 0x12, 0x75, 0xa5, 0x43, 0xd7, 0x3a, 0xe4, 0x9e, 0x7e, - 0x65, 0x42, 0xbf, 0xe4, 0x4a, 0x33, 0x01, 0x00, 0xa8, 0x10, 0x0f, 0xa6, 0xa4, 0x10, 0x6c, 0xdd, 0x5a, 0x2d, 0x3a, - 0x1a, 0x7d, 0xb7, 0x8a, 0xae, 0xb3, 0x45, 0x53, 0x2a, 0x46, 0xb9, 0xed, 0x24, 0xb4, 0x99, 0xf4, 0x76, 0xa2, 0x65, - 0xc9, 0xd0, 0x62, 0xa7, 0x62, 0x3f, 0x0c, 0xad, 0x8f, 0x05, 0xf1, 0xe7, 0x82, 0x3f, 0x4b, 0xbf, 0xcb, 0xc7, 0xc0, - 0x95, 0xfa, 0x37, 0x56, 0x21, 0x9c, 0x09, 0xd6, 0x01, 0x79, 0x4d, 0xea, 0xe3, 0xf4, 0xa8, 0x93, 0x6f, 0x29, 0x17, - 0x4a, 0xa3, 0xb0, 0x8d, 0x93, 0xc2, 0x60, 0xca, 0xd9, 0xb7, 0x25, 0xae, 0x5f, 0xfd, 0x31, 0xe2, 0x8f, 0x0e, 0xf1, - 0xef, 0x52, 0x69, 0xb4, 0x2c, 0x11, 0x0c, 0xf9, 0x1d, 0xa9, 0x15, 0x5c, 0xc5, 0xe6, 0x5c, 0x3f, 0xd7, 0xb3, 0x7c, - 0xc3, 0x13, 0xa7, 0xab, 0x55, 0x29, 0x15, 0xa8, 0xf8, 0x86, 0xe1, 0x27, 0x0c, 0xee, 0x8d, 0x9f, 0xf1, 0xa0, 0xca, - 0xf6, 0x7d, 0xf1, 0xb3, 0xe0, 0xbe, 0xf8, 0x19, 0x4f, 0xb7, 0x8b, 0x06, 0xf7, 0xc4, 0x9d, 0xe4, 0x3c, 0x69, 0x45, - 0x9e, 0x8f, 0x9a, 0xd2, 0xca, 0xbf, 0xd2, 0x6e, 0x0d, 0x5c, 0xd9, 0xc4, 0x81, 0x71, 0x5e, 0x5d, 0x84, 0x62, 0xce, - 0x9c, 0xd1, 0x72, 0xf8, 0xdf, 0x5a, 0x27, 0x77, 0xf2, 0x48, 0x2b, 0x85, 0xbc, 0xa1, 0x85, 0xbe, 0x07, 0x1b, 0xae, - 0xd8, 0xf2, 0x01, 0xa4, 0x04, 0x94, 0x6d, 0xff, 0x5e, 0x17, 0x81, 0x38, 0xae, 0xac, 0xf3, 0x51, 0xd8, 0x3e, 0x29, - 0x4a, 0xae, 0xae, 0x2e, 0x84, 0xdc, 0x1a, 0x2d, 0x01, 0xc2, 0xd4, 0xbb, 0xe6, 0x31, 0x47, 0x93, 0x59, 0xba, 0x5c, - 0x97, 0xaa, 0x83, 0xc2, 0x72, 0x75, 0x1c, 0xe1, 0x62, 0x6d, 0x6e, 0xd0, 0xff, 0xe1, 0xf8, 0x33, 0x77, 0x34, 0xf2, - 0xe7, 0x92, 0x02, 0xbd, 0xdf, 0xed, 0x6b, 0xb3, 0x83, 0x44, 0xda, 0x39, 0x94, 0x96, 0x02, 0x80, 0xd5, 0x06, 0x5f, - 0xd7, 0x1e, 0xa7, 0x9e, 0x48, 0x37, 0x9b, 0x6f, 0x1a, 0xc2, 0x62, 0x56, 0x5a, 0xf0, 0x98, 0x6e, 0x76, 0x58, 0x8e, - 0x7a, 0x59, 0x5c, 0x97, 0x7b, 0xac, 0xd6, 0x2f, 0xfa, 0x06, 0x28, 0x2b, 0x43, 0xb4, 0xd5, 0x2a, 0xae, 0xc3, 0x9b, - 0x88, 0xe0, 0x1a, 0x04, 0x61, 0x11, 0x18, 0x70, 0xd4, 0x18, 0x6f, 0x5b, 0x27, 0x46, 0x9b, 0xf6, 0x4b, 0x9e, 0x75, - 0xaf, 0x8d, 0x23, 0x54, 0x34, 0xd8, 0xea, 0xa1, 0xe6, 0x01, 0xdb, 0xd9, 0x95, 0x1d, 0x05, 0x10, 0x9a, 0x52, 0x6f, - 0x9c, 0x5b, 0x59, 0xd1, 0xee, 0x80, 0x2f, 0xfa, 0x8e, 0x79, 0xae, 0x03, 0xdd, 0x76, 0x7e, 0x60, 0xdb, 0xf4, 0x44, - 0x7e, 0xcb, 0xb6, 0xa9, 0xc6, 0x09, 0xef, 0xb7, 0xd0, 0xf7, 0x0d, 0x61, 0x6d, 0x5f, 0xbb, 0x8b, 0xfc, 0x2f, 0x74, - 0xd7, 0x06, 0xf4, 0xb4, 0x60, 0xf6, 0x34, 0xe6, 0x83, 0x5e, 0xaf, 0x7f, 0x2e, 0xfd, 0x17, 0x8c, 0xad, 0xd0, 0xcf, - 0x76, 0x17, 0x38, 0xb1, 0xd2, 0x38, 0x04, 0xc7, 0xff, 0x70, 0x32, 0xc9, 0xe5, 0x90, 0xe6, 0xef, 0xa0, 0xc7, 0x2a, - 0xf7, 0xf9, 0xdd, 0xa8, 0xa0, 0x9a, 0x39, 0x5a, 0x53, 0x8d, 0xe2, 0x1f, 0x1e, 0x0c, 0xe3, 0x1f, 0x6e, 0x29, 0x77, - 0xd5, 0x02, 0x5e, 0xbe, 0x2c, 0x9b, 0x48, 0x7f, 0x5e, 0x97, 0x32, 0x98, 0xda, 0xdd, 0xcb, 0x26, 0x49, 0x63, 0x25, - 0x49, 0x63, 0x2a, 0xde, 0x6c, 0x2a, 0x8e, 0x3f, 0x7f, 0x63, 0xb0, 0xdb, 0x64, 0xee, 0x73, 0x40, 0xe6, 0x3e, 0xf3, - 0xf4, 0xbb, 0xb5, 0x02, 0x8a, 0x77, 0x9c, 0x1c, 0x1b, 0xcb, 0x18, 0x3b, 0xea, 0xb7, 0x1a, 0x0c, 0x1a, 0x34, 0xb9, - 0x0c, 0xbc, 0x1d, 0xaa, 0xd3, 0xcb, 0xdb, 0x1f, 0xc5, 0xd9, 0x42, 0x69, 0x39, 0x73, 0x8d, 0x2a, 0xe7, 0xe3, 0x64, - 0x32, 0x41, 0x81, 0x6d, 0xee, 0xf0, 0xd3, 0xba, 0x1b, 0xd9, 0xf2, 0x0b, 0x17, 0xa3, 0x54, 0x61, 0x77, 0xb6, 0xa8, - 0x54, 0xae, 0x89, 0x37, 0x73, 0xde, 0xce, 0xc3, 0x63, 0x2e, 0xb8, 0x9a, 0xb2, 0x22, 0x2e, 0xd0, 0xf2, 0x5b, 0x9d, - 0x15, 0x70, 0x9b, 0x63, 0x3b, 0xc3, 0xa3, 0xd2, 0x72, 0x40, 0x27, 0xd0, 0x1a, 0xe8, 0x8c, 0x66, 0x4c, 0x4f, 0xe5, - 0x08, 0x0c, 0x5f, 0x92, 0x51, 0xe9, 0x4e, 0x75, 0x70, 0xb0, 0x1f, 0x47, 0x46, 0x7f, 0x01, 0x3e, 0xe8, 0x61, 0x0e, - 0xea, 0x2d, 0xc1, 0x31, 0xa8, 0xea, 0x9a, 0xa1, 0x25, 0xdb, 0xf4, 0xa1, 0xd1, 0xc9, 0x17, 0x76, 0x87, 0x39, 0x5a, - 0xaf, 0x53, 0x3b, 0xea, 0x68, 0xcc, 0x59, 0x3e, 0x8a, 0xf0, 0x17, 0x76, 0x97, 0x96, 0x6e, 0xeb, 0xc6, 0xcb, 0xda, - 0x2c, 0x62, 0x24, 0x6f, 0x44, 0x84, 0xab, 0x4e, 0xd2, 0xe5, 0x1a, 0xcb, 0x82, 0x4f, 0x00, 0x47, 0x7f, 0x61, 0x77, - 0xa9, 0x6b, 0x2f, 0x70, 0x15, 0x44, 0x4b, 0x0f, 0xfa, 0x24, 0x48, 0x0e, 0x97, 0xc1, 0x09, 0x1c, 0x7d, 0x53, 0x77, - 0x40, 0x6a, 0xe5, 0x2a, 0x11, 0x12, 0xa1, 0xf5, 0xbf, 0x3b, 0x15, 0xbc, 0x08, 0xcf, 0x39, 0x5d, 0xb3, 0xb8, 0xdd, - 0xa8, 0xc4, 0xa0, 0x42, 0x65, 0x41, 0xf2, 0x31, 0xe6, 0x7e, 0xf7, 0x39, 0xef, 0x87, 0x40, 0x67, 0xb6, 0xa0, 0xae, - 0xd1, 0x74, 0x64, 0x7e, 0xa1, 0xea, 0x0e, 0x6a, 0xa6, 0xab, 0x8a, 0x7b, 0x1f, 0x63, 0x00, 0x3c, 0x58, 0xcb, 0x50, - 0xe3, 0x10, 0xba, 0xf6, 0x66, 0xaa, 0x63, 0x4a, 0xe2, 0xa5, 0x9f, 0x43, 0xca, 0x43, 0x30, 0xea, 0x35, 0xa0, 0xa1, - 0x43, 0x30, 0x6b, 0x79, 0xc8, 0xc7, 0xb1, 0xd8, 0x3a, 0x43, 0xa5, 0x39, 0x43, 0x93, 0x00, 0xe4, 0xdf, 0x38, 0x33, - 0x99, 0x81, 0x86, 0xe1, 0x2d, 0xcd, 0x01, 0xe8, 0x56, 0xd7, 0xe1, 0x50, 0xb8, 0xa2, 0xa5, 0xf3, 0x9e, 0x5d, 0x74, - 0x59, 0x1b, 0x56, 0x6c, 0xda, 0x41, 0xeb, 0x14, 0xa6, 0xc4, 0x6c, 0x81, 0xb5, 0xd7, 0xfb, 0x70, 0x6f, 0x57, 0x1b, - 0x17, 0x89, 0x9f, 0x16, 0xf1, 0x30, 0x89, 0x29, 0x5a, 0xf2, 0x98, 0x62, 0x09, 0x76, 0x90, 0xc5, 0xba, 0x1c, 0x3f, - 0x0b, 0x97, 0xa3, 0x66, 0x25, 0xbd, 0xdb, 0xc1, 0x10, 0xb8, 0x7c, 0x0d, 0xb6, 0xa1, 0x98, 0x7b, 0xc2, 0xc2, 0x63, - 0xe3, 0xe9, 0x17, 0xac, 0xdb, 0xdc, 0x2e, 0x88, 0x5f, 0x81, 0x31, 0x8d, 0x97, 0xc1, 0x2c, 0x42, 0xa7, 0x72, 0xe7, - 0x70, 0xe8, 0xae, 0x09, 0x2b, 0xe3, 0xd5, 0x58, 0x91, 0x8d, 0xa3, 0xe7, 0xfb, 0x36, 0x9e, 0x7f, 0x2f, 0x58, 0x71, - 0x77, 0xc5, 0xc0, 0xc6, 0x5a, 0x82, 0xbb, 0x71, 0xb5, 0x0c, 0x95, 0x81, 0x7c, 0x4f, 0x1a, 0xd6, 0x65, 0x8d, 0xbf, - 0x1b, 0x15, 0x63, 0x6d, 0xee, 0x29, 0x03, 0x6d, 0x8d, 0xdd, 0x2e, 0xec, 0x9b, 0xae, 0x9b, 0xac, 0x6b, 0x14, 0x71, - 0x15, 0xa4, 0xdd, 0xdd, 0x02, 0x2e, 0x42, 0x7f, 0xd8, 0xbe, 0x1a, 0x6c, 0xaa, 0x6e, 0x20, 0x09, 0xae, 0xfd, 0xe4, - 0xb7, 0xa7, 0xba, 0xcb, 0x5a, 0xf7, 0xdb, 0x53, 0xad, 0x5d, 0x16, 0x1a, 0x43, 0x22, 0xec, 0xfa, 0x29, 0xfd, 0xa7, - 0xc5, 0x7a, 0x8d, 0xd6, 0x30, 0xbc, 0x47, 0xbc, 0x1b, 0xc7, 0x8f, 0xbc, 0x85, 0x62, 0x02, 0x17, 0xb9, 0x57, 0xb9, - 0xf4, 0x84, 0xbc, 0x1a, 0xc1, 0x23, 0xbe, 0x35, 0x84, 0x47, 0x3c, 0x70, 0x7a, 0x05, 0xa9, 0x69, 0x22, 0xd8, 0xc8, - 0xd3, 0x4f, 0x64, 0x91, 0xd0, 0xf0, 0x71, 0xaf, 0x39, 0x11, 0xfa, 0x53, 0x0a, 0xfc, 0x17, 0x1e, 0x2e, 0xb4, 0x96, - 0x02, 0x73, 0x31, 0x5f, 0x68, 0xac, 0xcc, 0xe8, 0x97, 0x63, 0x29, 0x74, 0x73, 0x4c, 0x67, 0x3c, 0xbf, 0x4b, 0x17, - 0xbc, 0x39, 0x93, 0x42, 0xaa, 0x39, 0xcd, 0x18, 0x56, 0x77, 0x4a, 0xb3, 0x59, 0x73, 0xc1, 0xf1, 0x73, 0x96, 0x7f, - 0x65, 0x9a, 0x67, 0x14, 0xbf, 0x95, 0x43, 0xa9, 0x25, 0x7e, 0x7d, 0x7b, 0x37, 0x61, 0x02, 0xff, 0x3e, 0x5c, 0x08, - 0xbd, 0xc0, 0x8a, 0x0a, 0xd5, 0x54, 0xac, 0xe0, 0xe3, 0x6e, 0xb3, 0x39, 0x2f, 0xf8, 0x8c, 0x16, 0x77, 0xcd, 0x4c, - 0xe6, 0xb2, 0x48, 0xff, 0xab, 0x75, 0x4c, 0x1f, 0x8c, 0x4f, 0xba, 0xba, 0xa0, 0x42, 0x71, 0x58, 0x98, 0x94, 0xe6, - 0xf9, 0xde, 0xf1, 0x69, 0x6b, 0xa6, 0xf6, 0xed, 0x85, 0x1f, 0x15, 0x7a, 0xfd, 0x09, 0x7f, 0x90, 0x30, 0xca, 0x64, - 0xa8, 0x85, 0x1b, 0xe4, 0x32, 0x5b, 0x14, 0x4a, 0x16, 0xe9, 0x5c, 0x72, 0xa1, 0x59, 0xd1, 0x1d, 0xca, 0x62, 0xc4, - 0x8a, 0x66, 0x41, 0x47, 0x7c, 0xa1, 0xd2, 0x93, 0xf9, 0x6d, 0xb7, 0xde, 0x83, 0xcd, 0x4f, 0x85, 0x14, 0xac, 0x0b, - 0xfc, 0xc6, 0xa4, 0x90, 0x0b, 0x31, 0x72, 0xc3, 0x58, 0x08, 0xc5, 0x74, 0x77, 0x4e, 0x47, 0x60, 0x07, 0x9c, 0x9e, - 0xcf, 0x6f, 0xbb, 0x66, 0xd6, 0x37, 0x8c, 0x4f, 0xa6, 0x3a, 0x3d, 0x6d, 0xb5, 0xec, 0xb7, 0xe2, 0xff, 0xb0, 0xb4, - 0xdd, 0x49, 0x3a, 0xa7, 0xf3, 0x5b, 0xe0, 0xe0, 0x35, 0x2b, 0x9a, 0x00, 0x0b, 0xa8, 0xd4, 0x4e, 0x5a, 0x0f, 0x8e, - 0xef, 0x43, 0x06, 0xd8, 0x38, 0x34, 0xcd, 0x84, 0xc0, 0xd8, 0x3d, 0x5d, 0xcc, 0xe7, 0xac, 0x00, 0x2f, 0xfa, 0xee, - 0x8c, 0x16, 0x13, 0x2e, 0x9a, 0x85, 0x69, 0xb4, 0x79, 0x3e, 0xbf, 0x5d, 0xc3, 0x7c, 0x52, 0x6b, 0xb6, 0xea, 0xa6, - 0xe5, 0xbe, 0x96, 0xc1, 0x10, 0x4d, 0x4c, 0x9a, 0xb4, 0x98, 0x0c, 0x69, 0xdc, 0xee, 0xdc, 0xc7, 0xfe, 0x7f, 0x49, - 0x07, 0x05, 0x60, 0x6b, 0x8e, 0x16, 0x85, 0xb9, 0x45, 0x4d, 0xdb, 0xca, 0x36, 0x3b, 0x95, 0x5f, 0x59, 0xe1, 0x5b, - 0x35, 0x1f, 0xcb, 0xad, 0x79, 0xff, 0x47, 0x8d, 0x52, 0xdb, 0xd6, 0x0b, 0x75, 0x05, 0x34, 0x7a, 0xbb, 0xb1, 0xff, - 0xea, 0x9c, 0xd3, 0xfb, 0x27, 0xa7, 0x1e, 0xee, 0xe3, 0xf1, 0xb8, 0x06, 0x74, 0x0f, 0xdd, 0x76, 0x6b, 0x7e, 0xbb, - 0xd7, 0x69, 0x79, 0x18, 0x5b, 0x98, 0x9e, 0xcd, 0x6f, 0x77, 0xac, 0x60, 0x80, 0x15, 0x9b, 0xbd, 0xed, 0x25, 0xc7, - 0x6a, 0x8f, 0x51, 0xc5, 0xd6, 0x9f, 0xf0, 0x84, 0x02, 0x6e, 0x18, 0xa4, 0xed, 0x1b, 0x39, 0x15, 0x56, 0x60, 0xb0, - 0xbc, 0xe1, 0x23, 0x3d, 0x4d, 0xdb, 0xad, 0xd6, 0x0f, 0x15, 0x26, 0x75, 0xa7, 0x76, 0x49, 0xdb, 0x05, 0x9b, 0xd5, - 0xf0, 0x6b, 0x46, 0xcb, 0x5d, 0xb0, 0x9c, 0x4b, 0xd7, 0x69, 0xc1, 0x72, 0x13, 0xe5, 0x66, 0xed, 0xb6, 0xc2, 0xd6, - 0x94, 0xb9, 0x98, 0xb2, 0x82, 0xeb, 0x6e, 0xfd, 0xab, 0xea, 0x78, 0x7b, 0x4e, 0x6b, 0x2b, 0x1f, 0x2f, 0x6d, 0x0d, - 0x77, 0x19, 0xfb, 0x18, 0x3e, 0xb6, 0xb1, 0xf2, 0x2b, 0x2d, 0xe2, 0x8d, 0x0d, 0x83, 0xc3, 0x1a, 0x68, 0x1d, 0xcc, - 0xb9, 0x00, 0x53, 0xd1, 0x01, 0xfe, 0x06, 0x14, 0x32, 0x9a, 0x67, 0x31, 0x8c, 0x68, 0xaf, 0xb9, 0x77, 0x5c, 0xb0, - 0x19, 0xf2, 0x80, 0x48, 0xee, 0x9f, 0x16, 0x6c, 0xb6, 0x4e, 0x4c, 0xf5, 0xa5, 0x41, 0x5d, 0x9a, 0xf3, 0x89, 0x48, - 0x33, 0x06, 0xdb, 0x6a, 0x9d, 0x30, 0xa1, 0xb9, 0xbe, 0x6b, 0x16, 0xf2, 0x66, 0x39, 0xe2, 0x6a, 0x9e, 0xd3, 0xbb, - 0x74, 0x9c, 0xb3, 0xdb, 0xae, 0x29, 0xd5, 0xe4, 0x9a, 0xcd, 0x94, 0x2b, 0xdb, 0x85, 0xf4, 0xe6, 0xc8, 0x9a, 0x73, - 0x00, 0xf4, 0xe4, 0xcd, 0xe6, 0xbe, 0xf6, 0x8b, 0xd6, 0x94, 0x0b, 0xbd, 0xd7, 0x52, 0xdd, 0x19, 0x17, 0x4d, 0x37, - 0x90, 0x13, 0xc0, 0x88, 0x6d, 0xc8, 0x07, 0xfd, 0x27, 0xec, 0x76, 0x4e, 0xc5, 0x88, 0x8d, 0x96, 0x41, 0xb5, 0x0e, - 0xd4, 0x0b, 0x4b, 0xa5, 0x42, 0x4f, 0x9b, 0xc6, 0x06, 0x2d, 0xee, 0x08, 0xf4, 0x0d, 0x94, 0x7f, 0xd0, 0xc2, 0xf6, - 0xff, 0x93, 0x36, 0x0a, 0x2b, 0xef, 0x41, 0x38, 0x28, 0x3e, 0xbe, 0x6b, 0xc2, 0xdf, 0x25, 0xf8, 0x3c, 0xf1, 0x8c, - 0xe6, 0x0e, 0x22, 0x33, 0x3e, 0x1a, 0xe5, 0xb5, 0x11, 0x5d, 0x06, 0x9d, 0xb5, 0xd1, 0x12, 0xe6, 0x9f, 0xb6, 0xf6, - 0x5a, 0x7b, 0x66, 0x2e, 0x6e, 0x1b, 0x9c, 0x9c, 0xdc, 0x3f, 0x7e, 0xc0, 0xba, 0x39, 0x17, 0xac, 0x36, 0xd5, 0xef, - 0x82, 0x3a, 0x6c, 0xb8, 0xe3, 0x1a, 0x6e, 0xef, 0xb5, 0xf7, 0x4e, 0x5a, 0x3f, 0x78, 0x2a, 0x92, 0xb3, 0xb1, 0xb6, - 0xfb, 0xa6, 0x46, 0x56, 0xce, 0x7d, 0xd3, 0x37, 0x05, 0x9d, 0xa7, 0x42, 0xc2, 0x9f, 0x2e, 0x6c, 0xfe, 0x71, 0x2e, - 0x6f, 0xd2, 0x29, 0x1f, 0x8d, 0x98, 0xb0, 0x05, 0xca, 0x44, 0x96, 0xe7, 0x7c, 0xae, 0xb8, 0x5d, 0x0d, 0x87, 0xbb, - 0xa7, 0x1b, 0x50, 0x0d, 0x07, 0x74, 0x1c, 0x0c, 0xe8, 0xb4, 0x1a, 0x50, 0xd5, 0x7f, 0x38, 0xc2, 0xce, 0xc6, 0x5c, - 0x4d, 0xa9, 0x6e, 0x0d, 0x93, 0x3e, 0x2f, 0x94, 0x06, 0x98, 0x7b, 0xe3, 0x11, 0x73, 0xba, 0x34, 0x87, 0x4c, 0xdf, - 0x30, 0x26, 0xbe, 0x3d, 0x88, 0xcb, 0x54, 0x8a, 0xfc, 0xce, 0x7e, 0x2e, 0xc3, 0x2e, 0xe9, 0x42, 0xcb, 0x75, 0x32, - 0xe4, 0x82, 0x16, 0x77, 0xd7, 0x8a, 0x09, 0x25, 0x8b, 0x6b, 0x39, 0x1e, 0x2f, 0xbf, 0x45, 0xf2, 0xee, 0xa3, 0x75, - 0xa2, 0xb8, 0x98, 0xe4, 0xcc, 0x12, 0x38, 0x83, 0x08, 0xee, 0x90, 0xb1, 0xed, 0x9a, 0x26, 0x6b, 0x83, 0x5e, 0x27, - 0x59, 0xce, 0x67, 0x54, 0x33, 0x03, 0xe7, 0x80, 0xd4, 0xb8, 0xc9, 0x5b, 0x2a, 0xd7, 0xda, 0xb3, 0x7f, 0xaa, 0xd2, - 0xb0, 0x8d, 0x82, 0xc2, 0xbe, 0x49, 0x2e, 0x0c, 0x7e, 0x18, 0x70, 0x98, 0x5d, 0x64, 0x56, 0xcf, 0xac, 0x5d, 0x00, - 0x3b, 0x98, 0x5d, 0xad, 0xa9, 0x4b, 0x47, 0x97, 0x6c, 0x8b, 0xa7, 0xad, 0x1f, 0xea, 0xb9, 0x39, 0x1d, 0xb2, 0x7c, - 0x69, 0x37, 0xaa, 0x07, 0xae, 0xdb, 0xaa, 0xe1, 0x32, 0x07, 0x24, 0xc3, 0x80, 0x68, 0x90, 0xa6, 0xcd, 0x1b, 0x36, - 0xfc, 0xc2, 0xb5, 0xdd, 0x32, 0x4d, 0x75, 0x03, 0x4e, 0x45, 0x66, 0x4c, 0x73, 0x56, 0x2c, 0x3d, 0x21, 0x6f, 0xd5, - 0x08, 0xe8, 0x95, 0x30, 0x07, 0xb4, 0xa6, 0xc3, 0x26, 0x84, 0x58, 0x63, 0xc5, 0x72, 0xd7, 0xe4, 0x66, 0xf4, 0xd6, - 0xa1, 0xd8, 0x83, 0xd6, 0x0f, 0xb5, 0x43, 0xf6, 0xa4, 0xd5, 0xf2, 0x47, 0x44, 0xd3, 0xd6, 0x48, 0xdb, 0xc9, 0x29, - 0x9b, 0x95, 0x89, 0x5a, 0xce, 0xd3, 0x5a, 0xc2, 0x50, 0x6a, 0x2d, 0x67, 0x36, 0x6d, 0x07, 0x35, 0xaa, 0x93, 0xde, - 0x76, 0x67, 0x7e, 0xbb, 0x67, 0xfe, 0x69, 0xed, 0xb5, 0xb6, 0x49, 0xed, 0x36, 0x56, 0x1c, 0x23, 0x8f, 0xc7, 0xd0, - 0x71, 0x9b, 0xcd, 0xba, 0x0b, 0x05, 0xc7, 0xbd, 0x81, 0xb8, 0x39, 0xd1, 0xd6, 0x66, 0xb2, 0x00, 0x58, 0xca, 0x05, - 0x9c, 0xae, 0xf6, 0xb0, 0x83, 0x3e, 0x94, 0x04, 0x73, 0xf8, 0x9d, 0x8d, 0xd6, 0x87, 0xd5, 0xda, 0xab, 0x06, 0x06, - 0xff, 0xac, 0x3f, 0x55, 0xfc, 0xf9, 0x0b, 0x16, 0xc8, 0x47, 0xbc, 0x91, 0x9c, 0xae, 0x5a, 0x4e, 0x26, 0x1a, 0xe9, - 0x4a, 0x54, 0x33, 0x1e, 0x25, 0x33, 0x7a, 0x6b, 0x5d, 0x4b, 0x66, 0x5c, 0x80, 0xe1, 0x1a, 0xc2, 0x3a, 0x30, 0xf1, - 0x9f, 0x86, 0x0d, 0x8d, 0x74, 0x0c, 0x0d, 0x1f, 0x76, 0x92, 0xd3, 0x53, 0x84, 0x5b, 0xb8, 0x73, 0x7a, 0x1a, 0xc8, - 0x64, 0x63, 0xbd, 0xab, 0xe8, 0xae, 0x92, 0x72, 0x47, 0xc9, 0x23, 0xd3, 0xe8, 0x51, 0xbb, 0xd5, 0xc2, 0xc6, 0x7d, - 0xbe, 0x2c, 0xcc, 0xd5, 0x8e, 0x66, 0xdb, 0xad, 0x16, 0x34, 0x0b, 0x7f, 0xdc, 0xbc, 0x7e, 0x21, 0xcb, 0x56, 0xda, - 0xc2, 0xed, 0xb4, 0x8d, 0x3b, 0x69, 0x07, 0x1f, 0xa7, 0xc7, 0xf8, 0x24, 0x3d, 0xc1, 0xa7, 0xe9, 0x29, 0x3e, 0x4b, - 0xcf, 0xf0, 0xfd, 0xf4, 0x3e, 0x3e, 0x4f, 0xcf, 0xf1, 0x83, 0xf4, 0x01, 0x7e, 0x98, 0xb6, 0x5b, 0xf8, 0x51, 0xda, - 0x6e, 0xe3, 0xc7, 0x69, 0xbb, 0x83, 0x9f, 0xa4, 0xed, 0x63, 0xfc, 0x34, 0x6d, 0x9f, 0xe0, 0x67, 0x69, 0xfb, 0x14, - 0x53, 0xc8, 0x1d, 0x42, 0x6e, 0x06, 0xb9, 0x23, 0xc8, 0x65, 0x90, 0x3b, 0x4e, 0xdb, 0xa7, 0x6b, 0xac, 0x6c, 0xc8, - 0x8d, 0xa8, 0xd5, 0xee, 0x1c, 0x9f, 0x9c, 0x9e, 0xdd, 0x3f, 0x7f, 0xf0, 0xf0, 0xd1, 0xe3, 0x27, 0x4f, 0x9f, 0x45, - 0x03, 0x3c, 0x34, 0x9e, 0x2f, 0x4a, 0xf4, 0xf9, 0x41, 0xfb, 0x74, 0x80, 0xaf, 0xfd, 0x67, 0xcc, 0x0f, 0x3a, 0x27, - 0x2d, 0x74, 0x79, 0x79, 0x32, 0x68, 0x94, 0xb9, 0x8f, 0x8c, 0xc3, 0x4d, 0x95, 0x45, 0x08, 0x89, 0x21, 0x07, 0xe1, - 0x3b, 0x53, 0xef, 0x11, 0x8b, 0x79, 0x52, 0xa0, 0x83, 0x03, 0xf3, 0x63, 0xe2, 0x7f, 0x0c, 0xfd, 0x0f, 0x1a, 0x2c, - 0xd2, 0x2d, 0x8d, 0x9d, 0xc7, 0xb5, 0x2e, 0xfd, 0x1d, 0x4a, 0x53, 0xa2, 0x3d, 0xee, 0x8c, 0xfa, 0xff, 0x2b, 0xb2, - 0x46, 0x3b, 0xe4, 0xc4, 0x2a, 0xc6, 0x4e, 0x7b, 0x8c, 0x2c, 0x8b, 0xb4, 0x73, 0x7a, 0x7a, 0xf0, 0x4b, 0x9f, 0xf7, - 0xdb, 0x83, 0xc1, 0x61, 0xfb, 0x3e, 0x9e, 0x94, 0x09, 0x1d, 0x9b, 0x30, 0x2c, 0x13, 0x8e, 0x6d, 0x02, 0x4d, 0x6d, - 0x6d, 0x48, 0x3a, 0x31, 0x49, 0x50, 0x62, 0x9d, 0x9a, 0xb6, 0xef, 0xdb, 0xb6, 0x1f, 0x80, 0x35, 0x99, 0x69, 0xde, - 0x35, 0x7d, 0x71, 0x71, 0xb2, 0x72, 0x8d, 0xe2, 0x49, 0xea, 0x5a, 0xf3, 0x89, 0x27, 0x83, 0x01, 0x1e, 0x9a, 0xc4, - 0xd3, 0x2a, 0xf1, 0x6c, 0x30, 0x70, 0x5d, 0x3d, 0x30, 0x5d, 0xdd, 0xaf, 0xb2, 0xce, 0x07, 0x03, 0xd3, 0x25, 0x72, - 0xb1, 0x03, 0x94, 0xde, 0xfb, 0x5a, 0xea, 0x6f, 0xf8, 0x45, 0xe7, 0xf4, 0xb4, 0x07, 0x18, 0x66, 0x6c, 0x82, 0x3d, - 0x8c, 0x6e, 0x02, 0x18, 0xdd, 0xc1, 0xef, 0xde, 0x90, 0xa6, 0xd7, 0xb4, 0x04, 0x52, 0x2f, 0xfa, 0xaf, 0xa8, 0xa1, - 0x0d, 0xcc, 0xcd, 0x9f, 0x89, 0xfd, 0x33, 0x44, 0x8d, 0xaf, 0x14, 0xc0, 0x0d, 0x1a, 0x29, 0xaf, 0x52, 0x36, 0x3d, - 0x7e, 0xa1, 0xe0, 0xe2, 0x33, 0x55, 0x39, 0xed, 0xad, 0xa6, 0x37, 0xc3, 0xd5, 0x54, 0x7d, 0x45, 0x7f, 0xc5, 0x7f, - 0xa9, 0xc3, 0xb8, 0xdf, 0x6c, 0x24, 0xec, 0xaf, 0x11, 0xf8, 0x12, 0xf5, 0xd2, 0x11, 0x9b, 0xa0, 0x5e, 0xff, 0x2f, - 0x85, 0x07, 0x8d, 0x20, 0xe3, 0x87, 0xed, 0x14, 0xf0, 0x34, 0xda, 0x4c, 0x8c, 0x7f, 0x40, 0x3d, 0xd4, 0xfb, 0x4b, - 0x1d, 0xfe, 0x85, 0xee, 0x1d, 0x55, 0x73, 0xf9, 0x5d, 0xba, 0x2d, 0x5c, 0x85, 0x1f, 0x3a, 0x2c, 0xb7, 0x30, 0xc3, - 0xed, 0x26, 0x83, 0x60, 0x6d, 0xe0, 0x8a, 0x4e, 0x62, 0xd9, 0xe0, 0x47, 0xc7, 0x2d, 0xf4, 0x43, 0xbb, 0x03, 0xca, - 0x95, 0xa6, 0x38, 0xdc, 0xde, 0xf4, 0x45, 0xf3, 0x18, 0x3f, 0x68, 0x16, 0xb8, 0x8d, 0x70, 0xb3, 0xed, 0xb5, 0xde, - 0x7d, 0x15, 0xb7, 0x10, 0x56, 0xf1, 0x39, 0xfc, 0x73, 0x82, 0x06, 0xd5, 0x86, 0xbc, 0xa2, 0x9b, 0xbd, 0x83, 0xdf, - 0x2c, 0x89, 0x55, 0x83, 0x1f, 0x9d, 0xb5, 0xd0, 0x0f, 0x67, 0xa6, 0x23, 0x76, 0xa8, 0x77, 0x74, 0x25, 0xf1, 0x49, - 0x53, 0x42, 0x47, 0xad, 0xb2, 0x1f, 0x11, 0x9f, 0x22, 0x2c, 0xe2, 0x63, 0xf8, 0xa7, 0x1d, 0xf6, 0xf3, 0xeb, 0x56, - 0x3f, 0x66, 0xde, 0x6d, 0x9c, 0x9c, 0x5a, 0x37, 0x5c, 0x65, 0xef, 0xc4, 0x1b, 0xec, 0xb2, 0x6d, 0x2e, 0xf3, 0xda, - 0x47, 0xf0, 0x81, 0xb0, 0x3e, 0x24, 0x0a, 0xb3, 0x43, 0xf0, 0xdf, 0x05, 0xb3, 0x15, 0x75, 0x71, 0xdc, 0x55, 0x8d, - 0x06, 0x12, 0x7d, 0x35, 0x38, 0x24, 0xed, 0xa6, 0x6e, 0x32, 0x0c, 0xbf, 0x1b, 0xa4, 0x0c, 0x0a, 0x27, 0xaa, 0x5e, - 0x1f, 0xbb, 0x5e, 0xed, 0xcd, 0xbf, 0xc7, 0x0e, 0x42, 0x88, 0xea, 0xc5, 0xba, 0xc9, 0xd0, 0x91, 0x68, 0xc4, 0xfa, - 0x82, 0xf5, 0xce, 0xd2, 0x16, 0x32, 0xd8, 0xa9, 0x7a, 0x31, 0x6b, 0x72, 0x48, 0xef, 0xa4, 0x31, 0x6f, 0x6a, 0xf8, - 0x75, 0x12, 0xcc, 0x42, 0x00, 0xde, 0x55, 0xde, 0x48, 0xc5, 0x51, 0xe7, 0xf4, 0x14, 0x0b, 0xc2, 0x93, 0x89, 0xf9, - 0xa5, 0x08, 0x4f, 0x86, 0xe6, 0x97, 0x24, 0x25, 0xbc, 0x6c, 0xef, 0xb8, 0x20, 0xc1, 0xaa, 0x9a, 0x14, 0x0a, 0x0b, - 0x5a, 0xa0, 0xa3, 0x8e, 0x37, 0x0b, 0xc0, 0x53, 0x3f, 0x07, 0x50, 0x83, 0x14, 0xc6, 0x22, 0x54, 0x36, 0x0b, 0x9c, - 0x13, 0x7a, 0x99, 0x9c, 0xf6, 0xa6, 0x47, 0x71, 0xa7, 0x29, 0x9b, 0x05, 0x4a, 0xa7, 0x47, 0xa6, 0x26, 0xce, 0xc8, - 0x63, 0x6a, 0x5b, 0xc3, 0x53, 0xb8, 0xcb, 0xcd, 0x48, 0x76, 0x78, 0xd6, 0x6a, 0x24, 0xa7, 0x08, 0xf7, 0xb3, 0x55, - 0x0b, 0xe7, 0xab, 0x55, 0x0b, 0xd3, 0x60, 0x19, 0x1e, 0x0b, 0x0f, 0x90, 0x52, 0x53, 0xb7, 0x19, 0x9b, 0xa7, 0xc7, - 0x63, 0x0d, 0x76, 0x09, 0x1a, 0xbc, 0x7d, 0x34, 0xf8, 0x21, 0xa5, 0xdc, 0x5d, 0x08, 0x22, 0x13, 0x9d, 0x70, 0x1c, - 0xea, 0xee, 0x5e, 0x0b, 0xbf, 0xae, 0xde, 0xb2, 0x54, 0xc4, 0xbf, 0x4b, 0x6c, 0xd3, 0x82, 0x62, 0x74, 0xbb, 0xd8, - 0xaf, 0x74, 0xab, 0xd8, 0x9b, 0x1d, 0xc5, 0xae, 0xb6, 0x8b, 0x7d, 0x94, 0x81, 0xa6, 0x91, 0xff, 0x70, 0x7c, 0xd6, - 0x6a, 0x1c, 0x03, 0xb2, 0x1e, 0x9f, 0xb5, 0xaa, 0x42, 0xf7, 0x68, 0xb5, 0x56, 0x9a, 0x7c, 0xa1, 0xd6, 0xd7, 0x82, - 0x7b, 0xa7, 0x6f, 0xb3, 0x70, 0xd6, 0xe5, 0xbc, 0xf4, 0x2f, 0xef, 0x9f, 0x82, 0x2d, 0x8b, 0x30, 0xd4, 0x4e, 0xf7, - 0xcf, 0x06, 0xbd, 0x29, 0x8b, 0x1b, 0x90, 0x8a, 0xd2, 0xb1, 0x76, 0xbf, 0x50, 0x79, 0xa5, 0xfd, 0x51, 0x42, 0x52, - 0x67, 0x80, 0xb0, 0x24, 0x0d, 0xdd, 0x3f, 0x1e, 0x98, 0xf3, 0xae, 0x80, 0xdf, 0x27, 0xe6, 0x77, 0xa9, 0x50, 0x72, - 0x0e, 0x19, 0xd3, 0x9b, 0x61, 0xd4, 0x13, 0xe4, 0x35, 0x8d, 0x8d, 0x8d, 0x3d, 0x4a, 0xcb, 0x0c, 0xf5, 0x15, 0x32, - 0xde, 0x94, 0x19, 0x82, 0xbc, 0x16, 0xee, 0x37, 0x5e, 0x16, 0x29, 0xd8, 0xdb, 0xe0, 0x49, 0x0a, 0xb6, 0x36, 0x78, - 0x98, 0x0a, 0xf0, 0x07, 0xa1, 0x29, 0x0b, 0xac, 0xf8, 0x1f, 0x3a, 0x0d, 0x9e, 0xb9, 0x75, 0x26, 0x06, 0x4b, 0xbb, - 0x0c, 0x4e, 0x8a, 0x8f, 0x32, 0x86, 0xbf, 0x0d, 0x8d, 0x30, 0x83, 0x36, 0x19, 0xc2, 0x3c, 0x29, 0x08, 0xa4, 0x61, - 0x9e, 0x4c, 0x08, 0x83, 0x26, 0x79, 0x32, 0x24, 0xac, 0xdf, 0x09, 0xd0, 0xe4, 0xa9, 0x81, 0x1d, 0x00, 0x87, 0xd7, - 0x2f, 0xf2, 0xb5, 0x6d, 0x1c, 0x2c, 0x04, 0xa0, 0x09, 0x41, 0xb8, 0x8a, 0x61, 0x16, 0xb0, 0x39, 0xcd, 0xcf, 0x4e, - 0x15, 0xfe, 0x92, 0x27, 0xd4, 0x50, 0xef, 0x4f, 0x40, 0x56, 0xe3, 0x7b, 0x4b, 0xb6, 0xc6, 0x7b, 0xf7, 0x96, 0x62, - 0xfd, 0x03, 0xfc, 0x51, 0xf6, 0x0f, 0x30, 0x0f, 0x09, 0x45, 0x6b, 0xf4, 0x29, 0x85, 0x62, 0x3b, 0x4a, 0xa1, 0x4f, - 0xde, 0x1d, 0x50, 0x91, 0xe5, 0x6d, 0x1a, 0x8d, 0x68, 0xf1, 0x25, 0xc2, 0x7f, 0xa6, 0x51, 0x0e, 0xdc, 0x62, 0x84, - 0x3f, 0xa6, 0x51, 0xc1, 0x22, 0xfc, 0x47, 0x1a, 0x0d, 0xf3, 0x45, 0x84, 0x3f, 0xa4, 0xd1, 0xa4, 0x88, 0xf0, 0x7b, - 0x50, 0xd6, 0x8e, 0xf8, 0x62, 0x16, 0xe1, 0xdf, 0xd3, 0x48, 0x19, 0x6f, 0x08, 0xfc, 0x30, 0x8d, 0x18, 0x8b, 0xf0, - 0xbb, 0x34, 0x92, 0x79, 0x84, 0xaf, 0xd2, 0x48, 0x16, 0x11, 0x7e, 0x94, 0x46, 0x05, 0x8d, 0xf0, 0xe3, 0x34, 0x82, - 0x42, 0x93, 0x08, 0x3f, 0x49, 0x23, 0x68, 0x59, 0x45, 0xf8, 0x6d, 0x1a, 0x71, 0x11, 0xe1, 0xdf, 0xd2, 0x48, 0x2f, - 0x8a, 0xbf, 0x17, 0x92, 0xab, 0x08, 0x3f, 0x4d, 0xa3, 0x29, 0x8f, 0xf0, 0x9b, 0x34, 0x2a, 0x64, 0x84, 0x5f, 0xa7, - 0x11, 0xcd, 0x23, 0xfc, 0x2a, 0x8d, 0x72, 0x16, 0xe1, 0x5f, 0xd3, 0x68, 0xc4, 0x22, 0xfc, 0x32, 0x8d, 0xee, 0x58, - 0x9e, 0xcb, 0x08, 0x3f, 0x4b, 0x23, 0x26, 0x22, 0xfc, 0x4b, 0x1a, 0x65, 0xd3, 0x08, 0xff, 0x94, 0x46, 0xb4, 0xf8, - 0xa2, 0x22, 0xfc, 0x3c, 0x8d, 0x18, 0x8d, 0xf0, 0x0b, 0xdb, 0xd1, 0x24, 0xc2, 0x3f, 0xa7, 0xd1, 0xcd, 0x34, 0x5a, - 0x63, 0xa5, 0xc8, 0xf2, 0x35, 0xcf, 0xd8, 0x1f, 0x2c, 0x8d, 0xc6, 0xad, 0xf1, 0xf9, 0x78, 0x1c, 0x61, 0x2a, 0x34, - 0xff, 0x7b, 0xc1, 0x6e, 0x9e, 0x6a, 0x48, 0xa4, 0x6c, 0x38, 0xba, 0x1f, 0x61, 0xfa, 0xf7, 0x82, 0xa6, 0xd1, 0x78, - 0x6c, 0x0a, 0xfc, 0xbd, 0xa0, 0x33, 0x5a, 0xbc, 0x65, 0x69, 0x74, 0x7f, 0x3c, 0x1e, 0x8f, 0x4e, 0x22, 0x4c, 0xff, - 0x59, 0x7c, 0x34, 0x2d, 0x98, 0x02, 0x43, 0xc6, 0x27, 0x50, 0xf7, 0x74, 0x7c, 0x3a, 0xca, 0x22, 0x3c, 0xe4, 0xea, - 0xef, 0x05, 0x7c, 0x8f, 0xd9, 0x49, 0x76, 0x12, 0xe1, 0x61, 0x4e, 0xb3, 0x2f, 0x69, 0xd4, 0x32, 0xbf, 0xc4, 0x2f, - 0x6c, 0xf4, 0x7a, 0x26, 0xcd, 0x55, 0xc6, 0x98, 0x0d, 0xb3, 0x51, 0x84, 0xcd, 0x60, 0xc6, 0xf0, 0xf7, 0x2b, 0x7f, - 0xc7, 0x74, 0x1a, 0x9d, 0xd3, 0xce, 0x90, 0x75, 0x22, 0x3c, 0x7c, 0x73, 0x23, 0xd2, 0x88, 0x9e, 0x76, 0x68, 0x87, - 0x46, 0x78, 0xb8, 0x28, 0xf2, 0xbb, 0x1b, 0x29, 0x47, 0x00, 0x84, 0xe1, 0xf9, 0xf9, 0xfd, 0x08, 0x67, 0xf4, 0x57, - 0x0d, 0xb5, 0x4f, 0xc7, 0x0f, 0x18, 0x6d, 0x45, 0xf8, 0x17, 0x5a, 0xe8, 0x8f, 0x0b, 0xe5, 0x06, 0xda, 0x82, 0x14, - 0x99, 0xbd, 0x03, 0x35, 0x7f, 0x34, 0xea, 0x9c, 0x3d, 0x68, 0xb3, 0x08, 0x67, 0x57, 0xaf, 0xa1, 0xb7, 0xfb, 0xe3, - 0xd3, 0x16, 0x7c, 0x08, 0x90, 0x4b, 0x59, 0x01, 0x8d, 0x9c, 0x9d, 0x3c, 0x38, 0x65, 0x23, 0x93, 0xa8, 0x78, 0xfe, - 0xc5, 0xcc, 0xfe, 0x1c, 0xe6, 0x93, 0x15, 0x7c, 0xa6, 0xa4, 0x48, 0xa3, 0x51, 0xd6, 0x3e, 0x39, 0x86, 0x84, 0x3b, - 0x2a, 0x3c, 0x70, 0x6e, 0xa1, 0xea, 0xf9, 0x30, 0xc2, 0xb7, 0x36, 0xf5, 0x7c, 0x68, 0x3e, 0x26, 0xef, 0x7e, 0x15, - 0x6f, 0x46, 0x69, 0x34, 0x3c, 0x3f, 0x3f, 0x6b, 0x41, 0xc2, 0x07, 0x7a, 0x97, 0x46, 0xf4, 0x01, 0xfc, 0x07, 0xd9, - 0x1f, 0x9f, 0x41, 0x87, 0x30, 0xc2, 0xdb, 0xc9, 0xc7, 0x30, 0xe7, 0xcb, 0x94, 0x7e, 0xe1, 0x69, 0x34, 0x1c, 0x0d, - 0xef, 0x9f, 0x41, 0xbd, 0x19, 0x9d, 0x3c, 0xd3, 0x14, 0xda, 0x6d, 0xb5, 0x4c, 0xcb, 0xef, 0xf8, 0x57, 0x66, 0xaa, - 0x9f, 0x9e, 0x9e, 0x0d, 0x3b, 0x30, 0x82, 0x2b, 0x50, 0xa8, 0xc0, 0x78, 0xce, 0x33, 0xd3, 0xe0, 0x55, 0xf6, 0x74, - 0x94, 0x46, 0x0f, 0x1e, 0x1c, 0x77, 0xb2, 0x2c, 0xc2, 0xb7, 0x1f, 0x47, 0xb6, 0xb6, 0xc9, 0x53, 0x00, 0xfb, 0x34, - 0x62, 0x0f, 0x1e, 0x9c, 0xdd, 0xa7, 0xf0, 0xfd, 0xdc, 0xb4, 0x75, 0x3e, 0x1e, 0x66, 0xe7, 0xd0, 0xd6, 0xef, 0x30, - 0x9d, 0x93, 0xf3, 0xe3, 0x91, 0xe9, 0xeb, 0x77, 0x33, 0xea, 0xce, 0xf8, 0x64, 0x7c, 0x62, 0x32, 0xcd, 0x50, 0xcb, - 0xcf, 0xdf, 0x58, 0x1a, 0x65, 0x6c, 0xd4, 0x8e, 0xf0, 0xad, 0x5b, 0xb8, 0x07, 0x27, 0xad, 0xd6, 0xe8, 0x38, 0xc2, - 0xa3, 0x87, 0xf3, 0xf9, 0x5b, 0x03, 0xc1, 0xf6, 0xc9, 0x03, 0xfb, 0xad, 0xbe, 0xdc, 0x41, 0xd3, 0x43, 0x03, 0xb4, - 0x11, 0x9f, 0x99, 0x96, 0xcf, 0x1e, 0xc0, 0x7f, 0xe6, 0xdb, 0x34, 0x5d, 0x7e, 0xcb, 0xd1, 0xc4, 0x2e, 0x4a, 0x9b, - 0x3d, 0x68, 0x41, 0x8d, 0x31, 0xff, 0x38, 0x2c, 0x38, 0xa0, 0xd1, 0xb0, 0x03, 0xff, 0x17, 0xe1, 0x71, 0x7e, 0xf5, - 0xda, 0xe1, 0xec, 0x78, 0x4c, 0xc7, 0xad, 0x08, 0x8f, 0xe5, 0x47, 0xa5, 0x3f, 0x3c, 0x14, 0x69, 0xd4, 0xe9, 0x9c, - 0x0f, 0x4d, 0x99, 0xc5, 0x2f, 0x8a, 0x1b, 0x3c, 0x6e, 0x99, 0x56, 0x26, 0xf4, 0xad, 0x1a, 0x5e, 0x49, 0x58, 0x49, - 0xf8, 0x2f, 0xc2, 0x13, 0xd0, 0xc2, 0xb9, 0x56, 0xce, 0xed, 0x76, 0x98, 0xbc, 0x33, 0xa8, 0x39, 0xba, 0x0f, 0xf0, - 0xf2, 0xcb, 0x38, 0xa2, 0xf4, 0xb4, 0xd3, 0x8a, 0xb0, 0x19, 0xf5, 0x79, 0x0b, 0xfe, 0x8b, 0xb0, 0x85, 0x9c, 0x81, - 0xeb, 0xe4, 0xe3, 0xb3, 0x97, 0x37, 0x69, 0x44, 0x47, 0xe3, 0x31, 0x2c, 0x89, 0x99, 0x8c, 0x2f, 0x36, 0x95, 0x82, - 0xdd, 0xfd, 0x7a, 0xe3, 0xb6, 0x8b, 0x49, 0xd0, 0x0e, 0x3a, 0x67, 0x0f, 0x86, 0x27, 0x11, 0x7e, 0x3b, 0xe2, 0x54, - 0xc0, 0x2a, 0x65, 0xa3, 0xd3, 0xec, 0x34, 0x33, 0x09, 0x13, 0x99, 0x46, 0x27, 0xb0, 0xe4, 0x9d, 0x08, 0xf3, 0xaf, - 0x57, 0x77, 0x16, 0xdd, 0xa0, 0xb6, 0x43, 0x90, 0x71, 0x8b, 0x9d, 0x9d, 0x67, 0x11, 0xce, 0xe9, 0xd7, 0x67, 0xbf, - 0x16, 0x69, 0xc4, 0xce, 0xd8, 0xd9, 0x98, 0xfa, 0xef, 0x3f, 0xd4, 0xd4, 0xd4, 0x68, 0x8d, 0x4f, 0x21, 0xe9, 0x46, - 0x98, 0xb1, 0xde, 0xcf, 0xc6, 0x06, 0x43, 0x5e, 0xcd, 0xa4, 0xc8, 0x9e, 0x8e, 0xc7, 0xd2, 0x62, 0x31, 0x85, 0x4d, - 0xf8, 0x27, 0x40, 0x9b, 0x8e, 0x46, 0xe7, 0xec, 0x2c, 0xc2, 0x7f, 0xda, 0x5d, 0xe2, 0x26, 0xf0, 0xa7, 0xc5, 0x6c, - 0xe6, 0x76, 0xfb, 0x9f, 0x16, 0x28, 0x30, 0xdf, 0x31, 0x1d, 0xd3, 0x51, 0x27, 0xc2, 0x7f, 0x1a, 0xb8, 0x8c, 0x8e, - 0xe1, 0x3f, 0x28, 0x00, 0x9d, 0x3d, 0x68, 0x31, 0xf6, 0xa0, 0x65, 0xbe, 0xc2, 0x3c, 0x37, 0xf3, 0xe1, 0x59, 0xd6, - 0x8e, 0xf0, 0x9f, 0x0e, 0x1d, 0xc7, 0x63, 0xda, 0x02, 0x74, 0xfc, 0xd3, 0xa1, 0x63, 0xa7, 0x35, 0xec, 0x50, 0xf3, - 0x6d, 0xb1, 0xe6, 0xfc, 0x7e, 0xc6, 0x60, 0x72, 0x7f, 0x5a, 0x84, 0xbc, 0x7f, 0xff, 0xfc, 0xfc, 0xc1, 0x03, 0xf8, - 0x34, 0x6d, 0x97, 0x9f, 0x4a, 0x3f, 0xcc, 0x0d, 0x92, 0xb5, 0xb2, 0x13, 0xa0, 0x93, 0x7f, 0x9a, 0x31, 0x8e, 0xc7, - 0x63, 0xd6, 0x8a, 0x70, 0xce, 0x67, 0xcc, 0x62, 0x82, 0xfd, 0x6d, 0x3a, 0x3a, 0xee, 0x64, 0xa3, 0xe3, 0x4e, 0x84, - 0xf3, 0xb7, 0xcf, 0xcc, 0x6c, 0x5a, 0x30, 0x7b, 0xbf, 0xe5, 0x3c, 0xd6, 0xcc, 0xe8, 0x1b, 0x18, 0x24, 0xac, 0x34, - 0x54, 0x7e, 0x1f, 0xd0, 0xc3, 0xb3, 0xb3, 0x6c, 0x04, 0x03, 0x7d, 0x0f, 0xdd, 0x02, 0x18, 0xdf, 0xdb, 0xcd, 0x37, - 0xa4, 0xa7, 0xa7, 0x30, 0xdd, 0xf7, 0xf3, 0x45, 0x31, 0x7f, 0x95, 0x46, 0x0f, 0x8e, 0xef, 0xb7, 0x46, 0xc3, 0x08, - 0xbf, 0x77, 0x13, 0x3c, 0xce, 0x86, 0xc7, 0xf7, 0xdb, 0x11, 0x7e, 0x6f, 0xf6, 0xdb, 0xfd, 0xe1, 0xd9, 0x39, 0x9c, - 0x1b, 0xef, 0xd5, 0xbc, 0x78, 0x3b, 0x31, 0x05, 0xc6, 0xf4, 0x01, 0x34, 0xfb, 0x9b, 0xd9, 0x8d, 0xa3, 0x36, 0x6c, - 0xe4, 0xf7, 0x66, 0x93, 0x19, 0x3c, 0xb9, 0xdf, 0x3e, 0x3d, 0x3f, 0x8d, 0xf0, 0x8c, 0x8f, 0x04, 0x10, 0x78, 0xb3, - 0x51, 0x1e, 0xb4, 0x1f, 0xdc, 0x6f, 0x45, 0x78, 0xf6, 0x56, 0x67, 0x1f, 0xe9, 0xcc, 0x50, 0xe3, 0x31, 0xc0, 0x6c, - 0xc6, 0x95, 0xbe, 0x7b, 0xa3, 0x1c, 0x3d, 0x66, 0xed, 0x08, 0xcf, 0x64, 0x96, 0x51, 0xf5, 0xd6, 0x26, 0x0c, 0x4f, - 0x23, 0x2c, 0xe8, 0x57, 0xfa, 0x59, 0xfa, 0xcd, 0x34, 0x62, 0x74, 0x64, 0xd2, 0x0c, 0x0e, 0x47, 0xf8, 0xdd, 0x08, - 0x2e, 0x23, 0xd3, 0x68, 0x3c, 0x1a, 0x9f, 0x02, 0x78, 0x80, 0x00, 0x59, 0xec, 0x06, 0x68, 0xc0, 0xd7, 0xe8, 0xd1, - 0x30, 0x8d, 0xce, 0x86, 0xe7, 0xac, 0x73, 0x1c, 0xe1, 0x92, 0x1a, 0xd1, 0x53, 0xc8, 0x37, 0x9f, 0x1f, 0xcd, 0x96, - 0x3a, 0xb1, 0x09, 0x06, 0x40, 0x23, 0x7a, 0xbf, 0x35, 0x3a, 0x8b, 0xf0, 0xfc, 0x35, 0xf3, 0x7b, 0x8c, 0x31, 0x76, - 0x0e, 0xb0, 0x84, 0x24, 0x83, 0x40, 0xe7, 0xe3, 0xe1, 0x83, 0x73, 0xf3, 0x0d, 0x60, 0xa0, 0x63, 0xc6, 0x00, 0x48, - 0xf3, 0xd7, 0xac, 0x04, 0xc4, 0x68, 0x78, 0xbf, 0x05, 0xf4, 0x65, 0x4e, 0xe7, 0xf4, 0x8e, 0xde, 0x3c, 0x9d, 0x9b, - 0x39, 0x8d, 0x47, 0xa7, 0x11, 0x9e, 0x3f, 0xff, 0x65, 0xbe, 0x18, 0x8f, 0xcd, 0x84, 0xe8, 0xf0, 0x41, 0x84, 0xe7, - 0xac, 0x58, 0xc0, 0x1a, 0x9d, 0x9f, 0x1e, 0x8f, 0x23, 0xec, 0xd0, 0x30, 0x6b, 0x65, 0x43, 0xb8, 0x6d, 0x5d, 0xcc, - 0xd2, 0x68, 0x34, 0xa2, 0xad, 0x11, 0xdc, 0xbd, 0xca, 0x9b, 0x5f, 0x0b, 0x8b, 0x46, 0xcc, 0xe0, 0x83, 0x5b, 0x43, - 0x98, 0x2f, 0xc0, 0xe3, 0xe3, 0x90, 0x65, 0x19, 0x75, 0x89, 0x67, 0x67, 0xc7, 0xc7, 0x80, 0x7b, 0x76, 0x86, 0x16, - 0x41, 0xde, 0xa8, 0xbb, 0x61, 0x21, 0xe1, 0xe8, 0x02, 0xa2, 0x0a, 0x64, 0xf5, 0xcd, 0xdd, 0x6b, 0x43, 0x57, 0xdb, - 0x67, 0x0f, 0x60, 0x01, 0x14, 0x1d, 0x8d, 0x5e, 0xd9, 0xc3, 0xed, 0x7c, 0x78, 0x72, 0xda, 0x3e, 0x8e, 0xb0, 0xdf, - 0x08, 0xf4, 0xbc, 0x75, 0xbf, 0x03, 0x25, 0xc4, 0xe8, 0xce, 0x96, 0x18, 0x9f, 0xd0, 0x93, 0xb3, 0x56, 0x84, 0xfd, - 0xd6, 0x60, 0xe7, 0xc3, 0xd3, 0xfb, 0xf0, 0xa9, 0xa6, 0x2c, 0xcf, 0x0d, 0x7e, 0x9f, 0x02, 0x5c, 0x14, 0x7f, 0x26, - 0x68, 0x1a, 0xd1, 0xd6, 0x69, 0xa7, 0x33, 0x82, 0xcf, 0xfc, 0x2b, 0x2b, 0xd2, 0x28, 0x6b, 0xc1, 0x7f, 0x11, 0x0e, - 0x76, 0x12, 0x1b, 0x46, 0xd8, 0xe0, 0xdd, 0x19, 0x3d, 0x35, 0x7b, 0xdf, 0xed, 0xaa, 0xd6, 0x79, 0x0b, 0x36, 0xac, - 0xdb, 0x54, 0xee, 0x4b, 0x09, 0x79, 0xe3, 0x48, 0x2c, 0x8d, 0x70, 0x80, 0xa0, 0xe3, 0xfb, 0xe3, 0x08, 0xfb, 0x1d, - 0x77, 0x72, 0x76, 0xde, 0x01, 0x52, 0xa6, 0x81, 0x50, 0x8c, 0x3a, 0xc3, 0x13, 0x20, 0x4d, 0x9a, 0xbd, 0xb6, 0x78, - 0x12, 0x61, 0xfd, 0x54, 0xe9, 0x57, 0x69, 0x34, 0x3a, 0x1f, 0x8e, 0x47, 0xe7, 0x11, 0xd6, 0x72, 0x46, 0xb5, 0x34, - 0x14, 0xf0, 0xf8, 0xe4, 0x7e, 0x84, 0x0d, 0x9a, 0xb7, 0x58, 0x6b, 0xd4, 0x8a, 0xb0, 0x3b, 0x4a, 0x18, 0x3b, 0xef, - 0xc0, 0xb4, 0x7e, 0x7e, 0xae, 0x01, 0x97, 0x47, 0x6c, 0x78, 0x1c, 0xe1, 0x92, 0xde, 0x1b, 0x42, 0x04, 0x5f, 0x6a, - 0x26, 0xbf, 0x38, 0xd6, 0x03, 0x48, 0x9d, 0xdf, 0xf0, 0xb0, 0x0c, 0x2f, 0x6f, 0x2c, 0x1a, 0x51, 0xb3, 0xc5, 0x83, - 0xdb, 0xe8, 0x27, 0x34, 0xf6, 0x6c, 0x3b, 0x27, 0xcb, 0x35, 0x2e, 0x83, 0xbc, 0x7e, 0x61, 0x77, 0x2a, 0x56, 0xca, - 0x70, 0xb2, 0x41, 0x0a, 0x38, 0x62, 0x38, 0xb7, 0x06, 0xe7, 0xb9, 0x0a, 0x82, 0xa4, 0x20, 0xad, 0xae, 0xb8, 0xf0, - 0xde, 0xb4, 0x5d, 0x01, 0xa1, 0x1f, 0x20, 0xbd, 0x20, 0x94, 0x68, 0x88, 0x90, 0x63, 0x85, 0x49, 0xef, 0x64, 0x60, - 0x64, 0x4a, 0x69, 0xdd, 0x16, 0x28, 0xa1, 0x3e, 0x36, 0x3e, 0x5c, 0x95, 0x43, 0xf4, 0x28, 0xd4, 0x95, 0xc4, 0x44, - 0xba, 0x7e, 0x21, 0x74, 0xac, 0x54, 0xbf, 0x18, 0xe0, 0xf6, 0x19, 0xc2, 0x10, 0x43, 0x82, 0xf4, 0xe5, 0xe5, 0x65, - 0xfb, 0xec, 0xc0, 0x08, 0x7d, 0x97, 0x97, 0xe7, 0xf6, 0x07, 0xfc, 0x3b, 0xa8, 0xe2, 0x76, 0xc3, 0xf8, 0xde, 0xb3, - 0x40, 0xa3, 0x67, 0xf8, 0xeb, 0xf7, 0x6c, 0xb5, 0x8a, 0xdf, 0x33, 0x02, 0x33, 0xc6, 0xef, 0x59, 0x62, 0xee, 0x48, - 0xac, 0x87, 0x10, 0xe9, 0x83, 0xe6, 0xac, 0x85, 0x21, 0x9a, 0xbc, 0xe7, 0xbc, 0xdf, 0xb3, 0x3e, 0xaf, 0x7b, 0x97, - 0x57, 0x21, 0x9c, 0x0f, 0x0e, 0x96, 0x45, 0xaa, 0xad, 0x98, 0xa0, 0xad, 0x98, 0xa0, 0xad, 0x98, 0xa0, 0xab, 0x20, - 0xfa, 0x27, 0x3d, 0x90, 0x52, 0x8c, 0xb2, 0xc5, 0xf1, 0xd4, 0xef, 0x40, 0xed, 0x01, 0xda, 0xc9, 0x5e, 0xa5, 0xec, - 0x28, 0x75, 0x15, 0x3b, 0x15, 0x18, 0x3b, 0x13, 0x9d, 0xb6, 0xe3, 0xe8, 0xdf, 0x51, 0x77, 0xbc, 0xac, 0x89, 0x65, - 0xef, 0x76, 0x8a, 0x65, 0xb0, 0x92, 0x46, 0x34, 0xdb, 0xb7, 0xf1, 0x48, 0x74, 0xff, 0xbe, 0x11, 0xcc, 0xaa, 0x20, - 0x79, 0x0d, 0x48, 0xea, 0x82, 0x14, 0x72, 0x6e, 0xa4, 0xb4, 0x02, 0xa5, 0x23, 0x1d, 0x17, 0xa0, 0xa1, 0xf4, 0x0a, - 0xca, 0x32, 0x96, 0x6b, 0xc3, 0x00, 0x44, 0x59, 0x19, 0xcd, 0xca, 0x6a, 0xa7, 0x20, 0xba, 0x80, 0x26, 0xcc, 0x48, - 0x2c, 0xd0, 0x80, 0x30, 0x0d, 0x08, 0x57, 0x19, 0xc4, 0x19, 0x97, 0x7d, 0x62, 0xb2, 0x95, 0xc9, 0x56, 0x65, 0xb6, - 0xf4, 0xd9, 0x56, 0x48, 0x94, 0x26, 0x5b, 0x96, 0xd9, 0x20, 0xb3, 0xe1, 0x49, 0xaa, 0xf0, 0x30, 0x95, 0x56, 0x54, - 0xab, 0x64, 0xab, 0xb7, 0x34, 0xd4, 0xe6, 0x1e, 0x1c, 0xc4, 0xa5, 0x9c, 0x64, 0xd4, 0xc4, 0xf7, 0x96, 0x3c, 0x29, - 0x8c, 0x0c, 0xc4, 0x93, 0x89, 0xfb, 0x3b, 0x5c, 0x6f, 0xca, 0x4a, 0xc5, 0x64, 0xf8, 0x8d, 0x92, 0xe8, 0x93, 0x57, - 0xa2, 0xbe, 0xe7, 0x26, 0x0a, 0xd0, 0x05, 0x49, 0x5a, 0xad, 0xe3, 0xf6, 0x71, 0xeb, 0xbc, 0xc7, 0x0f, 0xdb, 0x9d, - 0xe4, 0x41, 0x27, 0x35, 0x8a, 0x88, 0xb9, 0xbc, 0x01, 0x05, 0xcc, 0x51, 0x27, 0x39, 0x41, 0x87, 0xed, 0xa4, 0x75, - 0x7a, 0xda, 0x84, 0x7f, 0xf0, 0x23, 0x5d, 0x56, 0x3b, 0x69, 0x9d, 0x9c, 0xf6, 0xf8, 0xd1, 0x46, 0xa5, 0x98, 0x37, - 0xa0, 0x20, 0x3a, 0x32, 0x95, 0x30, 0xd4, 0xaf, 0x96, 0xf7, 0xd9, 0x96, 0x9e, 0xe7, 0x91, 0x8e, 0xa5, 0x55, 0xc5, - 0x01, 0x54, 0xfd, 0xd7, 0xc4, 0x00, 0xd1, 0x7f, 0x0d, 0xcb, 0x48, 0xbd, 0xcb, 0x02, 0x44, 0xed, 0xf7, 0x3c, 0x16, - 0x0d, 0x76, 0x18, 0xdb, 0x7c, 0x0d, 0x75, 0x9b, 0x10, 0x3d, 0x0f, 0x4f, 0x5c, 0xae, 0x0a, 0x73, 0x27, 0x08, 0x35, - 0x15, 0xe4, 0x0e, 0x5d, 0xae, 0x0c, 0x73, 0x87, 0x08, 0x35, 0x25, 0xe4, 0xd2, 0x94, 0x27, 0x14, 0x72, 0x74, 0x42, - 0x9b, 0x06, 0x92, 0xd5, 0xa2, 0x3c, 0x67, 0x7e, 0xd8, 0x7c, 0x0c, 0xcb, 0x63, 0x08, 0x8a, 0x13, 0xa4, 0x05, 0xbc, - 0xb0, 0x52, 0x6a, 0x73, 0x5a, 0xb8, 0x54, 0xe3, 0x40, 0x46, 0x03, 0xfe, 0x39, 0x64, 0xe6, 0xd9, 0x8d, 0x56, 0xef, - 0xf8, 0xac, 0x95, 0xb6, 0xc1, 0x55, 0x1c, 0x64, 0x6d, 0x61, 0x65, 0x6d, 0xe1, 0x65, 0x6d, 0xe1, 0x65, 0x6d, 0x10, - 0xe0, 0x83, 0xbe, 0xff, 0x96, 0x35, 0xf3, 0x1b, 0x5e, 0xda, 0xf2, 0x58, 0x63, 0x8d, 0x58, 0xaf, 0x56, 0xcb, 0x35, - 0x58, 0x5a, 0x55, 0x2a, 0x77, 0x55, 0xa9, 0x3f, 0x97, 0x45, 0xda, 0xc2, 0x93, 0x14, 0xb4, 0xdc, 0x2d, 0x4c, 0xcd, - 0xe6, 0xf6, 0x54, 0x61, 0x33, 0x8a, 0x4f, 0xcf, 0xab, 0x93, 0x2f, 0xc9, 0xb1, 0xd1, 0x1e, 0x2f, 0x8b, 0x94, 0x5b, - 0x9a, 0xc1, 0x2d, 0xcd, 0xe0, 0x96, 0x66, 0x40, 0x23, 0xb8, 0x2c, 0x6c, 0xca, 0x26, 0x94, 0xc0, 0x95, 0x40, 0xff, - 0x78, 0x00, 0x41, 0x0c, 0x63, 0x4d, 0xcc, 0xa8, 0x37, 0x3a, 0x6f, 0x43, 0xd0, 0x36, 0x5b, 0x52, 0x27, 0xd4, 0xf8, - 0xae, 0x97, 0x63, 0x7e, 0x55, 0x43, 0xfb, 0x04, 0x5e, 0xd4, 0x79, 0xa8, 0xe3, 0x16, 0x98, 0xae, 0x44, 0x45, 0xd4, - 0x33, 0x64, 0x21, 0x35, 0x3a, 0x1b, 0x67, 0x92, 0xfe, 0x65, 0xc3, 0x13, 0xd8, 0x52, 0x82, 0xf0, 0x1d, 0x89, 0x2f, - 0xac, 0x0a, 0x4d, 0x50, 0x5a, 0xdc, 0x3a, 0x73, 0x39, 0x7b, 0x24, 0x74, 0xc1, 0x6c, 0xde, 0xc7, 0xbc, 0xea, 0x09, - 0x22, 0x95, 0x71, 0xda, 0x24, 0x55, 0xd4, 0x66, 0x70, 0x62, 0x26, 0xb7, 0xd4, 0xb8, 0xf4, 0xbc, 0xb0, 0x7f, 0x5e, - 0xd1, 0xc0, 0xe7, 0xb1, 0x98, 0x0c, 0xbd, 0xab, 0xf0, 0xb5, 0x89, 0x6d, 0x44, 0xf6, 0xf7, 0xad, 0x45, 0xbb, 0xf9, - 0xda, 0x34, 0x69, 0x37, 0x89, 0x26, 0x1b, 0x76, 0xa8, 0x5f, 0xa3, 0xbf, 0xbd, 0xc7, 0x5e, 0x31, 0x19, 0xa2, 0x80, - 0x66, 0x1b, 0xb0, 0xca, 0x0a, 0x58, 0xca, 0xd5, 0x2b, 0x1d, 0x39, 0xa1, 0x77, 0x33, 0xe6, 0x75, 0x31, 0x19, 0xee, - 0x7c, 0x7a, 0xc5, 0xf6, 0xd8, 0x7b, 0x4b, 0x83, 0x1e, 0xbc, 0x6a, 0x7b, 0xca, 0x6e, 0xbf, 0x57, 0xe7, 0x66, 0x67, - 0x1d, 0x95, 0x7f, 0xaf, 0xce, 0xd3, 0x5d, 0x75, 0x66, 0xfc, 0x36, 0xf6, 0x7b, 0x47, 0x07, 0x6a, 0x6c, 0x63, 0x26, - 0x35, 0x19, 0x42, 0xac, 0x7c, 0xf8, 0x6b, 0x23, 0xda, 0x74, 0x3d, 0x09, 0x87, 0x55, 0x90, 0xbd, 0xe4, 0x34, 0x65, - 0x98, 0x92, 0xce, 0x61, 0x61, 0x62, 0xda, 0x88, 0x84, 0x36, 0x55, 0x42, 0x71, 0x4e, 0xe2, 0x98, 0x1e, 0x66, 0x10, - 0x99, 0xa7, 0xdd, 0xa3, 0x69, 0x4c, 0x1b, 0x19, 0x3a, 0x8a, 0xdb, 0x0d, 0x7a, 0x98, 0x21, 0xd4, 0x68, 0x83, 0xce, - 0x54, 0x92, 0x76, 0x33, 0x87, 0x58, 0x9d, 0x86, 0x14, 0xe7, 0x87, 0x22, 0x29, 0x1a, 0xf2, 0x50, 0x25, 0x45, 0x23, - 0x39, 0xc5, 0x22, 0x99, 0x94, 0xc9, 0x13, 0x93, 0x3c, 0xb1, 0xc9, 0xc3, 0x32, 0x79, 0x68, 0x92, 0x87, 0x36, 0x99, - 0x92, 0xe2, 0x50, 0x24, 0xb4, 0x11, 0xb7, 0x9b, 0x05, 0x3a, 0x84, 0x11, 0xf8, 0xd1, 0x13, 0x11, 0x86, 0x48, 0x5f, - 0x1b, 0x1b, 0xa3, 0xb9, 0xcc, 0x5d, 0xd0, 0xd2, 0x0a, 0x48, 0xa5, 0xe3, 0x17, 0xd4, 0x79, 0x16, 0x80, 0x09, 0x6b, - 0xfb, 0xc7, 0x87, 0xe4, 0x5b, 0x67, 0xb9, 0x14, 0x81, 0x63, 0x1b, 0xd8, 0xe2, 0x7f, 0x71, 0xee, 0x3c, 0x00, 0xd5, - 0x35, 0xcd, 0xe7, 0x53, 0xba, 0xe5, 0x3d, 0x5c, 0x4c, 0x86, 0x6e, 0x67, 0x95, 0xcd, 0x30, 0x5a, 0xd8, 0x50, 0xd7, - 0x75, 0x3f, 0x4f, 0x00, 0xb5, 0xf7, 0x2d, 0x4d, 0xa8, 0x51, 0x92, 0xdb, 0x1a, 0x93, 0x82, 0xdd, 0xa9, 0x8c, 0xe6, - 0x2c, 0xae, 0x0e, 0xe0, 0x6a, 0x98, 0x8c, 0xbc, 0x00, 0x8f, 0x80, 0xe2, 0x30, 0x39, 0x6e, 0xe8, 0x64, 0x72, 0x98, - 0x9c, 0x3e, 0x68, 0xe8, 0x64, 0x78, 0x98, 0xb4, 0xdb, 0x15, 0xce, 0x26, 0x05, 0xd1, 0xc9, 0x84, 0x68, 0xd0, 0x18, - 0xda, 0x46, 0xe5, 0x9c, 0x82, 0x89, 0xdb, 0xbf, 0x31, 0x8c, 0x86, 0x1b, 0x86, 0x60, 0x13, 0x1b, 0xf5, 0x73, 0x6b, - 0x0c, 0x61, 0x37, 0x9d, 0xd3, 0xd3, 0xa6, 0x4e, 0x0a, 0xac, 0xed, 0x4a, 0x36, 0x75, 0x32, 0xc1, 0xda, 0x2e, 0x5f, - 0x53, 0x27, 0x43, 0xdb, 0x94, 0xd1, 0x01, 0x32, 0x11, 0x00, 0xeb, 0x39, 0x0b, 0x20, 0xdf, 0xf1, 0x4e, 0x3a, 0x6b, - 0xd0, 0x1a, 0x7e, 0xaf, 0x5c, 0xd3, 0x17, 0x54, 0x54, 0x83, 0xa9, 0x13, 0xfb, 0x56, 0xd1, 0x76, 0xd5, 0x24, 0xfb, - 0xd7, 0x65, 0xcb, 0x66, 0x0b, 0xa9, 0xeb, 0x05, 0x1f, 0xd6, 0x30, 0xc4, 0x95, 0x72, 0x07, 0xf7, 0x3f, 0x94, 0xc4, - 0x10, 0xdb, 0xcf, 0x9c, 0x42, 0x9c, 0x78, 0x3d, 0x32, 0x24, 0xf1, 0x46, 0x63, 0x8d, 0xe2, 0xe0, 0xbc, 0x7d, 0x1a, - 0x52, 0xd5, 0xad, 0x80, 0x7f, 0x84, 0x44, 0x0b, 0x61, 0x4d, 0x42, 0x47, 0x51, 0xc0, 0x82, 0x38, 0xed, 0x6e, 0xed, - 0x80, 0x38, 0x38, 0xd8, 0x3c, 0x2f, 0xfc, 0xd3, 0x0b, 0x5b, 0xcf, 0x2d, 0x54, 0xf6, 0x84, 0xfe, 0x41, 0x28, 0x6b, - 0x69, 0xcc, 0x03, 0x44, 0xf1, 0xa1, 0xb7, 0xee, 0x1b, 0x0a, 0xdf, 0xaf, 0xe2, 0x0e, 0xba, 0x9c, 0xe6, 0x99, 0xc9, - 0x30, 0x7d, 0x0d, 0x82, 0xb1, 0xbd, 0x09, 0x27, 0x54, 0xda, 0x4a, 0xfe, 0xcb, 0x8e, 0x83, 0x4e, 0xdc, 0x83, 0x35, - 0x61, 0xa3, 0x9f, 0x43, 0xcb, 0xe4, 0x0a, 0x36, 0xce, 0x27, 0x7d, 0xb5, 0xaa, 0x3d, 0x4f, 0x64, 0x1f, 0xc1, 0x41, - 0x07, 0x07, 0x5c, 0x3d, 0x03, 0x63, 0x6a, 0x16, 0x37, 0xc2, 0xc3, 0xf7, 0xef, 0xda, 0x69, 0xfd, 0xd9, 0x9c, 0xab, - 0x69, 0x70, 0xd0, 0x3d, 0xac, 0xe5, 0xef, 0x5c, 0x89, 0x9e, 0x4e, 0xb9, 0x5b, 0xeb, 0xcf, 0x95, 0xa9, 0xfa, 0xd6, - 0x43, 0x59, 0x07, 0x07, 0xbc, 0x0a, 0x57, 0x15, 0xfd, 0x10, 0xa1, 0x9e, 0x91, 0x41, 0x9e, 0xe5, 0x92, 0xc2, 0x8d, - 0x28, 0x5c, 0x31, 0xa4, 0x0d, 0x7e, 0xa4, 0xf1, 0x1f, 0xf2, 0xff, 0x53, 0x23, 0x87, 0x3a, 0x6d, 0xf0, 0x40, 0x00, - 0x0b, 0x59, 0xa1, 0x2a, 0x50, 0xa4, 0x81, 0x74, 0x68, 0x79, 0x8e, 0xca, 0xc3, 0x9c, 0xce, 0xe7, 0xf9, 0x9d, 0x79, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0xcc, 0xbd, 0x6d, 0x7b, 0x1b, 0x37, 0xb2, 0x20, 0xfa, + 0xf9, 0xee, 0xaf, 0x90, 0xfa, 0x38, 0x4a, 0x43, 0x04, 0x5b, 0x24, 0x25, 0xca, 0x72, 0x53, 0x10, 0xd7, 0xaf, 0x63, + 0x27, 0x8e, 0xed, 0x58, 0xb6, 0x33, 0x0e, 0xc3, 0xe3, 0x80, 0x4d, 0x90, 0x84, 0xdd, 0x04, 0x98, 0x06, 0x68, 0x49, + 0x21, 0xf9, 0xdf, 0xef, 0x53, 0x78, 0xe9, 0x46, 0x93, 0xb4, 0x67, 0x66, 0xef, 0xee, 0x7d, 0xf6, 0xe4, 0x8c, 0xc5, + 0xc6, 0x3b, 0x0a, 0x85, 0x42, 0x55, 0xa1, 0xaa, 0x70, 0x79, 0x38, 0x96, 0x99, 0xbe, 0x5b, 0xb0, 0x83, 0x99, 0x9e, + 0xe7, 0x57, 0x97, 0xee, 0x5f, 0x46, 0xc7, 0x57, 0x97, 0x39, 0x17, 0x5f, 0x0e, 0x0a, 0x96, 0x13, 0x9e, 0x49, 0x71, + 0x30, 0x2b, 0xd8, 0x84, 0x8c, 0xa9, 0xa6, 0x29, 0x9f, 0xd3, 0x29, 0x3b, 0x38, 0xb9, 0xba, 0x9c, 0x33, 0x4d, 0x0f, + 0xb2, 0x19, 0x2d, 0x14, 0xd3, 0xe4, 0xfd, 0xbb, 0x67, 0xcd, 0x8b, 0xab, 0x4b, 0x95, 0x15, 0x7c, 0xa1, 0x0f, 0xa0, + 0x49, 0x32, 0x97, 0xe3, 0x65, 0xce, 0xae, 0x4e, 0x4e, 0x6e, 0x6e, 0x6e, 0x92, 0xcf, 0xea, 0x7f, 0x7c, 0xa5, 0xc5, + 0xc1, 0x3f, 0x0a, 0xf2, 0x7a, 0xf4, 0x99, 0x65, 0x3a, 0x19, 0xb3, 0x09, 0x17, 0xec, 0x4d, 0x21, 0x17, 0xac, 0xd0, + 0x77, 0x3d, 0xc8, 0xfc, 0xb5, 0x20, 0x31, 0xc7, 0x1a, 0x33, 0x44, 0xae, 0xf4, 0x01, 0x17, 0x07, 0xbc, 0xff, 0x8f, + 0xc2, 0xa4, 0xac, 0x98, 0x58, 0xce, 0x59, 0x41, 0x47, 0x39, 0x4b, 0x0f, 0x5b, 0x38, 0x93, 0x62, 0xc2, 0xa7, 0xcb, + 0xf2, 0xfb, 0xa6, 0xe0, 0xda, 0xff, 0xfe, 0x4a, 0xf3, 0x25, 0x4b, 0xd9, 0x06, 0xa5, 0x7c, 0xa0, 0x87, 0x84, 0x99, + 0x96, 0xbf, 0x54, 0x0d, 0xc7, 0xbf, 0x9a, 0x26, 0xef, 0x16, 0x4c, 0x4e, 0x0e, 0xf4, 0x21, 0x89, 0xd4, 0xdd, 0x7c, + 0x24, 0xf3, 0xa8, 0xaf, 0x1b, 0x51, 0x94, 0x42, 0x19, 0xcc, 0x50, 0x2f, 0x93, 0x42, 0xe9, 0x03, 0xc1, 0xc9, 0x0d, + 0x17, 0x63, 0x79, 0x83, 0x6f, 0x04, 0x11, 0x3c, 0xb9, 0x9e, 0xd1, 0xb1, 0xbc, 0x79, 0x2b, 0xa5, 0x3e, 0x3a, 0x8a, + 0xdd, 0xf7, 0xdd, 0xe3, 0xeb, 0x6b, 0x42, 0xc8, 0x57, 0xc9, 0xc7, 0x07, 0xad, 0xf5, 0x3a, 0x48, 0x4d, 0x04, 0xd5, + 0xfc, 0x2b, 0xb3, 0x95, 0xd0, 0xd1, 0x51, 0x44, 0xc7, 0x72, 0xa1, 0xd9, 0xf8, 0x5a, 0xdf, 0xe5, 0xec, 0x7a, 0xc6, + 0x98, 0x56, 0x11, 0x17, 0x07, 0x4f, 0x64, 0xb6, 0x9c, 0x33, 0xa1, 0x93, 0x45, 0x21, 0xb5, 0x84, 0x81, 0x1d, 0x1d, + 0x45, 0x05, 0x5b, 0xe4, 0x34, 0x63, 0x90, 0xff, 0xf8, 0xfa, 0xba, 0xaa, 0x51, 0x15, 0xc2, 0x5f, 0x04, 0xb9, 0x36, + 0x43, 0x8f, 0x11, 0xfe, 0x4d, 0x10, 0xc1, 0x6e, 0x0e, 0x7e, 0x63, 0xf4, 0xcb, 0x2f, 0x74, 0xd1, 0xcb, 0x72, 0xaa, + 0xd4, 0xc1, 0x2b, 0xb9, 0x32, 0xd3, 0x28, 0x96, 0x99, 0x96, 0x45, 0xac, 0x31, 0xc3, 0x02, 0xad, 0xf8, 0x24, 0xd6, + 0x33, 0xae, 0x92, 0x4f, 0xf7, 0x32, 0xa5, 0xde, 0x32, 0xb5, 0xcc, 0xf5, 0x3d, 0x72, 0xd8, 0xc2, 0xe2, 0x90, 0x90, + 0x2f, 0x02, 0xe9, 0x59, 0x21, 0x6f, 0x0e, 0x9e, 0x16, 0x85, 0x2c, 0xe2, 0xe8, 0xf1, 0xf5, 0xb5, 0x2d, 0x71, 0xc0, + 0xd5, 0x81, 0x90, 0xfa, 0xa0, 0x6c, 0x0f, 0xa0, 0x9d, 0x1c, 0xbc, 0x57, 0xec, 0xe0, 0xcf, 0xa5, 0x50, 0x74, 0xc2, + 0x1e, 0x5f, 0x5f, 0xff, 0x79, 0x20, 0x8b, 0x83, 0x3f, 0x33, 0xa5, 0xfe, 0x3c, 0xe0, 0x42, 0x69, 0x46, 0xc7, 0x49, + 0x84, 0x7a, 0xa6, 0xb3, 0x4c, 0xa9, 0x77, 0xec, 0x56, 0x13, 0x8d, 0xcd, 0xa7, 0x26, 0x6c, 0x33, 0x65, 0xfa, 0x40, + 0x95, 0xf3, 0x8a, 0xd1, 0x2a, 0x67, 0xfa, 0x40, 0x13, 0x93, 0x2f, 0x1d, 0xfc, 0x99, 0xfd, 0xd4, 0x3d, 0x3e, 0x89, + 0x6f, 0xc4, 0xd1, 0x91, 0x2e, 0x01, 0x8d, 0x56, 0x6e, 0x85, 0x08, 0x3b, 0xf4, 0x69, 0x47, 0x47, 0x2c, 0xc9, 0x99, + 0x98, 0xea, 0x19, 0x21, 0xa4, 0xdd, 0x13, 0x47, 0x47, 0xb1, 0x26, 0xbf, 0x89, 0x64, 0xca, 0x74, 0xcc, 0x10, 0xc2, + 0x55, 0xed, 0xa3, 0xa3, 0xd8, 0x02, 0x41, 0x12, 0x6d, 0x00, 0x57, 0x83, 0x31, 0x4a, 0x1c, 0xf4, 0xaf, 0xef, 0x44, + 0x16, 0x87, 0xe3, 0x47, 0x58, 0x1c, 0x1d, 0xfd, 0x26, 0x12, 0x05, 0x2d, 0x62, 0x8d, 0xd0, 0xa6, 0x60, 0x7a, 0x59, + 0x88, 0x03, 0xbd, 0xd1, 0xf2, 0x5a, 0x17, 0x5c, 0x4c, 0x63, 0xb4, 0xf2, 0x69, 0x41, 0xc5, 0xcd, 0xc6, 0x0e, 0xf7, + 0xf7, 0x82, 0x70, 0x72, 0x05, 0x3d, 0xbe, 0x92, 0xb1, 0xc3, 0x41, 0x4e, 0x48, 0xa4, 0x4c, 0xdd, 0xa8, 0xcf, 0x53, + 0xde, 0x88, 0x22, 0x6c, 0x47, 0x89, 0xbf, 0x08, 0x84, 0x85, 0x06, 0xd4, 0x4d, 0x92, 0x44, 0x23, 0x72, 0xb5, 0xf2, + 0x60, 0xe1, 0xc1, 0x44, 0xfb, 0x7c, 0xd0, 0x1a, 0xa6, 0x3a, 0x29, 0xd8, 0x78, 0x99, 0xb1, 0x38, 0x16, 0x58, 0x61, + 0x89, 0xc8, 0x95, 0x68, 0xc4, 0x05, 0xb9, 0x82, 0xf5, 0x2e, 0xea, 0x8b, 0x4d, 0xc8, 0x61, 0x0b, 0xb9, 0x41, 0x16, + 0x7e, 0x84, 0x00, 0x62, 0x37, 0xa0, 0x82, 0x90, 0x48, 0x2c, 0xe7, 0x23, 0x56, 0x44, 0x65, 0xb1, 0x5e, 0x0d, 0x2f, + 0x96, 0x8a, 0x1d, 0x64, 0x4a, 0x1d, 0x4c, 0x96, 0x22, 0xd3, 0x5c, 0x8a, 0x83, 0xa8, 0x51, 0x34, 0x22, 0x8b, 0x0f, + 0x25, 0x3a, 0x44, 0x68, 0x83, 0x62, 0x85, 0x1a, 0x7c, 0x20, 0x1b, 0xed, 0x21, 0x86, 0x51, 0xa2, 0x9e, 0x6b, 0xcf, + 0x41, 0x80, 0x61, 0x0e, 0x93, 0xdc, 0xe0, 0x9f, 0xec, 0xce, 0x87, 0x29, 0xde, 0x88, 0x3e, 0x4f, 0x76, 0x77, 0x0a, + 0xd1, 0xc9, 0x9c, 0x2e, 0x62, 0x46, 0xae, 0x98, 0xc1, 0x2e, 0x2a, 0x32, 0x18, 0x6b, 0x6d, 0xe1, 0xfa, 0x2c, 0x65, + 0x49, 0x85, 0x53, 0x28, 0xd5, 0xc9, 0x44, 0x16, 0x4f, 0x69, 0x36, 0x83, 0x7a, 0x25, 0xc6, 0x8c, 0xfd, 0x86, 0xcb, + 0x0a, 0x46, 0x35, 0x7b, 0x9a, 0x33, 0xf8, 0x8a, 0x23, 0x53, 0x33, 0x42, 0x58, 0xc1, 0x56, 0xcf, 0xb9, 0x7e, 0x25, + 0x45, 0xc6, 0x7a, 0x2a, 0xc0, 0x2f, 0xb3, 0xf2, 0x0f, 0xb5, 0x2e, 0xf8, 0x68, 0xa9, 0x59, 0x1c, 0x09, 0x28, 0x11, + 0x61, 0x85, 0xb0, 0x48, 0x34, 0xbb, 0xd5, 0x8f, 0xa5, 0xd0, 0x4c, 0x68, 0xc2, 0x3c, 0x54, 0x31, 0x4f, 0xe8, 0x62, + 0xc1, 0xc4, 0xf8, 0xf1, 0x8c, 0xe7, 0xe3, 0x58, 0xa0, 0x0d, 0xda, 0xe0, 0x8f, 0x82, 0xc0, 0x24, 0xc9, 0x15, 0x4f, + 0xe1, 0x9f, 0x6f, 0x4f, 0x27, 0xd6, 0xe4, 0xca, 0x6c, 0x0b, 0x46, 0xa2, 0xa8, 0x37, 0x91, 0x45, 0xec, 0xa6, 0x70, + 0x00, 0xa4, 0x0b, 0xfa, 0x78, 0xbb, 0xcc, 0x99, 0x42, 0xac, 0x41, 0x44, 0xb9, 0x8e, 0x0e, 0xc2, 0xbf, 0x17, 0x31, + 0x83, 0x05, 0xe0, 0x28, 0xe5, 0x86, 0x04, 0xbe, 0xe4, 0x6e, 0x53, 0x8d, 0x4b, 0xa2, 0xf6, 0x97, 0x20, 0x63, 0x9e, + 0xe8, 0x62, 0xa9, 0x34, 0x1b, 0xbf, 0xbb, 0x5b, 0x30, 0x85, 0x35, 0x25, 0x7f, 0x89, 0xfe, 0x5f, 0x22, 0x61, 0xf3, + 0x85, 0xbe, 0xbb, 0x36, 0xd4, 0x3c, 0x8d, 0x22, 0xfc, 0x4f, 0x53, 0xb4, 0x60, 0x34, 0x03, 0x92, 0xe6, 0x40, 0xf6, + 0x46, 0xe6, 0x77, 0x13, 0x9e, 0xe7, 0xd7, 0xcb, 0xc5, 0x42, 0x16, 0x1a, 0x6b, 0x41, 0x56, 0x5a, 0x56, 0xf0, 0x81, + 0x15, 0x5d, 0xa9, 0x1b, 0xae, 0xb3, 0x59, 0xac, 0xd1, 0x2a, 0xa3, 0x8a, 0x1d, 0x3c, 0x92, 0x32, 0x67, 0x54, 0xa4, + 0x9c, 0xf0, 0xbe, 0xa6, 0xa9, 0x58, 0xe6, 0x79, 0x6f, 0x54, 0x30, 0xfa, 0xa5, 0x67, 0xb2, 0xed, 0xe1, 0x90, 0x9a, + 0xdf, 0x0f, 0x8b, 0x82, 0xde, 0x41, 0x41, 0x42, 0xa0, 0x58, 0x9f, 0xa7, 0x3f, 0x5d, 0xbf, 0x7e, 0x95, 0xd8, 0xbd, + 0xc2, 0x27, 0x77, 0x31, 0x2f, 0xf7, 0x1f, 0xdf, 0xe0, 0x49, 0x21, 0xe7, 0x5b, 0x5d, 0x5b, 0xd0, 0xf1, 0xde, 0x37, + 0x86, 0xc0, 0x08, 0x3f, 0xb4, 0x4d, 0x87, 0x23, 0x78, 0x65, 0x30, 0x1f, 0x32, 0x89, 0xeb, 0x17, 0xfe, 0x49, 0x6d, + 0x72, 0xcc, 0xd1, 0xf7, 0x47, 0xab, 0x8b, 0xbb, 0x15, 0x23, 0x66, 0x9c, 0x0b, 0x38, 0x18, 0x61, 0x8c, 0x19, 0xd5, + 0xd9, 0x6c, 0xc5, 0x4c, 0x63, 0x1b, 0x3f, 0x62, 0xb6, 0xd9, 0xe0, 0xbf, 0xa5, 0xc7, 0x7a, 0x7d, 0x48, 0x08, 0x37, + 0xf4, 0x8a, 0xe8, 0xf5, 0x9a, 0x13, 0xc2, 0x11, 0x7e, 0xcb, 0xc9, 0x8a, 0xfa, 0x09, 0xc1, 0xc9, 0x06, 0xdb, 0x33, + 0xb5, 0x54, 0x06, 0x4e, 0xc0, 0xaf, 0xac, 0xd0, 0xac, 0x48, 0xb5, 0xc0, 0x05, 0x9b, 0xe4, 0x30, 0x8e, 0xc3, 0x36, + 0x9e, 0x51, 0xf5, 0x78, 0x46, 0xc5, 0x94, 0x8d, 0xd3, 0xbf, 0xe5, 0x06, 0x33, 0x41, 0xa2, 0x09, 0x17, 0x34, 0xe7, + 0x7f, 0xb3, 0x71, 0xe4, 0xce, 0x85, 0x0f, 0xfa, 0x80, 0xdd, 0x6a, 0x26, 0xc6, 0xea, 0xe0, 0xf9, 0xbb, 0x5f, 0x5e, + 0xba, 0xc5, 0xac, 0x9d, 0x15, 0x68, 0xa5, 0x96, 0x0b, 0x56, 0xc4, 0x08, 0xbb, 0xb3, 0xe2, 0x29, 0x37, 0x74, 0xf2, + 0x17, 0xba, 0xb0, 0x29, 0x5c, 0xbd, 0x5f, 0x8c, 0xa9, 0x66, 0x6f, 0x98, 0x18, 0x73, 0x31, 0x25, 0x87, 0x6d, 0x9b, + 0x3e, 0xa3, 0x2e, 0x63, 0x5c, 0x26, 0x7d, 0xba, 0xf7, 0x34, 0x37, 0x73, 0x2f, 0x3f, 0x97, 0x31, 0xda, 0x28, 0x4d, + 0x35, 0xcf, 0x0e, 0xe8, 0x78, 0xfc, 0x42, 0x70, 0xcd, 0xcd, 0x08, 0x0b, 0x58, 0x22, 0xc0, 0x55, 0x66, 0x4f, 0x0d, + 0x3f, 0xf2, 0x18, 0xe1, 0x38, 0x76, 0x67, 0xc1, 0x0c, 0xb9, 0x35, 0x3b, 0x3a, 0xaa, 0x28, 0x7f, 0x9f, 0xa5, 0x36, + 0x93, 0x0c, 0x86, 0x28, 0x59, 0x2c, 0x15, 0x2c, 0xb6, 0xef, 0x02, 0x0e, 0x1a, 0x39, 0x52, 0xac, 0xf8, 0xca, 0xc6, + 0x25, 0x82, 0xa8, 0x18, 0xad, 0xb6, 0xfa, 0x70, 0xdb, 0x43, 0x93, 0xc1, 0xb0, 0x17, 0x92, 0x70, 0xe6, 0x90, 0xdd, + 0x72, 0x2a, 0x9c, 0xa9, 0x92, 0xa8, 0xc4, 0x70, 0xa0, 0x96, 0x84, 0x45, 0x11, 0x3f, 0xbf, 0x45, 0x2c, 0x80, 0x87, + 0x08, 0x29, 0x87, 0x3f, 0x73, 0x9f, 0x7e, 0x35, 0x87, 0x87, 0xc2, 0x02, 0x61, 0x6d, 0x47, 0xaa, 0x10, 0xda, 0x20, + 0xac, 0xfd, 0x70, 0x2d, 0x51, 0xf2, 0x7c, 0x11, 0x9c, 0xda, 0xe4, 0x2d, 0x37, 0xc7, 0x36, 0xd0, 0x36, 0xaa, 0xd9, + 0xd1, 0x51, 0xcc, 0x92, 0x12, 0x31, 0xc8, 0x61, 0xdb, 0x2d, 0x52, 0x00, 0xad, 0x6f, 0x8c, 0x1b, 0x7a, 0x36, 0x0c, + 0xce, 0x21, 0x4b, 0x84, 0x7c, 0x98, 0x65, 0x4c, 0x29, 0x59, 0x1c, 0x1d, 0x1d, 0x9a, 0xf2, 0x25, 0x67, 0x01, 0x8b, + 0xf8, 0xfa, 0x46, 0x54, 0x43, 0x40, 0xd5, 0x69, 0xeb, 0xf9, 0x26, 0x52, 0xf1, 0x4d, 0x9e, 0x09, 0x49, 0xa3, 0x4f, + 0x9f, 0xa2, 0x86, 0xc6, 0x0e, 0x0e, 0x53, 0xe6, 0xbb, 0xbe, 0x7b, 0xc2, 0x2c, 0x5b, 0x68, 0x98, 0x90, 0x1d, 0xd0, + 0xec, 0xe5, 0x07, 0xe3, 0xfa, 0x90, 0xb0, 0xc6, 0x0a, 0x6d, 0x82, 0x15, 0xdd, 0xdb, 0xb4, 0xe1, 0x6f, 0xec, 0xd2, + 0xad, 0xa6, 0x86, 0xa7, 0x08, 0xd6, 0x71, 0xc0, 0x86, 0x1b, 0x6c, 0x60, 0xef, 0x67, 0x23, 0xcd, 0x40, 0x07, 0x7a, + 0xd8, 0x73, 0xf9, 0x44, 0x59, 0xc8, 0x15, 0xec, 0xaf, 0x25, 0x53, 0xda, 0x22, 0x72, 0xac, 0xb1, 0xc4, 0x70, 0x46, + 0x6d, 0x33, 0x9d, 0x35, 0x96, 0x74, 0xdf, 0xd8, 0x5e, 0x2f, 0xe0, 0x6c, 0x54, 0x80, 0xd4, 0xdf, 0xc7, 0x27, 0x18, + 0xab, 0x46, 0xeb, 0xf5, 0x5b, 0xee, 0x5b, 0xa9, 0xd6, 0xb2, 0xe4, 0xd7, 0xb6, 0x16, 0x85, 0x09, 0xe4, 0x0e, 0xe7, + 0xc3, 0xb6, 0x1b, 0xbf, 0x18, 0x92, 0xc3, 0x56, 0x89, 0xc5, 0x0e, 0xac, 0x76, 0x3c, 0x16, 0x8a, 0xaf, 0x6d, 0x53, + 0xc8, 0x9c, 0xf5, 0x35, 0x7c, 0x49, 0x66, 0x3b, 0xb8, 0x3a, 0x23, 0x03, 0xe0, 0x3a, 0x92, 0xd9, 0xf0, 0x5b, 0xf8, + 0xe4, 0x29, 0x42, 0xac, 0x77, 0xf3, 0x2a, 0xc2, 0xf1, 0xb5, 0x4e, 0x38, 0xb6, 0xa6, 0x11, 0x2d, 0xca, 0x2a, 0x51, + 0x89, 0x66, 0x6e, 0xab, 0x57, 0x59, 0x58, 0x98, 0xc1, 0x54, 0x53, 0x0a, 0x9a, 0x78, 0x45, 0xe7, 0x4c, 0xc5, 0x0c, + 0xe1, 0x6f, 0x15, 0xb0, 0xf8, 0x09, 0x45, 0x86, 0xc1, 0x19, 0xaa, 0xe0, 0x0c, 0x05, 0x76, 0x17, 0x98, 0xb4, 0xfa, + 0x96, 0x53, 0x98, 0x0d, 0xd4, 0xb0, 0xe2, 0xed, 0x82, 0xc9, 0x9b, 0xc3, 0xd9, 0x21, 0xb8, 0x87, 0x9f, 0x4d, 0xb3, + 0x40, 0x33, 0x2c, 0x84, 0x42, 0xf8, 0xb0, 0xb5, 0xbd, 0x92, 0xbe, 0x54, 0x35, 0xc7, 0xc1, 0x10, 0xd6, 0xc1, 0x1c, + 0x1b, 0x09, 0x57, 0xe6, 0x6f, 0x6d, 0xab, 0x01, 0xd8, 0xae, 0x01, 0x33, 0x92, 0x49, 0x4e, 0x75, 0xdc, 0x3e, 0x69, + 0x01, 0x63, 0xfa, 0x95, 0xc1, 0xa9, 0x82, 0xd0, 0xee, 0x54, 0x58, 0xb2, 0x14, 0x6a, 0xc6, 0x27, 0x3a, 0xfe, 0x28, + 0x0c, 0x51, 0x61, 0xb9, 0x62, 0x20, 0xe1, 0x04, 0xec, 0xb1, 0x21, 0x38, 0x1f, 0x05, 0xf4, 0xd3, 0x2b, 0x0f, 0x22, + 0x37, 0x52, 0x43, 0xb8, 0x80, 0x3c, 0x54, 0xac, 0x75, 0x45, 0x66, 0x4a, 0xc6, 0x0d, 0xb8, 0xc7, 0x76, 0xdf, 0xb6, + 0x98, 0x3a, 0x6a, 0x20, 0x02, 0x0e, 0x56, 0xa4, 0x21, 0x89, 0x70, 0x89, 0x3a, 0xd1, 0xf2, 0xa5, 0xbc, 0x61, 0xc5, + 0x63, 0x0a, 0x83, 0x4f, 0x6d, 0xf5, 0x8d, 0x3d, 0x0a, 0x0c, 0xc5, 0xd7, 0x3d, 0x8f, 0x2f, 0x9f, 0xcc, 0xc4, 0xdf, + 0x14, 0x72, 0xce, 0x15, 0x03, 0xbe, 0xcd, 0xc2, 0x5f, 0xc0, 0x46, 0x33, 0x3b, 0x12, 0x8e, 0x1b, 0x56, 0xe2, 0xd7, + 0xc3, 0x97, 0x75, 0xfc, 0xfa, 0x74, 0xef, 0xe9, 0xd4, 0x53, 0xc0, 0xfa, 0x3e, 0x46, 0x38, 0x76, 0xe2, 0x45, 0x70, + 0xd2, 0x25, 0x33, 0xe4, 0x8e, 0xf9, 0xf5, 0x5a, 0x07, 0x62, 0x5c, 0x8d, 0x73, 0x64, 0x76, 0xdb, 0xa0, 0x0d, 0x1d, + 0x8f, 0x81, 0xc5, 0x2b, 0x64, 0x9e, 0x07, 0x87, 0x15, 0x16, 0xbd, 0xf2, 0x78, 0xfa, 0x74, 0xef, 0xe9, 0xf5, 0xf7, + 0x4e, 0x28, 0xc8, 0x0f, 0x0f, 0x29, 0x3f, 0x50, 0x31, 0x66, 0x05, 0xc8, 0x95, 0xc1, 0x6a, 0xb9, 0x73, 0xf6, 0xb1, + 0x14, 0x82, 0x65, 0x9a, 0x8d, 0x41, 0x68, 0x11, 0x44, 0x27, 0x33, 0xa9, 0x74, 0x99, 0x58, 0x8d, 0x5e, 0x84, 0x42, + 0x68, 0x92, 0xd1, 0x3c, 0x8f, 0xad, 0x80, 0x32, 0x97, 0x5f, 0xd9, 0x9e, 0x51, 0xf7, 0x6a, 0x43, 0x2e, 0x9b, 0x61, + 0x41, 0x33, 0x2c, 0x51, 0x8b, 0x9c, 0x67, 0xac, 0x3c, 0xbc, 0xae, 0x13, 0x2e, 0xc6, 0xec, 0x16, 0xe8, 0x08, 0xba, + 0xba, 0xba, 0x6a, 0xe1, 0x36, 0xda, 0x58, 0x80, 0xaf, 0x76, 0x00, 0xfb, 0x9d, 0x63, 0xd3, 0x0a, 0xe2, 0xab, 0xbd, + 0x64, 0x0d, 0x05, 0x67, 0x25, 0xf7, 0x82, 0x96, 0x25, 0xcf, 0x08, 0x8f, 0x59, 0xce, 0x34, 0xf3, 0xe4, 0x1c, 0x98, + 0x69, 0xbb, 0x75, 0xdf, 0x96, 0xf0, 0x2b, 0xd1, 0xc9, 0xef, 0x32, 0xbf, 0xe6, 0xaa, 0x14, 0xdd, 0xab, 0xe5, 0xa9, + 0xa0, 0xdd, 0xd7, 0x76, 0x79, 0xa8, 0xd6, 0x34, 0x9b, 0x59, 0x89, 0x3d, 0xde, 0x99, 0x52, 0xd5, 0x86, 0x23, 0xed, + 0xe5, 0x26, 0xfa, 0xa9, 0x70, 0xc3, 0xdc, 0x07, 0x82, 0x6b, 0x47, 0x14, 0x18, 0x08, 0x81, 0x76, 0xd9, 0x1e, 0xd3, + 0x3c, 0x1f, 0xd1, 0xec, 0x4b, 0x1d, 0xfb, 0x2b, 0x34, 0x20, 0xdb, 0xd4, 0x38, 0xc8, 0x0a, 0x48, 0x56, 0x38, 0x6f, + 0x4f, 0xa5, 0x6b, 0x1b, 0x25, 0x3e, 0x6c, 0x55, 0x68, 0x5f, 0x5f, 0xe8, 0x6f, 0x62, 0xbb, 0x19, 0x91, 0x70, 0x33, + 0x8b, 0x81, 0x0a, 0xfc, 0x4b, 0x8c, 0xf3, 0xf4, 0xc0, 0xe1, 0x1d, 0x08, 0x1e, 0x9b, 0xad, 0x81, 0x68, 0xb4, 0xda, + 0x8c, 0xb9, 0xfa, 0x36, 0x04, 0xfe, 0xb7, 0x8c, 0xf2, 0x49, 0xd0, 0xc3, 0xbf, 0x3b, 0xd0, 0x92, 0xc6, 0x39, 0xc6, + 0xb9, 0x1c, 0x99, 0x63, 0x28, 0x3c, 0xa1, 0xf9, 0x19, 0x98, 0x17, 0x83, 0xef, 0xaf, 0x6d, 0x96, 0xe1, 0xcb, 0x60, + 0x18, 0xaa, 0x17, 0x32, 0x14, 0x35, 0x14, 0x70, 0x44, 0x55, 0x98, 0x33, 0x57, 0xd6, 0x44, 0x49, 0xc7, 0xb5, 0x5b, + 0x71, 0xdc, 0xd1, 0xdc, 0x82, 0xc4, 0x71, 0xac, 0x40, 0x9a, 0xf3, 0xfc, 0x7d, 0x35, 0x0b, 0xb5, 0x33, 0x0b, 0x95, + 0x04, 0xd2, 0x16, 0xaa, 0x90, 0x39, 0xa8, 0x9e, 0x6a, 0x81, 0xc2, 0x52, 0xc0, 0xb2, 0x26, 0x40, 0xa1, 0x51, 0x49, + 0x70, 0x73, 0xa2, 0x71, 0xe1, 0x44, 0x1d, 0x87, 0x6b, 0x40, 0x32, 0xaa, 0x2a, 0x12, 0xd9, 0xcd, 0x51, 0x93, 0x7d, + 0x25, 0x2e, 0xd0, 0x16, 0x7f, 0xbf, 0xd9, 0x38, 0x28, 0x31, 0xe4, 0x56, 0xa7, 0xc6, 0x18, 0x07, 0x60, 0xc1, 0x92, + 0x38, 0x66, 0xd8, 0xb2, 0x3e, 0xdb, 0xc0, 0x29, 0xdb, 0x3d, 0x24, 0x44, 0x56, 0xb0, 0xa9, 0x31, 0x95, 0x9e, 0xbb, + 0x92, 0x08, 0x53, 0xcf, 0x96, 0x16, 0xd5, 0xc4, 0x09, 0x89, 0xbc, 0x76, 0x22, 0xea, 0xaf, 0x6a, 0xc2, 0x61, 0x1a, + 0x14, 0xdb, 0xa4, 0x40, 0x54, 0x8b, 0x7d, 0xf0, 0xde, 0x87, 0x35, 0xb5, 0x76, 0x02, 0x88, 0x17, 0x35, 0x88, 0x07, + 0xa0, 0x95, 0x96, 0x78, 0xc9, 0x21, 0xa1, 0xf5, 0xca, 0x31, 0xc3, 0x85, 0x5d, 0x88, 0x1d, 0x28, 0x6e, 0xb3, 0x9f, + 0x06, 0x0b, 0x41, 0x96, 0x55, 0xc0, 0xdf, 0x85, 0x47, 0x44, 0x0c, 0x83, 0x17, 0xeb, 0xf5, 0x0e, 0xda, 0xed, 0xe5, + 0x42, 0x51, 0x52, 0x49, 0x87, 0xeb, 0xf5, 0xdf, 0x12, 0xc5, 0x8e, 0xff, 0xc5, 0x0c, 0xf5, 0x3d, 0xd1, 0x7d, 0xf8, + 0x12, 0x4a, 0x19, 0x76, 0xb4, 0x4a, 0x29, 0x05, 0x87, 0x3a, 0xd6, 0xd6, 0x17, 0x4a, 0x07, 0x94, 0xfb, 0xf1, 0x0e, + 0x01, 0x33, 0x89, 0xee, 0xa4, 0xae, 0xa6, 0xfc, 0xd8, 0x35, 0x2d, 0x10, 0x42, 0xa9, 0x32, 0xb2, 0xcc, 0xe1, 0x3e, + 0xf9, 0xf2, 0xe8, 0x48, 0x05, 0x0d, 0x7d, 0x2a, 0x29, 0xc5, 0xe7, 0x18, 0x4e, 0x65, 0x75, 0x27, 0x0c, 0xfb, 0xf2, + 0xd9, 0x9f, 0x43, 0x3b, 0xd2, 0x69, 0xab, 0x07, 0x82, 0x39, 0xbd, 0xa1, 0x5c, 0x1f, 0x94, 0xad, 0x58, 0xc1, 0x3c, + 0x66, 0x68, 0xe5, 0xb8, 0x8d, 0xa4, 0x60, 0xc0, 0x3f, 0x02, 0x59, 0xf0, 0x5c, 0xb4, 0x45, 0xfc, 0x6c, 0xc6, 0x40, + 0x95, 0xed, 0x19, 0x89, 0x52, 0x3c, 0x3c, 0x74, 0x07, 0x89, 0x6b, 0x78, 0xff, 0xd8, 0x37, 0xdb, 0xd5, 0x6b, 0xd2, + 0xc0, 0x82, 0x15, 0x13, 0x59, 0xcc, 0x7d, 0xde, 0x66, 0xeb, 0xdb, 0x11, 0x47, 0x3e, 0x89, 0xf7, 0xb6, 0xed, 0x44, + 0x80, 0xde, 0x96, 0xec, 0x5d, 0x49, 0xed, 0xb5, 0xd3, 0xb4, 0x3c, 0x80, 0xad, 0x82, 0xd0, 0x63, 0xa6, 0x0a, 0xa5, + 0x7c, 0xa7, 0x5e, 0xed, 0x59, 0xdd, 0xc9, 0x61, 0xbb, 0x57, 0x4a, 0x7e, 0x1e, 0x1b, 0x7a, 0x56, 0xc7, 0xe1, 0x4e, + 0x55, 0xb9, 0xcc, 0xc7, 0x6e, 0xb0, 0x02, 0x61, 0xe6, 0xf0, 0xe8, 0x86, 0xe7, 0x79, 0x95, 0xfa, 0x9f, 0x90, 0x76, + 0xe5, 0x48, 0xbb, 0xf4, 0xa4, 0x1d, 0x48, 0x05, 0x90, 0x76, 0xdb, 0x5c, 0x55, 0x5d, 0xee, 0x6c, 0x4f, 0x69, 0x89, + 0xba, 0x32, 0xe2, 0x34, 0xf4, 0xb7, 0xf4, 0x23, 0x40, 0x25, 0xf3, 0xf5, 0x25, 0x76, 0xfa, 0x18, 0x10, 0x03, 0xad, + 0x4e, 0x93, 0x85, 0x9a, 0x8a, 0x2f, 0x31, 0xc2, 0x6a, 0xc3, 0x4a, 0xcc, 0x7e, 0xf8, 0x14, 0x94, 0x76, 0xc1, 0x74, + 0xe0, 0x1c, 0x33, 0xc9, 0xff, 0x11, 0x1f, 0xe5, 0x67, 0x27, 0xdc, 0xec, 0x94, 0x9f, 0x1d, 0xd0, 0xfa, 0x6a, 0x76, + 0xe3, 0xef, 0x53, 0x7b, 0x33, 0x3d, 0x51, 0x4e, 0xaf, 0x5a, 0xef, 0xf5, 0x3a, 0xde, 0x4a, 0x01, 0x8d, 0xbe, 0x93, + 0x52, 0x8a, 0xb2, 0x75, 0xa0, 0x01, 0x21, 0x64, 0x20, 0x61, 0x63, 0x27, 0x5d, 0x9e, 0x72, 0x2f, 0xff, 0x95, 0x9e, + 0xc7, 0x28, 0xee, 0x6d, 0xfd, 0xc7, 0x72, 0xbe, 0x00, 0x86, 0x6c, 0x0b, 0xa5, 0xa7, 0xcc, 0x75, 0x58, 0xe5, 0x6f, + 0xf6, 0xa4, 0xd5, 0xea, 0x98, 0xfd, 0x58, 0xc3, 0xa6, 0x52, 0x6a, 0x3e, 0x6c, 0x6d, 0x96, 0x65, 0x52, 0x49, 0x38, + 0xf6, 0xe9, 0x56, 0x1e, 0x6f, 0x6b, 0x66, 0x7c, 0xc6, 0xeb, 0x58, 0x58, 0x3a, 0x2c, 0x80, 0xd6, 0x05, 0xe4, 0xc7, + 0xa3, 0x7b, 0xb8, 0xfe, 0x9b, 0x0a, 0x38, 0xab, 0xcd, 0x16, 0xf8, 0x56, 0x9b, 0xcd, 0x07, 0xed, 0x24, 0x6d, 0xfc, + 0x61, 0x8f, 0xdc, 0x5b, 0x42, 0xaf, 0xca, 0x74, 0x32, 0xe3, 0x60, 0x08, 0x69, 0x3b, 0x2c, 0x24, 0x59, 0xcd, 0xe5, + 0x98, 0xa5, 0x91, 0x5c, 0x30, 0x11, 0x6d, 0x40, 0xcf, 0xea, 0x10, 0xe0, 0x9f, 0x22, 0x5e, 0xbd, 0xad, 0xeb, 0x5b, + 0xd3, 0x0f, 0x7a, 0x03, 0xaa, 0xb0, 0x97, 0x7c, 0x8f, 0x32, 0xf6, 0x03, 0x2b, 0x94, 0xe1, 0x49, 0x4b, 0xf6, 0xf6, + 0x25, 0xaf, 0x0e, 0xa8, 0x97, 0x3c, 0xfd, 0x76, 0x95, 0x4a, 0x20, 0x89, 0xda, 0xc9, 0x79, 0x72, 0x1a, 0x21, 0xa3, + 0x31, 0x7e, 0xe6, 0x35, 0xc6, 0xcb, 0x52, 0x63, 0xfc, 0x5c, 0x93, 0xe5, 0x96, 0xc6, 0xf8, 0x67, 0x41, 0x9e, 0xeb, + 0xfe, 0x73, 0xaf, 0x4d, 0x7f, 0x23, 0x73, 0x9e, 0xdd, 0xc5, 0x51, 0xce, 0x75, 0x13, 0x6e, 0x13, 0x23, 0xbc, 0xb2, + 0x19, 0xa0, 0x6a, 0x34, 0xfa, 0xee, 0x8d, 0x97, 0xff, 0xb0, 0x10, 0x24, 0xba, 0x97, 0x73, 0x7d, 0x2f, 0xc2, 0x33, + 0x4d, 0xfe, 0x84, 0x5f, 0xf7, 0x56, 0xf1, 0x2f, 0x54, 0xcf, 0x92, 0x82, 0x8a, 0xb1, 0x9c, 0xc7, 0xa8, 0x11, 0x45, + 0x28, 0x51, 0x46, 0x08, 0x79, 0x80, 0x36, 0xf7, 0xfe, 0xc4, 0x9f, 0x25, 0x89, 0xfa, 0x51, 0x63, 0xa6, 0x31, 0xa3, + 0xe4, 0xcf, 0xcb, 0x7b, 0xab, 0xcf, 0x72, 0x73, 0xf5, 0x27, 0x7e, 0xaa, 0x4b, 0xb5, 0x3e, 0xbe, 0x65, 0x24, 0x46, + 0xe4, 0xea, 0xa9, 0x1f, 0xd2, 0x63, 0x39, 0xb7, 0x0a, 0xfe, 0x08, 0xe1, 0xaf, 0xa0, 0xd7, 0xbd, 0xe2, 0x15, 0x11, + 0x72, 0x77, 0x30, 0x87, 0x24, 0x92, 0x46, 0x79, 0x10, 0x1d, 0x1d, 0x05, 0x69, 0x25, 0x0b, 0x81, 0x1f, 0x49, 0x52, + 0x13, 0xd5, 0x31, 0xa7, 0xd0, 0xd2, 0x23, 0x19, 0x73, 0xe4, 0x9b, 0x89, 0xbd, 0xa6, 0xda, 0xed, 0x58, 0x3e, 0xb0, + 0xba, 0x87, 0x84, 0x6b, 0x56, 0x50, 0x2d, 0x8b, 0x21, 0x0a, 0xd9, 0x12, 0xfc, 0x8a, 0x93, 0x3f, 0x07, 0x07, 0xff, + 0xcf, 0xff, 0xf8, 0x63, 0xf2, 0x47, 0x31, 0xfc, 0x13, 0x0b, 0x46, 0x4e, 0x2e, 0xe3, 0x7e, 0x1a, 0x1f, 0x36, 0x9b, + 0xeb, 0x3f, 0x4e, 0x06, 0xff, 0x4d, 0x9b, 0x7f, 0x3f, 0x6c, 0xfe, 0x3e, 0x44, 0xeb, 0xf8, 0x8f, 0x93, 0xfe, 0xc0, + 0x7d, 0x0d, 0xfe, 0xfb, 0xea, 0x0f, 0x35, 0x3c, 0xb6, 0x89, 0xf7, 0x10, 0x3a, 0x99, 0xe2, 0x7f, 0x08, 0x72, 0xd2, + 0x6c, 0x5e, 0x9d, 0x4c, 0xf1, 0xaf, 0x82, 0x9c, 0xc0, 0xdf, 0x3b, 0x4d, 0xde, 0xb2, 0xe9, 0xd3, 0xdb, 0x45, 0xfc, + 0xe7, 0xd5, 0xfa, 0xde, 0xea, 0x15, 0xdf, 0x40, 0xbb, 0x83, 0xff, 0xfe, 0xe3, 0x0f, 0x15, 0xfd, 0x78, 0x45, 0x4e, + 0x86, 0x0d, 0x14, 0x9b, 0xe4, 0x63, 0x62, 0xff, 0xc4, 0xfd, 0x74, 0xf0, 0xdf, 0x6e, 0x28, 0xd1, 0x8f, 0x7f, 0xfc, + 0x79, 0x79, 0x45, 0x86, 0xeb, 0x38, 0x5a, 0xff, 0x88, 0xd6, 0x08, 0xad, 0xef, 0xa1, 0x3f, 0x71, 0x34, 0x8d, 0x10, + 0xfe, 0x5d, 0x90, 0x93, 0x1f, 0x4f, 0xa6, 0xf8, 0x27, 0x41, 0x4e, 0xa2, 0x93, 0x29, 0xfe, 0x20, 0xc9, 0xc9, 0x7f, + 0xc7, 0xfd, 0xd4, 0x2a, 0xe1, 0xd6, 0x46, 0xfd, 0xb1, 0x86, 0x9b, 0x10, 0x5a, 0x30, 0xba, 0xd6, 0x5c, 0xe7, 0x0c, + 0xdd, 0x3b, 0xe1, 0xf8, 0xb9, 0x04, 0x60, 0xc5, 0x1a, 0x94, 0x34, 0xe6, 0x12, 0x76, 0xf5, 0x09, 0x16, 0x1e, 0x30, + 0xe8, 0x5e, 0xca, 0xb1, 0xd5, 0x13, 0xa8, 0x54, 0xdb, 0xdb, 0x5b, 0x05, 0xd7, 0xb7, 0xf8, 0x31, 0x79, 0x2e, 0xe3, + 0x36, 0xc2, 0x82, 0xc2, 0x8f, 0x0e, 0xc2, 0xef, 0xb5, 0xbb, 0xf0, 0x84, 0x6d, 0x6e, 0x31, 0x4c, 0x48, 0xcb, 0xcf, + 0x44, 0x08, 0xbf, 0xdc, 0x93, 0xa9, 0x67, 0xa0, 0x7e, 0x40, 0x58, 0xab, 0xf0, 0x7a, 0x14, 0x3f, 0xd6, 0xa4, 0x44, + 0x8e, 0x77, 0x05, 0x63, 0xbf, 0xd1, 0xfc, 0x0b, 0x2b, 0xe2, 0xa7, 0x1a, 0xb7, 0x3b, 0x0f, 0xb0, 0x51, 0x55, 0x1f, + 0xb6, 0x51, 0xaf, 0xbc, 0xdd, 0x7a, 0x2f, 0xed, 0x7d, 0x02, 0x9c, 0xc2, 0x75, 0x7d, 0x0d, 0xac, 0xfd, 0x21, 0xdf, + 0x51, 0x6a, 0x15, 0xf4, 0x26, 0x42, 0xf5, 0xab, 0x54, 0x2e, 0xbe, 0xd2, 0x9c, 0x8f, 0x0f, 0x34, 0x9b, 0x2f, 0x72, + 0xaa, 0xd9, 0x81, 0x9b, 0xf3, 0x01, 0x85, 0x86, 0xa2, 0x92, 0xa7, 0xf8, 0x59, 0x54, 0x9b, 0xf6, 0x67, 0x91, 0x54, + 0x7b, 0x27, 0x86, 0xfb, 0x2c, 0xc7, 0x97, 0x28, 0x5a, 0x5e, 0x97, 0x6d, 0xdf, 0x08, 0x36, 0xdb, 0xa0, 0x2c, 0x1b, + 0x9a, 0xf3, 0x5b, 0x61, 0xb8, 0xdf, 0x24, 0xa4, 0xd3, 0x8f, 0x2e, 0xd5, 0xd7, 0xe9, 0x55, 0x04, 0x37, 0x39, 0x05, + 0x11, 0xcc, 0x28, 0x8f, 0xa0, 0x04, 0x25, 0xad, 0x1e, 0xbd, 0x64, 0x3d, 0xda, 0x68, 0x78, 0x36, 0x3b, 0x23, 0x7c, + 0x40, 0x6d, 0xfd, 0x1c, 0xcf, 0xf0, 0x98, 0x34, 0xdb, 0x78, 0x49, 0x5a, 0xa6, 0x4a, 0x6f, 0x79, 0x99, 0xb9, 0x7e, + 0x8e, 0x8e, 0xe2, 0x22, 0xc9, 0xa9, 0xd2, 0x2f, 0x40, 0x23, 0x40, 0x96, 0x78, 0x46, 0x8a, 0x84, 0xdd, 0xb2, 0x2c, + 0xce, 0x10, 0x9e, 0x39, 0x1a, 0x84, 0x7a, 0x68, 0x49, 0x82, 0x62, 0x20, 0x67, 0x10, 0xc1, 0xfa, 0xb3, 0x41, 0x7b, + 0x48, 0x08, 0x89, 0x0e, 0x9b, 0xcd, 0xa8, 0x5f, 0x90, 0x7f, 0x88, 0x14, 0x52, 0x02, 0x76, 0x9a, 0xfc, 0x0a, 0x49, + 0x9d, 0x20, 0x29, 0xfe, 0x20, 0x13, 0xcd, 0x94, 0x8e, 0x21, 0x19, 0x94, 0x04, 0xca, 0x63, 0x78, 0x74, 0x79, 0x12, + 0x35, 0x20, 0xd5, 0xa0, 0x28, 0xc2, 0x05, 0xb9, 0xd3, 0x28, 0x9d, 0x0d, 0x4e, 0x87, 0xe1, 0x19, 0x61, 0x53, 0xa1, + 0xff, 0x3b, 0xdd, 0x9f, 0x0d, 0x5a, 0xa6, 0xff, 0xab, 0xa8, 0x1f, 0x17, 0x44, 0x59, 0x36, 0xae, 0xaf, 0x52, 0xc1, + 0xcc, 0x7c, 0x51, 0xea, 0x06, 0xe8, 0xfa, 0x1e, 0x93, 0x66, 0x27, 0x8d, 0xc7, 0xe1, 0x4c, 0x9a, 0xd0, 0xa1, 0x03, + 0x05, 0xce, 0x09, 0x94, 0xc7, 0x05, 0x81, 0x4e, 0xab, 0x6a, 0x77, 0x3a, 0x75, 0x09, 0x3f, 0x46, 0x3f, 0xf6, 0x7f, + 0x12, 0xe9, 0xef, 0xc2, 0x8e, 0xe0, 0x27, 0xb1, 0x5e, 0xc3, 0xdf, 0xdf, 0x45, 0x1f, 0x86, 0x65, 0xd2, 0xfe, 0xe1, + 0xd2, 0x7e, 0x85, 0x34, 0xc1, 0x52, 0x33, 0x60, 0xac, 0x4a, 0x7e, 0xcc, 0x2e, 0xce, 0x84, 0xd8, 0x19, 0x1c, 0x1d, + 0xf1, 0x01, 0x6d, 0xb4, 0x87, 0x70, 0x23, 0x50, 0x68, 0xf5, 0x1b, 0xd7, 0xb3, 0x38, 0x3a, 0xb9, 0x8a, 0x50, 0x3f, + 0x3a, 0x80, 0x55, 0xee, 0xc9, 0x06, 0x71, 0xb0, 0xce, 0x1a, 0x8c, 0xa6, 0xe3, 0x2b, 0xd2, 0xea, 0xc7, 0xc2, 0x12, + 0xf9, 0x1c, 0xe1, 0xcc, 0xd1, 0xd4, 0x16, 0x1e, 0xa3, 0x86, 0x10, 0x0d, 0xff, 0x3d, 0x46, 0x8d, 0x99, 0x6e, 0x4c, + 0x50, 0x9a, 0xc1, 0xdf, 0x78, 0x4c, 0x08, 0x69, 0x76, 0xca, 0x8a, 0xfe, 0xb0, 0xa4, 0x28, 0x9d, 0x78, 0xf5, 0xe8, + 0xc0, 0x6c, 0x0e, 0xd9, 0x88, 0xf9, 0x80, 0x0d, 0xd7, 0xeb, 0xe8, 0xb2, 0x7f, 0x15, 0xa1, 0x46, 0xec, 0xd1, 0xee, + 0xc4, 0xe3, 0x1d, 0x42, 0x58, 0x0c, 0x37, 0xee, 0x06, 0xea, 0x86, 0xd5, 0x6e, 0x9b, 0x56, 0xd5, 0xfe, 0x0f, 0xc8, + 0x02, 0xdb, 0x94, 0x72, 0x8f, 0xe5, 0x6f, 0x17, 0x30, 0x55, 0x8f, 0xdb, 0x92, 0xb4, 0x70, 0x41, 0xbc, 0xba, 0x9b, + 0x12, 0x5d, 0xe1, 0x7f, 0x46, 0xaa, 0xe2, 0x78, 0x90, 0xe3, 0xd9, 0x90, 0x28, 0x6a, 0xe4, 0x97, 0x9e, 0x57, 0xa6, + 0xb3, 0x9c, 0xdc, 0xb0, 0xad, 0xfb, 0xdf, 0x1c, 0xee, 0x64, 0x1e, 0xeb, 0x24, 0x5b, 0x16, 0x05, 0x13, 0xfa, 0x95, + 0x1c, 0x3b, 0xc6, 0x8e, 0xe5, 0x20, 0x5b, 0xc1, 0xc5, 0x2e, 0x06, 0xae, 0xae, 0xe3, 0x77, 0xca, 0x78, 0x27, 0x7b, + 0x49, 0xc6, 0x96, 0xe1, 0x32, 0xd7, 0xbd, 0xbd, 0xa5, 0x13, 0xa5, 0x63, 0x84, 0xc7, 0xee, 0x1e, 0x38, 0x4e, 0x92, + 0x64, 0x99, 0x64, 0x90, 0x0d, 0x1d, 0x28, 0xb4, 0x31, 0xfb, 0x2a, 0x56, 0xe4, 0xb1, 0x4e, 0x04, 0xbb, 0x35, 0xdd, + 0xc6, 0xa8, 0x3a, 0xc4, 0xfd, 0x7e, 0xbb, 0xa4, 0x3d, 0x43, 0x80, 0x54, 0x22, 0xe4, 0x98, 0x01, 0x84, 0xe0, 0xee, + 0xdf, 0x25, 0xcd, 0xa8, 0x0a, 0x6f, 0xb6, 0xaa, 0x01, 0x0e, 0x42, 0x95, 0xf7, 0x12, 0xf4, 0xc4, 0x86, 0x3d, 0x2b, + 0x0b, 0x5b, 0xe5, 0x39, 0x42, 0x7c, 0x12, 0x2f, 0x13, 0xb8, 0x11, 0x34, 0x98, 0x24, 0x04, 0x5a, 0xaf, 0x97, 0x21, + 0x6e, 0xcd, 0x2a, 0xc5, 0xf4, 0x84, 0xcc, 0x06, 0x45, 0xa3, 0x61, 0x94, 0xd7, 0x63, 0x8b, 0x17, 0x4b, 0x84, 0x27, + 0xe5, 0x5e, 0xf3, 0xe5, 0x16, 0xa4, 0xde, 0x55, 0x3c, 0xa9, 0x2b, 0x81, 0x1b, 0x42, 0x20, 0xa3, 0x5f, 0xd4, 0xd0, + 0x3a, 0x9e, 0x92, 0x93, 0x78, 0x90, 0xf4, 0xff, 0xe7, 0x10, 0xf5, 0xe3, 0xe4, 0x18, 0x9d, 0x58, 0x5a, 0x32, 0x41, + 0xbd, 0xcc, 0xf6, 0xb1, 0x32, 0xb7, 0x9f, 0x6d, 0x6c, 0x14, 0x90, 0xa9, 0xc4, 0x82, 0xce, 0x59, 0x3a, 0x85, 0x5d, + 0xef, 0x91, 0x67, 0x81, 0x01, 0x99, 0xd2, 0xa9, 0xa3, 0x2d, 0x49, 0xd4, 0x2f, 0x68, 0xf9, 0xd5, 0x8f, 0xfa, 0x59, + 0xf5, 0xf5, 0x3f, 0xa3, 0x7e, 0x4e, 0xd3, 0xc7, 0x7c, 0xe3, 0x94, 0xe4, 0xb5, 0x3e, 0xce, 0x7d, 0x1f, 0x1b, 0xbb, + 0x38, 0x01, 0xf0, 0xc6, 0x68, 0x57, 0x3b, 0xb2, 0x44, 0x1b, 0x3e, 0x29, 0xa9, 0x93, 0x4a, 0x34, 0x9d, 0x02, 0x54, + 0x83, 0x45, 0x50, 0xa1, 0x6d, 0x40, 0x30, 0x65, 0xc0, 0x16, 0x8f, 0xb4, 0x00, 0xcd, 0xe5, 0x55, 0x0b, 0xad, 0x6a, + 0x85, 0x1d, 0x67, 0x55, 0xbf, 0x8b, 0x2f, 0x89, 0xf7, 0x04, 0xa8, 0xf2, 0xe5, 0xb2, 0x37, 0x69, 0x34, 0x90, 0xf2, + 0xf8, 0x35, 0x1e, 0x4c, 0x86, 0xf8, 0x16, 0x50, 0x08, 0xd7, 0x30, 0x0a, 0xd7, 0xe6, 0xd8, 0x71, 0x73, 0x6c, 0x34, + 0xe4, 0x06, 0xf5, 0x82, 0xca, 0x4b, 0x57, 0x79, 0xb3, 0xb1, 0x90, 0xd9, 0xc6, 0xb8, 0x0b, 0x64, 0x52, 0xc0, 0x10, + 0x8c, 0x10, 0xf2, 0x59, 0xa2, 0xbd, 0xcd, 0x42, 0xa3, 0x50, 0xdd, 0xec, 0x5e, 0xa0, 0xa8, 0xf6, 0xf4, 0x88, 0x01, + 0x16, 0x50, 0xb5, 0x54, 0x23, 0xcf, 0x34, 0x1e, 0x37, 0xda, 0x06, 0xdd, 0x9b, 0xed, 0x5e, 0xbd, 0xb1, 0xfb, 0x55, + 0x63, 0x78, 0xdc, 0x20, 0xb3, 0x6a, 0x87, 0x6f, 0x64, 0xa3, 0xb1, 0xa9, 0xdf, 0x97, 0xfa, 0x4d, 0x5c, 0xbb, 0xbf, + 0x78, 0xba, 0x63, 0xe2, 0xe1, 0x4f, 0xdf, 0xea, 0xbc, 0x15, 0x09, 0x17, 0x82, 0x15, 0x70, 0xc2, 0x12, 0x8d, 0xc5, + 0x66, 0x53, 0x9e, 0xfa, 0xbf, 0x69, 0x6b, 0x33, 0x46, 0x38, 0xd0, 0x21, 0x23, 0xb5, 0x61, 0x89, 0x0b, 0x4c, 0x0d, + 0x15, 0x21, 0x84, 0xbc, 0xd7, 0xde, 0x3c, 0x46, 0x1b, 0x92, 0x94, 0x91, 0xe0, 0xec, 0x8e, 0x15, 0x61, 0xc9, 0xa7, + 0x7b, 0x8f, 0xe5, 0x77, 0x45, 0xba, 0x81, 0x18, 0xa6, 0xa6, 0x58, 0xee, 0x08, 0x59, 0x4e, 0xbe, 0x82, 0x9c, 0x53, + 0x5e, 0xb0, 0x24, 0x86, 0x20, 0x3e, 0xe1, 0x05, 0x33, 0x8c, 0xfb, 0x3d, 0x2f, 0x37, 0x66, 0x75, 0x4e, 0x33, 0x0b, + 0xb5, 0x3f, 0x00, 0xcd, 0x1c, 0x94, 0x43, 0x92, 0xec, 0x14, 0xfb, 0x74, 0xef, 0xe1, 0xeb, 0x7d, 0x32, 0xf4, 0x7a, + 0xed, 0xa4, 0xe7, 0x0c, 0x58, 0x1f, 0x9c, 0x57, 0x43, 0xcd, 0xdc, 0x8f, 0x34, 0xce, 0x0c, 0x13, 0x95, 0xc7, 0x1c, + 0x90, 0xe9, 0xd3, 0xbd, 0x87, 0xef, 0x62, 0x6e, 0x74, 0x53, 0x08, 0x87, 0xf3, 0x8e, 0x0b, 0x12, 0x53, 0xc2, 0x90, + 0x9d, 0x7c, 0x49, 0xc7, 0x8a, 0xe0, 0x74, 0x4f, 0xa9, 0xc9, 0x04, 0xb1, 0x63, 0x20, 0x86, 0x24, 0x73, 0x20, 0x20, + 0x19, 0xc2, 0x59, 0x4d, 0xae, 0x23, 0x66, 0x0d, 0x4c, 0x67, 0xd7, 0xb0, 0x18, 0x89, 0x65, 0x0f, 0x11, 0xce, 0x4c, + 0xb7, 0x7a, 0x63, 0x8f, 0x13, 0x49, 0xb7, 0x0d, 0xdd, 0x2a, 0x79, 0xf6, 0x03, 0x08, 0x5e, 0xfe, 0xe3, 0x95, 0x6b, + 0xbb, 0x4c, 0x78, 0xe2, 0x2d, 0xd2, 0x3e, 0xdd, 0x7b, 0xf8, 0x8b, 0x33, 0x4a, 0x5b, 0x50, 0x4f, 0xfe, 0x77, 0x64, + 0xd4, 0x87, 0xbf, 0x24, 0x55, 0xae, 0x29, 0xfc, 0xe9, 0xde, 0xc3, 0xf7, 0xfb, 0x8a, 0x41, 0xfa, 0x66, 0x59, 0x29, + 0x09, 0xcc, 0xf8, 0x56, 0x2c, 0x4f, 0x57, 0xee, 0xac, 0x48, 0xc5, 0x06, 0x9b, 0x13, 0x2a, 0x55, 0x9b, 0x52, 0xb7, + 0xf2, 0x04, 0x4b, 0x62, 0xae, 0x92, 0xea, 0xcb, 0xe6, 0xd0, 0x98, 0x4b, 0x71, 0x9d, 0xc9, 0x05, 0xfb, 0xc6, 0xfd, + 0xd2, 0x53, 0x8d, 0x12, 0x3e, 0x07, 0x43, 0x1c, 0x33, 0x76, 0x81, 0x0f, 0x5b, 0xa8, 0xb7, 0x75, 0x9e, 0x49, 0x83, + 0xa8, 0x45, 0xfd, 0xb0, 0xc1, 0x94, 0xb4, 0x70, 0x46, 0x5a, 0x38, 0x27, 0x6a, 0xd0, 0xb2, 0x27, 0x46, 0x2f, 0x2f, + 0x9b, 0xb6, 0xe7, 0x0e, 0x6c, 0xf7, 0xdc, 0xee, 0x5b, 0x7b, 0x28, 0xcf, 0x7a, 0xb9, 0xd1, 0x5f, 0x9a, 0x83, 0x7e, + 0x66, 0x50, 0xe3, 0x05, 0x8b, 0x0b, 0x5c, 0x98, 0x96, 0xaf, 0xf9, 0x28, 0x07, 0x3b, 0x15, 0x98, 0x19, 0xd6, 0x28, + 0x2d, 0xcb, 0xb6, 0x5d, 0xd9, 0x3c, 0x31, 0x6b, 0x55, 0xe0, 0x3c, 0x01, 0x52, 0x8e, 0x73, 0x67, 0xd7, 0xa3, 0x76, + 0xab, 0x9c, 0x1f, 0x1d, 0xc5, 0xb6, 0xd2, 0x8c, 0xc6, 0x85, 0xcf, 0xaf, 0x6e, 0x00, 0x3f, 0x58, 0xaa, 0x31, 0x43, + 0x66, 0x02, 0x8d, 0x46, 0x36, 0xdc, 0xd0, 0x43, 0x42, 0xe2, 0xbc, 0x0e, 0x45, 0x3f, 0x7a, 0xc3, 0x0c, 0x6e, 0x01, + 0xa0, 0xd1, 0x28, 0xaf, 0x7b, 0xb7, 0x20, 0xf6, 0x54, 0x63, 0xb9, 0xf9, 0x1a, 0x97, 0xd6, 0x44, 0xad, 0x1d, 0x3b, + 0x2c, 0x3f, 0x0a, 0x24, 0x42, 0xdc, 0x15, 0x7e, 0x3e, 0xc1, 0xd6, 0x10, 0x50, 0xee, 0x85, 0xb3, 0x81, 0xc0, 0xc6, + 0x6a, 0xcb, 0x15, 0xf2, 0xa4, 0xad, 0x83, 0x52, 0x5f, 0x08, 0x2e, 0xb8, 0xa0, 0x50, 0x63, 0xe3, 0xb0, 0xfc, 0x05, + 0xdb, 0x35, 0xe7, 0xc4, 0x0a, 0x39, 0x6d, 0x99, 0x19, 0x86, 0x01, 0x58, 0xa7, 0x04, 0xcc, 0x73, 0xf2, 0xf2, 0xdb, + 0xa8, 0xff, 0x30, 0x40, 0xfd, 0x47, 0x84, 0x05, 0xdb, 0xc0, 0xea, 0x4a, 0x12, 0xe9, 0x14, 0x14, 0xca, 0x67, 0x3d, + 0x5e, 0x10, 0xd0, 0xc6, 0xd5, 0xa1, 0x5a, 0xbb, 0xa2, 0xfc, 0x06, 0x65, 0x09, 0x77, 0x8a, 0xd1, 0x67, 0x62, 0x7f, + 0x9f, 0x1c, 0x57, 0x17, 0x74, 0xd0, 0xf5, 0x3e, 0xe5, 0x60, 0x48, 0x0a, 0x1f, 0xbe, 0xff, 0xfe, 0xdd, 0xea, 0xe3, + 0xc5, 0xee, 0x0e, 0x0e, 0xcc, 0x4a, 0x61, 0xd6, 0xc1, 0x06, 0xae, 0x1b, 0x99, 0x42, 0xff, 0xe5, 0x9d, 0x78, 0x9d, + 0x0a, 0x6d, 0x6d, 0x46, 0x7f, 0x1c, 0xc2, 0x68, 0xdb, 0x6d, 0x53, 0x82, 0x05, 0xcd, 0x02, 0x5d, 0xb2, 0xc6, 0xad, + 0xb4, 0xf8, 0x06, 0x19, 0x79, 0x68, 0x0a, 0x30, 0x31, 0xde, 0x9f, 0xfd, 0x68, 0xe3, 0xf0, 0xc4, 0x0e, 0x0d, 0xad, + 0x0c, 0x21, 0xb4, 0x78, 0x0f, 0x98, 0x63, 0x8f, 0x08, 0x00, 0xd1, 0x4b, 0x03, 0xa9, 0x0a, 0x64, 0x51, 0x54, 0x29, + 0xf2, 0x9f, 0x1f, 0x12, 0xf2, 0xb2, 0x52, 0x64, 0xbe, 0xad, 0x8c, 0xb9, 0x00, 0x31, 0x50, 0x0a, 0x17, 0x09, 0x65, + 0x82, 0xbd, 0x0c, 0x7d, 0xaf, 0x7d, 0x79, 0x23, 0x6d, 0x26, 0x15, 0x37, 0x1e, 0xdc, 0x94, 0x1a, 0x15, 0x9f, 0xcd, + 0xf7, 0x90, 0xd8, 0xca, 0xbd, 0x07, 0xb9, 0x9c, 0x9a, 0x41, 0xc2, 0xf7, 0x3b, 0x53, 0xda, 0xb7, 0xbb, 0xf9, 0xb2, + 0x6d, 0x11, 0xb3, 0xb5, 0x2e, 0x09, 0x17, 0x8a, 0x15, 0xfa, 0x11, 0x9b, 0xc8, 0x02, 0xee, 0x3f, 0x4a, 0xb0, 0xa0, + 0xcd, 0xbd, 0x40, 0x07, 0x68, 0x26, 0x18, 0x5c, 0x3a, 0x6c, 0xcd, 0xd0, 0xfc, 0xfa, 0x62, 0xee, 0xc0, 0x3f, 0x6d, + 0xd7, 0x7a, 0x79, 0x74, 0xf4, 0x95, 0x55, 0x80, 0x72, 0xc3, 0x34, 0xc3, 0x08, 0x88, 0x97, 0xe5, 0x72, 0xdc, 0xcd, + 0xf0, 0xbd, 0xb8, 0x52, 0x19, 0x78, 0xc2, 0x11, 0x12, 0xa1, 0xe7, 0x44, 0x6f, 0xa6, 0xdb, 0xf4, 0xde, 0x69, 0x33, + 0x44, 0x28, 0xd6, 0x00, 0xb9, 0x07, 0xb9, 0xdc, 0x2a, 0x99, 0x54, 0x65, 0x6b, 0x5b, 0x0e, 0xe2, 0x31, 0x80, 0x2b, + 0x36, 0x42, 0x4a, 0x80, 0x86, 0xfb, 0x85, 0x96, 0xf7, 0x12, 0xd8, 0x7f, 0xac, 0x12, 0x10, 0x69, 0x51, 0x6d, 0xe3, + 0x22, 0x84, 0xad, 0xa9, 0x4f, 0x60, 0x9c, 0xf0, 0xf0, 0xf9, 0x3e, 0x0d, 0xb5, 0x47, 0x6d, 0x66, 0xce, 0x20, 0x28, + 0x21, 0x51, 0x59, 0x21, 0xf9, 0x1a, 0x0b, 0xc7, 0xcd, 0xf9, 0x7b, 0x38, 0x20, 0xc5, 0x92, 0xc6, 0xf6, 0x6e, 0x0b, + 0x8e, 0x8f, 0x22, 0x59, 0xc6, 0xb5, 0xae, 0x7b, 0x85, 0xa9, 0x86, 0x1d, 0xe8, 0x68, 0x08, 0xa7, 0xc2, 0xdc, 0x13, + 0x3e, 0xae, 0x48, 0xaa, 0x76, 0x16, 0x50, 0x9e, 0x18, 0x56, 0xa6, 0x29, 0xc1, 0xfc, 0xb5, 0x33, 0x5f, 0x2b, 0x8f, + 0x09, 0x66, 0x86, 0x71, 0x63, 0x57, 0x81, 0x6d, 0x00, 0xc7, 0x56, 0x8f, 0x64, 0xb0, 0xa8, 0x5e, 0x29, 0x6e, 0x3a, + 0x0d, 0x98, 0x80, 0xb7, 0x60, 0x3d, 0xb3, 0xbd, 0xf5, 0x9f, 0x9b, 0x83, 0x51, 0x60, 0x55, 0x23, 0xf0, 0xd2, 0x10, + 0x78, 0x04, 0x8c, 0x9b, 0x37, 0x2d, 0xef, 0x3b, 0x23, 0x1a, 0xe1, 0x4f, 0x3c, 0x87, 0x67, 0x96, 0xe5, 0xde, 0xf9, + 0xd8, 0x5a, 0x91, 0x54, 0x10, 0xb0, 0x2d, 0xc2, 0x8e, 0xc8, 0x4b, 0x84, 0x55, 0xa3, 0xd1, 0x53, 0x97, 0xac, 0xd2, + 0xaa, 0x54, 0xc3, 0x14, 0x70, 0x4b, 0x0c, 0x78, 0x5f, 0x3b, 0x51, 0xc1, 0x90, 0xc0, 0x5b, 0x7f, 0x2b, 0x50, 0xdf, + 0x3f, 0x7c, 0x1b, 0x87, 0xf4, 0x2d, 0x2c, 0x5b, 0x5e, 0xc4, 0xc2, 0x94, 0xe2, 0xea, 0x0e, 0xe7, 0xcd, 0xf7, 0xcd, + 0x46, 0x60, 0xdc, 0x87, 0x6d, 0x0c, 0x36, 0x6e, 0xa8, 0xa7, 0x2d, 0x69, 0x28, 0x37, 0x61, 0x0f, 0x55, 0xf6, 0x8e, + 0x61, 0x67, 0x3d, 0x5d, 0x49, 0xbb, 0x9a, 0xa8, 0xcd, 0x46, 0xb1, 0xca, 0x68, 0x60, 0xcb, 0xb0, 0xd3, 0x1c, 0x33, + 0xbb, 0x0a, 0xfc, 0xc7, 0x0b, 0xa2, 0x71, 0x80, 0xac, 0x6f, 0xbe, 0x75, 0x9d, 0x52, 0x0d, 0x13, 0xb6, 0xb7, 0x3b, + 0x1f, 0x1f, 0xf3, 0x7d, 0xe7, 0x23, 0x96, 0x6e, 0xeb, 0x9b, 0xb3, 0xb1, 0xfd, 0x6f, 0x9c, 0x8d, 0x4e, 0x6d, 0xef, + 0x8f, 0x47, 0xe0, 0x4e, 0x6a, 0xc7, 0x63, 0x7d, 0x4d, 0x89, 0xc4, 0xc2, 0x2d, 0xc7, 0x55, 0x67, 0xbd, 0x16, 0x83, + 0x16, 0xa8, 0x9d, 0xa2, 0x08, 0x7e, 0xb6, 0xed, 0xcf, 0x80, 0x24, 0x5b, 0x1d, 0x72, 0x2c, 0x4a, 0x51, 0x06, 0x25, + 0x60, 0x40, 0x1d, 0x1b, 0x5b, 0x2f, 0x83, 0xd8, 0x0e, 0x87, 0x1c, 0x96, 0x13, 0x51, 0x5e, 0x5d, 0xc1, 0x88, 0xcd, + 0xb1, 0xe1, 0x04, 0xcc, 0x78, 0xaf, 0x55, 0xa1, 0x17, 0x3f, 0xff, 0x35, 0x73, 0x5a, 0x3b, 0x62, 0x2c, 0x27, 0x51, + 0xb3, 0x62, 0x70, 0x23, 0x70, 0x0c, 0xe3, 0xa1, 0x91, 0x50, 0xab, 0x53, 0x1d, 0xd5, 0x8e, 0x24, 0xdc, 0x02, 0xb5, + 0xdb, 0xa1, 0x39, 0x97, 0xd6, 0xeb, 0xbd, 0x07, 0x0b, 0x2e, 0x02, 0xdc, 0x7e, 0x4e, 0x74, 0x8d, 0xa4, 0x50, 0xe2, + 0x24, 0x28, 0x9c, 0x1b, 0x54, 0xd5, 0x44, 0x0e, 0x5a, 0x43, 0xe0, 0x49, 0x7b, 0xd9, 0xa5, 0xac, 0x84, 0xe4, 0xac, + 0xd1, 0x40, 0x79, 0xd9, 0x31, 0x1d, 0x88, 0x46, 0x36, 0xc4, 0x0c, 0x67, 0x56, 0x60, 0x81, 0xd3, 0x2b, 0xce, 0xab, + 0xae, 0x07, 0xd9, 0x10, 0xe1, 0x62, 0xbd, 0x8e, 0xed, 0xd0, 0x72, 0xb4, 0x5e, 0xe7, 0xe1, 0xd0, 0x4c, 0x3e, 0x54, + 0x7c, 0xd9, 0xd7, 0xe4, 0xa5, 0x39, 0x0f, 0x5f, 0xc2, 0x20, 0x1b, 0x24, 0xce, 0x9d, 0x4a, 0x30, 0x07, 0xcd, 0x55, + 0x43, 0x0e, 0xb2, 0x46, 0x7b, 0x18, 0xd0, 0xb0, 0x41, 0x36, 0x24, 0xf9, 0x06, 0x2c, 0x67, 0x95, 0x3b, 0x30, 0x3f, + 0xc3, 0xc1, 0xf6, 0xd9, 0x9c, 0x33, 0xb6, 0xc1, 0x70, 0x4d, 0xb6, 0x55, 0x06, 0x25, 0x5e, 0xb9, 0xc5, 0xf5, 0xe5, + 0x6a, 0x06, 0x16, 0x65, 0x21, 0xec, 0xae, 0x99, 0xfb, 0x20, 0xfc, 0x97, 0xd8, 0x5e, 0xd0, 0xd2, 0x88, 0x7b, 0x0b, + 0xf1, 0xbd, 0xed, 0x76, 0x92, 0x24, 0xb4, 0x98, 0x9a, 0x2b, 0x11, 0x7f, 0xc3, 0x6b, 0xf6, 0xc0, 0xa9, 0x1b, 0x67, + 0xd0, 0xf3, 0xa0, 0xec, 0x6c, 0x48, 0xec, 0xf8, 0x3d, 0xb3, 0xe3, 0x1d, 0x57, 0x28, 0xdd, 0xaf, 0x8b, 0xb0, 0x83, + 0xc9, 0xfe, 0x97, 0x07, 0x73, 0xe6, 0x06, 0x63, 0xd1, 0x64, 0x0b, 0x6e, 0xdf, 0x80, 0x07, 0xa5, 0x5b, 0x70, 0xfb, + 0x36, 0x7c, 0x3d, 0xb4, 0xf2, 0x6f, 0x0e, 0x30, 0x20, 0x13, 0x76, 0xa4, 0x55, 0x42, 0x30, 0xcc, 0xee, 0x36, 0x47, + 0x66, 0xc9, 0x2a, 0x1c, 0xae, 0x9a, 0xc4, 0x62, 0x6b, 0x2f, 0x54, 0x4c, 0x6a, 0x20, 0x18, 0x8b, 0xf4, 0x25, 0x0a, + 0x95, 0x06, 0x75, 0xe3, 0x18, 0xc0, 0x2a, 0xa7, 0xad, 0x7f, 0x79, 0x74, 0x04, 0x42, 0x03, 0xb0, 0x76, 0x49, 0x46, + 0x17, 0x7a, 0x59, 0x00, 0x7f, 0xa5, 0xfc, 0x6f, 0x48, 0x06, 0xb7, 0x13, 0x93, 0x06, 0x3f, 0x20, 0x61, 0x41, 0x95, + 0xe2, 0x5f, 0x6d, 0x9a, 0xfb, 0x8d, 0x0b, 0xe2, 0x31, 0x5a, 0x59, 0x4e, 0x51, 0xa2, 0x9e, 0x74, 0xe8, 0x5a, 0x87, + 0xdc, 0xd3, 0xaf, 0x4c, 0xe8, 0x97, 0x5c, 0x69, 0x26, 0x00, 0x00, 0x15, 0xe2, 0xc1, 0x94, 0x14, 0x82, 0xad, 0x5b, + 0xab, 0x45, 0xc7, 0xe3, 0xef, 0x56, 0xd1, 0x75, 0xb6, 0x68, 0x46, 0xc5, 0x38, 0xb7, 0x9d, 0x84, 0x36, 0x93, 0xde, + 0x4e, 0xb4, 0x2c, 0x19, 0x5a, 0xec, 0x54, 0xec, 0x87, 0xa1, 0xf5, 0xb1, 0x20, 0xfe, 0x5c, 0xf0, 0x67, 0xe9, 0x77, + 0xf9, 0x18, 0xb8, 0x52, 0xff, 0xc6, 0x2a, 0x84, 0x33, 0xc1, 0x3a, 0x20, 0xaf, 0x49, 0x7d, 0x9c, 0x1e, 0x75, 0x66, + 0x3b, 0xca, 0x85, 0xd2, 0x28, 0x6c, 0xeb, 0xa4, 0x30, 0x98, 0x72, 0xfe, 0x6d, 0x89, 0xeb, 0x17, 0x7f, 0x8c, 0xf8, + 0xa3, 0x43, 0xfc, 0xbb, 0x54, 0x1a, 0xad, 0x4a, 0x04, 0x43, 0x7e, 0x47, 0x32, 0x05, 0x57, 0xb1, 0x39, 0xd7, 0xcf, + 0xf5, 0x3c, 0xdf, 0xf2, 0xc4, 0xe9, 0x31, 0x55, 0x42, 0x47, 0xc5, 0x37, 0x0c, 0xbf, 0x60, 0x70, 0x6f, 0xfc, 0x8c, + 0x07, 0x55, 0x76, 0xef, 0x8b, 0x9f, 0x05, 0xf7, 0xc5, 0xcf, 0x78, 0xba, 0x5b, 0x34, 0xb8, 0x27, 0xee, 0x24, 0x17, + 0x49, 0x2b, 0xf2, 0x7c, 0xd4, 0x98, 0x56, 0xfe, 0x95, 0x76, 0x6b, 0xe0, 0xca, 0x26, 0x0e, 0x8c, 0xf3, 0xea, 0x22, + 0x14, 0x73, 0xe6, 0x8c, 0x96, 0xc3, 0xff, 0xd6, 0x3a, 0xb9, 0x93, 0x47, 0x5a, 0x29, 0xe4, 0x0d, 0x2d, 0xf4, 0x3d, + 0xd8, 0x70, 0xc5, 0x8e, 0x0f, 0x20, 0x25, 0xa0, 0x6c, 0xfb, 0xf7, 0xba, 0x08, 0xc4, 0x71, 0x65, 0x9d, 0x8f, 0xc2, + 0xf6, 0x49, 0x51, 0x72, 0x75, 0x75, 0x21, 0xe4, 0xd6, 0x68, 0x09, 0x10, 0xa6, 0xde, 0x35, 0x8f, 0x39, 0x9a, 0xcc, + 0xd2, 0xd5, 0xa6, 0x54, 0x1d, 0x14, 0x96, 0xab, 0xe3, 0x08, 0x17, 0x1b, 0x73, 0x83, 0xfe, 0x37, 0xc7, 0x9f, 0xb9, + 0xa3, 0x91, 0x3f, 0x95, 0x14, 0xe8, 0xc3, 0x7e, 0x5f, 0x9b, 0x3d, 0x24, 0xd2, 0xce, 0xa1, 0xb4, 0x14, 0x00, 0xac, + 0x36, 0xf8, 0xba, 0xf1, 0x38, 0xf5, 0x44, 0xba, 0xd9, 0x7c, 0xd3, 0x10, 0x16, 0xb3, 0xd2, 0x82, 0xc7, 0x74, 0xb3, + 0xc7, 0x72, 0xd4, 0xcb, 0xe2, 0xba, 0xdc, 0x63, 0xb5, 0x7e, 0xd1, 0x37, 0x40, 0x59, 0x19, 0xa2, 0xad, 0xd7, 0x71, + 0x1d, 0xde, 0x44, 0x04, 0xd7, 0x20, 0x08, 0x8b, 0xc0, 0x80, 0xa3, 0xc6, 0x78, 0xdb, 0x3a, 0x31, 0xda, 0xb6, 0x5f, + 0xf2, 0xac, 0x7b, 0x6d, 0x1c, 0xa1, 0xa2, 0xc1, 0x56, 0x0f, 0x35, 0x0f, 0xd8, 0xce, 0xae, 0xec, 0x28, 0x80, 0xd0, + 0x98, 0x7a, 0xe3, 0xdc, 0xca, 0x8a, 0x76, 0x0f, 0x7c, 0xd1, 0x77, 0xcc, 0x73, 0x1d, 0xe8, 0x76, 0xf3, 0x03, 0xdb, + 0xa6, 0x27, 0xf2, 0x5b, 0xb6, 0x4d, 0x35, 0x4e, 0xf8, 0xb0, 0x85, 0xbe, 0x6f, 0x08, 0x6b, 0xfb, 0xda, 0x5f, 0xe4, + 0x7f, 0xa1, 0xbb, 0x36, 0xa0, 0xa7, 0x05, 0xb3, 0xa7, 0x31, 0xef, 0xf5, 0x66, 0xf3, 0x53, 0xe9, 0xbf, 0x60, 0x6c, + 0x85, 0x7e, 0xb2, 0xbb, 0xc0, 0x89, 0x95, 0xc6, 0x21, 0x38, 0xfe, 0x9b, 0x93, 0x69, 0x2e, 0x47, 0x34, 0x7f, 0x07, + 0x3d, 0x56, 0xb9, 0xcf, 0xef, 0xc6, 0x05, 0xd5, 0xcc, 0xd1, 0x9a, 0x6a, 0x14, 0x7f, 0xf3, 0x60, 0x18, 0x7f, 0x73, + 0x4b, 0xb9, 0xab, 0x16, 0xf0, 0xea, 0x65, 0xd9, 0x44, 0xfa, 0xd3, 0xc6, 0xd3, 0x0e, 0xae, 0xf6, 0xf7, 0xb2, 0x4d, + 0xd2, 0x78, 0x49, 0xd2, 0xb8, 0x8a, 0xb7, 0x9b, 0x8a, 0xe3, 0xcf, 0xdf, 0x18, 0xec, 0x2e, 0x99, 0xfb, 0x1c, 0x90, + 0xb9, 0xcf, 0x3c, 0xfd, 0x6e, 0xad, 0x80, 0xe2, 0x9d, 0x26, 0xa7, 0xc6, 0x32, 0xc6, 0x8e, 0xfa, 0xad, 0x06, 0x83, + 0x06, 0x4d, 0xae, 0x02, 0x6f, 0x87, 0xea, 0xf4, 0xf2, 0xf6, 0x47, 0x71, 0xb6, 0x54, 0x5a, 0xce, 0x5d, 0xa3, 0xca, + 0xf9, 0x38, 0x99, 0x4c, 0x50, 0x60, 0x9b, 0x3b, 0xfc, 0xb4, 0xee, 0x46, 0xb6, 0xfa, 0xc2, 0xc5, 0x38, 0x55, 0xd8, + 0x9d, 0x2d, 0x2a, 0x95, 0x1b, 0xe2, 0xcd, 0x9c, 0x77, 0xf3, 0xf0, 0x84, 0x0b, 0xae, 0x66, 0xac, 0x88, 0x0b, 0xb4, + 0xfa, 0x56, 0x67, 0x05, 0xdc, 0xe6, 0xd8, 0xce, 0xf0, 0xb2, 0xb4, 0x1c, 0xd0, 0x09, 0xb4, 0x06, 0x3a, 0xa3, 0x39, + 0xd3, 0x33, 0x39, 0x06, 0xc3, 0x97, 0x64, 0x5c, 0xba, 0x53, 0x1d, 0x1d, 0x1d, 0xc6, 0x91, 0xd1, 0x5f, 0x80, 0x0f, + 0x7a, 0x98, 0x83, 0xfa, 0x2b, 0x70, 0x0c, 0xaa, 0xba, 0x66, 0x68, 0xc5, 0xb6, 0x7d, 0x68, 0x74, 0xf2, 0x85, 0xdd, + 0x61, 0x8e, 0x36, 0x9b, 0xd4, 0x8e, 0x3a, 0x9a, 0x70, 0x96, 0x8f, 0x23, 0xfc, 0x85, 0xdd, 0xa5, 0xa5, 0xdb, 0xba, + 0xf1, 0xb2, 0x36, 0x8b, 0x18, 0xc9, 0x1b, 0x11, 0xe1, 0xaa, 0x93, 0x74, 0xb5, 0xc1, 0xb2, 0xe0, 0x53, 0xc0, 0xd1, + 0x9f, 0xd9, 0x5d, 0xea, 0xda, 0x0b, 0x5c, 0x05, 0xd1, 0xca, 0x83, 0x3e, 0x09, 0x92, 0xc3, 0x65, 0x70, 0x02, 0xc7, + 0xc0, 0xd4, 0x1d, 0x92, 0x5a, 0xb9, 0x4a, 0x84, 0x44, 0x68, 0xf3, 0xef, 0x4e, 0x05, 0x4f, 0xc2, 0x73, 0x4e, 0xd7, + 0x2c, 0x6e, 0xb7, 0x2a, 0x31, 0xa8, 0x50, 0x59, 0x90, 0x7c, 0x8c, 0xb9, 0xdf, 0x7d, 0xce, 0xfb, 0x21, 0xd0, 0x99, + 0x4d, 0xa8, 0x6b, 0x34, 0x5d, 0x9a, 0x5f, 0xa8, 0xba, 0x83, 0x9a, 0xeb, 0xaa, 0xe2, 0xc1, 0xc7, 0x18, 0x00, 0x0f, + 0xd6, 0x32, 0xd4, 0x38, 0x84, 0x6e, 0xbc, 0x99, 0xea, 0x82, 0x92, 0x78, 0xe5, 0xe7, 0x90, 0xf2, 0x10, 0x8c, 0x7a, + 0x03, 0x68, 0xe8, 0x10, 0xcc, 0x5a, 0x1e, 0xf2, 0x49, 0x2c, 0x76, 0xce, 0x50, 0x69, 0xce, 0xd0, 0x24, 0x00, 0xf9, + 0x37, 0xce, 0x4c, 0x66, 0xa0, 0x61, 0x78, 0x4b, 0x73, 0x00, 0xba, 0xd5, 0x75, 0x38, 0x14, 0xae, 0x68, 0xe9, 0xbc, + 0x67, 0x17, 0x5d, 0xd6, 0x86, 0x15, 0x9b, 0x76, 0xd0, 0x26, 0x85, 0x29, 0x31, 0x5b, 0x60, 0xe3, 0xf5, 0x3e, 0xdc, + 0xdb, 0xd5, 0xc6, 0x45, 0xe2, 0xa7, 0x45, 0x3c, 0x4c, 0x62, 0x8a, 0x56, 0x3c, 0xa6, 0x58, 0x82, 0x1d, 0x64, 0xb1, + 0x29, 0xc7, 0xcf, 0xc2, 0xe5, 0xa8, 0x59, 0x49, 0xef, 0x77, 0x30, 0x04, 0x2e, 0x5f, 0x83, 0x6d, 0x28, 0xe6, 0x25, + 0x61, 0x89, 0x8d, 0xa7, 0x5f, 0xb0, 0x6e, 0x53, 0xbb, 0x20, 0x7e, 0x05, 0x16, 0x34, 0x5e, 0x05, 0xb3, 0x08, 0x9d, + 0xca, 0x9d, 0xc3, 0xa1, 0xbb, 0x26, 0xac, 0x8c, 0x57, 0x63, 0x45, 0xb6, 0x8e, 0x9e, 0xef, 0xdb, 0x78, 0xfe, 0xb5, + 0x64, 0xc5, 0xdd, 0x35, 0x03, 0x1b, 0x6b, 0x09, 0xee, 0xc6, 0xd5, 0x32, 0x54, 0x06, 0xf2, 0x7d, 0x69, 0x58, 0x97, + 0x0d, 0xfe, 0x6e, 0x54, 0x8c, 0x8d, 0xb9, 0xa7, 0x0c, 0xb4, 0x35, 0x76, 0xbb, 0xb0, 0x6f, 0xba, 0x6e, 0xb2, 0x9e, + 0x89, 0x95, 0x50, 0x41, 0xda, 0xdd, 0x2d, 0xe0, 0x22, 0xf4, 0x87, 0x1d, 0xa8, 0xe1, 0xb6, 0xea, 0x06, 0x92, 0xe0, + 0xda, 0x4f, 0x7e, 0x7b, 0xaa, 0xfb, 0xac, 0x75, 0xbf, 0x3d, 0xd5, 0xda, 0x65, 0xa1, 0x31, 0x24, 0xc2, 0xae, 0x9f, + 0xd2, 0x7f, 0x5a, 0x6c, 0x36, 0x68, 0x03, 0xc3, 0x7b, 0xc4, 0x7b, 0x71, 0xfc, 0xc8, 0x5b, 0x28, 0x26, 0x70, 0x91, + 0x7b, 0x9d, 0x4b, 0x4f, 0xc8, 0xab, 0x11, 0x3c, 0xe2, 0x3b, 0x43, 0x78, 0xc4, 0x03, 0xa7, 0x57, 0x90, 0x9a, 0xa6, + 0x82, 0x8d, 0x3d, 0xfd, 0x44, 0x16, 0x09, 0x0d, 0x1f, 0xf7, 0x9a, 0x13, 0xa1, 0xff, 0x4c, 0x81, 0xff, 0xc2, 0xa3, + 0xa5, 0xd6, 0x52, 0x60, 0x2e, 0x16, 0x4b, 0x8d, 0x95, 0x19, 0xfd, 0x6a, 0x22, 0x85, 0x6e, 0x4e, 0xe8, 0x9c, 0xe7, + 0x77, 0xe9, 0x92, 0x37, 0xe7, 0x52, 0x48, 0xb5, 0xa0, 0x19, 0xc3, 0xea, 0x4e, 0x69, 0x36, 0x6f, 0x2e, 0x39, 0x7e, + 0xce, 0xf2, 0xaf, 0x4c, 0xf3, 0x8c, 0xe2, 0xb7, 0x72, 0x24, 0xb5, 0xc4, 0xaf, 0x6f, 0xef, 0xa6, 0x4c, 0xe0, 0xf7, + 0xa3, 0xa5, 0xd0, 0x4b, 0xac, 0xa8, 0x50, 0x4d, 0xc5, 0x0a, 0x3e, 0xe9, 0x35, 0x9b, 0x8b, 0x82, 0xcf, 0x69, 0x71, + 0xd7, 0xcc, 0x64, 0x2e, 0x8b, 0xf4, 0xbf, 0x5a, 0xa7, 0xf4, 0xc1, 0xe4, 0xac, 0xa7, 0x0b, 0x2a, 0x14, 0x87, 0x85, + 0x49, 0x69, 0x9e, 0x1f, 0x9c, 0x76, 0x5b, 0x73, 0x75, 0x68, 0x2f, 0xfc, 0xa8, 0xd0, 0x9b, 0x3f, 0xf1, 0x6f, 0x12, + 0x46, 0x99, 0x8c, 0xb4, 0x70, 0x83, 0x5c, 0x65, 0xcb, 0x42, 0xc9, 0x22, 0x5d, 0x48, 0x2e, 0x34, 0x2b, 0x7a, 0x23, + 0x59, 0x8c, 0x59, 0xd1, 0x2c, 0xe8, 0x98, 0x2f, 0x55, 0x7a, 0xb6, 0xb8, 0xed, 0xd5, 0x7b, 0xb0, 0xf9, 0xa9, 0x90, + 0x82, 0xf5, 0x80, 0xdf, 0x98, 0x16, 0x72, 0x29, 0xc6, 0x6e, 0x18, 0x4b, 0xa1, 0x98, 0xee, 0x2d, 0xe8, 0x18, 0xec, + 0x80, 0xd3, 0x8b, 0xc5, 0x6d, 0xcf, 0xcc, 0xfa, 0x86, 0xf1, 0xe9, 0x4c, 0xa7, 0xdd, 0x56, 0xcb, 0x7e, 0x2b, 0xfe, + 0x37, 0x4b, 0xdb, 0x9d, 0xa4, 0xd3, 0x5d, 0xdc, 0x02, 0x07, 0xaf, 0x59, 0xd1, 0x04, 0x58, 0x40, 0xa5, 0x76, 0xd2, + 0x7a, 0x70, 0x7a, 0x1f, 0x32, 0xc0, 0xc6, 0xa1, 0x69, 0x26, 0x04, 0xc6, 0xee, 0xe9, 0x72, 0xb1, 0x60, 0x05, 0x78, + 0xd1, 0xf7, 0xe6, 0xb4, 0x98, 0x72, 0xd1, 0x2c, 0x4c, 0xa3, 0xcd, 0x8b, 0xc5, 0xed, 0x06, 0xe6, 0x93, 0x5a, 0xb3, + 0x55, 0x37, 0x2d, 0xf7, 0xb5, 0x0a, 0x86, 0x68, 0x62, 0xd2, 0xa4, 0xc5, 0x74, 0x44, 0xe3, 0x76, 0xe7, 0x3e, 0xf6, + 0xff, 0x4b, 0x3a, 0x28, 0x00, 0x5b, 0x73, 0xbc, 0x2c, 0xcc, 0x2d, 0x6a, 0xda, 0x56, 0xb6, 0xd9, 0x99, 0xfc, 0xca, + 0x0a, 0xdf, 0xaa, 0xf9, 0x58, 0xed, 0xcc, 0xfb, 0x3f, 0x6a, 0x94, 0xda, 0xb6, 0x5e, 0xa8, 0x6b, 0xa0, 0xd1, 0xbb, + 0x8d, 0xfd, 0x57, 0xe7, 0x82, 0xde, 0x3f, 0xeb, 0x7a, 0xb8, 0x4f, 0x26, 0x93, 0x1a, 0xd0, 0x3d, 0x74, 0xdb, 0xad, + 0xc5, 0xed, 0x41, 0xa7, 0xe5, 0x61, 0x6c, 0x61, 0x7a, 0xbe, 0xb8, 0xdd, 0xb3, 0x82, 0x01, 0x56, 0x6c, 0xf7, 0x76, + 0x90, 0x9c, 0xaa, 0x03, 0x46, 0x15, 0xdb, 0xfc, 0x89, 0xe7, 0x14, 0x70, 0xc3, 0x20, 0xed, 0xc0, 0xc8, 0xa9, 0xb0, + 0x02, 0xc3, 0xd5, 0x0d, 0x1f, 0xeb, 0x59, 0xda, 0x6e, 0xb5, 0x7e, 0xa8, 0x30, 0xa9, 0x37, 0xb3, 0x4b, 0xda, 0x2e, + 0xd8, 0xbc, 0x86, 0x5f, 0x23, 0x5a, 0xee, 0x82, 0xd5, 0x42, 0xba, 0x4e, 0x0b, 0x96, 0x9b, 0x28, 0x37, 0x1b, 0xb7, + 0x15, 0x76, 0xa6, 0xcc, 0xc5, 0x8c, 0x15, 0x5c, 0xf7, 0xea, 0x5f, 0x55, 0xc7, 0xbb, 0x73, 0xda, 0x58, 0xf9, 0x78, + 0x65, 0x6b, 0xb8, 0xcb, 0xd8, 0xc7, 0xf0, 0xb1, 0x8b, 0x95, 0x5f, 0x69, 0x11, 0x6f, 0x6d, 0x18, 0x1c, 0xd6, 0x40, + 0x9b, 0x60, 0xce, 0x05, 0x98, 0x8a, 0x0e, 0xf1, 0x37, 0xa0, 0x90, 0xd1, 0x3c, 0x8b, 0x61, 0x44, 0x07, 0xcd, 0x83, + 0xd3, 0x82, 0xcd, 0x91, 0x07, 0x44, 0x72, 0xbf, 0x5b, 0xb0, 0xf9, 0x26, 0x31, 0xd5, 0x57, 0x06, 0x75, 0x69, 0xce, + 0xa7, 0x22, 0xcd, 0x18, 0x6c, 0xab, 0x4d, 0xc2, 0x84, 0xe6, 0xfa, 0xae, 0x59, 0xc8, 0x9b, 0xd5, 0x98, 0xab, 0x45, + 0x4e, 0xef, 0xd2, 0x49, 0xce, 0x6e, 0x7b, 0xa6, 0x54, 0x93, 0x6b, 0x36, 0x57, 0xae, 0x6c, 0x0f, 0xd2, 0x9b, 0x63, + 0x6b, 0xce, 0x01, 0xd0, 0x93, 0x37, 0xdb, 0xfb, 0xda, 0x2f, 0x5a, 0x53, 0x2e, 0xf5, 0x41, 0x4b, 0xf5, 0xe6, 0x5c, + 0x34, 0xdd, 0x40, 0xce, 0x00, 0x23, 0x76, 0x21, 0x1f, 0xf4, 0x9f, 0xb0, 0xdb, 0x05, 0x15, 0x63, 0x36, 0x5e, 0x05, + 0xd5, 0x3a, 0x50, 0x2f, 0x2c, 0x95, 0x0a, 0x3d, 0x6b, 0x1a, 0x1b, 0xb4, 0xb8, 0x23, 0xd0, 0x37, 0x50, 0xfe, 0x41, + 0x0b, 0xdb, 0xff, 0x4f, 0xda, 0x28, 0xac, 0x7c, 0x00, 0xe1, 0xa0, 0xf8, 0xe4, 0xae, 0x09, 0x7f, 0x57, 0xe0, 0xf3, + 0xc4, 0x33, 0x9a, 0x3b, 0x88, 0xcc, 0xf9, 0x78, 0x9c, 0xd7, 0x46, 0x74, 0x15, 0x74, 0xd6, 0x46, 0x2b, 0x98, 0x7f, + 0xda, 0x3a, 0x68, 0x1d, 0x98, 0xb9, 0xb8, 0x6d, 0x70, 0x76, 0x76, 0xff, 0xf4, 0x01, 0xeb, 0xe5, 0x5c, 0xb0, 0xda, + 0x54, 0xbf, 0x0b, 0xea, 0xb0, 0xe1, 0x8e, 0x6b, 0xb8, 0x7d, 0xd0, 0x3e, 0x38, 0x6b, 0xfd, 0xe0, 0xa9, 0x48, 0xce, + 0x26, 0xda, 0xee, 0x9b, 0x1a, 0x59, 0xb9, 0xf0, 0x4d, 0xdf, 0x14, 0x74, 0x91, 0x0a, 0x09, 0x7f, 0x7a, 0xb0, 0xf9, + 0x27, 0xb9, 0xbc, 0x49, 0x67, 0x7c, 0x3c, 0x66, 0xc2, 0x16, 0x28, 0x13, 0x59, 0x9e, 0xf3, 0x85, 0xe2, 0x76, 0x35, + 0x1c, 0xee, 0x76, 0xb7, 0xa0, 0x1a, 0x0e, 0xe8, 0x34, 0x18, 0x50, 0xb7, 0x1a, 0x50, 0xd5, 0x7f, 0x38, 0xc2, 0xce, + 0xd6, 0x5c, 0x4d, 0xa9, 0x5e, 0x0d, 0x93, 0x3e, 0x2f, 0x95, 0x06, 0x98, 0x7b, 0xe3, 0x11, 0x73, 0xba, 0x34, 0x47, + 0x4c, 0xdf, 0x30, 0x26, 0xbe, 0x3d, 0x88, 0xab, 0x54, 0x8a, 0xfc, 0xce, 0x7e, 0xae, 0xc2, 0x2e, 0xe9, 0x52, 0xcb, + 0x4d, 0x32, 0xe2, 0x82, 0x16, 0x77, 0x9f, 0x14, 0x13, 0x4a, 0x16, 0x9f, 0xe4, 0x64, 0xb2, 0xfa, 0x16, 0xc9, 0xbb, + 0x8f, 0x36, 0x89, 0xe2, 0x62, 0x9a, 0x33, 0x4b, 0xe0, 0x0c, 0x22, 0xb8, 0x43, 0xc6, 0xb6, 0x6b, 0x9a, 0xac, 0x0d, + 0x7a, 0x93, 0x64, 0x39, 0x9f, 0x53, 0xcd, 0x0c, 0x9c, 0x03, 0x52, 0xe3, 0x26, 0x6f, 0xa9, 0x5c, 0xeb, 0xc0, 0xfe, + 0xa9, 0x4a, 0xc3, 0x36, 0x0a, 0x0a, 0xfb, 0x26, 0xb9, 0x30, 0xf8, 0x61, 0xc0, 0x61, 0x76, 0x91, 0x59, 0x3d, 0xb3, + 0x76, 0x01, 0xec, 0x60, 0x76, 0xb5, 0xa6, 0xae, 0x1c, 0x5d, 0xb2, 0x2d, 0x76, 0x5b, 0x3f, 0xd4, 0x73, 0x73, 0x3a, + 0x62, 0xf9, 0xca, 0x6e, 0x54, 0x0f, 0x5c, 0xb7, 0x55, 0xc3, 0x65, 0x0e, 0x48, 0x86, 0x01, 0xd1, 0x30, 0x4d, 0x9b, + 0x37, 0x6c, 0xf4, 0x85, 0x6b, 0xbb, 0x65, 0x9a, 0xea, 0x06, 0x9c, 0x8a, 0xcc, 0x98, 0x16, 0xac, 0x58, 0x79, 0x42, + 0xde, 0xaa, 0x11, 0xd0, 0x6b, 0x61, 0x0e, 0x68, 0x4d, 0x47, 0x4d, 0x08, 0xb1, 0xc6, 0x8a, 0xd5, 0xbe, 0xc9, 0xcd, + 0xe9, 0xad, 0x43, 0xb1, 0x07, 0xad, 0x1f, 0x6a, 0x87, 0xec, 0x59, 0xab, 0xe5, 0x8f, 0x88, 0xa6, 0xad, 0x91, 0xb6, + 0x93, 0x2e, 0x9b, 0x97, 0x89, 0x5a, 0x2e, 0xd2, 0x5a, 0xc2, 0x48, 0x6a, 0x2d, 0xe7, 0x36, 0x6d, 0x0f, 0x35, 0xaa, + 0x93, 0xde, 0x76, 0x67, 0x71, 0x7b, 0x60, 0xfe, 0x69, 0x1d, 0xb4, 0x76, 0x49, 0xed, 0x2e, 0x56, 0x9c, 0x22, 0x8f, + 0xc7, 0xd0, 0x71, 0x9b, 0xcd, 0x7b, 0x4b, 0x05, 0xc7, 0xbd, 0x81, 0xb8, 0x39, 0xd1, 0x36, 0x66, 0xb2, 0x00, 0x58, + 0xca, 0x05, 0x9c, 0xae, 0xf6, 0xb0, 0x83, 0x3e, 0x94, 0x04, 0x73, 0xf8, 0xbd, 0x8d, 0xd6, 0x87, 0xd5, 0x3a, 0xa8, + 0x06, 0x06, 0xff, 0x6c, 0xfe, 0xac, 0xf8, 0xf3, 0x27, 0x2c, 0x90, 0x8f, 0x78, 0x23, 0xe9, 0xae, 0x5b, 0x4e, 0x26, + 0x1a, 0xeb, 0x4a, 0x54, 0x33, 0x1e, 0x25, 0x73, 0x7a, 0x6b, 0x5d, 0x4b, 0xe6, 0x5c, 0x80, 0xe1, 0x1a, 0xc2, 0x3a, + 0x30, 0xf1, 0x9f, 0x85, 0x0d, 0x8d, 0x75, 0x0c, 0x0d, 0x1f, 0x77, 0x92, 0x6e, 0x17, 0xe1, 0x16, 0xee, 0x74, 0xbb, + 0x81, 0x4c, 0x36, 0xd1, 0xfb, 0x8a, 0xee, 0x2b, 0x29, 0xf7, 0x94, 0x3c, 0x31, 0x8d, 0x9e, 0xb4, 0x5b, 0x2d, 0x6c, + 0xdc, 0xe7, 0xcb, 0xc2, 0x42, 0xed, 0x69, 0xb6, 0xdd, 0x6a, 0x41, 0xb3, 0xf0, 0xc7, 0xcd, 0xeb, 0x67, 0xb2, 0x6a, + 0xa5, 0x2d, 0xdc, 0x4e, 0xdb, 0xb8, 0x93, 0x76, 0xf0, 0x69, 0x7a, 0x8a, 0xcf, 0xd2, 0x33, 0xdc, 0x4d, 0xbb, 0xf8, + 0x3c, 0x3d, 0xc7, 0xf7, 0xd3, 0xfb, 0xf8, 0x22, 0xbd, 0xc0, 0x0f, 0xd2, 0x07, 0xf8, 0x61, 0xda, 0x6e, 0xe1, 0x47, + 0x69, 0xbb, 0x8d, 0x1f, 0xa7, 0xed, 0x0e, 0x7e, 0x92, 0xb6, 0x4f, 0xf1, 0xd3, 0xb4, 0x7d, 0x86, 0x9f, 0xa5, 0xed, + 0x2e, 0xa6, 0x90, 0x3b, 0x82, 0xdc, 0x0c, 0x72, 0xc7, 0x90, 0xcb, 0x20, 0x77, 0x92, 0xb6, 0xbb, 0x1b, 0xac, 0x6c, + 0xc8, 0x8d, 0xa8, 0xd5, 0xee, 0x9c, 0x9e, 0x75, 0xcf, 0xef, 0x5f, 0x3c, 0x78, 0xf8, 0xe8, 0xf1, 0x93, 0xa7, 0xcf, + 0xa2, 0x21, 0xfe, 0x64, 0x3c, 0x5f, 0x94, 0x18, 0xf0, 0xa3, 0x76, 0x77, 0x88, 0xef, 0xfc, 0x67, 0xcc, 0x8f, 0x3a, + 0x67, 0x2d, 0x74, 0x75, 0x75, 0x36, 0x6c, 0x94, 0xb9, 0x8f, 0x8c, 0xc3, 0x4d, 0x95, 0x45, 0x08, 0x89, 0x21, 0x07, + 0xe1, 0x5b, 0xeb, 0x40, 0xc3, 0x62, 0x9e, 0x14, 0xe8, 0xe8, 0xc8, 0xfc, 0x98, 0xfa, 0x1f, 0x23, 0xff, 0x83, 0x06, + 0x8b, 0xf4, 0x95, 0xc6, 0xce, 0xe3, 0x5a, 0x97, 0xfe, 0x0e, 0xa5, 0x29, 0xd1, 0x01, 0x77, 0x46, 0xfd, 0xff, 0x15, + 0x59, 0xa3, 0x1d, 0x72, 0x66, 0x15, 0x63, 0xdd, 0x3e, 0x23, 0xab, 0x22, 0xed, 0x74, 0xbb, 0x47, 0x3f, 0x0f, 0xf8, + 0xa0, 0x3d, 0x1c, 0x1e, 0xb7, 0xef, 0xe3, 0x69, 0x99, 0xd0, 0xb1, 0x09, 0xa3, 0x32, 0xe1, 0xd4, 0x26, 0xd0, 0xd4, + 0xd6, 0x86, 0xa4, 0x33, 0x93, 0x04, 0x25, 0x36, 0xa9, 0x69, 0xfb, 0xbe, 0x6d, 0xfb, 0x01, 0x58, 0x93, 0x99, 0xe6, + 0x5d, 0xd3, 0x97, 0x97, 0x67, 0x6b, 0xd7, 0x28, 0x9e, 0xa6, 0xae, 0x35, 0x9f, 0x78, 0x36, 0x1c, 0xe2, 0x91, 0x49, + 0xec, 0x56, 0x89, 0xe7, 0xc3, 0xa1, 0xeb, 0xea, 0x81, 0xe9, 0xea, 0x7e, 0x95, 0x75, 0x31, 0x1c, 0x9a, 0x2e, 0x91, + 0x8b, 0x1d, 0xa0, 0xf4, 0xc1, 0x4d, 0xa9, 0xbf, 0xe1, 0x97, 0x9d, 0x6e, 0xb7, 0x0f, 0x18, 0x66, 0x6c, 0x82, 0x3d, + 0x8c, 0xbe, 0x04, 0x30, 0xba, 0x85, 0xdf, 0xfd, 0x4f, 0x34, 0xbd, 0xa3, 0x25, 0x90, 0xfa, 0xd1, 0x7f, 0x45, 0x0d, + 0x6d, 0x60, 0x6e, 0xfe, 0x4c, 0xed, 0x9f, 0x11, 0x6a, 0xdc, 0x50, 0x00, 0x37, 0x68, 0xa4, 0xbc, 0x4a, 0xd9, 0xf4, + 0x78, 0x4d, 0xc1, 0xc5, 0x67, 0xa6, 0x72, 0xda, 0x5f, 0xcf, 0x6e, 0x46, 0xeb, 0x99, 0xfa, 0x8a, 0xfe, 0x88, 0xff, + 0x50, 0xc7, 0xf1, 0xa0, 0xd9, 0x48, 0xd8, 0x1f, 0x63, 0xf0, 0x25, 0xea, 0xa7, 0x63, 0x36, 0x45, 0xfd, 0xc1, 0x1f, + 0x0a, 0x0f, 0x1b, 0x41, 0xc6, 0x0f, 0xbb, 0x29, 0xe0, 0x69, 0xb4, 0x9d, 0x18, 0xff, 0x80, 0xfa, 0xa8, 0xff, 0x87, + 0x3a, 0xfe, 0x03, 0xdd, 0x3b, 0x09, 0xb4, 0x26, 0xd2, 0x6d, 0xe1, 0x2a, 0xfc, 0xd0, 0x71, 0xb9, 0x85, 0x19, 0x6e, + 0x37, 0x19, 0x04, 0x6b, 0x03, 0x57, 0x74, 0x12, 0xcb, 0x06, 0x3f, 0x39, 0x6d, 0xa1, 0x1f, 0xda, 0x1d, 0x50, 0xae, + 0x34, 0xc5, 0xf1, 0xee, 0xa6, 0x2f, 0x9a, 0xa7, 0xf8, 0x41, 0xb3, 0xc0, 0x6d, 0x84, 0x9b, 0x6d, 0xaf, 0xf5, 0x1e, + 0xa8, 0xb8, 0x85, 0xb0, 0x8a, 0x2f, 0xe0, 0x9f, 0x33, 0x34, 0xac, 0x36, 0xe4, 0x2f, 0x74, 0xbb, 0x77, 0xf0, 0x9b, + 0x25, 0xb1, 0x6a, 0xf0, 0x93, 0xf3, 0x16, 0xfa, 0xe1, 0xdc, 0x74, 0xc4, 0x8e, 0xf5, 0x9e, 0xae, 0x24, 0x3e, 0x6b, + 0x4a, 0xe8, 0xa8, 0x55, 0xf6, 0x23, 0xe2, 0x2e, 0xc2, 0x22, 0x3e, 0x85, 0x7f, 0xda, 0x61, 0x3f, 0x8f, 0x77, 0xfa, + 0x31, 0xf3, 0x6e, 0xe3, 0xa4, 0x6b, 0xdd, 0x70, 0x95, 0xbd, 0x13, 0x6f, 0xb0, 0xab, 0xb6, 0xb9, 0xcc, 0x6b, 0x9f, + 0xc0, 0x07, 0xc2, 0xfa, 0x98, 0x28, 0xcc, 0x8e, 0xc1, 0x7f, 0x17, 0xcc, 0x56, 0xd4, 0xe5, 0x69, 0x4f, 0x35, 0x1a, + 0x48, 0x0c, 0xd4, 0xf0, 0x98, 0xb4, 0x9b, 0xba, 0xc9, 0x30, 0xfc, 0x6e, 0x90, 0x32, 0x28, 0x9c, 0xa8, 0x7a, 0x7d, + 0xed, 0x7a, 0xb5, 0x37, 0xff, 0x1e, 0x3b, 0x08, 0x21, 0xaa, 0x1f, 0xeb, 0x26, 0x43, 0x27, 0xa2, 0x11, 0xeb, 0x4b, + 0xd6, 0x3f, 0x4f, 0x5b, 0xc8, 0x60, 0xa7, 0xea, 0xc7, 0xac, 0xc9, 0x21, 0xbd, 0x93, 0xc6, 0xbc, 0xa9, 0xe1, 0xd7, + 0x59, 0x00, 0x2d, 0x01, 0x78, 0x57, 0x79, 0x23, 0x15, 0x27, 0x9d, 0x6e, 0x17, 0x0b, 0xc2, 0x93, 0xa9, 0xf9, 0xa5, + 0x08, 0x4f, 0x46, 0xe6, 0x97, 0x24, 0x25, 0xbc, 0x6c, 0xef, 0xb8, 0x20, 0xc1, 0xaa, 0x9a, 0x14, 0x0a, 0x0b, 0x5a, + 0xa0, 0x93, 0x8e, 0x37, 0x0b, 0xc0, 0x33, 0x3f, 0x07, 0x50, 0x83, 0x14, 0xc6, 0x22, 0x54, 0x36, 0x0b, 0x9c, 0x13, + 0x7a, 0x95, 0x74, 0xfb, 0xb3, 0x93, 0xb8, 0xd3, 0x94, 0xcd, 0x02, 0xa5, 0xb3, 0x13, 0x53, 0x13, 0x67, 0xe4, 0x35, + 0xb5, 0xad, 0xe1, 0x19, 0xdc, 0xe5, 0x66, 0x24, 0x3b, 0x3e, 0x6f, 0x35, 0x92, 0x2e, 0xc2, 0x83, 0x6c, 0xdd, 0xc2, + 0xf9, 0x7a, 0xdd, 0xc2, 0x34, 0x5c, 0x06, 0xe1, 0x01, 0x52, 0x6a, 0xea, 0xb6, 0x63, 0xf3, 0xf4, 0x79, 0xac, 0xc1, + 0x2e, 0x41, 0x83, 0xb7, 0x8f, 0x06, 0x3f, 0xa4, 0x94, 0xbb, 0x0b, 0x41, 0x64, 0xa2, 0x13, 0x4e, 0x42, 0xdd, 0xdd, + 0x6b, 0xe1, 0xd7, 0xd5, 0x5b, 0x96, 0x8a, 0xf8, 0xa3, 0xc4, 0x36, 0xad, 0x2a, 0xf6, 0x86, 0xee, 0x16, 0x7b, 0x4c, + 0x77, 0x8a, 0xdd, 0xdb, 0x53, 0xec, 0x97, 0xdd, 0x62, 0x7f, 0xc9, 0x40, 0xd3, 0xc8, 0x7f, 0x38, 0x3d, 0x6f, 0x35, + 0x4e, 0x01, 0x59, 0x4f, 0xcf, 0x5b, 0x55, 0xa1, 0x87, 0xb4, 0x5a, 0x2b, 0x4d, 0xae, 0xa9, 0xf5, 0xb5, 0xe0, 0xde, + 0xe9, 0xdb, 0x2c, 0x9c, 0x75, 0x39, 0x2f, 0xfd, 0xcb, 0x07, 0x5d, 0xb0, 0x65, 0x11, 0x86, 0xda, 0xe9, 0xc1, 0xf9, + 0xb0, 0x3f, 0x63, 0x71, 0x03, 0x52, 0x51, 0x3a, 0xd1, 0xee, 0x17, 0x2a, 0xaf, 0xb4, 0xff, 0x92, 0x90, 0xd4, 0x19, + 0x22, 0x2c, 0x49, 0x43, 0x0f, 0x4e, 0x87, 0xe6, 0xbc, 0x2b, 0xe0, 0xf7, 0x99, 0xf9, 0x5d, 0x2a, 0x94, 0x9c, 0x43, + 0xc6, 0xec, 0x66, 0x14, 0xf5, 0x05, 0x79, 0x43, 0x63, 0x63, 0x63, 0x8f, 0xd2, 0x32, 0x43, 0x7d, 0x85, 0x8c, 0x7b, + 0x65, 0x86, 0x20, 0xaf, 0x85, 0xfb, 0x8d, 0x57, 0x45, 0x0a, 0xf6, 0x36, 0x78, 0x9a, 0x82, 0xad, 0x0d, 0x1e, 0xa5, + 0x02, 0xfc, 0x41, 0x68, 0xca, 0x02, 0x2b, 0xfe, 0xa7, 0x4e, 0x83, 0x67, 0x6e, 0x9d, 0x89, 0xc1, 0xd2, 0x1e, 0x83, + 0x93, 0xe2, 0x2f, 0x19, 0xc3, 0xdf, 0x86, 0x46, 0x98, 0x41, 0x9b, 0x0c, 0x61, 0x9e, 0x14, 0x04, 0xd2, 0x30, 0x4f, + 0xa6, 0x84, 0x41, 0x93, 0x3c, 0x19, 0x11, 0x36, 0xe8, 0x04, 0x68, 0xf2, 0xc2, 0xc0, 0x0e, 0x80, 0xc3, 0xeb, 0x17, + 0xf9, 0xda, 0x36, 0x0e, 0x16, 0x02, 0xd0, 0x84, 0x20, 0x10, 0x73, 0x61, 0x00, 0x66, 0x23, 0xca, 0xfe, 0xec, 0x54, + 0xe1, 0x2f, 0x79, 0x42, 0x0d, 0xf5, 0xfe, 0x13, 0xc8, 0x6a, 0x7c, 0x6f, 0xc5, 0x36, 0xf8, 0xe0, 0xde, 0x4a, 0x6c, + 0x7e, 0x80, 0x3f, 0xca, 0xfe, 0x01, 0xe6, 0x21, 0xa1, 0x68, 0x83, 0xfe, 0x4c, 0xa1, 0xd8, 0x9e, 0x52, 0xe8, 0x4f, + 0xef, 0x0e, 0xa8, 0xc8, 0xea, 0x36, 0x8d, 0xc6, 0xb4, 0xf8, 0x12, 0xe1, 0xdf, 0xd3, 0x28, 0x07, 0x6e, 0x31, 0xc2, + 0x1f, 0xd3, 0xa8, 0x60, 0x11, 0xfe, 0x67, 0x1a, 0x8d, 0xf2, 0x65, 0x84, 0x7f, 0x4b, 0xa3, 0x69, 0x11, 0xe1, 0x0f, + 0xa0, 0xac, 0x1d, 0xf3, 0xe5, 0x3c, 0xc2, 0xef, 0xd3, 0x48, 0x19, 0x6f, 0x08, 0xfc, 0x30, 0x8d, 0x18, 0x8b, 0xf0, + 0xbb, 0x34, 0x92, 0x79, 0x84, 0xaf, 0xd3, 0x48, 0x16, 0x11, 0x7e, 0x94, 0x46, 0x05, 0x8d, 0xf0, 0xe3, 0x34, 0x82, + 0x42, 0xd3, 0x08, 0x3f, 0x49, 0x23, 0x68, 0x59, 0x45, 0xf8, 0x6d, 0x1a, 0x71, 0x11, 0xe1, 0x5f, 0xd3, 0x48, 0x2f, + 0x8b, 0xbf, 0x96, 0x92, 0xab, 0x08, 0x3f, 0x4d, 0xa3, 0x19, 0x8f, 0xf0, 0x9b, 0x34, 0x2a, 0x64, 0x84, 0x5f, 0xa7, + 0x11, 0xcd, 0x23, 0xfc, 0x2a, 0x8d, 0x72, 0x16, 0xe1, 0x5f, 0xd2, 0x68, 0xcc, 0x22, 0xfc, 0x32, 0x8d, 0xee, 0x58, + 0x9e, 0xcb, 0x08, 0x3f, 0x4b, 0x23, 0x26, 0x22, 0xfc, 0x73, 0x1a, 0x65, 0xb3, 0x08, 0xff, 0x23, 0x8d, 0x68, 0xf1, + 0x45, 0x45, 0xf8, 0x79, 0x1a, 0x31, 0x1a, 0xe1, 0x17, 0xb6, 0xa3, 0x69, 0x84, 0x7f, 0x4a, 0xa3, 0x9b, 0x59, 0xb4, + 0xc1, 0x52, 0x91, 0xd5, 0x6b, 0x9e, 0xb1, 0x7f, 0xb2, 0x34, 0x9a, 0xb4, 0x26, 0x17, 0x93, 0x49, 0x84, 0xa9, 0xd0, + 0xfc, 0xaf, 0x25, 0xbb, 0x79, 0xaa, 0x21, 0x91, 0xb2, 0xd1, 0xf8, 0x7e, 0x84, 0xe9, 0x5f, 0x4b, 0x9a, 0x46, 0x93, + 0x89, 0x29, 0xf0, 0xd7, 0x92, 0xce, 0x69, 0xf1, 0x96, 0xa5, 0xd1, 0xfd, 0xc9, 0x64, 0x32, 0x3e, 0x8b, 0x30, 0xfd, + 0x7b, 0xf9, 0xd1, 0xb4, 0x60, 0x0a, 0x8c, 0x18, 0x9f, 0x42, 0xdd, 0xee, 0xa4, 0x3b, 0xce, 0x22, 0x3c, 0xe2, 0xea, + 0xaf, 0x25, 0x7c, 0x4f, 0xd8, 0x59, 0x76, 0x16, 0xe1, 0x51, 0x4e, 0xb3, 0x2f, 0x69, 0xd4, 0x32, 0xbf, 0xc4, 0xcf, + 0x6c, 0xfc, 0x7a, 0x2e, 0xcd, 0x55, 0xc6, 0x84, 0x8d, 0xb2, 0x71, 0x84, 0xcd, 0x60, 0x26, 0xf0, 0xf7, 0x2b, 0x7f, + 0xc7, 0x74, 0x1a, 0x5d, 0xd0, 0xce, 0x88, 0x75, 0x22, 0x3c, 0x7a, 0x73, 0x23, 0xd2, 0x88, 0x76, 0x3b, 0xb4, 0x43, + 0x23, 0x3c, 0x5a, 0x16, 0xf9, 0xdd, 0x8d, 0x94, 0x63, 0x00, 0xc2, 0xe8, 0xe2, 0xe2, 0x7e, 0x84, 0x33, 0xfa, 0x8b, + 0x86, 0xda, 0xdd, 0xc9, 0x03, 0x46, 0x5b, 0x11, 0xfe, 0x99, 0x16, 0xfa, 0xe3, 0x52, 0xb9, 0x81, 0xb6, 0x20, 0x45, + 0x66, 0xef, 0x40, 0xcd, 0x1f, 0x8d, 0x3b, 0xe7, 0x0f, 0xda, 0x2c, 0xc2, 0xd9, 0xf5, 0x6b, 0xe8, 0xed, 0xfe, 0xa4, + 0xdb, 0x82, 0x0f, 0x01, 0x72, 0x29, 0x2b, 0xa0, 0x91, 0xf3, 0xb3, 0x07, 0x5d, 0x36, 0x36, 0x89, 0x8a, 0xe7, 0x5f, + 0xcc, 0xec, 0x2f, 0x60, 0x3e, 0x59, 0xc1, 0xe7, 0x4a, 0x8a, 0x34, 0x1a, 0x67, 0xed, 0xb3, 0x53, 0x48, 0xb8, 0xa3, + 0xc2, 0x03, 0xe7, 0x16, 0xaa, 0x5e, 0x8c, 0x22, 0x7c, 0x6b, 0x53, 0x2f, 0x46, 0xe6, 0x63, 0xfa, 0xee, 0x17, 0xf1, + 0x66, 0x9c, 0x46, 0xa3, 0x8b, 0x8b, 0xf3, 0x16, 0x24, 0xfc, 0x46, 0xef, 0xd2, 0x88, 0x3e, 0x80, 0xff, 0x20, 0xfb, + 0xe3, 0x33, 0xe8, 0x10, 0x46, 0x78, 0x3b, 0xfd, 0x18, 0xe6, 0x7c, 0x99, 0xd1, 0x2f, 0x3c, 0x8d, 0x46, 0xe3, 0xd1, + 0xfd, 0x73, 0xa8, 0x37, 0xa7, 0xd3, 0x67, 0x9a, 0x42, 0xbb, 0xad, 0x96, 0x69, 0xf9, 0x1d, 0xff, 0xca, 0x4c, 0xf5, + 0x6e, 0xf7, 0x7c, 0xd4, 0x81, 0x11, 0x5c, 0x83, 0x42, 0x05, 0xc6, 0x73, 0x91, 0x99, 0x06, 0xaf, 0xb3, 0xa7, 0xe3, + 0x34, 0x7a, 0xf0, 0xe0, 0xb4, 0x93, 0x65, 0x11, 0xbe, 0xfd, 0x38, 0xb6, 0xb5, 0x4d, 0x9e, 0x02, 0xd8, 0xa7, 0x11, + 0x7b, 0xf0, 0xe0, 0xfc, 0x3e, 0x85, 0xef, 0xe7, 0xa6, 0xad, 0x8b, 0xc9, 0x28, 0xbb, 0x80, 0xb6, 0xde, 0xc3, 0x74, + 0xce, 0x2e, 0x4e, 0xc7, 0xa6, 0xaf, 0xf7, 0x66, 0xd4, 0x9d, 0xc9, 0xd9, 0xe4, 0xcc, 0x64, 0x9a, 0xa1, 0x96, 0x9f, + 0xbf, 0xb2, 0x34, 0xca, 0xd8, 0xb8, 0x1d, 0xe1, 0x5b, 0xb7, 0x70, 0x0f, 0xce, 0x5a, 0xad, 0xf1, 0x69, 0x84, 0xc7, + 0x0f, 0x17, 0x8b, 0xb7, 0x06, 0x82, 0xed, 0xb3, 0x07, 0xf6, 0x5b, 0x7d, 0xb9, 0x83, 0xa6, 0x47, 0x06, 0x68, 0x63, + 0x3e, 0x37, 0x2d, 0x9f, 0x3f, 0x80, 0xff, 0xcc, 0xb7, 0x69, 0xba, 0xfc, 0x96, 0xe3, 0xa9, 0x5d, 0x94, 0x36, 0x7b, + 0xd0, 0x82, 0x1a, 0x13, 0xfe, 0x71, 0x54, 0x70, 0x40, 0xa3, 0x51, 0x07, 0xfe, 0x2f, 0xc2, 0x93, 0xfc, 0xfa, 0xb5, + 0xc3, 0xd9, 0xc9, 0x84, 0x4e, 0x5a, 0x11, 0x9e, 0xc8, 0x8f, 0x4a, 0xff, 0xf6, 0x50, 0xa4, 0x51, 0xa7, 0x73, 0x31, + 0x32, 0x65, 0x96, 0x3f, 0x2b, 0x6e, 0xf0, 0xb8, 0x65, 0x5a, 0x99, 0xd2, 0xb7, 0x6a, 0x74, 0x2d, 0x61, 0x25, 0xe1, + 0xbf, 0x08, 0x4f, 0x41, 0x0b, 0xe7, 0x5a, 0xb9, 0xb0, 0xdb, 0x61, 0xfa, 0xce, 0xa0, 0xe6, 0xf8, 0x3e, 0xc0, 0xcb, + 0x2f, 0xe3, 0x98, 0xd2, 0x6e, 0xa7, 0x15, 0x61, 0x33, 0xea, 0x8b, 0x16, 0xfc, 0x17, 0x61, 0x0b, 0x39, 0x03, 0xd7, + 0xe9, 0xc7, 0x67, 0x2f, 0x6f, 0xd2, 0x88, 0x8e, 0x27, 0x13, 0x58, 0x12, 0x33, 0x19, 0x5f, 0x6c, 0x26, 0x05, 0xbb, + 0xfb, 0xe5, 0xc6, 0x6d, 0x17, 0x93, 0xa0, 0x1d, 0x74, 0xce, 0x1f, 0x8c, 0xce, 0x22, 0xfc, 0x76, 0xcc, 0xa9, 0x80, + 0x55, 0xca, 0xc6, 0xdd, 0xac, 0x9b, 0x99, 0x84, 0xa9, 0x4c, 0xa3, 0x33, 0x58, 0xf2, 0x4e, 0x84, 0xf9, 0xd7, 0xeb, + 0x3b, 0x8b, 0x6e, 0x50, 0xdb, 0x21, 0xc8, 0xa4, 0xc5, 0xce, 0x2f, 0xb2, 0x08, 0xe7, 0xf4, 0xeb, 0xb3, 0x5f, 0x8a, + 0x34, 0x62, 0xe7, 0xec, 0x7c, 0x42, 0xfd, 0xf7, 0x3f, 0xd5, 0xcc, 0xd4, 0x68, 0x4d, 0xba, 0x90, 0x74, 0x23, 0xcc, + 0x58, 0xef, 0x67, 0x13, 0x83, 0x21, 0xaf, 0xe6, 0x52, 0x64, 0x4f, 0x27, 0x13, 0x69, 0xb1, 0x98, 0xc2, 0x26, 0xfc, + 0x1d, 0xa0, 0x4d, 0xc7, 0xe3, 0x0b, 0x76, 0x1e, 0xe1, 0xdf, 0xed, 0x2e, 0x71, 0x13, 0xf8, 0xdd, 0x62, 0x36, 0x73, + 0xbb, 0xfd, 0x77, 0x0b, 0x14, 0x98, 0xef, 0x84, 0x4e, 0xe8, 0xb8, 0x13, 0xe1, 0xdf, 0x0d, 0x5c, 0xc6, 0xa7, 0xf0, + 0x1f, 0x14, 0x80, 0xce, 0x1e, 0xb4, 0x18, 0x7b, 0xd0, 0x32, 0x5f, 0x61, 0x9e, 0x9b, 0xf9, 0xe8, 0x3c, 0x6b, 0x47, + 0xf8, 0x77, 0x87, 0x8e, 0x93, 0x09, 0x6d, 0x01, 0x3a, 0xfe, 0xee, 0xd0, 0xb1, 0xd3, 0x1a, 0x75, 0xa8, 0xf9, 0xb6, + 0x58, 0x73, 0x71, 0x3f, 0x63, 0x30, 0xb9, 0xdf, 0x2d, 0x42, 0xde, 0xbf, 0x7f, 0x71, 0xf1, 0xe0, 0x01, 0x7c, 0x9a, + 0xb6, 0xcb, 0x4f, 0xa5, 0x1f, 0xe6, 0x06, 0xc9, 0x5a, 0xd9, 0x19, 0xd0, 0xc9, 0xdf, 0xcd, 0x18, 0x27, 0x93, 0x09, + 0x6b, 0x45, 0x38, 0xe7, 0x73, 0x66, 0x31, 0xc1, 0xfe, 0x36, 0x1d, 0x9d, 0x76, 0xb2, 0xf1, 0x69, 0x27, 0xc2, 0xf9, + 0xdb, 0x67, 0x66, 0x36, 0x2d, 0x98, 0xbd, 0xdf, 0x72, 0x1e, 0x6b, 0xe6, 0xf4, 0x0d, 0x0c, 0x12, 0x56, 0x1a, 0x2a, + 0x7f, 0x08, 0xe8, 0xe1, 0xf9, 0x79, 0x36, 0x86, 0x81, 0x7e, 0x80, 0x6e, 0x01, 0x8c, 0x1f, 0xec, 0xe6, 0x1b, 0xd1, + 0x6e, 0x17, 0xa6, 0xfb, 0x61, 0xb1, 0x2c, 0x16, 0xaf, 0xd2, 0xe8, 0xc1, 0xe9, 0xfd, 0xd6, 0x78, 0x14, 0xe1, 0x0f, + 0x6e, 0x82, 0xa7, 0xd9, 0xe8, 0xf4, 0x7e, 0x3b, 0xc2, 0x1f, 0xcc, 0x7e, 0xbb, 0x3f, 0x3a, 0xbf, 0x80, 0x73, 0xe3, + 0x83, 0x5a, 0x14, 0x6f, 0xa7, 0xa6, 0xc0, 0x84, 0x3e, 0x80, 0x66, 0x7f, 0x35, 0xbb, 0x71, 0xdc, 0x86, 0x8d, 0xfc, + 0xc1, 0x6c, 0x32, 0x83, 0x27, 0xf7, 0xdb, 0xdd, 0x8b, 0x6e, 0x84, 0xe7, 0x7c, 0x2c, 0x80, 0xc0, 0x9b, 0x8d, 0xf2, + 0xa0, 0xfd, 0xe0, 0x7e, 0x2b, 0xc2, 0xf3, 0xb7, 0x3a, 0xfb, 0x48, 0xe7, 0x86, 0x1a, 0x4f, 0x00, 0x66, 0x73, 0xae, + 0xf4, 0xdd, 0x1b, 0xe5, 0xe8, 0x31, 0x6b, 0x47, 0x78, 0x2e, 0xb3, 0x8c, 0xaa, 0xb7, 0x36, 0x61, 0xd4, 0x8d, 0xb0, + 0xa0, 0x5f, 0xe9, 0x67, 0xe9, 0x37, 0xd3, 0x98, 0xd1, 0xb1, 0x49, 0x33, 0x38, 0x1c, 0xe1, 0x77, 0x63, 0xb8, 0x8c, + 0x4c, 0xa3, 0xc9, 0x78, 0xd2, 0x05, 0xf0, 0x00, 0x01, 0xb2, 0xd8, 0x0d, 0xd0, 0x80, 0xaf, 0xf1, 0xa3, 0x51, 0x1a, + 0x9d, 0x8f, 0x2e, 0x58, 0xe7, 0x34, 0xc2, 0x25, 0x35, 0xa2, 0x5d, 0xc8, 0x37, 0x9f, 0x1f, 0xcd, 0x96, 0x3a, 0xb3, + 0x09, 0x06, 0x40, 0x63, 0x7a, 0xbf, 0x35, 0x3e, 0x8f, 0xf0, 0xe2, 0x35, 0xf3, 0x7b, 0x8c, 0x31, 0x76, 0x01, 0xb0, + 0x84, 0x24, 0x83, 0x40, 0x17, 0x93, 0xd1, 0x83, 0x0b, 0xf3, 0x0d, 0x60, 0xa0, 0x13, 0xc6, 0x00, 0x48, 0x8b, 0xd7, + 0xac, 0x04, 0xc4, 0x78, 0x74, 0xbf, 0x05, 0xf4, 0x65, 0x41, 0x17, 0xf4, 0x8e, 0xde, 0x3c, 0x5d, 0x98, 0x39, 0x4d, + 0xc6, 0xdd, 0x08, 0x2f, 0x9e, 0xff, 0xbc, 0x58, 0x4e, 0x26, 0x66, 0x42, 0x74, 0xf4, 0x20, 0xc2, 0x0b, 0x56, 0x2c, + 0x61, 0x8d, 0x2e, 0xba, 0xa7, 0x93, 0x08, 0x3b, 0x34, 0xcc, 0x5a, 0xd9, 0x08, 0x6e, 0x5b, 0x97, 0xf3, 0x34, 0x1a, + 0x8f, 0x69, 0x6b, 0x0c, 0x77, 0xaf, 0xf2, 0xe6, 0x97, 0xc2, 0xa2, 0x11, 0x33, 0xf8, 0xe0, 0xd6, 0x10, 0xe6, 0x0b, + 0xf0, 0xf8, 0x38, 0x62, 0x59, 0x46, 0x5d, 0xe2, 0xf9, 0xf9, 0xe9, 0x29, 0xe0, 0x9e, 0x9d, 0xa1, 0x45, 0x90, 0x37, + 0xea, 0x6e, 0x54, 0x48, 0x38, 0xba, 0x80, 0xa8, 0x02, 0x59, 0x7d, 0x73, 0xf7, 0xda, 0xd0, 0xd5, 0xf6, 0xf9, 0x03, + 0x58, 0x00, 0x45, 0xc7, 0xe3, 0x57, 0xf6, 0x70, 0xbb, 0x18, 0x9d, 0x75, 0xdb, 0xa7, 0x11, 0xf6, 0x1b, 0x81, 0x5e, + 0xb4, 0xee, 0x77, 0xa0, 0x84, 0x18, 0xdf, 0xd9, 0x12, 0x93, 0x33, 0x7a, 0x76, 0xde, 0x8a, 0xb0, 0xdf, 0x1a, 0xec, + 0x62, 0xd4, 0xbd, 0x0f, 0x9f, 0x6a, 0xc6, 0xf2, 0xdc, 0xe0, 0x77, 0x17, 0xe0, 0xa2, 0xf8, 0x33, 0x41, 0xd3, 0x88, + 0xb6, 0xba, 0x9d, 0xce, 0x18, 0x3e, 0xf3, 0xaf, 0xac, 0x48, 0xa3, 0xac, 0x05, 0xff, 0x45, 0x38, 0xd8, 0x49, 0x6c, + 0x14, 0x61, 0x83, 0x77, 0xe7, 0xb4, 0x6b, 0xf6, 0xbe, 0xdb, 0x55, 0xad, 0x8b, 0x16, 0x6c, 0x58, 0xb7, 0xa9, 0xdc, + 0x97, 0x12, 0xf2, 0xc6, 0x91, 0x58, 0x1a, 0xe1, 0x00, 0x41, 0x27, 0xf7, 0x27, 0x11, 0xf6, 0x3b, 0xee, 0xec, 0xfc, + 0xa2, 0x03, 0xa4, 0x4c, 0x03, 0xa1, 0x18, 0x77, 0x46, 0x67, 0x40, 0x9a, 0x34, 0x7b, 0x6d, 0xf1, 0x24, 0xc2, 0xfa, + 0xa9, 0xd2, 0xaf, 0xd2, 0x68, 0x7c, 0x31, 0x9a, 0x8c, 0x2f, 0x22, 0xac, 0xe5, 0x9c, 0x6a, 0x69, 0x28, 0xe0, 0xe9, + 0xd9, 0xfd, 0x08, 0x1b, 0x34, 0x6f, 0xb1, 0xd6, 0xb8, 0x15, 0x61, 0x77, 0x94, 0x30, 0x76, 0xd1, 0x81, 0x69, 0xfd, + 0xf4, 0x5c, 0x03, 0x2e, 0x8f, 0xd9, 0xe8, 0x34, 0xc2, 0x25, 0xbd, 0x37, 0x84, 0x08, 0xbe, 0xd4, 0x5c, 0x7e, 0x71, + 0xac, 0x07, 0x90, 0x3a, 0xbf, 0xe1, 0x61, 0x19, 0x5e, 0xde, 0x58, 0x34, 0xa2, 0x66, 0x8b, 0x07, 0xb7, 0xd1, 0x4f, + 0x68, 0xec, 0xd9, 0x76, 0x4e, 0x56, 0x1b, 0x5c, 0x06, 0x79, 0xfd, 0xc2, 0xee, 0x54, 0x2c, 0x95, 0xe1, 0x64, 0x83, + 0x14, 0xa5, 0x90, 0x77, 0x6b, 0x70, 0x9e, 0xab, 0x20, 0x48, 0x0a, 0xd2, 0xea, 0x89, 0x4b, 0xef, 0x4d, 0xdb, 0x13, + 0x10, 0xfa, 0x01, 0xd2, 0x0b, 0x42, 0x89, 0x86, 0x08, 0x39, 0x56, 0x98, 0xf4, 0x4e, 0x06, 0x46, 0xa6, 0x94, 0xd6, + 0x6d, 0x81, 0x12, 0xea, 0x63, 0xe3, 0xc7, 0x12, 0x2b, 0x88, 0x1e, 0x85, 0x7a, 0x92, 0x98, 0x48, 0xd7, 0x2f, 0x84, + 0x8e, 0xa5, 0x1a, 0x14, 0x43, 0xdc, 0x3e, 0x47, 0x18, 0x62, 0x48, 0x90, 0x81, 0xbc, 0xba, 0x6a, 0x9f, 0x1f, 0x19, + 0xa1, 0xef, 0xea, 0xea, 0xc2, 0xfe, 0x80, 0x7f, 0x87, 0x55, 0xdc, 0x6e, 0x18, 0xdf, 0x07, 0x56, 0xcd, 0xf1, 0x9d, + 0xe1, 0xaf, 0x3f, 0xb0, 0xf5, 0x3a, 0xfe, 0xc0, 0x08, 0xcc, 0x18, 0x7f, 0x60, 0x89, 0xb9, 0x23, 0xb1, 0x1e, 0x42, + 0x64, 0x00, 0x9a, 0xb3, 0x16, 0x86, 0x68, 0xf2, 0x9e, 0xf3, 0xfe, 0xc0, 0x06, 0xbc, 0xee, 0x5d, 0x5e, 0x85, 0x70, + 0x3e, 0x3a, 0x5a, 0x15, 0xa9, 0xb6, 0x62, 0x82, 0xb6, 0x62, 0x82, 0xb6, 0x62, 0x82, 0xae, 0x82, 0xe8, 0x9f, 0xf5, + 0x41, 0x4a, 0x31, 0xca, 0x16, 0xc7, 0x53, 0xbf, 0x04, 0xb5, 0x07, 0x68, 0x27, 0xfb, 0x95, 0xb2, 0xa3, 0xd4, 0x55, + 0xec, 0x55, 0x60, 0xec, 0x4d, 0x74, 0xda, 0x8e, 0x93, 0x7f, 0x47, 0xdd, 0xf1, 0xb6, 0x26, 0x96, 0xbd, 0xdc, 0x2b, + 0x96, 0xc1, 0x4a, 0x1a, 0xd1, 0xec, 0xd0, 0xc6, 0x23, 0xd1, 0x83, 0xfb, 0x46, 0x30, 0xab, 0x82, 0xe4, 0x35, 0x20, + 0xa9, 0x07, 0x52, 0xc8, 0x85, 0x91, 0xd2, 0x0a, 0x94, 0x8e, 0x75, 0x5c, 0x80, 0x86, 0xd2, 0x2b, 0x28, 0xcb, 0x58, + 0xae, 0x0d, 0x03, 0x10, 0x65, 0x65, 0x34, 0x2b, 0xab, 0x75, 0x41, 0x74, 0x01, 0x4d, 0x98, 0x91, 0x58, 0xa0, 0x01, + 0x61, 0x1a, 0x10, 0xae, 0x32, 0x88, 0x33, 0x2e, 0xfb, 0xcc, 0x64, 0x2b, 0x93, 0xad, 0xca, 0x6c, 0xe9, 0xb3, 0xad, + 0x90, 0x28, 0x4d, 0xb6, 0x2c, 0xb3, 0x41, 0x66, 0xc3, 0xd3, 0x54, 0xe1, 0x51, 0x2a, 0xad, 0xa8, 0x56, 0xc9, 0x56, + 0xcf, 0x68, 0xa8, 0xcd, 0x3d, 0x3a, 0x8a, 0x4b, 0x39, 0xc9, 0xa8, 0x89, 0xef, 0xad, 0x78, 0x52, 0x18, 0x19, 0x88, + 0x27, 0x53, 0xf7, 0x77, 0xb4, 0xd9, 0x96, 0x95, 0x8a, 0xe9, 0xe8, 0x1b, 0x25, 0xd1, 0x9f, 0x5e, 0x89, 0xfa, 0x81, + 0x9b, 0x28, 0x40, 0x97, 0x24, 0x69, 0xb5, 0x4e, 0xdb, 0xa7, 0xad, 0x8b, 0x3e, 0x3f, 0x6e, 0x77, 0x92, 0x07, 0x9d, + 0xd4, 0x28, 0x22, 0x16, 0xf2, 0x06, 0x14, 0x30, 0x27, 0x9d, 0xe4, 0x0c, 0x1d, 0xb7, 0x93, 0x56, 0xb7, 0xdb, 0x84, + 0x7f, 0xf0, 0x23, 0x5d, 0x56, 0x3b, 0x6b, 0x9d, 0x75, 0xfb, 0xfc, 0x64, 0xab, 0x52, 0xcc, 0x1b, 0x50, 0x10, 0x9d, + 0x98, 0x4a, 0x18, 0xea, 0x57, 0xcb, 0xfb, 0x6a, 0x47, 0xcf, 0xf3, 0x48, 0xc7, 0xd2, 0xaa, 0xe2, 0x00, 0xaa, 0xfe, + 0x6b, 0x6a, 0x80, 0xe8, 0xbf, 0x46, 0x65, 0xa4, 0xde, 0x55, 0x01, 0xa2, 0xf6, 0x07, 0x1e, 0x8b, 0x06, 0x3b, 0x8e, + 0x6d, 0xbe, 0x86, 0xba, 0x4d, 0x88, 0x9e, 0x87, 0xa7, 0x2e, 0x57, 0x85, 0xb9, 0x53, 0x84, 0x9a, 0x0a, 0x72, 0x47, + 0x2e, 0x57, 0x86, 0xb9, 0x23, 0x84, 0x9a, 0x12, 0x72, 0x69, 0xca, 0x13, 0x0a, 0x39, 0x3a, 0xa1, 0x4d, 0x03, 0xc9, + 0x6a, 0x51, 0x9e, 0x33, 0x3f, 0x6c, 0x3e, 0x81, 0xe5, 0x31, 0x04, 0xc5, 0x09, 0xd2, 0x02, 0x5e, 0x58, 0x29, 0xb5, + 0x39, 0x2d, 0x5c, 0xaa, 0x71, 0x20, 0xa3, 0x01, 0xff, 0x1c, 0x33, 0xf3, 0xec, 0x46, 0xab, 0x7f, 0x7a, 0xde, 0x4a, + 0xdb, 0xe0, 0x2a, 0x0e, 0xb2, 0xb6, 0xb0, 0xb2, 0xb6, 0xf0, 0xb2, 0xb6, 0xf0, 0xb2, 0x36, 0x08, 0xf0, 0x41, 0xdf, + 0xff, 0x94, 0x35, 0xf3, 0x1b, 0x5e, 0xda, 0xf2, 0x58, 0x63, 0x8d, 0x58, 0xaf, 0xd7, 0xab, 0x0d, 0x58, 0x5a, 0x95, + 0x35, 0x0a, 0x55, 0xa9, 0x3f, 0x57, 0x45, 0xda, 0xc2, 0xd3, 0x14, 0xb4, 0xdc, 0x2d, 0x4c, 0xcd, 0xe6, 0xf6, 0x54, + 0x61, 0x3b, 0x8a, 0x4f, 0xdf, 0xab, 0x93, 0xaf, 0xc8, 0xa9, 0xd1, 0x1e, 0xaf, 0x8a, 0x94, 0x5b, 0x9a, 0xc1, 0x2d, + 0xcd, 0xe0, 0x96, 0x66, 0x40, 0x23, 0xb8, 0x2c, 0x6c, 0xca, 0x26, 0x94, 0xc0, 0x95, 0xc0, 0xe0, 0x74, 0x08, 0x41, + 0x0c, 0x63, 0x4d, 0xcc, 0xa8, 0xb7, 0x3a, 0x6f, 0x43, 0xd0, 0x36, 0x5b, 0x52, 0x27, 0xd4, 0xf8, 0xae, 0x97, 0x63, + 0xfe, 0xbb, 0x86, 0xf6, 0x09, 0xbc, 0xa8, 0xf3, 0x50, 0xc7, 0x2d, 0x30, 0x5d, 0x89, 0x8a, 0xa8, 0x6f, 0xc8, 0x42, + 0x6a, 0x74, 0x36, 0xce, 0x24, 0xfd, 0xcb, 0x96, 0x27, 0xb0, 0xa5, 0x04, 0xe1, 0x3b, 0x12, 0x5f, 0x58, 0x15, 0x9a, + 0xa0, 0xb4, 0xb8, 0x75, 0xe6, 0x72, 0xf6, 0x48, 0xe8, 0x81, 0xd9, 0xbc, 0x8f, 0x79, 0xd5, 0x17, 0xa4, 0x80, 0x98, + 0x8f, 0xa9, 0x49, 0x74, 0x51, 0x9b, 0xc1, 0x89, 0x99, 0x7c, 0xa5, 0xc6, 0xa5, 0xe7, 0x9d, 0xfd, 0xf3, 0x37, 0x0d, + 0x7c, 0x1e, 0x8b, 0xe9, 0xc8, 0xbb, 0x0a, 0x7f, 0x32, 0xb1, 0x8d, 0xc8, 0xe1, 0xa1, 0xb5, 0x68, 0x37, 0x5f, 0xdb, + 0x26, 0xed, 0x26, 0xd1, 0x64, 0xc3, 0x0e, 0xf5, 0x6b, 0xf4, 0x4f, 0xef, 0xb1, 0x57, 0x4c, 0x47, 0x28, 0xa0, 0xd9, + 0x06, 0xac, 0xb2, 0x02, 0x96, 0x72, 0xf5, 0x4a, 0x47, 0x4e, 0xe8, 0xdd, 0x8c, 0x79, 0x53, 0x4c, 0x47, 0x7b, 0x9f, + 0x5e, 0xb1, 0x3d, 0xf6, 0x9f, 0xd1, 0xa0, 0x07, 0xaf, 0xda, 0x9e, 0xb1, 0xdb, 0xef, 0xd5, 0xf9, 0xb2, 0xb7, 0x8e, + 0xca, 0xbf, 0x57, 0xe7, 0xc5, 0xbe, 0x3a, 0x73, 0x7e, 0x1b, 0xfb, 0xbd, 0xa3, 0x03, 0x35, 0xb6, 0x31, 0x93, 0x9a, + 0x8e, 0x20, 0x56, 0x3e, 0xfc, 0xb5, 0x11, 0x6d, 0x7a, 0x9e, 0x84, 0xc3, 0x2a, 0xc8, 0x7e, 0xd2, 0x4d, 0x19, 0xa6, + 0xa4, 0x73, 0x5c, 0x98, 0x98, 0x36, 0x22, 0xa1, 0x4d, 0x95, 0x50, 0x9c, 0x93, 0x38, 0xa6, 0xc7, 0x19, 0x44, 0xe6, + 0x69, 0xf7, 0x69, 0x1a, 0xd3, 0x46, 0x86, 0x4e, 0xe2, 0x76, 0x83, 0x1e, 0x67, 0x08, 0x35, 0xda, 0xa0, 0x33, 0x95, + 0xa4, 0xdd, 0xcc, 0x21, 0x56, 0xa7, 0x21, 0xc5, 0xf9, 0xb1, 0x48, 0x8a, 0x86, 0x3c, 0x56, 0x49, 0xd1, 0x48, 0xba, + 0x58, 0x24, 0xd3, 0x32, 0x79, 0x6a, 0x92, 0xa7, 0x36, 0x79, 0x54, 0x26, 0x8f, 0x4c, 0xf2, 0xc8, 0x26, 0x53, 0x52, + 0x1c, 0x8b, 0x84, 0x36, 0xe2, 0x76, 0xb3, 0x40, 0xc7, 0x30, 0x02, 0x3f, 0x7a, 0x22, 0xc2, 0x10, 0xe9, 0x1b, 0x63, + 0x63, 0xb4, 0x90, 0xb9, 0x0b, 0x5a, 0x5a, 0x01, 0xa9, 0x74, 0xfc, 0x82, 0x3a, 0xaf, 0x02, 0x30, 0x61, 0x6d, 0xff, + 0xf8, 0x90, 0x7c, 0x9b, 0x2c, 0x97, 0x22, 0x70, 0x6c, 0x03, 0x5b, 0xfc, 0x2f, 0xce, 0x9d, 0x07, 0xa0, 0xba, 0xa1, + 0xf9, 0x62, 0x46, 0x77, 0xbc, 0x87, 0x8b, 0xe9, 0xc8, 0xed, 0xac, 0xb2, 0x19, 0x46, 0x0b, 0x1b, 0xea, 0xba, 0xee, + 0xe7, 0x09, 0xa0, 0xf6, 0xbe, 0xa5, 0x09, 0x35, 0x4a, 0x72, 0x5b, 0x63, 0x5a, 0xb0, 0x3b, 0x95, 0xd1, 0x9c, 0xc5, + 0xd5, 0x01, 0x5c, 0x0d, 0x93, 0x91, 0x27, 0xe0, 0x11, 0x50, 0x1c, 0x27, 0xa7, 0x0d, 0x9d, 0x4c, 0x8f, 0x93, 0xee, + 0x83, 0x86, 0x4e, 0x46, 0xc7, 0x49, 0xbb, 0x5d, 0xe1, 0x6c, 0x52, 0x10, 0x9d, 0x4c, 0x89, 0x06, 0x8d, 0xa1, 0x6d, + 0x54, 0x2e, 0x28, 0x98, 0xb8, 0xfd, 0x1b, 0xc3, 0x68, 0xb8, 0x61, 0x08, 0x36, 0xb5, 0x51, 0x3f, 0x77, 0xc6, 0x10, + 0x76, 0xd3, 0xe9, 0x76, 0x9b, 0x3a, 0x29, 0xb0, 0xb6, 0x2b, 0xd9, 0xd4, 0xc9, 0x14, 0x6b, 0xbb, 0x7c, 0x4d, 0x9d, + 0x8c, 0x6c, 0x53, 0x46, 0x07, 0xc8, 0x44, 0x00, 0xac, 0xe7, 0x2c, 0x80, 0x7c, 0xc7, 0x3b, 0xe9, 0x6c, 0x40, 0x6b, + 0xf8, 0xbd, 0x72, 0x4d, 0x5f, 0x50, 0x51, 0x0d, 0xa6, 0x4e, 0xec, 0x5b, 0x45, 0xdb, 0x55, 0x93, 0xec, 0x5f, 0x97, + 0x2d, 0x9b, 0x2d, 0xa4, 0xae, 0x17, 0x7c, 0x5a, 0xc3, 0x10, 0x57, 0xca, 0x1d, 0xdc, 0x9f, 0x29, 0x89, 0x21, 0xb6, + 0x9f, 0x39, 0x85, 0x38, 0xf1, 0x7a, 0x64, 0x48, 0xe2, 0x8d, 0xc6, 0x06, 0xc5, 0xc1, 0x79, 0xfb, 0x34, 0xa4, 0xaa, + 0x3b, 0x01, 0xff, 0x08, 0x89, 0x96, 0xc2, 0x9a, 0x84, 0x8e, 0xa3, 0x8a, 0x16, 0xbf, 0x75, 0xda, 0xdd, 0xda, 0x01, + 0x71, 0x74, 0xb4, 0x7d, 0x5e, 0xf8, 0xa7, 0x17, 0x76, 0x9e, 0x5b, 0xa8, 0xec, 0x09, 0xfd, 0x83, 0x50, 0xd6, 0xd2, + 0x98, 0x07, 0x88, 0xe2, 0x43, 0x6f, 0xdd, 0x37, 0x14, 0x7e, 0x50, 0xc5, 0x1d, 0x74, 0x39, 0xcd, 0x73, 0x93, 0x61, + 0xfa, 0x1a, 0x06, 0x63, 0x7b, 0x13, 0x4e, 0xa8, 0xb4, 0x95, 0xfc, 0x97, 0x1d, 0x07, 0x9d, 0xb8, 0x07, 0x6b, 0xc2, + 0x46, 0x3f, 0x87, 0x96, 0xc9, 0x15, 0x6c, 0x9c, 0x4f, 0xfa, 0x7a, 0x5d, 0x7b, 0x9e, 0xc8, 0x3e, 0x82, 0x83, 0x8e, + 0x8e, 0xb8, 0x7a, 0x06, 0xc6, 0xd4, 0x2c, 0x6e, 0x84, 0x87, 0xef, 0x5f, 0xb5, 0xd3, 0xfa, 0xb3, 0x39, 0x57, 0xd3, + 0xe0, 0xa0, 0x7b, 0x58, 0xcb, 0xdf, 0xbb, 0x12, 0x7d, 0x9d, 0x72, 0xb7, 0xd6, 0x8f, 0x2a, 0x53, 0xf5, 0x9d, 0x87, + 0xb2, 0x8e, 0x8e, 0x78, 0x15, 0xae, 0x2a, 0xfa, 0x21, 0x42, 0x7d, 0x23, 0x83, 0x3c, 0xcb, 0x25, 0x85, 0x1b, 0x51, + 0xb8, 0x62, 0x48, 0x1b, 0xfc, 0x44, 0xe3, 0x9f, 0xe5, 0xff, 0xa7, 0x46, 0x8e, 0x75, 0xda, 0xe0, 0x15, 0x4a, 0xbd, + 0x08, 0x59, 0xa1, 0x2a, 0x50, 0xa4, 0x81, 0x74, 0x68, 0x79, 0x8e, 0xca, 0xc3, 0x9c, 0x2e, 0x16, 0xf9, 0x9d, 0x79, 0x2b, 0x2c, 0xe0, 0xa8, 0xaa, 0x8b, 0x26, 0x17, 0xa5, 0x0f, 0x17, 0xc0, 0xd3, 0x03, 0xee, 0x21, 0xe3, 0x65, 0x5b, - 0x5e, 0x6e, 0x0b, 0x04, 0x92, 0x99, 0x22, 0xb2, 0xd9, 0xee, 0xaa, 0x4b, 0x90, 0xcb, 0x9a, 0x4d, 0xa4, 0x5d, 0xf0, - 0x72, 0xcc, 0x41, 0x26, 0x53, 0xd6, 0x93, 0x76, 0xcf, 0x16, 0x04, 0xc9, 0x4d, 0x1a, 0x91, 0x6d, 0x77, 0x29, 0x3e, - 0x8e, 0x01, 0x8d, 0x90, 0x15, 0xf8, 0x42, 0x61, 0x91, 0x03, 0xd7, 0x59, 0xf8, 0x8e, 0xbf, 0xd1, 0x52, 0xd1, 0x57, - 0x83, 0x01, 0x2e, 0xcc, 0xf3, 0x18, 0xe5, 0x7c, 0x0a, 0x15, 0x3c, 0xb7, 0x14, 0x88, 0x28, 0x7c, 0xb5, 0xda, 0x87, - 0xd7, 0x8c, 0x5c, 0x9b, 0xe0, 0x7a, 0xeb, 0x7e, 0x56, 0x2f, 0x97, 0xc0, 0x38, 0x18, 0x69, 0x99, 0x8b, 0x42, 0x27, - 0x6f, 0xb2, 0x0b, 0xd1, 0x6d, 0x34, 0x98, 0x09, 0x34, 0x45, 0x20, 0xaa, 0x1c, 0xf8, 0x45, 0xc2, 0x1f, 0x1b, 0x3b, - 0x4a, 0x31, 0x1b, 0x81, 0x0f, 0x42, 0x83, 0xd7, 0x12, 0x56, 0x2b, 0x65, 0x23, 0xbc, 0x98, 0x1c, 0x1b, 0xeb, 0xa5, - 0xec, 0xa7, 0x0c, 0x25, 0x5b, 0x99, 0x71, 0x70, 0xb7, 0xd5, 0xdf, 0x56, 0xfb, 0x79, 0x8f, 0xdb, 0x6b, 0x3c, 0x6e, - 0xe2, 0x26, 0x18, 0x40, 0x2d, 0x37, 0x36, 0xb8, 0xb5, 0xf3, 0x8f, 0xad, 0x51, 0x32, 0xdb, 0x84, 0xa0, 0x28, 0xe3, - 0x04, 0xd8, 0x9b, 0x5b, 0x1f, 0x37, 0x51, 0x99, 0x39, 0x29, 0xa4, 0xfb, 0x20, 0x47, 0x0f, 0x08, 0x74, 0x6e, 0x7f, - 0x56, 0x74, 0xa1, 0x92, 0x89, 0xcb, 0x31, 0xfe, 0x12, 0xdc, 0xe6, 0xf5, 0xa3, 0xeb, 0x6b, 0xb3, 0xc9, 0xaf, 0xaf, - 0x23, 0x1c, 0x1a, 0xd7, 0x47, 0x01, 0x2f, 0x18, 0x0d, 0xca, 0xd0, 0x5a, 0x66, 0xe3, 0x37, 0xdb, 0x55, 0x63, 0x8f, - 0x68, 0x85, 0x77, 0xb0, 0x3c, 0xa6, 0xf1, 0x2d, 0x67, 0xd4, 0x3e, 0x07, 0x78, 0xb3, 0x3e, 0x1f, 0x74, 0xdf, 0xc4, - 0x0a, 0x1d, 0x1c, 0xbc, 0x89, 0x25, 0xea, 0x5d, 0x31, 0x73, 0xe7, 0x06, 0xde, 0xe8, 0x7d, 0x6e, 0x86, 0x2f, 0x03, - 0x04, 0xb8, 0x62, 0x9b, 0x92, 0xcd, 0x5b, 0x13, 0xfb, 0x23, 0x85, 0xd8, 0xe2, 0x10, 0xe1, 0xd8, 0x81, 0x04, 0x7a, - 0x7d, 0x13, 0x42, 0xbb, 0xcb, 0x08, 0x03, 0x16, 0xbe, 0xf4, 0x15, 0x64, 0xc9, 0x8c, 0x15, 0x13, 0x56, 0xac, 0x56, - 0x8f, 0xa8, 0xf5, 0xff, 0xdb, 0x08, 0x55, 0xa9, 0xba, 0x8d, 0x06, 0x35, 0xe3, 0x07, 0xf1, 0x81, 0x0e, 0xf0, 0xfe, - 0x9b, 0xb8, 0x40, 0x08, 0x2c, 0x8c, 0xb8, 0x58, 0x78, 0x5f, 0xb7, 0xac, 0xb6, 0x2e, 0x05, 0x2a, 0x1b, 0xc9, 0x49, - 0x0b, 0x4f, 0x49, 0x56, 0xae, 0xd1, 0xc5, 0xb4, 0xdb, 0x68, 0xe4, 0x48, 0xc6, 0x59, 0x3f, 0x1f, 0x60, 0x8e, 0x0b, - 0xb8, 0x4c, 0xdd, 0x5e, 0x87, 0x39, 0xab, 0x51, 0x2e, 0x37, 0xdf, 0xa5, 0x1d, 0x6b, 0xfa, 0x9e, 0xae, 0x03, 0x60, - 0xbc, 0xa7, 0x01, 0x91, 0xd8, 0x05, 0x64, 0x61, 0x81, 0xac, 0x3c, 0x90, 0x85, 0x01, 0xb2, 0x42, 0xbd, 0x39, 0x04, - 0x6d, 0x52, 0x28, 0xdd, 0xa2, 0xe8, 0xf5, 0xf0, 0xa2, 0xce, 0x75, 0x05, 0x73, 0x13, 0xe1, 0xc2, 0x2d, 0x07, 0xb8, - 0xb1, 0x38, 0x6f, 0x48, 0x45, 0x96, 0x51, 0x64, 0x22, 0xed, 0xe2, 0x5b, 0xf3, 0x27, 0xb9, 0xc5, 0x77, 0xf6, 0xc7, - 0x5d, 0xa0, 0x4c, 0x7a, 0x5e, 0xd3, 0x36, 0x70, 0x17, 0x97, 0x2e, 0x4a, 0x22, 0x40, 0x6b, 0x17, 0x64, 0x51, 0xd4, - 0xdf, 0x9d, 0x53, 0x36, 0x1c, 0x86, 0x68, 0x10, 0x85, 0x45, 0x40, 0x3a, 0xff, 0xfa, 0x2b, 0x42, 0x3d, 0x01, 0xd1, - 0x8c, 0xdc, 0xc9, 0xd6, 0x6c, 0xa3, 0x46, 0x94, 0x44, 0x69, 0xec, 0x83, 0x65, 0xc0, 0xce, 0x88, 0xa2, 0xe0, 0xcd, - 0x99, 0x72, 0x18, 0x1f, 0x6a, 0xc3, 0x30, 0x83, 0xaa, 0xc2, 0x7f, 0x5c, 0x2e, 0x37, 0x83, 0x2d, 0x19, 0xa8, 0x0a, - 0x13, 0xe9, 0x06, 0xd9, 0x87, 0xd8, 0x18, 0x61, 0x07, 0x07, 0xac, 0x2f, 0x06, 0xc1, 0xcb, 0x6a, 0xd5, 0x75, 0xb8, - 0x0e, 0x17, 0x2e, 0xa6, 0x10, 0xed, 0x7e, 0xb5, 0xb2, 0x7f, 0xc9, 0x07, 0x23, 0xcd, 0xc0, 0x13, 0x79, 0xc1, 0x19, - 0x2b, 0x76, 0xcb, 0x62, 0x89, 0x96, 0xbf, 0x83, 0x65, 0x9f, 0x8b, 0x5d, 0xc8, 0xdd, 0x54, 0xdb, 0x1e, 0xea, 0x73, - 0xa3, 0x51, 0x08, 0x22, 0x07, 0x57, 0x47, 0x1a, 0x9e, 0xeb, 0x30, 0xaf, 0x16, 0x01, 0x38, 0x53, 0x65, 0x20, 0x57, - 0x38, 0x52, 0x12, 0xb0, 0xf4, 0x36, 0x74, 0x12, 0x7e, 0xd4, 0xa9, 0xa4, 0x63, 0x21, 0x01, 0x0a, 0x1c, 0x99, 0xcb, - 0x79, 0x13, 0xa8, 0x9f, 0xa1, 0x1d, 0x44, 0x2e, 0x30, 0xa1, 0xa9, 0xcb, 0x96, 0x2e, 0xa2, 0x56, 0x34, 0x93, 0x0b, - 0xc5, 0x16, 0x73, 0x38, 0xdf, 0xcb, 0xb4, 0x2c, 0xe7, 0xd9, 0x97, 0x7a, 0x0a, 0x18, 0x44, 0xde, 0xea, 0x19, 0x13, - 0x8b, 0xc8, 0xcd, 0xf3, 0x95, 0x15, 0xf7, 0xdf, 0xbc, 0xc0, 0xef, 0x49, 0xe7, 0xf0, 0x15, 0xfe, 0x48, 0xc9, 0xfb, - 0xc6, 0x2b, 0x3c, 0xe1, 0xc4, 0xf2, 0x06, 0xc9, 0x9b, 0xd7, 0x57, 0x2f, 0xde, 0xbd, 0x78, 0xff, 0xf4, 0xfa, 0xc5, - 0xab, 0x67, 0x2f, 0x5e, 0xbd, 0x78, 0xf7, 0x11, 0xff, 0x4d, 0xc9, 0xab, 0xa3, 0xf6, 0x79, 0x0b, 0x7f, 0x20, 0xaf, - 0x8e, 0x3a, 0xf8, 0x56, 0x93, 0x57, 0x47, 0x27, 0x38, 0x57, 0xe4, 0xd5, 0x61, 0xe7, 0xe8, 0x18, 0x2f, 0xb4, 0x6d, - 0x32, 0x97, 0x93, 0x76, 0x0b, 0xff, 0xed, 0xbe, 0x40, 0xbc, 0xaf, 0x66, 0x31, 0x61, 0x1b, 0xc6, 0x0f, 0xa6, 0x0c, - 0x1d, 0x2a, 0x63, 0x88, 0x72, 0x11, 0xa0, 0xd3, 0x54, 0x85, 0xe8, 0x64, 0x43, 0x49, 0x83, 0x0d, 0x23, 0xa0, 0x15, - 0x27, 0xae, 0x1d, 0x7e, 0xd4, 0x66, 0xc7, 0x40, 0x9f, 0x78, 0x29, 0x1c, 0x97, 0x2a, 0x9c, 0xb6, 0xd3, 0x62, 0x8c, - 0x73, 0x29, 0x8b, 0x78, 0x01, 0x8c, 0x80, 0xd1, 0x5a, 0xf0, 0xa3, 0x32, 0x66, 0x95, 0xb8, 0x20, 0xed, 0x5e, 0x3b, - 0x15, 0x17, 0xa4, 0xd3, 0xeb, 0xc0, 0x9f, 0xd3, 0xde, 0x69, 0xda, 0x6e, 0xa1, 0xc3, 0x60, 0x1c, 0x7f, 0xd4, 0xd0, - 0xba, 0x3f, 0xc0, 0xae, 0x0b, 0xf5, 0x77, 0xa1, 0xbd, 0x4a, 0x4f, 0x38, 0x75, 0x6c, 0xbb, 0x2b, 0x2e, 0x98, 0xd1, - 0xc3, 0xf2, 0x1f, 0x00, 0xb5, 0x8d, 0x5b, 0x4d, 0xb9, 0x71, 0xdc, 0x2f, 0x7e, 0x24, 0x50, 0x2d, 0x30, 0x4e, 0xcc, - 0x56, 0x2d, 0x04, 0x4c, 0xa3, 0xc9, 0x06, 0x73, 0xa0, 0x44, 0xc9, 0x42, 0xfb, 0xe0, 0xfe, 0xaa, 0x29, 0x51, 0x32, - 0x97, 0xf3, 0xb8, 0xa6, 0x6a, 0xf8, 0x35, 0x30, 0x73, 0xdc, 0xe7, 0xea, 0x15, 0x7d, 0x15, 0xd7, 0x78, 0x9e, 0x90, - 0xb5, 0x0b, 0xb7, 0xc5, 0x2f, 0xce, 0x8a, 0xa2, 0x06, 0xae, 0x12, 0xb0, 0x7e, 0x54, 0x4d, 0x7d, 0x01, 0xaf, 0x18, - 0xb2, 0x86, 0xbe, 0x24, 0x01, 0xf5, 0xfc, 0xa9, 0x34, 0xe3, 0x2a, 0x95, 0xd1, 0x5e, 0x11, 0x6d, 0xcc, 0x82, 0xbc, - 0x22, 0xfa, 0x42, 0x19, 0x20, 0x48, 0xc2, 0xfb, 0x62, 0x00, 0x07, 0xbe, 0x1d, 0xa0, 0x34, 0x74, 0x0e, 0xd4, 0x4a, - 0x95, 0x99, 0x90, 0xf9, 0x34, 0x21, 0x1a, 0x40, 0xf3, 0x54, 0xa9, 0xa0, 0xcc, 0x27, 0x96, 0x28, 0x18, 0xfa, 0x9f, - 0xe1, 0x06, 0x38, 0x8c, 0x0d, 0x2a, 0x06, 0xd9, 0xf7, 0x44, 0x3d, 0xbf, 0x7d, 0xde, 0x3a, 0x7a, 0x15, 0xe4, 0x8f, - 0x94, 0xb7, 0xf7, 0xf8, 0x1c, 0x50, 0x72, 0x1b, 0x54, 0xac, 0x8d, 0x7d, 0x3c, 0xb8, 0x6e, 0x08, 0x90, 0x43, 0x8d, - 0x8e, 0xcc, 0x83, 0x8e, 0x5d, 0xa4, 0x0f, 0x49, 0xbb, 0x05, 0x41, 0xdc, 0x76, 0x50, 0xbe, 0x9f, 0x36, 0x60, 0xaa, - 0x93, 0xdb, 0x26, 0xd0, 0x6a, 0x78, 0xe3, 0xe9, 0xae, 0xc9, 0x93, 0x3b, 0xac, 0x02, 0x9c, 0x61, 0x87, 0xac, 0x21, - 0x0e, 0x05, 0x72, 0xc1, 0x6f, 0xed, 0x06, 0xd0, 0x54, 0x74, 0xec, 0x5b, 0x83, 0xde, 0x38, 0xea, 0xa2, 0x99, 0x9c, - 0x1e, 0xbe, 0x3a, 0x38, 0x88, 0x65, 0x83, 0xbc, 0x47, 0x78, 0x49, 0xc1, 0x66, 0x1b, 0x7c, 0xef, 0xb8, 0x65, 0xe2, - 0x53, 0x15, 0x50, 0xc7, 0x85, 0xaa, 0x1d, 0x6b, 0x55, 0x67, 0xe5, 0x6e, 0xf0, 0x63, 0xea, 0xa0, 0x46, 0x90, 0x66, - 0x47, 0xd7, 0x09, 0xa1, 0xfc, 0x5b, 0xcd, 0x51, 0x0e, 0xb6, 0x65, 0xe3, 0x23, 0x45, 0x3f, 0xbc, 0x6f, 0xbe, 0x0a, - 0xca, 0xd4, 0x4c, 0x93, 0xde, 0x37, 0xde, 0xa3, 0x1f, 0xde, 0x07, 0xae, 0x8e, 0xbc, 0x62, 0x4f, 0x3c, 0x37, 0xf2, - 0x9b, 0xe5, 0x4a, 0x7f, 0x03, 0xc9, 0xbe, 0x20, 0xbf, 0x01, 0x96, 0x53, 0xf2, 0x5b, 0x2c, 0x9b, 0x10, 0x02, 0x92, - 0xfc, 0x16, 0x17, 0xf0, 0x23, 0x27, 0xbf, 0xc5, 0x80, 0xed, 0x78, 0x6a, 0x7e, 0x14, 0x25, 0x30, 0xc0, 0xbd, 0x4e, - 0x5a, 0x2f, 0xbb, 0x62, 0xb5, 0x12, 0x07, 0x07, 0xd2, 0xfe, 0xa2, 0x97, 0xd9, 0xc1, 0x41, 0x7e, 0x31, 0x0d, 0x6c, - 0x6f, 0xf5, 0x2e, 0xfa, 0x62, 0x10, 0x0a, 0x07, 0xa6, 0x69, 0xbc, 0x86, 0x57, 0x35, 0xca, 0x0a, 0x0d, 0x34, 0x8f, - 0x3b, 0xf7, 0xcf, 0xce, 0x31, 0xfc, 0x7b, 0x3f, 0x28, 0xf8, 0x73, 0xc9, 0x77, 0x91, 0x36, 0x6b, 0x9e, 0x55, 0x75, - 0x2e, 0x03, 0x7c, 0xc6, 0x0c, 0x35, 0xc5, 0xc1, 0x01, 0xbf, 0x08, 0x70, 0x19, 0x33, 0xd4, 0x08, 0x2c, 0xf6, 0x1e, - 0x96, 0xf6, 0x64, 0x86, 0x6b, 0x82, 0xc7, 0x7d, 0x79, 0xbf, 0x18, 0x5c, 0x68, 0x47, 0x4d, 0xc2, 0x10, 0xe0, 0x8a, - 0xb4, 0xdc, 0x26, 0xeb, 0x8a, 0xa6, 0xba, 0x6c, 0x77, 0x91, 0x24, 0xaa, 0x21, 0x2e, 0x2f, 0xdb, 0x18, 0x54, 0xf2, - 0x3d, 0x45, 0x64, 0x2a, 0x88, 0x77, 0x53, 0x5c, 0xe6, 0x32, 0x55, 0x78, 0xca, 0x53, 0xe1, 0xe5, 0xec, 0xd7, 0xde, - 0x7a, 0xda, 0x38, 0x8e, 0x9a, 0x9e, 0x19, 0x16, 0x3d, 0x55, 0x3a, 0x3c, 0xc2, 0x26, 0x55, 0x03, 0x78, 0x3b, 0xb1, - 0xc4, 0x3c, 0x66, 0xbd, 0xfc, 0x18, 0xc4, 0xa6, 0x56, 0x8d, 0x36, 0x64, 0xc2, 0xe7, 0x3a, 0x55, 0x30, 0x50, 0x53, - 0xf8, 0x02, 0xc8, 0x54, 0x56, 0x19, 0x66, 0xfb, 0x86, 0xa1, 0x80, 0x80, 0x02, 0x97, 0x84, 0x05, 0x12, 0x3c, 0xdc, - 0x7e, 0x04, 0x84, 0xa3, 0x4e, 0x2e, 0xec, 0xe4, 0x2e, 0x14, 0x74, 0x27, 0x06, 0x17, 0xba, 0x8b, 0x44, 0xa3, 0xe1, - 0xb8, 0xed, 0x4b, 0x61, 0x06, 0xd1, 0x6c, 0x0f, 0x2e, 0x59, 0x17, 0xa9, 0x66, 0xb3, 0x34, 0x80, 0xbc, 0x6c, 0xad, - 0x56, 0xea, 0xc2, 0x37, 0xd2, 0xf3, 0xe7, 0xb8, 0xe1, 0xbb, 0xbc, 0xe0, 0xf9, 0x9b, 0x24, 0xfd, 0x08, 0xa8, 0x2a, - 0xf0, 0xd9, 0x72, 0x1e, 0xe1, 0xc8, 0x3c, 0xab, 0x07, 0x7f, 0xcd, 0x73, 0x68, 0x11, 0x8e, 0xdc, 0x4b, 0x7b, 0xd1, - 0xa0, 0x1a, 0x2c, 0xcf, 0xca, 0x20, 0xf1, 0x3c, 0xb9, 0x06, 0xc6, 0x41, 0x7f, 0x56, 0x68, 0x59, 0xfd, 0x4e, 0x72, - 0x17, 0x2e, 0x45, 0xf9, 0xc7, 0xdf, 0xdc, 0xa8, 0xd6, 0xbb, 0x1d, 0x54, 0x39, 0x8e, 0x7c, 0x55, 0x78, 0x44, 0xe1, - 0x3b, 0xaf, 0x4f, 0xb6, 0xdd, 0xa3, 0xe7, 0xcb, 0xb2, 0x07, 0xe0, 0xbc, 0xd7, 0x6b, 0x84, 0x7f, 0x93, 0x3b, 0x5f, - 0x40, 0x8e, 0xae, 0xa5, 0x78, 0x42, 0x35, 0x8d, 0x1a, 0x6f, 0x8c, 0xe1, 0x9b, 0x95, 0xb3, 0xba, 0xdf, 0x1a, 0x07, - 0xfb, 0xb7, 0xba, 0x87, 0x00, 0x16, 0xb5, 0xc7, 0x9a, 0xac, 0xec, 0x6b, 0xc2, 0x96, 0xc8, 0xc0, 0xf4, 0x6d, 0x07, - 0x3c, 0xfc, 0x18, 0x29, 0xb8, 0x55, 0x5b, 0x3e, 0x89, 0x42, 0x64, 0xd8, 0x9a, 0x33, 0x37, 0xa4, 0xd8, 0x3e, 0x8c, - 0xe3, 0xef, 0x1a, 0x85, 0x5c, 0xf7, 0x58, 0xd5, 0x89, 0x69, 0xd5, 0x8d, 0x91, 0x3a, 0xd8, 0x26, 0x0b, 0xce, 0xaa, - 0xde, 0x8d, 0x84, 0x52, 0xbd, 0x6b, 0x67, 0xde, 0x26, 0x6d, 0xb6, 0xcd, 0x63, 0xcf, 0xf6, 0xf5, 0x3b, 0x05, 0x86, - 0xbc, 0xfb, 0x65, 0xd0, 0xae, 0x4b, 0x38, 0x76, 0xe3, 0x00, 0xb2, 0x92, 0x5c, 0x2e, 0xdd, 0xcb, 0x74, 0xbc, 0x2f, - 0x07, 0xeb, 0xf2, 0x9d, 0xba, 0x00, 0x0f, 0xaa, 0x91, 0x8a, 0x2c, 0xe4, 0x0c, 0xfc, 0x23, 0x8f, 0x35, 0xfd, 0x10, - 0xff, 0x07, 0x0e, 0xf8, 0x0a, 0x49, 0x53, 0xab, 0x7e, 0x82, 0xf7, 0xa3, 0x40, 0xe1, 0x6d, 0xeb, 0xfe, 0x29, 0x43, - 0x47, 0xdd, 0xba, 0x4e, 0xc5, 0xfa, 0xc2, 0xd6, 0x15, 0x2b, 0x65, 0xe1, 0x80, 0x6a, 0xc5, 0x68, 0x9d, 0x3a, 0xbf, - 0x59, 0xf7, 0xe8, 0xd4, 0x43, 0x01, 0xbe, 0x31, 0x5c, 0x8a, 0x67, 0x05, 0x44, 0x11, 0x0b, 0xf5, 0x69, 0x3f, 0xcb, - 0xf0, 0x55, 0xe5, 0x3e, 0xdc, 0x13, 0x96, 0x3c, 0x67, 0xf9, 0x12, 0x38, 0x2c, 0x90, 0x02, 0x0a, 0xa5, 0xb0, 0x58, - 0xad, 0x62, 0x01, 0x81, 0x24, 0xfe, 0x74, 0xa1, 0x85, 0xdd, 0x1b, 0x22, 0x46, 0x7f, 0x07, 0x75, 0xb1, 0x57, 0x8f, - 0x18, 0x13, 0x56, 0x14, 0x5e, 0x3a, 0xa9, 0x2c, 0xe8, 0x6b, 0x57, 0x1f, 0xa2, 0x9a, 0x72, 0x2f, 0x36, 0xfa, 0xde, - 0x77, 0x7c, 0xc6, 0xe4, 0x02, 0x1e, 0x6f, 0xc2, 0x8c, 0x28, 0xa6, 0xfd, 0x37, 0x50, 0x10, 0x78, 0x01, 0x88, 0x87, - 0xf8, 0x08, 0x7c, 0x95, 0xa7, 0x75, 0x32, 0xf3, 0x4f, 0x82, 0x44, 0x26, 0x64, 0x67, 0xd4, 0x8b, 0xc0, 0x8b, 0x08, - 0x44, 0x28, 0x42, 0x22, 0x26, 0x46, 0x51, 0x2f, 0x32, 0x2e, 0x59, 0x11, 0x58, 0x8d, 0x81, 0x92, 0x3b, 0xc2, 0x73, - 0x55, 0x11, 0xb1, 0xb0, 0xa6, 0x0e, 0x2a, 0xb1, 0xd4, 0x98, 0x69, 0x1f, 0x75, 0x2a, 0x10, 0x16, 0xd9, 0xa6, 0xa0, - 0xac, 0x37, 0xd4, 0x05, 0x58, 0x12, 0x63, 0x7a, 0xcb, 0x93, 0x6b, 0xe0, 0xe6, 0xd8, 0xc8, 0x15, 0x5d, 0xf2, 0x2b, - 0x50, 0x4f, 0xa7, 0x05, 0xbe, 0x36, 0x0c, 0xdb, 0x28, 0xa5, 0x6b, 0xc2, 0x71, 0x46, 0x8a, 0x84, 0xde, 0x42, 0x6c, - 0x8d, 0x19, 0x17, 0x69, 0x8e, 0x67, 0xf4, 0x36, 0x9d, 0xe2, 0x19, 0x17, 0x4f, 0xec, 0xb2, 0xa7, 0x23, 0x48, 0xf2, - 0x1f, 0x8b, 0x35, 0x31, 0x4f, 0x83, 0xfd, 0xae, 0x58, 0xf1, 0x08, 0x78, 0x15, 0x15, 0xa3, 0xee, 0xc8, 0xd8, 0x94, - 0x73, 0x5d, 0x19, 0xaf, 0xbf, 0xd6, 0x31, 0xc5, 0x19, 0xce, 0x51, 0x92, 0x4b, 0xcc, 0x7a, 0x22, 0x7d, 0x0d, 0x71, - 0xb5, 0x33, 0x6c, 0x9f, 0x15, 0xe3, 0xb7, 0x2c, 0x7f, 0x26, 0x8b, 0xf7, 0x66, 0xcb, 0xe7, 0x08, 0x0a, 0x81, 0x8b, - 0x8a, 0x68, 0xc2, 0xed, 0xde, 0xa2, 0x27, 0xab, 0xa6, 0xe8, 0xad, 0x6d, 0xca, 0x0d, 0x71, 0x0a, 0x01, 0x89, 0x93, - 0x29, 0x6f, 0xb4, 0x31, 0xeb, 0xb5, 0xbe, 0xd3, 0xe8, 0x14, 0x95, 0x25, 0x11, 0x86, 0xb5, 0x6a, 0xaa, 0x54, 0x12, - 0xd1, 0x54, 0x4e, 0xc2, 0x5b, 0x1a, 0x60, 0xa7, 0x0a, 0x67, 0x72, 0x21, 0x74, 0x2a, 0x03, 0xbc, 0xa1, 0xd5, 0xe6, - 0x5a, 0xde, 0x5a, 0x88, 0x69, 0x7c, 0x67, 0x7f, 0x30, 0x7c, 0x6d, 0x54, 0xfc, 0x6f, 0xc1, 0xb0, 0x47, 0xa5, 0x02, - 0xe0, 0x07, 0x86, 0xb3, 0x00, 0x39, 0xcb, 0x4f, 0xde, 0x02, 0xf8, 0x2c, 0x0b, 0x79, 0x07, 0xa9, 0xcc, 0xa4, 0xde, - 0x41, 0x2a, 0x83, 0x54, 0xe3, 0x51, 0xbf, 0x2f, 0x2a, 0x65, 0x51, 0xd8, 0x20, 0x51, 0xb8, 0x54, 0x07, 0x4b, 0x22, - 0x12, 0x68, 0xd7, 0x88, 0x72, 0x33, 0x2e, 0x20, 0xb4, 0x22, 0x34, 0x6e, 0xbf, 0xe9, 0x2d, 0x7c, 0xdf, 0xd9, 0x7c, - 0xe6, 0xf3, 0xef, 0x6c, 0xbe, 0xe9, 0xc8, 0x63, 0x7c, 0xfd, 0xb6, 0xd3, 0x58, 0xc6, 0x4b, 0x87, 0xb5, 0x1f, 0xca, - 0x87, 0x6c, 0x5a, 0xe6, 0xc1, 0x70, 0xd2, 0xc6, 0x93, 0x00, 0x29, 0x9b, 0x15, 0x0f, 0xd7, 0xc1, 0xed, 0xd6, 0x61, - 0xcc, 0x9b, 0xa4, 0x8d, 0xd0, 0xa1, 0x13, 0xae, 0x44, 0x6c, 0x24, 0xa7, 0xc3, 0xf7, 0x47, 0x70, 0xf7, 0x32, 0x53, - 0x1b, 0xbe, 0x52, 0xb6, 0x5a, 0xb3, 0xdd, 0x3a, 0xe4, 0x3b, 0xab, 0x34, 0xda, 0x78, 0xc6, 0xc8, 0x12, 0x3c, 0xd0, - 0x68, 0x61, 0x55, 0x0d, 0xe0, 0xb2, 0xfa, 0x42, 0xfc, 0xb6, 0xa0, 0x23, 0xf3, 0x7d, 0x68, 0x53, 0x5e, 0x2f, 0xb4, - 0x4f, 0x6a, 0x72, 0x18, 0x44, 0x07, 0xb9, 0x92, 0x41, 0x4e, 0xcc, 0x8f, 0x48, 0x72, 0x8a, 0x2e, 0xda, 0xbd, 0xe4, - 0xf4, 0x90, 0x1f, 0xf2, 0x14, 0x78, 0xd8, 0xb8, 0xe9, 0x2b, 0x34, 0xdb, 0xbe, 0xce, 0xe3, 0xc5, 0x90, 0x67, 0xae, - 0xf9, 0xaa, 0x83, 0x32, 0xd5, 0xce, 0x11, 0xb2, 0x00, 0xc5, 0x7c, 0x2f, 0x41, 0x76, 0xbd, 0x9b, 0x43, 0x9e, 0x42, - 0x3f, 0x50, 0xab, 0x63, 0x6b, 0x95, 0x83, 0xfb, 0x6d, 0x01, 0x08, 0xe6, 0x3b, 0xaa, 0xcd, 0xc5, 0xa6, 0x37, 0xe3, - 0xaa, 0xb3, 0x43, 0x5e, 0x8d, 0x30, 0x2c, 0xb3, 0xdd, 0x9f, 0x9f, 0x5a, 0xd5, 0xe5, 0x61, 0x00, 0x91, 0xdf, 0x16, - 0x5c, 0x84, 0x9d, 0x86, 0xdd, 0xba, 0x9c, 0xb0, 0xd3, 0xfa, 0x2c, 0x83, 0x22, 0xdb, 0xbd, 0x6e, 0xcd, 0xb4, 0x3e, - 0xdb, 0x2b, 0x70, 0x24, 0x84, 0x49, 0x99, 0x95, 0xce, 0xe0, 0x0a, 0xfd, 0xf0, 0x03, 0x72, 0xad, 0xbf, 0x5e, 0x68, - 0x9f, 0x5f, 0x22, 0x02, 0x64, 0x57, 0x5d, 0x97, 0xd5, 0xa1, 0x8f, 0xb2, 0x89, 0x57, 0x87, 0x3c, 0x58, 0xb9, 0xa7, - 0xb7, 0x73, 0x99, 0x7a, 0x7c, 0xed, 0xb5, 0xd2, 0x2d, 0xe4, 0x04, 0xe2, 0xe1, 0xba, 0x0b, 0xcb, 0x82, 0x9c, 0xdd, - 0xdc, 0x42, 0xc9, 0x70, 0xe2, 0xbe, 0xf4, 0x07, 0x66, 0xaf, 0x1b, 0xf8, 0x45, 0x72, 0x0a, 0x53, 0xdf, 0xec, 0xe1, - 0xb0, 0x03, 0x7d, 0x18, 0x38, 0x6c, 0x36, 0xe8, 0x33, 0x2b, 0x88, 0x3c, 0xe6, 0x85, 0xc5, 0xb3, 0x4b, 0xd2, 0xee, - 0xf1, 0xd4, 0x6d, 0x26, 0x23, 0x1a, 0xb5, 0x9b, 0x3c, 0x98, 0x19, 0xe0, 0x97, 0x2b, 0x1b, 0x16, 0xf1, 0xeb, 0x14, - 0x40, 0xc9, 0x17, 0xab, 0xd6, 0xa7, 0x82, 0x57, 0xbd, 0xe1, 0x74, 0x33, 0xdd, 0xaf, 0x1b, 0xdc, 0xee, 0x7a, 0x78, - 0xc2, 0x43, 0x34, 0x16, 0xad, 0xfd, 0xc4, 0x27, 0xc0, 0x01, 0x25, 0xad, 0xfb, 0xa7, 0xe0, 0x42, 0x59, 0xc2, 0x72, - 0xbb, 0xdc, 0x6c, 0xab, 0x9c, 0x85, 0xa3, 0x2d, 0x19, 0x70, 0x07, 0x9b, 0x10, 0x85, 0x0e, 0x0e, 0x3b, 0x38, 0x69, - 0xb7, 0x3b, 0xa7, 0x38, 0x39, 0x39, 0x85, 0x81, 0x36, 0x92, 0xd3, 0xc3, 0x99, 0xb2, 0x00, 0x0c, 0x72, 0xd6, 0xae, - 0xdd, 0x47, 0x10, 0xb4, 0x2a, 0x14, 0xaf, 0xf9, 0x61, 0x1c, 0xb7, 0x93, 0xfb, 0xad, 0xf6, 0xe9, 0x79, 0x03, 0x00, - 0xd4, 0x74, 0x1f, 0xae, 0xc6, 0xeb, 0x85, 0xae, 0x57, 0x29, 0x11, 0xbe, 0x5e, 0xad, 0xe1, 0xab, 0x35, 0xda, 0xeb, - 0x6a, 0x0a, 0xbe, 0xaa, 0x13, 0xce, 0x6d, 0x11, 0xaf, 0xb4, 0x09, 0xb7, 0x45, 0x6c, 0x07, 0x12, 0x83, 0x74, 0x9e, - 0x9c, 0x76, 0x4e, 0x91, 0x1d, 0x8b, 0x76, 0xf8, 0x51, 0xee, 0x93, 0xad, 0x22, 0x0d, 0x0d, 0x48, 0x52, 0xce, 0x4e, - 0x2e, 0x40, 0xa2, 0xe6, 0xe4, 0xb2, 0xdd, 0x9c, 0xb1, 0xc4, 0x4f, 0xc0, 0xa4, 0xc2, 0x72, 0x96, 0xab, 0xe0, 0x92, - 0x02, 0x40, 0x5c, 0x80, 0x71, 0xd1, 0xfd, 0xd3, 0xde, 0xfd, 0xe4, 0xf4, 0xac, 0x63, 0x89, 0x1e, 0xbf, 0xe8, 0xd4, - 0xd2, 0xcc, 0xd4, 0x93, 0x53, 0x93, 0x06, 0x5d, 0x27, 0xf7, 0x4f, 0xa1, 0x8c, 0x4b, 0x09, 0x4b, 0x41, 0xb0, 0x8d, - 0xaa, 0x18, 0x44, 0xd8, 0x48, 0x6b, 0xb9, 0x67, 0xb5, 0xec, 0xf3, 0x93, 0xe3, 0xfb, 0xa7, 0x21, 0xd4, 0xca, 0x59, - 0x98, 0x85, 0x76, 0x13, 0xf1, 0xb3, 0x83, 0xa5, 0x45, 0x87, 0xc9, 0x69, 0xba, 0x35, 0x41, 0xbb, 0x69, 0x0e, 0x0d, - 0x0e, 0x04, 0x0a, 0xc7, 0xa7, 0xc2, 0xe9, 0x4b, 0x82, 0xfb, 0xb1, 0xca, 0xd0, 0x24, 0x54, 0x38, 0xfb, 0x7b, 0xca, - 0xe0, 0x3d, 0xcd, 0xf0, 0xaa, 0xf2, 0x31, 0x15, 0x5f, 0xa9, 0x7a, 0x43, 0x21, 0x82, 0x88, 0x18, 0x44, 0x2e, 0xbe, - 0x79, 0x3d, 0xf7, 0x27, 0x70, 0x11, 0x66, 0x02, 0x2e, 0x34, 0xbd, 0x12, 0xb4, 0xe2, 0x05, 0x86, 0xa1, 0x43, 0xad, - 0x19, 0x56, 0x8f, 0xa7, 0xce, 0xa4, 0x20, 0xd4, 0x6d, 0x3d, 0xe7, 0xdf, 0x2b, 0x97, 0x94, 0x57, 0xd9, 0xc9, 0x29, - 0x4a, 0xdc, 0x65, 0x79, 0xd2, 0x46, 0x49, 0x60, 0x42, 0xe2, 0x8e, 0xe4, 0x2c, 0x23, 0xfd, 0xe8, 0x36, 0xc2, 0xd1, - 0x5d, 0x84, 0x23, 0xeb, 0xc3, 0xfc, 0x01, 0xfc, 0xb8, 0x23, 0x1c, 0x59, 0x57, 0xe6, 0x08, 0x47, 0x9a, 0x09, 0x08, - 0x2c, 0x16, 0x0d, 0x70, 0x0e, 0xa5, 0x8d, 0x67, 0x75, 0x59, 0xfa, 0xb1, 0xff, 0x2a, 0x5d, 0xaf, 0x6d, 0x4a, 0x20, - 0x65, 0x4e, 0xcd, 0x0e, 0xb5, 0x0f, 0x63, 0x47, 0xd4, 0x33, 0xeb, 0x11, 0x06, 0x01, 0x84, 0xde, 0xf9, 0x87, 0xf5, - 0xaa, 0x98, 0x24, 0xec, 0x18, 0x56, 0x1a, 0x5c, 0xd1, 0xa3, 0xf0, 0x0c, 0x8b, 0xf0, 0x58, 0xf8, 0xc2, 0x20, 0x56, - 0xf8, 0xdf, 0xb9, 0x94, 0x73, 0xff, 0x5b, 0xcb, 0xf2, 0x17, 0x3c, 0xc7, 0xe2, 0x2c, 0x5a, 0xc0, 0x72, 0xcb, 0x86, - 0x40, 0x1a, 0xb2, 0xfa, 0x08, 0xae, 0xc7, 0x2e, 0x4c, 0x1d, 0x48, 0x84, 0xd7, 0x46, 0xa0, 0xf2, 0xf2, 0xe1, 0xb5, - 0x0d, 0x99, 0x64, 0x3e, 0x21, 0x66, 0x1a, 0x84, 0x45, 0x96, 0x70, 0xa1, 0x31, 0x29, 0x98, 0x52, 0x91, 0x8d, 0x25, - 0x18, 0x49, 0xe1, 0x1f, 0x87, 0xf4, 0x29, 0x63, 0x11, 0x99, 0x0e, 0xeb, 0xb3, 0xb5, 0xe2, 0x70, 0x2e, 0x0b, 0x95, - 0xda, 0x97, 0x62, 0x3c, 0x18, 0xe7, 0xe5, 0x33, 0x8c, 0x69, 0x9e, 0xad, 0xb1, 0xbd, 0xc3, 0x2e, 0x0b, 0xb9, 0x2b, - 0xed, 0xb0, 0x54, 0x96, 0xad, 0xbf, 0x35, 0x21, 0x55, 0x9b, 0x51, 0x30, 0xd1, 0x6a, 0x40, 0x55, 0xe0, 0x0e, 0x28, - 0x6c, 0x83, 0xd2, 0xa4, 0xcb, 0xb2, 0x64, 0xba, 0x2c, 0x97, 0xe1, 0xa4, 0xd5, 0x5a, 0xaf, 0x71, 0xc1, 0x4c, 0x20, - 0x97, 0x9d, 0x25, 0x20, 0x5f, 0x4d, 0xe5, 0x4d, 0x90, 0xab, 0xd2, 0x72, 0x96, 0x66, 0x89, 0xa2, 0xc0, 0x08, 0x36, - 0x5a, 0xe3, 0xaf, 0x5c, 0x71, 0x80, 0xa7, 0x9b, 0xdd, 0x50, 0xca, 0x9c, 0x51, 0x88, 0xa1, 0x16, 0x34, 0xb9, 0xc6, - 0x53, 0x3e, 0x62, 0xbb, 0xdb, 0x04, 0x33, 0xe6, 0x7f, 0xaf, 0x45, 0x8f, 0x40, 0x96, 0xdd, 0x33, 0xa8, 0x03, 0x8b, - 0xb8, 0x82, 0x0e, 0x42, 0x19, 0x7c, 0x14, 0xe2, 0x66, 0x4e, 0xef, 0xe4, 0x42, 0x03, 0x5c, 0x16, 0x5a, 0xbe, 0x71, - 0xe1, 0x10, 0xf6, 0x5b, 0xd8, 0x47, 0x46, 0x58, 0x42, 0xc8, 0x80, 0x16, 0xb6, 0x11, 0x31, 0x5a, 0xd8, 0x05, 0x2a, - 0x68, 0x61, 0x13, 0x9e, 0xa2, 0xb5, 0x2e, 0x63, 0x9b, 0x5d, 0x97, 0x4f, 0x6a, 0x56, 0x9b, 0x60, 0xe1, 0xa4, 0x43, - 0x4d, 0x74, 0x70, 0x7b, 0xc8, 0x08, 0x6f, 0xfc, 0x7c, 0xf5, 0xfa, 0x95, 0x8b, 0x5c, 0xcd, 0xc7, 0xe0, 0xb2, 0xe9, - 0x54, 0x63, 0xd7, 0xe6, 0x2d, 0xaa, 0xb8, 0x52, 0x94, 0x5a, 0xe1, 0x14, 0x5a, 0x7e, 0x21, 0x74, 0x9e, 0xd8, 0xcb, - 0x8b, 0x67, 0xb2, 0x98, 0x51, 0x7b, 0x63, 0x84, 0xaf, 0x95, 0x7b, 0x7c, 0xde, 0xbc, 0x6f, 0x53, 0x4d, 0xf2, 0xdd, - 0xe6, 0x55, 0xc4, 0x22, 0x33, 0xf2, 0x2b, 0x68, 0x03, 0x4c, 0xe5, 0xf2, 0xed, 0xe0, 0x82, 0xb8, 0xf8, 0xff, 0x01, - 0x79, 0x79, 0x6b, 0xa9, 0x4b, 0x14, 0x35, 0xb8, 0xc1, 0x4f, 0x56, 0xf0, 0x2c, 0xb8, 0x2e, 0x34, 0xec, 0x91, 0x13, - 0x2f, 0xa2, 0x56, 0x54, 0x7f, 0x7b, 0xd7, 0xa8, 0x12, 0x7c, 0xec, 0xd8, 0x24, 0x97, 0x20, 0x7a, 0x94, 0xcf, 0xfc, - 0x71, 0x10, 0x4d, 0xfc, 0xdd, 0xf3, 0x65, 0xdb, 0xd3, 0xd9, 0xbc, 0x52, 0x27, 0x96, 0x57, 0x26, 0xe0, 0xe1, 0x68, - 0x1f, 0xd2, 0x41, 0x38, 0x48, 0x64, 0xa5, 0xf6, 0xd0, 0xe7, 0xa2, 0x6e, 0x9c, 0x5f, 0xb4, 0x59, 0xf3, 0x64, 0xb5, - 0xca, 0x2f, 0xdb, 0xac, 0x7d, 0x6a, 0x9f, 0xdd, 0x8b, 0x54, 0x06, 0x34, 0x97, 0x8f, 0x79, 0x16, 0x81, 0x76, 0x76, - 0x9c, 0x99, 0x70, 0x0a, 0x3e, 0x50, 0x34, 0x59, 0xe8, 0xaa, 0x2f, 0x09, 0xc6, 0xa5, 0xc4, 0xea, 0xf1, 0x0b, 0xd4, - 0x6b, 0xa7, 0xdb, 0xae, 0xd2, 0xcd, 0xf6, 0x61, 0x70, 0xe1, 0x52, 0x20, 0xdc, 0x81, 0x90, 0x07, 0xa0, 0xdf, 0x5d, - 0x0a, 0x30, 0x0d, 0x02, 0x54, 0x56, 0x20, 0xd2, 0xf2, 0xd9, 0x62, 0xf6, 0xac, 0xa0, 0x66, 0x19, 0x9e, 0xf0, 0x09, - 0xd7, 0x2a, 0xa5, 0x20, 0xdd, 0xee, 0x4a, 0x5f, 0xef, 0x96, 0xa0, 0xb2, 0x5a, 0xfc, 0xdd, 0x44, 0xf3, 0xec, 0x8b, - 0x72, 0x0b, 0x87, 0xb0, 0x59, 0x59, 0x81, 0x33, 0xb4, 0xc6, 0xb9, 0x9c, 0xd0, 0x82, 0xeb, 0xe9, 0xec, 0xdf, 0x5a, - 0x1d, 0xd6, 0xd7, 0x03, 0x73, 0x61, 0x05, 0x20, 0xa1, 0x62, 0xb4, 0x5a, 0xf1, 0xa3, 0xef, 0xdf, 0x27, 0x79, 0x9f, - 0xf0, 0x36, 0xee, 0xe0, 0x63, 0x7c, 0x8a, 0xdb, 0x2d, 0xdc, 0x3e, 0x85, 0xab, 0xfb, 0x2c, 0x5f, 0x8c, 0x98, 0x8a, - 0xe1, 0xfd, 0x35, 0x7d, 0x99, 0x9c, 0x1f, 0x96, 0xaf, 0x0e, 0xe8, 0x22, 0x71, 0xe8, 0x12, 0x04, 0xbf, 0x77, 0x51, - 0x03, 0xa3, 0x28, 0x0c, 0x59, 0x37, 0x0e, 0x55, 0x27, 0xa5, 0x7e, 0xe1, 0xf2, 0xb8, 0x07, 0xf6, 0xdc, 0x76, 0x65, - 0x9b, 0x60, 0xf6, 0x6d, 0x7f, 0xa6, 0xd5, 0xcf, 0xa6, 0x2e, 0x11, 0xc3, 0x43, 0xaf, 0x42, 0x0f, 0x74, 0x49, 0xda, - 0x07, 0x07, 0x60, 0x75, 0x14, 0xcc, 0x86, 0xdb, 0xe8, 0x07, 0xbc, 0x59, 0x4b, 0x83, 0x60, 0x05, 0x60, 0xdc, 0xf9, - 0x86, 0x93, 0xa5, 0x85, 0xad, 0x06, 0x2a, 0xac, 0x8b, 0x30, 0xae, 0x5e, 0x48, 0x2a, 0x8c, 0x10, 0x0d, 0x47, 0x98, - 0x0b, 0x86, 0xb2, 0xdf, 0xc2, 0x72, 0x3c, 0x56, 0x4c, 0xc3, 0xd1, 0x51, 0xb0, 0xaf, 0xac, 0x50, 0xe6, 0x14, 0x19, - 0xb2, 0x09, 0x17, 0x0f, 0xf5, 0x9f, 0xac, 0x90, 0xe6, 0xd3, 0x68, 0x30, 0xd2, 0xc8, 0xac, 0x62, 0x84, 0xb3, 0x9c, - 0xcf, 0xa1, 0xea, 0xa4, 0x00, 0xa7, 0x1f, 0xf8, 0xcb, 0x47, 0x69, 0xd8, 0x26, 0x90, 0xaf, 0x0f, 0x36, 0xa6, 0x0b, - 0x1e, 0x15, 0xf4, 0xe6, 0xb5, 0x78, 0x0c, 0x3b, 0xea, 0x61, 0xc1, 0x28, 0x64, 0x43, 0xd2, 0x3b, 0x68, 0x0a, 0x3e, - 0xa0, 0xcd, 0x97, 0x06, 0x70, 0xe9, 0xb9, 0xf9, 0xb0, 0x15, 0x7d, 0xec, 0xc6, 0xa4, 0x6c, 0xcb, 0x64, 0x9a, 0x53, - 0xba, 0xca, 0xb4, 0x51, 0xa8, 0xca, 0x29, 0xac, 0xb1, 0x8b, 0x7a, 0x12, 0x0e, 0x66, 0x44, 0xd5, 0x34, 0xed, 0x0f, - 0xcc, 0xdf, 0xd7, 0xb6, 0x64, 0x0b, 0xbb, 0x88, 0x33, 0x6b, 0x6c, 0x1e, 0x4e, 0x0d, 0xca, 0xb7, 0x31, 0xdc, 0xc3, - 0xc2, 0xeb, 0x9d, 0x35, 0xf2, 0x79, 0xe2, 0xc9, 0xe6, 0xc9, 0x7a, 0x6d, 0x06, 0xa2, 0x52, 0xd0, 0x03, 0xbd, 0xf5, - 0xdb, 0xa6, 0x05, 0xdb, 0xa3, 0xfc, 0x3a, 0x6d, 0xe1, 0x19, 0x87, 0xc7, 0x48, 0x7d, 0x7b, 0x57, 0xba, 0x90, 0x5f, - 0x1c, 0x48, 0x5a, 0x41, 0x8a, 0x9d, 0x4e, 0xd0, 0xd9, 0x31, 0x0e, 0x46, 0x0e, 0xf4, 0xfc, 0xea, 0x8b, 0x85, 0xb5, - 0xff, 0xfd, 0xa6, 0x2c, 0x68, 0xe2, 0xe9, 0x94, 0x13, 0xca, 0xfc, 0xf9, 0xf9, 0x86, 0x27, 0x15, 0x2a, 0xb8, 0x57, - 0xbc, 0x60, 0x4f, 0xdb, 0x40, 0x9f, 0x33, 0xfa, 0xd9, 0xfe, 0xb0, 0x31, 0x7c, 0x4a, 0x2d, 0x5b, 0x56, 0x48, 0xa5, - 0x1e, 0xda, 0x34, 0x7b, 0xf4, 0xc0, 0x11, 0xf9, 0x12, 0xba, 0x00, 0x5e, 0x7f, 0x54, 0xc8, 0xb9, 0x41, 0x04, 0xf7, - 0xdb, 0x8d, 0xdb, 0xf8, 0x0a, 0x80, 0xb7, 0xc3, 0x5e, 0xf5, 0x4f, 0x0b, 0xd8, 0xdf, 0xa8, 0x2c, 0xe9, 0xc7, 0xdb, - 0xb1, 0xc7, 0x7f, 0x21, 0x21, 0x6a, 0xbc, 0xc5, 0xc3, 0xc4, 0xa1, 0x53, 0xc9, 0x9a, 0x95, 0x3f, 0xb7, 0x4a, 0x02, - 0x86, 0xd5, 0x0b, 0x86, 0x6c, 0xdc, 0x56, 0x71, 0x9b, 0xf9, 0x1f, 0x54, 0x30, 0x58, 0xf0, 0xad, 0x91, 0x54, 0x2c, - 0x8b, 0xdf, 0x3e, 0x75, 0xfe, 0xab, 0xce, 0x71, 0xed, 0xeb, 0xda, 0x4b, 0xa1, 0x43, 0x13, 0xa5, 0x39, 0x42, 0x07, - 0x07, 0x1b, 0x19, 0x74, 0x0c, 0x80, 0x47, 0x8e, 0xfd, 0xf2, 0xcb, 0xe7, 0xd9, 0x31, 0xa3, 0x79, 0x2c, 0xa2, 0x90, - 0xb9, 0xf3, 0xdc, 0x9c, 0x9d, 0xc8, 0x13, 0xaa, 0xa6, 0xbe, 0x30, 0xc0, 0xf1, 0xd1, 0x56, 0x2a, 0xe0, 0x7b, 0xb4, - 0xde, 0x31, 0x81, 0x0d, 0x7e, 0xcb, 0x4e, 0x6a, 0x57, 0x41, 0xbf, 0x40, 0xcb, 0x5d, 0x4c, 0xe5, 0xc6, 0x02, 0x47, - 0x9b, 0x13, 0xd9, 0x39, 0xf4, 0x8d, 0x3a, 0x25, 0xeb, 0xf1, 0x64, 0xb7, 0xd1, 0x97, 0x14, 0xbb, 0x92, 0x2b, 0xda, - 0x36, 0x64, 0xd5, 0x6b, 0xc1, 0xba, 0x32, 0x75, 0xaa, 0xae, 0x79, 0x2b, 0x4b, 0x9b, 0xd2, 0x2e, 0xc9, 0xde, 0x6d, - 0xb1, 0xf0, 0x2a, 0xbc, 0xd1, 0x28, 0x2f, 0x42, 0xc1, 0x1e, 0x4b, 0x0c, 0xba, 0x9c, 0xc0, 0xf5, 0xc2, 0x6a, 0x15, - 0xc3, 0x9f, 0x5d, 0x63, 0xd8, 0x65, 0xba, 0xf4, 0x81, 0x6f, 0xf0, 0x2b, 0x41, 0xc0, 0x62, 0x67, 0x07, 0x09, 0xd6, - 0x5d, 0x6e, 0xd0, 0x70, 0x9c, 0xf8, 0x2f, 0x78, 0x2e, 0x5b, 0x7b, 0x97, 0x83, 0x49, 0xf6, 0x8d, 0x27, 0xf6, 0x4a, - 0xd6, 0xb2, 0x16, 0xed, 0x7e, 0x43, 0x82, 0x21, 0x76, 0x53, 0x3a, 0xc7, 0xad, 0xa4, 0x8d, 0x22, 0x57, 0xac, 0x42, - 0xff, 0x6f, 0x15, 0xc9, 0x6c, 0xe6, 0x7f, 0x9d, 0x9d, 0x9d, 0xb9, 0x14, 0x67, 0xf3, 0xa7, 0x8c, 0x07, 0x9c, 0x49, - 0x60, 0x5f, 0x79, 0xc6, 0x8c, 0x0e, 0xf9, 0x2d, 0x0c, 0x85, 0x08, 0x72, 0x29, 0x1c, 0xbb, 0x04, 0xaf, 0x3d, 0x02, - 0xe5, 0x01, 0xf6, 0xef, 0xc9, 0x46, 0x39, 0xff, 0x5c, 0x94, 0x0f, 0xa7, 0x5c, 0x36, 0xc8, 0xbe, 0x9a, 0xcf, 0xbe, - 0x35, 0x93, 0x81, 0x17, 0x12, 0x22, 0x6c, 0x7f, 0x1b, 0x96, 0xd6, 0x59, 0xca, 0xe0, 0x48, 0xcb, 0x45, 0x36, 0xb5, - 0x9a, 0x7f, 0xf7, 0x61, 0xca, 0xba, 0xa7, 0x86, 0x20, 0x72, 0x17, 0x59, 0xba, 0xa8, 0xa0, 0xd1, 0x8f, 0x65, 0x00, - 0xd0, 0xbd, 0x57, 0x6c, 0xc1, 0x7e, 0xc4, 0x7b, 0x55, 0x0a, 0x7c, 0x3c, 0x2c, 0x38, 0xcd, 0x7f, 0xc4, 0x7b, 0x55, - 0x20, 0x50, 0x70, 0x85, 0x34, 0xb1, 0x34, 0xb1, 0x79, 0x56, 0x3b, 0x8d, 0x04, 0x50, 0xd0, 0x3c, 0x32, 0x07, 0xd9, - 0x73, 0x17, 0xa3, 0x31, 0xe9, 0x60, 0x17, 0x1c, 0xcc, 0x46, 0x84, 0xb5, 0x81, 0xd4, 0x21, 0x6e, 0x5d, 0x39, 0x1b, - 0xf3, 0xf5, 0x68, 0x63, 0x41, 0x8c, 0x32, 0x99, 0x5c, 0x3e, 0xe7, 0xf1, 0xd6, 0x62, 0xa1, 0xb0, 0x5a, 0xb0, 0x40, - 0xb5, 0x2a, 0x55, 0x7a, 0x58, 0x7c, 0xbb, 0x60, 0x16, 0x14, 0x31, 0x5b, 0xef, 0xe1, 0x2d, 0x57, 0x04, 0xa4, 0x64, - 0x97, 0x04, 0x2f, 0xa3, 0x1b, 0x4c, 0x25, 0xcb, 0x99, 0x1c, 0x31, 0x4b, 0xe8, 0x99, 0xd2, 0x11, 0x36, 0x79, 0x0a, - 0x22, 0x89, 0xed, 0xb7, 0xb0, 0x63, 0x8d, 0x5e, 0x08, 0x2f, 0xa4, 0xc0, 0xb9, 0x6a, 0x9a, 0x98, 0x51, 0x6e, 0xa2, - 0x8b, 0x3d, 0x54, 0x73, 0x96, 0x69, 0x8b, 0x00, 0xfb, 0x0e, 0x0d, 0xa5, 0x78, 0x6e, 0x40, 0x61, 0x9e, 0xf4, 0x76, - 0x29, 0x8f, 0x61, 0xf1, 0x82, 0x14, 0x20, 0x6a, 0x5c, 0x4c, 0xca, 0x3a, 0xf3, 0x7c, 0x31, 0xe1, 0xa2, 0x42, 0x86, - 0x82, 0xa9, 0xb9, 0x14, 0xf0, 0xa2, 0x46, 0x59, 0xc4, 0xd0, 0xa1, 0x1a, 0xbe, 0x5b, 0x12, 0x56, 0xd6, 0x31, 0xc7, - 0x14, 0x17, 0x55, 0x0d, 0x60, 0x2e, 0x1e, 0x1a, 0x01, 0xd1, 0x87, 0x97, 0x7d, 0x2d, 0xde, 0xc9, 0x79, 0x95, 0xef, - 0x69, 0x9c, 0x0f, 0x5c, 0xef, 0xec, 0x86, 0xd1, 0xda, 0x3c, 0x7a, 0x15, 0x6c, 0xdf, 0x0f, 0xbc, 0x7a, 0x08, 0x6e, - 0x6d, 0x9e, 0xcd, 0x2a, 0xb3, 0x86, 0xac, 0x7c, 0x23, 0xa2, 0x6a, 0xaf, 0x5e, 0x55, 0x0a, 0x5b, 0x11, 0xa0, 0x52, - 0xf0, 0xd1, 0x56, 0xfe, 0x13, 0x6d, 0xf3, 0xed, 0x39, 0x54, 0x86, 0x07, 0xf2, 0x64, 0xa8, 0xea, 0x01, 0x17, 0xe5, - 0x87, 0x00, 0x16, 0x3f, 0x32, 0xf1, 0x83, 0x77, 0x5d, 0x20, 0x73, 0xa6, 0x62, 0x89, 0x97, 0x7d, 0x3a, 0x48, 0xad, - 0x3c, 0x94, 0x4a, 0xb0, 0xed, 0xb9, 0x29, 0xb8, 0xf6, 0x81, 0x8a, 0x71, 0x9f, 0x0d, 0xd2, 0x65, 0x3d, 0x98, 0xb1, - 0x0d, 0xa7, 0xec, 0xcd, 0x39, 0x4d, 0xf4, 0x5f, 0x3a, 0xc0, 0x39, 0x01, 0xdb, 0x63, 0xcf, 0x9e, 0xbe, 0x89, 0x33, - 0xd4, 0xab, 0x73, 0xf8, 0xcb, 0x35, 0xce, 0x71, 0x86, 0xd2, 0x87, 0x31, 0x5c, 0x60, 0xad, 0x31, 0x80, 0x2f, 0xb3, - 0xa4, 0x0a, 0x3c, 0x52, 0x33, 0x23, 0xb1, 0xba, 0x8b, 0x40, 0xb4, 0xd4, 0xe1, 0xed, 0x38, 0xf3, 0xe1, 0xc0, 0x0d, - 0xf7, 0xfa, 0xcc, 0x08, 0x87, 0x93, 0x2c, 0xae, 0x9d, 0x33, 0x9c, 0x5c, 0xee, 0xf3, 0xda, 0x89, 0x09, 0xd6, 0xde, - 0xe1, 0xa9, 0x02, 0x7a, 0x34, 0x38, 0x55, 0x2c, 0x0d, 0x81, 0x98, 0x09, 0xe0, 0xcd, 0x1c, 0x1e, 0x6d, 0x01, 0xce, - 0x47, 0x6b, 0x1c, 0x7c, 0xa5, 0xb5, 0xae, 0x36, 0x95, 0x28, 0xeb, 0x35, 0xee, 0x4f, 0x33, 0x3c, 0xca, 0xf0, 0x3c, - 0x1b, 0x04, 0xc7, 0xcd, 0x2c, 0x0b, 0x4d, 0xba, 0x56, 0xab, 0xa7, 0xce, 0x8c, 0x10, 0xd9, 0x9f, 0x96, 0xfe, 0xa0, - 0x1e, 0x20, 0x7c, 0x0a, 0x59, 0x40, 0x4b, 0x7a, 0xee, 0x6f, 0xc3, 0xbe, 0x16, 0x8e, 0x1a, 0x31, 0x4f, 0x2c, 0x19, - 0xe9, 0xf9, 0x1f, 0x65, 0x96, 0x6d, 0xad, 0x11, 0xcd, 0x6f, 0xf7, 0xa2, 0x86, 0x6f, 0x2f, 0xd0, 0xb2, 0x95, 0x66, - 0x3b, 0x80, 0x28, 0xd6, 0x38, 0x49, 0x07, 0x6b, 0x24, 0x57, 0xab, 0xd8, 0xa6, 0x10, 0x9e, 0xcc, 0x18, 0x55, 0x8b, - 0xc2, 0x3c, 0xa0, 0x17, 0x2b, 0x94, 0x18, 0x7e, 0x17, 0x3b, 0x1b, 0x51, 0x78, 0xaf, 0x4e, 0x82, 0xe1, 0x46, 0x2c, - 0x88, 0xac, 0x89, 0xdc, 0xc3, 0xac, 0xb2, 0x0c, 0x12, 0x44, 0x18, 0x91, 0xdf, 0x5e, 0x97, 0x0a, 0xfb, 0x44, 0x9f, - 0xfd, 0x63, 0x7c, 0x01, 0xe1, 0xe6, 0x6d, 0x42, 0x8b, 0x21, 0x9d, 0x00, 0x1b, 0x0b, 0x71, 0x08, 0xb7, 0x12, 0x56, - 0xab, 0xfe, 0xa0, 0x2b, 0x0c, 0x79, 0x76, 0x0f, 0x08, 0x96, 0x0d, 0xed, 0x6e, 0x00, 0xae, 0xba, 0x2d, 0x35, 0xd7, - 0x46, 0xf7, 0x43, 0xcd, 0x1b, 0x67, 0xdc, 0x25, 0xb9, 0x67, 0x4a, 0xaa, 0x97, 0xc8, 0x6b, 0x16, 0xe0, 0x26, 0x74, - 0x15, 0x1e, 0xe1, 0x85, 0xb5, 0xe1, 0x34, 0x0f, 0x5a, 0x51, 0xf3, 0x8e, 0x15, 0x3c, 0x9f, 0x4d, 0x58, 0x3f, 0x1b, - 0xe0, 0x91, 0x0f, 0x77, 0xbe, 0xff, 0x36, 0x1e, 0x21, 0x54, 0x10, 0x03, 0x53, 0xeb, 0xb2, 0x3d, 0xaa, 0xec, 0xf6, - 0x4d, 0xa6, 0x61, 0x18, 0x8c, 0x11, 0xf3, 0x28, 0x34, 0x62, 0xce, 0x1b, 0x0d, 0xb4, 0x20, 0x23, 0x30, 0x62, 0x5e, - 0x04, 0xad, 0x2d, 0xec, 0x63, 0xa7, 0x41, 0x7b, 0x0b, 0x84, 0xba, 0x1c, 0x68, 0x9a, 0x86, 0x67, 0x4d, 0xaa, 0x67, - 0xe5, 0xfd, 0x23, 0x5b, 0x47, 0x1d, 0x50, 0x24, 0x8c, 0x2f, 0xfd, 0x24, 0xac, 0x6b, 0xb8, 0x1d, 0xf7, 0xd8, 0x8c, - 0xdb, 0xd9, 0x36, 0xa8, 0xbe, 0xec, 0x67, 0x83, 0x41, 0x57, 0x7a, 0x2b, 0x89, 0x16, 0x1e, 0x57, 0x0f, 0xa1, 0x54, - 0x8b, 0xf7, 0x55, 0x6f, 0x5e, 0x79, 0x73, 0xff, 0xbe, 0xea, 0xe6, 0x79, 0x0c, 0x1c, 0xd0, 0x3e, 0xdc, 0x0f, 0x55, - 0xf1, 0xc1, 0x8e, 0x3a, 0x10, 0x05, 0x2d, 0x6d, 0xd5, 0x04, 0x52, 0x6b, 0x66, 0x17, 0xeb, 0xa6, 0x42, 0x87, 0x02, - 0xc2, 0x90, 0xa9, 0xaa, 0xbb, 0x3b, 0x15, 0xa8, 0x86, 0x38, 0x9c, 0xfa, 0x8f, 0xad, 0x11, 0x6b, 0x1c, 0x75, 0x46, - 0x91, 0x31, 0x92, 0xb4, 0xcb, 0x07, 0x6f, 0x1f, 0x81, 0x95, 0x80, 0x8f, 0x41, 0x6d, 0x92, 0x8c, 0x21, 0xc1, 0x5b, - 0x96, 0x69, 0xc3, 0x87, 0x70, 0x87, 0xa0, 0x3c, 0xb1, 0x41, 0x69, 0x5d, 0x25, 0x0b, 0xb9, 0xaa, 0xcb, 0xeb, 0x00, - 0x3d, 0xef, 0xca, 0xdf, 0xd8, 0x70, 0x64, 0xc1, 0xc0, 0xb2, 0xad, 0x7d, 0x02, 0x1e, 0xf9, 0xb8, 0x42, 0x10, 0xbf, - 0x14, 0x3a, 0x31, 0xf1, 0xba, 0xaf, 0x60, 0x83, 0xe2, 0x39, 0x38, 0x08, 0x3a, 0x09, 0x0e, 0x83, 0x77, 0x99, 0xd5, - 0x24, 0x1b, 0xdc, 0x9a, 0x91, 0x78, 0xbe, 0x5a, 0xb5, 0xd0, 0xe1, 0xdf, 0xe6, 0x49, 0xea, 0x71, 0xa9, 0x70, 0x1f, - 0x57, 0x0a, 0x77, 0xb0, 0x04, 0x24, 0xe3, 0x40, 0xd7, 0x8e, 0x65, 0xa8, 0x46, 0x87, 0x68, 0xe9, 0x2f, 0x20, 0x76, - 0xb6, 0x3b, 0x96, 0x40, 0xcf, 0xbe, 0x55, 0xc0, 0xea, 0xda, 0xcb, 0x12, 0xc8, 0x08, 0xee, 0x7e, 0x13, 0x18, 0x15, - 0xa2, 0xf1, 0xf9, 0x33, 0xaf, 0x5a, 0xf0, 0xc4, 0xf9, 0x73, 0xcd, 0x0c, 0xeb, 0x5e, 0xd0, 0x1b, 0xd3, 0x7c, 0x3c, - 0xc6, 0xcd, 0xb1, 0x05, 0xe7, 0x51, 0x07, 0x7e, 0x5a, 0x88, 0x1e, 0x75, 0xb0, 0x4b, 0xc5, 0xe3, 0x12, 0xc8, 0x21, - 0x7a, 0x3a, 0x03, 0x29, 0x60, 0xa5, 0x63, 0xab, 0x45, 0x9a, 0xa0, 0xd5, 0x6a, 0x72, 0x41, 0x5a, 0x08, 0x2d, 0xd5, - 0x0d, 0xd7, 0xd9, 0x14, 0x7c, 0xa4, 0x41, 0x31, 0xf0, 0x86, 0xea, 0x69, 0x8c, 0xf0, 0x18, 0x2d, 0x47, 0x6c, 0x4c, - 0x17, 0xb9, 0x4e, 0x55, 0x8f, 0x27, 0x36, 0x70, 0x2f, 0xb3, 0x91, 0xe0, 0x8e, 0x3a, 0x78, 0x62, 0xf8, 0xcb, 0xf7, - 0xc6, 0x1c, 0xa4, 0xc8, 0x4c, 0xf2, 0xc4, 0x24, 0x60, 0x9e, 0x64, 0xb9, 0x54, 0xcc, 0x36, 0xd3, 0xb5, 0xb6, 0xe5, - 0x10, 0x92, 0x3c, 0xd2, 0x05, 0x37, 0x56, 0x94, 0x51, 0x3a, 0x25, 0xaa, 0xa7, 0x8e, 0x3a, 0xe9, 0x04, 0xf3, 0x04, - 0x38, 0xbd, 0x77, 0x32, 0x66, 0x8d, 0xf2, 0x56, 0x74, 0x86, 0x0e, 0xa7, 0x58, 0x54, 0x97, 0xa8, 0x33, 0x74, 0x38, - 0x41, 0x78, 0xd6, 0x20, 0xb9, 0x02, 0x8f, 0x61, 0x2e, 0xfe, 0x8f, 0x94, 0xff, 0xe6, 0xb0, 0x21, 0xc4, 0xf4, 0x5b, - 0xd8, 0x29, 0x6c, 0x14, 0xa5, 0x39, 0x01, 0xaf, 0xc5, 0xf6, 0x19, 0xce, 0xc8, 0xa4, 0x99, 0xfb, 0x80, 0x7b, 0xa6, - 0x95, 0xc6, 0xad, 0x46, 0x87, 0x19, 0x1e, 0x6d, 0x26, 0xc5, 0x66, 0xae, 0xcd, 0x3c, 0xcd, 0xe0, 0x7c, 0xaf, 0x46, - 0xe1, 0xca, 0x2f, 0x36, 0x93, 0xc2, 0xf2, 0x0e, 0xb8, 0xcd, 0x11, 0x16, 0x4d, 0x8a, 0x73, 0x3c, 0x6b, 0xbe, 0xc2, - 0xb3, 0xe6, 0x87, 0x32, 0xa3, 0xb1, 0xc0, 0x02, 0x82, 0xf7, 0x41, 0x22, 0x9e, 0x55, 0xc9, 0x23, 0x2c, 0x1a, 0xa6, - 0x3c, 0x9e, 0x35, 0xaa, 0xd2, 0xcd, 0x05, 0x16, 0x0d, 0x53, 0xba, 0xf1, 0x01, 0xcf, 0x1a, 0xaf, 0xfe, 0xc5, 0xa4, - 0xa3, 0x14, 0xd0, 0x65, 0x8e, 0x96, 0x99, 0x1d, 0xe2, 0xd5, 0x6f, 0x6f, 0xdf, 0xb5, 0xaf, 0x3b, 0x87, 0x13, 0xec, - 0xd7, 0x2f, 0x33, 0x38, 0x96, 0xe9, 0x98, 0x35, 0x01, 0xa2, 0x19, 0xee, 0x1c, 0x4e, 0x71, 0xe7, 0x30, 0x73, 0x4d, - 0xad, 0x67, 0x0d, 0x72, 0xab, 0x43, 0x28, 0xea, 0x28, 0x0d, 0xe1, 0xe3, 0x27, 0x9b, 0x4e, 0x50, 0x0d, 0x94, 0xe8, - 0x70, 0x52, 0x03, 0x15, 0x7c, 0x2f, 0x6a, 0xdf, 0x55, 0xbd, 0x0a, 0x83, 0x2c, 0x94, 0x50, 0xb8, 0xe6, 0x06, 0x3c, - 0xb5, 0x14, 0x03, 0x99, 0x30, 0xc5, 0x02, 0xe5, 0x3b, 0xa0, 0x30, 0xca, 0x13, 0x33, 0xf4, 0x60, 0x3a, 0x26, 0xf1, - 0xff, 0xe7, 0xc9, 0x94, 0x43, 0x2f, 0xb7, 0xcc, 0xd6, 0xf4, 0xdc, 0x64, 0xc2, 0xe1, 0x03, 0x8f, 0xf5, 0x7f, 0xed, - 0x40, 0xb1, 0x01, 0x29, 0xfe, 0xbf, 0x74, 0x74, 0x21, 0x18, 0x21, 0x2b, 0x4a, 0x0b, 0x87, 0xf8, 0xdf, 0x1f, 0x56, - 0xd0, 0x7d, 0xb1, 0xd5, 0x7d, 0x61, 0xba, 0x0f, 0x9b, 0x36, 0xaa, 0x9c, 0xb4, 0xaa, 0x64, 0xc9, 0x7f, 0x9d, 0x6e, - 0x6d, 0x81, 0x46, 0xd4, 0xe8, 0xd9, 0x24, 0x6c, 0x70, 0xbf, 0x9d, 0xee, 0x40, 0xe6, 0x35, 0xb7, 0x2f, 0xa4, 0xc2, - 0xe1, 0x1b, 0xdc, 0xa9, 0x5e, 0xb6, 0xc0, 0x7b, 0x53, 0x19, 0x7d, 0x65, 0x1c, 0x5a, 0x0e, 0xd2, 0x4d, 0x53, 0x6e, - 0x63, 0x2c, 0x9d, 0x9c, 0x62, 0xe3, 0x8a, 0x08, 0x95, 0x6e, 0x2f, 0x41, 0x29, 0x3e, 0xd6, 0x4d, 0x66, 0xbe, 0x2e, - 0x74, 0x62, 0x2e, 0xa1, 0x1a, 0xe6, 0xf3, 0xee, 0x52, 0x27, 0x5a, 0xce, 0x6d, 0xde, 0xdd, 0x05, 0xf4, 0x09, 0x1a, - 0xd6, 0x46, 0x60, 0xb7, 0xcf, 0x0a, 0xa7, 0xdf, 0xa9, 0x0e, 0xc1, 0xf0, 0x00, 0x72, 0xa4, 0xc5, 0xf6, 0x81, 0x4d, - 0x6b, 0xd8, 0x75, 0xd1, 0x2c, 0x13, 0x6d, 0xab, 0x4d, 0x93, 0x6b, 0xf7, 0x30, 0x9f, 0x87, 0x3c, 0x05, 0x2f, 0xac, - 0x7e, 0x7c, 0x07, 0xbb, 0x71, 0x5b, 0x63, 0x24, 0xea, 0x4a, 0xa6, 0x12, 0xfa, 0xc9, 0x2d, 0x66, 0xc9, 0x9d, 0xf1, - 0x62, 0x54, 0xc6, 0xdf, 0xc7, 0xc4, 0xe5, 0x8f, 0x2a, 0x49, 0x0e, 0x2c, 0xfb, 0x1b, 0x2c, 0xb9, 0x05, 0xf3, 0xc4, - 0xb2, 0x9a, 0xc4, 0x3a, 0xb9, 0x0b, 0x16, 0x51, 0x9a, 0x46, 0xd6, 0x86, 0x01, 0x35, 0xcd, 0x58, 0xf5, 0xe0, 0x3e, - 0x04, 0x7a, 0xe8, 0x95, 0xa5, 0xb4, 0xeb, 0x2c, 0xad, 0x75, 0xaf, 0x4d, 0xf7, 0x9b, 0x03, 0x0a, 0xf8, 0xc2, 0x80, - 0x6b, 0xfa, 0x57, 0x93, 0x48, 0x86, 0xec, 0x1f, 0xce, 0x8a, 0xc7, 0x8b, 0xc2, 0x60, 0x9a, 0xe8, 0xe9, 0x24, 0x9b, - 0xb7, 0xc1, 0x54, 0x2f, 0x9b, 0x77, 0x6e, 0xb1, 0xfb, 0xbe, 0xb3, 0xdf, 0x77, 0x58, 0xf4, 0x98, 0xc9, 0x48, 0x99, - 0x29, 0xe6, 0xbf, 0xef, 0xec, 0xf7, 0x1d, 0xde, 0x1e, 0xcc, 0x8d, 0xbf, 0x50, 0x2c, 0xd9, 0x19, 0x2e, 0xc1, 0x84, - 0x3c, 0xe0, 0x6e, 0x6a, 0x59, 0x26, 0x08, 0x6c, 0x2d, 0x01, 0xe2, 0x7c, 0x3e, 0x8d, 0x2b, 0x5e, 0x0d, 0x01, 0xf7, - 0xe9, 0x5d, 0xdb, 0xab, 0x54, 0xe0, 0x31, 0x41, 0x23, 0x62, 0x62, 0xdb, 0x98, 0xd7, 0xcd, 0x80, 0xcb, 0x23, 0xba, - 0xd4, 0x93, 0x24, 0xc0, 0xab, 0x1a, 0x95, 0xb7, 0x29, 0x52, 0x7e, 0x91, 0x20, 0xc7, 0x17, 0x7b, 0x44, 0x15, 0x03, - 0x58, 0x95, 0x25, 0x7d, 0x02, 0xa9, 0xe7, 0x07, 0x13, 0xfd, 0xb2, 0x89, 0x3c, 0xf6, 0x9d, 0xdf, 0x2f, 0x4c, 0x4f, - 0x0b, 0xb9, 0x98, 0x4c, 0xc1, 0x87, 0x16, 0x58, 0x86, 0xc2, 0xd4, 0xab, 0x6c, 0xfd, 0x6b, 0x92, 0x9b, 0x00, 0x0a, - 0xa7, 0x9b, 0x32, 0xa1, 0x99, 0x5e, 0xd0, 0xdc, 0x58, 0x92, 0x72, 0x31, 0x79, 0x24, 0x6f, 0x5f, 0x02, 0x76, 0x53, - 0xa2, 0x1b, 0x3b, 0xf2, 0xde, 0xc2, 0x0e, 0xc0, 0x19, 0x61, 0xbb, 0x2a, 0x3e, 0x54, 0xa0, 0xf3, 0xc7, 0x39, 0x61, - 0xbb, 0xaa, 0x3e, 0x61, 0x36, 0x7b, 0x4a, 0x36, 0x86, 0xdb, 0x8b, 0xb3, 0x46, 0x8e, 0x8e, 0x3a, 0x69, 0xde, 0xf5, - 0xc4, 0xc0, 0x02, 0x34, 0x00, 0xee, 0xd6, 0xf6, 0x2c, 0xef, 0x6e, 0x08, 0xe8, 0x5d, 0x32, 0x69, 0xaf, 0xcb, 0x4d, - 0xca, 0x6a, 0xd5, 0xa9, 0xa8, 0x60, 0x81, 0xa7, 0xc1, 0x5e, 0xa0, 0xf6, 0x6b, 0x07, 0xc5, 0xb9, 0xca, 0x36, 0x4d, - 0xcf, 0xcb, 0xbe, 0xbb, 0x3b, 0x16, 0x19, 0xdb, 0xb4, 0xb7, 0x3b, 0x88, 0x84, 0xe5, 0x84, 0x75, 0xc0, 0x09, 0x57, - 0xb5, 0x03, 0x02, 0x74, 0x1d, 0x88, 0xdc, 0x58, 0x92, 0xe5, 0xba, 0x32, 0xba, 0x0f, 0xfc, 0x6e, 0x29, 0x91, 0x6e, - 0xb4, 0x25, 0xc1, 0xf4, 0x09, 0x46, 0x4d, 0x67, 0x9e, 0xa6, 0xae, 0xbd, 0xba, 0xbc, 0x29, 0xda, 0xfa, 0x37, 0xa0, - 0xb1, 0xd9, 0x1e, 0x26, 0x86, 0x32, 0x88, 0x81, 0xde, 0x47, 0xbc, 0xdb, 0x68, 0x64, 0x08, 0x14, 0x32, 0xd9, 0x00, - 0xcb, 0xc4, 0x6b, 0xd1, 0x0f, 0x0e, 0x0c, 0x3c, 0xaa, 0x04, 0x84, 0x29, 0x08, 0x21, 0x61, 0xd7, 0x06, 0x61, 0xc3, - 0xe5, 0xaa, 0xe5, 0xc2, 0x46, 0xaa, 0x0d, 0x1d, 0xfc, 0xbf, 0xc2, 0x65, 0xab, 0x67, 0x96, 0x8b, 0x62, 0x70, 0x33, - 0x37, 0x60, 0x91, 0x20, 0x3d, 0xda, 0x6c, 0x0f, 0xc5, 0xdd, 0xb9, 0xd8, 0x6c, 0x08, 0x48, 0xcc, 0x61, 0x82, 0xa2, - 0xe1, 0xdc, 0x18, 0x63, 0x95, 0x54, 0x5a, 0xd6, 0x9a, 0xc4, 0x1c, 0xf8, 0xd2, 0x85, 0xeb, 0xbe, 0xbc, 0x4d, 0x19, - 0xbe, 0x4b, 0x05, 0xbe, 0x01, 0x4f, 0x9a, 0x54, 0x62, 0xf7, 0x78, 0x41, 0xb1, 0x26, 0xba, 0xeb, 0xd9, 0xdb, 0x02, - 0xd6, 0xd9, 0xec, 0x11, 0x11, 0xfc, 0xae, 0x7e, 0xb5, 0xc1, 0x77, 0x0b, 0xbf, 0x02, 0xeb, 0xe7, 0xe0, 0x24, 0xc5, - 0xa2, 0x21, 0x9b, 0x85, 0x3b, 0x32, 0xa0, 0x5c, 0xc5, 0x2f, 0x87, 0xa9, 0x5b, 0xc5, 0x70, 0xed, 0xe3, 0x15, 0xfe, - 0xb0, 0xd1, 0x6e, 0x43, 0x95, 0xc5, 0xed, 0xde, 0x14, 0x0d, 0x59, 0x35, 0xbd, 0x23, 0x73, 0x23, 0xa5, 0xfe, 0xf5, - 0x01, 0xb7, 0xb6, 0xda, 0xf7, 0xd3, 0x7c, 0xeb, 0xd1, 0xb9, 0x6a, 0xda, 0xa7, 0xd6, 0x8a, 0xe0, 0xe0, 0x67, 0x0b, - 0x37, 0xb7, 0x06, 0x1c, 0xc0, 0xcf, 0xdf, 0xd1, 0x3c, 0xce, 0x20, 0x3a, 0xbd, 0xd5, 0x8c, 0xaf, 0xe2, 0xbf, 0x46, - 0x8d, 0xb8, 0x97, 0xfe, 0x95, 0xfc, 0x35, 0x6a, 0xa0, 0x1e, 0x8a, 0xe7, 0xb7, 0x2b, 0x36, 0x5b, 0x41, 0xb0, 0xb5, - 0x7b, 0x47, 0xf8, 0x75, 0x58, 0x92, 0x6b, 0x9a, 0xf3, 0x6c, 0xe5, 0x1e, 0x04, 0x5c, 0xb9, 0x57, 0x89, 0x56, 0xe6, - 0x8d, 0xab, 0x55, 0x2c, 0x87, 0x39, 0x04, 0x16, 0x8e, 0xf7, 0x9a, 0xbd, 0x7e, 0xab, 0xf9, 0x60, 0x60, 0xff, 0x35, - 0x11, 0xee, 0x51, 0x2d, 0x62, 0xdb, 0x9b, 0x8d, 0xad, 0x1f, 0x83, 0x61, 0x07, 0x84, 0x02, 0x07, 0xb9, 0xf4, 0x71, - 0x86, 0xac, 0xef, 0xc9, 0x6a, 0xc5, 0x5c, 0x34, 0x6b, 0xa7, 0xc1, 0x2f, 0x63, 0x33, 0x1d, 0xb6, 0x93, 0x4e, 0xd7, - 0x8b, 0xb1, 0xa4, 0x01, 0x91, 0xa6, 0x31, 0x83, 0x40, 0x52, 0x4b, 0xc3, 0x61, 0xcd, 0x6f, 0xa3, 0xb4, 0xba, 0x3f, - 0x82, 0x94, 0x1f, 0xa2, 0x94, 0x1f, 0x11, 0x08, 0xa0, 0x6d, 0x99, 0xa3, 0xb2, 0x21, 0xef, 0xbb, 0x74, 0xcf, 0x38, - 0x33, 0x34, 0xf8, 0x6a, 0xd5, 0xaa, 0x86, 0x29, 0x8a, 0xfa, 0x30, 0x97, 0x6b, 0x2c, 0xc8, 0x1b, 0xd0, 0x35, 0x2b, - 0x22, 0x7a, 0xa1, 0xab, 0x3c, 0xbc, 0x87, 0x8c, 0x25, 0x01, 0x27, 0xfd, 0x9e, 0xe8, 0x15, 0xe4, 0xf2, 0x61, 0x0c, - 0x3e, 0x66, 0x98, 0xf7, 0x75, 0xbf, 0x18, 0x0c, 0x50, 0xea, 0x9c, 0xce, 0x52, 0x13, 0x71, 0x25, 0xf0, 0x4b, 0x2e, - 0xc0, 0x2f, 0x59, 0x21, 0xd6, 0x2f, 0x06, 0xe4, 0x5e, 0x16, 0x4b, 0x70, 0xca, 0xdf, 0xe1, 0xf3, 0xf8, 0x30, 0x34, - 0x30, 0x35, 0xc3, 0x32, 0x17, 0xd9, 0x60, 0x31, 0x67, 0x2d, 0x81, 0xe0, 0x66, 0xc0, 0x5d, 0x6a, 0x43, 0xa2, 0xb1, - 0x06, 0x8a, 0x6e, 0xa3, 0xd0, 0xcc, 0xe8, 0xe9, 0x56, 0x1b, 0xfd, 0xc8, 0xe1, 0x85, 0xb9, 0x86, 0xb1, 0x08, 0x64, - 0x2e, 0x57, 0x3d, 0xf6, 0x97, 0x1f, 0x36, 0x2b, 0x0c, 0x5e, 0x91, 0xe9, 0xd0, 0x1d, 0xc7, 0x8c, 0xaf, 0xf2, 0xc4, - 0x31, 0x04, 0x99, 0x58, 0x2a, 0xdd, 0x70, 0x4c, 0x5c, 0x49, 0x9f, 0x89, 0x21, 0xdb, 0x0d, 0xcf, 0xcc, 0x85, 0x6e, - 0xb6, 0x7f, 0x38, 0xb7, 0x73, 0x4e, 0xb8, 0xd1, 0x4a, 0x1a, 0x6d, 0xd4, 0x33, 0x43, 0x55, 0x5d, 0x30, 0xbf, 0x87, - 0x4e, 0x4b, 0x8b, 0x9d, 0xab, 0x77, 0x37, 0x7c, 0x9d, 0xaf, 0x8c, 0xbf, 0xc5, 0xaa, 0xd0, 0x8a, 0x0c, 0xb7, 0x5b, - 0xc8, 0x9b, 0x33, 0x3d, 0xf4, 0x8a, 0x5c, 0xa8, 0x0e, 0x7f, 0x51, 0x57, 0x98, 0x07, 0x3b, 0xa3, 0x86, 0xf0, 0xe8, - 0xf7, 0x3a, 0x03, 0xe5, 0x1f, 0x4c, 0x4c, 0xe6, 0x2c, 0xb9, 0xa1, 0x85, 0x88, 0x7f, 0x7c, 0x21, 0x4c, 0xac, 0xaa, - 0x3d, 0x18, 0xc8, 0x9e, 0xa9, 0xb8, 0x07, 0xb7, 0x26, 0x7c, 0xcc, 0xd9, 0x28, 0xdd, 0x8b, 0x7e, 0x6c, 0x88, 0xc6, - 0x8f, 0xd1, 0x8f, 0xe0, 0xee, 0xec, 0x5e, 0x87, 0x2c, 0xe3, 0x42, 0xf8, 0x7b, 0xac, 0x87, 0xa5, 0x4a, 0x19, 0x6b, - 0xaf, 0x5b, 0x0e, 0x2f, 0xa4, 0xde, 0x64, 0xf1, 0x43, 0x47, 0xac, 0x6d, 0x0a, 0xd6, 0x21, 0x25, 0x85, 0x67, 0x57, - 0xcc, 0xad, 0x16, 0x73, 0x97, 0x5a, 0xc2, 0x5f, 0x5f, 0x3d, 0x2c, 0x55, 0xd0, 0x70, 0x10, 0xba, 0xd2, 0x16, 0x12, - 0x60, 0xe0, 0x52, 0xfa, 0x74, 0xba, 0x33, 0x89, 0xcc, 0xb2, 0x18, 0xde, 0x3d, 0xa8, 0x60, 0xfe, 0x3b, 0xdb, 0x08, - 0xab, 0x02, 0x97, 0x2b, 0x55, 0xd4, 0x4b, 0x49, 0x20, 0x00, 0x7d, 0xe9, 0x3d, 0x28, 0x2f, 0x8a, 0x6e, 0xa3, 0x21, - 0x41, 0x0b, 0x4b, 0xcd, 0xb5, 0x2a, 0xa6, 0xfb, 0xe1, 0xab, 0x86, 0xc1, 0x87, 0x77, 0x48, 0xdb, 0x78, 0x5a, 0x94, - 0x12, 0x6a, 0x77, 0xd0, 0x3e, 0x58, 0x65, 0x07, 0xe5, 0xdf, 0xc6, 0x14, 0xd9, 0xfc, 0x3e, 0xfb, 0x81, 0xba, 0x0e, - 0x07, 0xae, 0x60, 0xd5, 0x4b, 0x19, 0x05, 0x03, 0x56, 0x4e, 0x81, 0xda, 0x3b, 0xc9, 0x68, 0x36, 0x65, 0xa0, 0xee, - 0xb7, 0x45, 0xab, 0xb9, 0x3d, 0xa9, 0xfb, 0x0d, 0x19, 0x67, 0x1f, 0x61, 0x9c, 0x7d, 0x14, 0x78, 0xb1, 0x48, 0xf2, - 0x87, 0x8c, 0x35, 0x8e, 0x55, 0x53, 0xa0, 0xa3, 0x0e, 0x70, 0x67, 0xe0, 0xc0, 0x03, 0xb6, 0x28, 0x07, 0x07, 0xd4, - 0x59, 0xdc, 0xd3, 0x46, 0xe6, 0xbd, 0x3d, 0xa1, 0x76, 0x11, 0x0b, 0xdc, 0xac, 0x99, 0x69, 0x41, 0x6b, 0x85, 0x71, - 0x1e, 0x0f, 0x78, 0x9b, 0x67, 0xb5, 0xf8, 0x09, 0x1b, 0xd6, 0x54, 0xf5, 0x1b, 0x68, 0x8e, 0x6a, 0x41, 0x6e, 0x9e, - 0x18, 0x6f, 0x55, 0xd2, 0x8f, 0xa2, 0x81, 0xe5, 0x54, 0x88, 0x21, 0x19, 0xfd, 0xd6, 0x20, 0xb8, 0xd5, 0x5e, 0xad, - 0xb8, 0x47, 0x7c, 0x51, 0xf3, 0x56, 0x33, 0xb7, 0x00, 0xb4, 0x88, 0xa3, 0xf2, 0xde, 0x24, 0x02, 0xef, 0xdb, 0x32, - 0x42, 0xda, 0xb2, 0x6f, 0x9f, 0xae, 0x2c, 0x15, 0x9b, 0xef, 0xe8, 0x64, 0x90, 0x46, 0x76, 0x44, 0x11, 0xbe, 0x2e, - 0x21, 0x09, 0x57, 0x49, 0xd7, 0x2a, 0x93, 0x73, 0xa6, 0x52, 0x8e, 0xaf, 0x0b, 0x29, 0xf5, 0x95, 0xfd, 0x92, 0xb8, - 0xba, 0x93, 0x11, 0xf8, 0x7a, 0xc2, 0xf4, 0x3b, 0x5a, 0x4c, 0x18, 0xf8, 0x15, 0xf9, 0xdb, 0xb1, 0x94, 0x92, 0xcb, - 0x27, 0x22, 0xee, 0x53, 0x0c, 0xef, 0xae, 0x0e, 0xb0, 0x36, 0x21, 0x50, 0x4a, 0x5c, 0x84, 0x0b, 0xa2, 0x37, 0x85, - 0xbc, 0xbd, 0x8b, 0x0b, 0xec, 0x1c, 0x00, 0x4b, 0xa7, 0x49, 0x80, 0x7f, 0xf9, 0x98, 0x8f, 0xd5, 0x98, 0x53, 0xa3, - 0xeb, 0x77, 0xbf, 0x93, 0x6b, 0xa0, 0xb7, 0xa5, 0xa3, 0x60, 0xbf, 0x35, 0x80, 0x5c, 0xb8, 0x0b, 0x83, 0x8b, 0xaf, - 0xb0, 0xb6, 0x2c, 0x8c, 0x37, 0x16, 0x40, 0xef, 0x73, 0x06, 0x16, 0x6c, 0x98, 0x63, 0x0a, 0x8f, 0xd6, 0x4e, 0x98, - 0x0e, 0xa2, 0x82, 0x3c, 0x29, 0x9f, 0x25, 0xad, 0xd5, 0x7e, 0xcb, 0xc6, 0x70, 0x87, 0x91, 0x7c, 0xbb, 0x70, 0xe2, - 0xc0, 0x03, 0x32, 0x4d, 0x66, 0x9b, 0x7d, 0xe3, 0x23, 0x8f, 0xbc, 0x1e, 0xc7, 0xbb, 0x5a, 0x0a, 0xf3, 0xcd, 0x8a, - 0xae, 0x31, 0x84, 0xa2, 0x08, 0xfb, 0xfd, 0xaa, 0x62, 0x8a, 0x2a, 0x83, 0x36, 0x68, 0x58, 0xde, 0x88, 0x5f, 0xe0, - 0x8c, 0xa1, 0xf5, 0x42, 0xf6, 0x8e, 0xce, 0x3a, 0x9c, 0x39, 0xcc, 0x98, 0x12, 0x18, 0x95, 0x96, 0x05, 0x9d, 0x80, - 0xa3, 0x73, 0xf5, 0x41, 0x54, 0x5c, 0x1d, 0x2b, 0x00, 0x4f, 0x32, 0x85, 0x7f, 0xf2, 0x4d, 0xb0, 0xee, 0xb7, 0x6a, - 0x86, 0xa9, 0xbf, 0xe8, 0x6d, 0xd7, 0xf2, 0x65, 0x88, 0x23, 0x6d, 0x0c, 0xa1, 0x75, 0x6e, 0xef, 0x00, 0x45, 0x5c, - 0xd0, 0x8b, 0x54, 0xe3, 0x6b, 0xb5, 0x18, 0x9a, 0xf5, 0x35, 0xae, 0x63, 0xda, 0x20, 0x8a, 0x75, 0xd7, 0xc4, 0xd7, - 0xd5, 0x2b, 0xb0, 0x2a, 0x55, 0x70, 0x06, 0x09, 0x84, 0x55, 0x79, 0xd9, 0x90, 0x4a, 0x72, 0x69, 0x3a, 0x95, 0xa6, - 0xd3, 0x0a, 0xa1, 0x5c, 0x7a, 0x52, 0xde, 0xbf, 0x42, 0x08, 0x03, 0x53, 0x66, 0x07, 0x56, 0xa9, 0x2d, 0xac, 0x82, - 0x57, 0x2f, 0x36, 0xb0, 0x4a, 0xc2, 0xf1, 0x5c, 0xa2, 0x51, 0x51, 0xe1, 0x90, 0x21, 0x7d, 0x21, 0x16, 0x41, 0x02, - 0x60, 0xd1, 0xbb, 0xcc, 0xe5, 0x7d, 0x0f, 0x87, 0xc2, 0x9e, 0x64, 0x12, 0x4e, 0x37, 0xa1, 0x39, 0x3c, 0x0f, 0xac, - 0x7a, 0x1e, 0x21, 0x60, 0xe9, 0x39, 0x86, 0x67, 0xa1, 0xbf, 0xff, 0x1c, 0xad, 0xb3, 0x20, 0x4f, 0xff, 0x25, 0x4a, - 0x42, 0x63, 0xff, 0x39, 0x1e, 0x3a, 0x24, 0x0c, 0x07, 0xbe, 0x39, 0xc2, 0x0a, 0x07, 0xb7, 0x8a, 0xf8, 0x0c, 0xee, - 0xf0, 0xb1, 0x0e, 0x3d, 0x00, 0x2c, 0xa1, 0x38, 0x04, 0xf9, 0x06, 0x8a, 0x19, 0x1c, 0xd0, 0x64, 0x19, 0x5e, 0xe0, - 0x82, 0xd5, 0x42, 0x79, 0x7f, 0xdb, 0xf2, 0x52, 0x5a, 0xed, 0x92, 0xd7, 0x98, 0x03, 0x95, 0x9f, 0xe1, 0x85, 0xaf, - 0x30, 0xef, 0x55, 0xbb, 0x2f, 0x7c, 0xed, 0x80, 0x9e, 0x42, 0xc0, 0x48, 0xf7, 0x7b, 0x4d, 0xb8, 0xa7, 0xe8, 0x65, - 0x2e, 0x0e, 0xdb, 0x0e, 0xba, 0x17, 0x98, 0xab, 0xab, 0x2a, 0x6b, 0x0e, 0xa6, 0xd0, 0xe0, 0xa0, 0x0a, 0x67, 0x04, - 0xe6, 0xea, 0x45, 0x59, 0x70, 0x0e, 0xe2, 0x7d, 0x4f, 0x98, 0x9c, 0x32, 0x1a, 0xc0, 0x8b, 0xac, 0x7c, 0x74, 0xaa, - 0xc7, 0xc1, 0x65, 0xdc, 0xb0, 0x89, 0x2f, 0x84, 0x4f, 0x05, 0x56, 0xd2, 0x1a, 0x87, 0x46, 0x74, 0x44, 0xe7, 0x60, - 0xb6, 0x01, 0x14, 0xdc, 0x9d, 0x0f, 0x1b, 0x0b, 0x15, 0x3c, 0xc9, 0x5b, 0x7b, 0x41, 0x9b, 0x10, 0x67, 0xd2, 0x14, - 0xdc, 0x6d, 0x1b, 0x64, 0xf0, 0xe6, 0xb7, 0xff, 0x56, 0x58, 0x24, 0x18, 0x50, 0xa9, 0x49, 0x82, 0xf0, 0x04, 0xa5, - 0x91, 0x6e, 0xe5, 0x66, 0x02, 0xe9, 0x44, 0xd4, 0x8c, 0xba, 0x37, 0xce, 0x57, 0x47, 0x0d, 0x44, 0x45, 0x0d, 0x54, - 0x40, 0x0d, 0x64, 0x7d, 0xfb, 0x17, 0xb0, 0x10, 0x36, 0x42, 0x95, 0x08, 0x02, 0x22, 0xcc, 0xb5, 0xe1, 0x03, 0x8a, - 0x24, 0x84, 0xbc, 0x01, 0x54, 0x4c, 0xc9, 0x4b, 0x30, 0x1a, 0x87, 0xd7, 0x7b, 0xc0, 0xfd, 0xd2, 0x32, 0x0c, 0x9e, - 0x53, 0x30, 0xf9, 0x6f, 0x7d, 0x3e, 0x54, 0x2f, 0x57, 0x07, 0x21, 0xfc, 0x02, 0x62, 0x45, 0x38, 0xfe, 0xe2, 0x17, - 0x20, 0x9b, 0x0a, 0xcb, 0x83, 0x03, 0x09, 0x02, 0x3f, 0x44, 0x11, 0x0e, 0x78, 0x86, 0x97, 0xd9, 0x06, 0xd1, 0xf3, - 0xb3, 0x52, 0xd5, 0xac, 0x64, 0x30, 0xab, 0xc2, 0xd3, 0x38, 0xba, 0x26, 0x0c, 0x04, 0x17, 0x6a, 0xf7, 0x0d, 0x42, - 0xa0, 0x6c, 0xb9, 0x31, 0x74, 0xe9, 0x29, 0x98, 0x8f, 0xc6, 0xd1, 0x5b, 0x06, 0x0f, 0x0b, 0x1b, 0x93, 0x7f, 0xa6, - 0x59, 0xa6, 0x0d, 0xf3, 0xd8, 0x08, 0x9c, 0xd4, 0x29, 0x4a, 0x3e, 0x4b, 0x2e, 0xe2, 0xa8, 0x79, 0x19, 0xa1, 0x06, - 0xfc, 0xdb, 0xe0, 0xa8, 0x4b, 0x13, 0x3a, 0x1a, 0xf9, 0xe0, 0x37, 0x19, 0x31, 0x9b, 0x6c, 0xb5, 0x12, 0x15, 0x41, - 0x4f, 0xec, 0x06, 0x03, 0x56, 0xe2, 0x05, 0xb0, 0x0f, 0x96, 0x83, 0x25, 0xef, 0x44, 0xac, 0xfc, 0x29, 0x85, 0xc1, - 0xea, 0x39, 0x43, 0x08, 0x67, 0x41, 0xcc, 0xc6, 0xff, 0x7c, 0xa6, 0xe1, 0xfa, 0xf9, 0xf9, 0x3a, 0x46, 0x44, 0xfa, - 0x20, 0x72, 0x35, 0x76, 0x44, 0x04, 0x61, 0xcb, 0x74, 0xdf, 0x95, 0xf9, 0xc1, 0x5b, 0x57, 0x0f, 0x6c, 0xb8, 0x38, - 0x30, 0xa0, 0x46, 0x81, 0xd1, 0x0a, 0xce, 0x49, 0x39, 0x70, 0x50, 0x42, 0x68, 0x56, 0xc4, 0x53, 0x72, 0x09, 0x91, - 0xf0, 0x32, 0xd4, 0x05, 0xc3, 0x82, 0x40, 0x82, 0x9a, 0x82, 0x04, 0x95, 0xf9, 0xda, 0x23, 0x98, 0x75, 0x6e, 0x66, - 0x3b, 0x45, 0x5d, 0x17, 0xe4, 0xe7, 0x17, 0x1d, 0x8f, 0x80, 0xa5, 0x3d, 0x38, 0x28, 0x20, 0x82, 0x18, 0x50, 0xf0, - 0x52, 0x02, 0x0c, 0xc2, 0xf1, 0x15, 0x1b, 0x1a, 0xf0, 0xb9, 0x36, 0x5e, 0x07, 0xc6, 0xd6, 0xa7, 0x0c, 0x72, 0xf1, - 0xac, 0xda, 0xd3, 0x84, 0x90, 0xfd, 0x56, 0x4f, 0xa7, 0xdb, 0x11, 0x12, 0x7b, 0x1f, 0xb5, 0x09, 0x34, 0xe6, 0x48, - 0x77, 0xb5, 0x31, 0x5f, 0xd5, 0xf4, 0x88, 0xd5, 0x24, 0xa4, 0x0b, 0xd2, 0xe5, 0xf9, 0xb4, 0x67, 0x70, 0xc5, 0x2a, - 0x8d, 0x1c, 0x5c, 0x80, 0x3e, 0x1b, 0x10, 0xa0, 0x40, 0xa5, 0xa9, 0x44, 0x51, 0xc4, 0x45, 0x52, 0xb2, 0x61, 0x98, - 0x41, 0x98, 0xc2, 0x6a, 0x25, 0xe8, 0xc6, 0x1a, 0x00, 0xef, 0xcc, 0xec, 0x9f, 0xd2, 0x07, 0x9b, 0xae, 0xbd, 0x79, - 0x04, 0x10, 0x90, 0xfd, 0x76, 0xc9, 0xae, 0x8b, 0x8d, 0xca, 0x2c, 0xac, 0x65, 0x6c, 0xe5, 0xb6, 0x3d, 0xc6, 0xde, - 0x89, 0x6d, 0x3e, 0x01, 0x42, 0xd4, 0x96, 0x4c, 0x23, 0x44, 0x48, 0x2c, 0x62, 0x5d, 0x1b, 0xb2, 0xd1, 0x86, 0xc2, - 0x53, 0x89, 0x1c, 0xb8, 0x44, 0x13, 0x24, 0xdf, 0x71, 0x09, 0x0e, 0xe1, 0x85, 0x47, 0xf8, 0x5b, 0x60, 0x91, 0x0a, - 0xcc, 0xb0, 0x5c, 0xad, 0xa0, 0x9e, 0xc7, 0xfb, 0x6c, 0x33, 0x38, 0xa9, 0xdc, 0x18, 0xbb, 0xb4, 0x13, 0x8f, 0xcb, - 0x26, 0x24, 0xce, 0xa0, 0x5f, 0x5f, 0x11, 0xf5, 0xf6, 0xdb, 0xe9, 0x13, 0xff, 0x5e, 0x99, 0xdb, 0x81, 0xd8, 0xb0, - 0xde, 0x60, 0xf5, 0x01, 0xb4, 0xfc, 0x9f, 0xcc, 0x3f, 0x54, 0x16, 0xdc, 0x24, 0xa8, 0xcd, 0x45, 0xec, 0xb2, 0x2e, - 0x62, 0xa4, 0xb6, 0xb8, 0x3b, 0x84, 0xf8, 0x7f, 0xb6, 0xa2, 0x18, 0xf0, 0xa4, 0xe2, 0x9f, 0x63, 0xd4, 0x85, 0x50, - 0xd4, 0xd6, 0xc3, 0x06, 0x28, 0xed, 0x72, 0x5d, 0x89, 0x91, 0x21, 0x81, 0x7c, 0xeb, 0xc2, 0x0b, 0x9a, 0x93, 0x48, - 0x81, 0x9c, 0x1c, 0x44, 0x25, 0xcd, 0x36, 0x84, 0xb9, 0xee, 0x16, 0x8e, 0x99, 0xab, 0x0d, 0x5a, 0xc4, 0x2f, 0x80, - 0x9d, 0xe1, 0x46, 0xb2, 0x74, 0xe0, 0x53, 0x35, 0xf0, 0xf9, 0x35, 0x37, 0x14, 0x45, 0xa1, 0xde, 0x3b, 0xfb, 0xc8, - 0x1c, 0xfc, 0x4e, 0x03, 0xf1, 0x91, 0x3a, 0x1d, 0xc9, 0x46, 0xa8, 0x35, 0x67, 0xc7, 0xcb, 0x36, 0x23, 0x0c, 0x0a, - 0x1b, 0xbd, 0xaf, 0x42, 0x56, 0xb1, 0xb3, 0x53, 0x11, 0xcc, 0xe9, 0xab, 0xaa, 0x9c, 0x53, 0xb9, 0x65, 0x54, 0x4b, - 0x4d, 0x03, 0x44, 0xb8, 0xf2, 0x89, 0xe4, 0x51, 0x66, 0xc2, 0x3f, 0x18, 0x8c, 0xab, 0x47, 0x0a, 0x7f, 0xb4, 0x2b, - 0x76, 0xc8, 0x76, 0x74, 0xb8, 0x8d, 0xa0, 0x79, 0xa1, 0x82, 0x07, 0x1c, 0x95, 0x2c, 0x21, 0x52, 0xe4, 0x72, 0x5f, - 0xd5, 0x4c, 0xd9, 0xae, 0x23, 0x84, 0x90, 0xf6, 0x38, 0xeb, 0x86, 0x56, 0x0f, 0x3d, 0x52, 0x45, 0x39, 0xdc, 0xa2, - 0xb9, 0x2e, 0x40, 0x85, 0x11, 0x48, 0x97, 0x5f, 0xd8, 0x5d, 0x2a, 0x21, 0x7a, 0xf9, 0xda, 0x85, 0x30, 0x76, 0x56, - 0x96, 0xb8, 0x30, 0xa3, 0xb6, 0x61, 0x74, 0xdd, 0xc6, 0x70, 0x36, 0x30, 0x66, 0x1a, 0x94, 0xb4, 0x20, 0xd4, 0x75, - 0x97, 0x5e, 0x64, 0x26, 0xd0, 0x63, 0x4e, 0x68, 0x83, 0xe1, 0x29, 0xd1, 0x60, 0xd9, 0x54, 0x80, 0x05, 0xdf, 0xb2, - 0x48, 0xad, 0xcd, 0x26, 0x8b, 0x3f, 0xea, 0xd8, 0x3c, 0xed, 0x97, 0x57, 0xcc, 0x73, 0xe1, 0xa8, 0xdb, 0xf3, 0xcc, - 0xc7, 0xa3, 0x7b, 0xfa, 0xe6, 0xea, 0xc5, 0xcb, 0xd7, 0xaf, 0x56, 0xab, 0x36, 0x6b, 0xb6, 0x4f, 0xf0, 0x4f, 0xba, - 0x8c, 0x07, 0x5b, 0x46, 0x01, 0x3a, 0x38, 0xd8, 0xe7, 0xc6, 0x85, 0xe7, 0x0b, 0x9f, 0x43, 0xdc, 0x20, 0x3d, 0xc0, - 0x59, 0x51, 0xc6, 0x04, 0xb9, 0x8d, 0x7a, 0xd1, 0x5d, 0x04, 0x4a, 0xa8, 0x8a, 0xfc, 0x7d, 0xd8, 0x9c, 0xfd, 0x1e, - 0x04, 0x26, 0x82, 0xfa, 0x10, 0x01, 0x04, 0xe2, 0x95, 0xe2, 0x82, 0x30, 0x9f, 0x00, 0x51, 0xbc, 0x17, 0xc0, 0x99, - 0x9a, 0xa8, 0x55, 0x0b, 0x15, 0x17, 0x40, 0x12, 0x6d, 0x38, 0x4a, 0x7a, 0x64, 0x02, 0x78, 0x43, 0x50, 0x4a, 0xfb, - 0xab, 0x9b, 0x3b, 0x77, 0xa9, 0x1c, 0xf5, 0x5a, 0x69, 0x8e, 0xa7, 0xee, 0x73, 0x0a, 0x9f, 0xd3, 0xae, 0x3f, 0x1d, - 0xc4, 0x61, 0x8e, 0x17, 0x44, 0x1c, 0xfa, 0x67, 0x11, 0x97, 0xf3, 0x82, 0x7d, 0xe5, 0x72, 0xa1, 0xd2, 0xe5, 0x6d, - 0x2a, 0x93, 0xdb, 0xe6, 0xe8, 0x30, 0x2e, 0x92, 0xdb, 0xa6, 0x4a, 0x6e, 0x11, 0xbe, 0x4b, 0x65, 0x72, 0x67, 0x53, - 0xee, 0x9a, 0x0a, 0x6e, 0xbe, 0xb0, 0x80, 0x43, 0xd1, 0x16, 0x6d, 0x2c, 0x36, 0x8b, 0xda, 0x14, 0x57, 0x34, 0xc0, - 0xe0, 0xdf, 0x77, 0x6c, 0xfc, 0x30, 0x7c, 0x09, 0x2e, 0x4d, 0x9a, 0xc8, 0x4f, 0x20, 0xfd, 0xb4, 0x2a, 0x03, 0xf7, - 0x29, 0x69, 0x75, 0xa7, 0x17, 0xa2, 0xd9, 0xee, 0x36, 0x1a, 0x53, 0xd8, 0xbb, 0x19, 0xc9, 0x7d, 0xb1, 0x69, 0xc3, - 0xc4, 0xd7, 0xd9, 0xcf, 0x56, 0xab, 0xfd, 0x1c, 0x99, 0x0d, 0x37, 0x61, 0xb1, 0xee, 0x4f, 0x07, 0xb8, 0x85, 0x9f, - 0x67, 0x08, 0x2d, 0x59, 0x7f, 0x3a, 0x20, 0xac, 0x3f, 0x6d, 0xb4, 0x07, 0xd6, 0xd0, 0xce, 0x6c, 0xc5, 0x35, 0x84, - 0xd0, 0x9c, 0x0e, 0x8e, 0x4c, 0x49, 0xe9, 0xf2, 0xed, 0x17, 0xad, 0x02, 0xfa, 0xa9, 0x5a, 0xf0, 0x32, 0x89, 0x3b, - 0xd0, 0x17, 0xbd, 0xb0, 0x4f, 0xb7, 0x16, 0xe4, 0xf8, 0xa8, 0x72, 0xb5, 0xa7, 0x08, 0x9b, 0x9e, 0xd4, 0x61, 0x71, - 0x68, 0x9a, 0x71, 0x5d, 0x4a, 0xf7, 0x1d, 0x6a, 0x46, 0x3e, 0x3a, 0x58, 0x00, 0x82, 0x54, 0xf0, 0xc8, 0x0a, 0x17, - 0x4e, 0x29, 0x84, 0x8b, 0x83, 0xca, 0x16, 0x4c, 0x72, 0xd2, 0xea, 0xe6, 0xc6, 0xd2, 0x3f, 0x77, 0x11, 0x4d, 0x29, - 0xa6, 0x24, 0xf3, 0x25, 0x73, 0x03, 0x16, 0xba, 0x49, 0x79, 0xa6, 0xa0, 0x57, 0x1a, 0xe0, 0x11, 0x81, 0x78, 0x48, - 0xdd, 0xc2, 0x18, 0x78, 0xc5, 0xd3, 0x66, 0xd1, 0x67, 0x03, 0x74, 0x74, 0x8c, 0x69, 0xff, 0x53, 0x36, 0x6f, 0xc3, - 0x63, 0x81, 0x9f, 0x06, 0x64, 0xda, 0x94, 0x65, 0x82, 0x80, 0x84, 0x51, 0x53, 0x1e, 0xc2, 0x5e, 0x42, 0x38, 0xb3, - 0x15, 0xb3, 0x3e, 0x1b, 0x34, 0xa7, 0x65, 0xc5, 0x8e, 0xaf, 0xd8, 0x90, 0x65, 0x82, 0xad, 0xd8, 0x70, 0x15, 0xc3, - 0xd7, 0x19, 0x0c, 0x08, 0x42, 0x00, 0x30, 0x00, 0x80, 0x46, 0x41, 0x34, 0x5f, 0xac, 0x88, 0xdf, 0xec, 0xf6, 0x1e, - 0xbf, 0x05, 0x16, 0x68, 0xb5, 0xfd, 0xbf, 0x0b, 0x65, 0xc0, 0x9e, 0xb2, 0x30, 0x31, 0x73, 0x0b, 0xab, 0xa2, 0x03, - 0xa8, 0x94, 0x08, 0x53, 0x18, 0xc8, 0xec, 0x67, 0x06, 0x6a, 0x81, 0xd6, 0x20, 0xef, 0xeb, 0x41, 0x33, 0x83, 0x23, - 0x06, 0xde, 0xa1, 0x21, 0x53, 0x63, 0x4c, 0x18, 0xe7, 0x30, 0xc5, 0xcc, 0x80, 0x67, 0x9a, 0xb6, 0xd6, 0xd2, 0xc8, - 0x72, 0xbd, 0xbc, 0xf7, 0xb7, 0x8e, 0x55, 0xbf, 0x68, 0xb6, 0x07, 0x68, 0x9f, 0x10, 0xfb, 0x31, 0x80, 0x4d, 0xe6, - 0x52, 0x1b, 0xe6, 0xfb, 0xa8, 0x93, 0xda, 0x4f, 0xf8, 0x33, 0x58, 0x9b, 0x1d, 0x00, 0x3a, 0x32, 0x6c, 0xd6, 0x5f, - 0xd6, 0x54, 0x5e, 0x1f, 0x77, 0x46, 0xa9, 0xdc, 0xf5, 0xee, 0x74, 0xa0, 0x29, 0x0e, 0xbd, 0xf5, 0x70, 0xf9, 0x50, - 0x0f, 0x01, 0x33, 0x06, 0x73, 0xcb, 0x8c, 0xbe, 0x17, 0x22, 0xb9, 0x20, 0x12, 0x4b, 0x83, 0x35, 0x0c, 0xf6, 0xd6, - 0xc1, 0x81, 0xa9, 0xc6, 0x1a, 0xf0, 0x3c, 0x29, 0x02, 0xc1, 0xc0, 0x47, 0x50, 0x06, 0x34, 0x51, 0xe6, 0x36, 0x9c, - 0x7c, 0x64, 0xee, 0x17, 0x2e, 0x6f, 0x1f, 0x0b, 0xa7, 0x6d, 0x35, 0xd7, 0xe3, 0x65, 0x81, 0xbb, 0xf2, 0x5e, 0xd2, - 0x2a, 0xb8, 0x91, 0xbd, 0xc9, 0x53, 0xe6, 0x6e, 0xdd, 0x97, 0xea, 0xec, 0x6e, 0xa6, 0x53, 0x36, 0xd3, 0xd9, 0x6e, - 0x26, 0xd4, 0xcc, 0x7c, 0xcb, 0x2a, 0xd2, 0x9c, 0xac, 0x89, 0x9a, 0x53, 0xf1, 0x13, 0x9d, 0x83, 0x76, 0x94, 0xdb, - 0x7b, 0x55, 0x38, 0xb9, 0x72, 0x72, 0xb9, 0x9f, 0x1b, 0xe2, 0x8a, 0xcc, 0x85, 0x3a, 0x04, 0x78, 0x79, 0x51, 0x3e, - 0x3e, 0xc0, 0xa5, 0xf8, 0x55, 0x8e, 0x5c, 0x94, 0x53, 0x21, 0xb5, 0x14, 0x2c, 0x42, 0x06, 0x55, 0x5d, 0x0c, 0xec, - 0xa5, 0xdd, 0x7b, 0xa2, 0xc7, 0xfb, 0x55, 0xc4, 0xbc, 0x81, 0x79, 0xee, 0xe3, 0x7b, 0x9a, 0x62, 0xa7, 0x26, 0xce, - 0xc8, 0x87, 0x2c, 0xce, 0x41, 0x36, 0xeb, 0x57, 0xaf, 0xfd, 0x36, 0xda, 0xb8, 0x68, 0xc6, 0xa2, 0x67, 0x9e, 0x38, - 0xf9, 0xa1, 0x30, 0xc6, 0x01, 0xd6, 0xd1, 0x1f, 0x61, 0x6a, 0xc1, 0x9e, 0x25, 0x9e, 0x42, 0x27, 0xb7, 0x36, 0xed, - 0x2e, 0x4c, 0xbb, 0x33, 0x69, 0x1d, 0x28, 0x07, 0xa4, 0xd9, 0x95, 0xe9, 0xdc, 0xf9, 0xef, 0x3b, 0x78, 0xe9, 0x76, - 0x0d, 0x91, 0xb8, 0xe7, 0x8f, 0x8c, 0x31, 0xc4, 0x1b, 0xb0, 0x11, 0x55, 0x07, 0x07, 0x7f, 0x38, 0xef, 0xdb, 0x4a, - 0xee, 0xfb, 0x56, 0x38, 0xb0, 0x0d, 0xa6, 0xd2, 0xe5, 0x8d, 0x64, 0xb6, 0x00, 0xbb, 0xce, 0xfd, 0x6f, 0xc4, 0xc3, - 0x17, 0x21, 0xd3, 0x62, 0x5d, 0xc5, 0x5f, 0xc9, 0x51, 0xe9, 0x21, 0xaa, 0x21, 0x02, 0x69, 0x65, 0x5d, 0x1a, 0x9a, - 0x8e, 0x5e, 0x4d, 0xe9, 0x48, 0xde, 0xbc, 0x95, 0x52, 0x0f, 0xec, 0x8b, 0xdc, 0x3a, 0x81, 0x47, 0x0b, 0x6b, 0x0c, - 0xcd, 0x5d, 0xe9, 0x9d, 0x64, 0x03, 0xa2, 0xd6, 0xc7, 0x1d, 0x4a, 0x22, 0xb1, 0xa8, 0xee, 0x42, 0x38, 0xdc, 0x85, - 0x60, 0x5e, 0x06, 0x6d, 0x83, 0xd8, 0xed, 0x2e, 0x68, 0x1b, 0x38, 0x75, 0xdb, 0xc0, 0xed, 0xc1, 0x60, 0x61, 0xef, - 0xc3, 0xcb, 0xb1, 0x1c, 0x0b, 0x7f, 0x4d, 0x66, 0x1f, 0x00, 0x02, 0xb5, 0x0f, 0x2b, 0x9e, 0x38, 0x10, 0x24, 0xce, - 0x70, 0xf4, 0x3d, 0x67, 0x37, 0xd6, 0x72, 0x78, 0x36, 0x5f, 0x68, 0x36, 0x32, 0x77, 0xd4, 0xa0, 0xe2, 0xab, 0xfb, - 0x79, 0xfd, 0x94, 0xd5, 0x74, 0xe3, 0xf7, 0x20, 0x8c, 0x84, 0x53, 0x76, 0x18, 0x85, 0x84, 0x0d, 0x66, 0x55, 0xc6, - 0x6b, 0xfb, 0x0d, 0xe2, 0x3d, 0x68, 0x13, 0x4e, 0xb0, 0xa8, 0x5d, 0x50, 0x45, 0xd8, 0xc6, 0x1b, 0x0b, 0xa2, 0x3c, - 0xbc, 0xd9, 0x32, 0x9a, 0x5e, 0xae, 0x21, 0xd0, 0x71, 0x2f, 0x6a, 0x46, 0x0d, 0x96, 0xba, 0xa0, 0xcc, 0x3e, 0xc2, - 0xb8, 0xba, 0x38, 0x31, 0x71, 0xda, 0x4b, 0xbd, 0xfa, 0x6f, 0x19, 0x18, 0xe0, 0x0b, 0xf0, 0x12, 0x0b, 0xa3, 0xbb, - 0xf6, 0x75, 0x03, 0xea, 0xcb, 0x06, 0x1b, 0xa0, 0xd5, 0xaa, 0x55, 0x3e, 0x03, 0xe5, 0xae, 0xb9, 0x84, 0xbd, 0xe6, - 0x12, 0xee, 0x9a, 0x4b, 0xf8, 0x6b, 0x2e, 0x61, 0xae, 0xb9, 0x84, 0xbf, 0xe6, 0xf2, 0x20, 0xfc, 0x33, 0x88, 0xe3, - 0x18, 0x73, 0x88, 0xab, 0xa8, 0x6d, 0x64, 0x3c, 0xb8, 0xf0, 0xdc, 0x67, 0x89, 0x2a, 0x97, 0x3f, 0x8c, 0x21, 0xb7, - 0x65, 0x2b, 0x61, 0xdc, 0xa6, 0x98, 0x82, 0xc8, 0xe9, 0x07, 0x07, 0xa5, 0xbb, 0x33, 0xf8, 0xa8, 0xa7, 0x1c, 0x2f, - 0xad, 0x13, 0xed, 0x1f, 0xa0, 0x93, 0x37, 0xbf, 0x3e, 0xa6, 0x72, 0x4d, 0x84, 0x33, 0xb9, 0xdf, 0x6f, 0x7b, 0x4a, - 0xf1, 0x67, 0x66, 0xc2, 0x93, 0xf3, 0x44, 0x1b, 0x11, 0x04, 0x21, 0x4a, 0x14, 0xce, 0x88, 0xfc, 0x7f, 0xd9, 0x7b, - 0xd7, 0xe5, 0xb6, 0x91, 0x2c, 0x5d, 0xf4, 0x55, 0x24, 0x86, 0xcd, 0x02, 0xcc, 0x24, 0x45, 0x79, 0xef, 0x99, 0x88, - 0x03, 0x2a, 0xc5, 0xf0, 0xa5, 0xdc, 0xe5, 0xee, 0xf2, 0xa5, 0x2d, 0x77, 0x75, 0x55, 0x33, 0x78, 0x58, 0x10, 0x90, - 0x14, 0xe0, 0x02, 0x01, 0x16, 0x00, 0x4a, 0xa4, 0x49, 0xbc, 0xfb, 0x8e, 0xb5, 0x56, 0x5e, 0x41, 0x50, 0x76, 0xcf, - 0xec, 0xf9, 0x75, 0xce, 0x1f, 0x5b, 0x4c, 0x24, 0x12, 0x79, 0xcf, 0x95, 0xeb, 0xf2, 0x7d, 0xb4, 0xde, 0x55, 0x28, - 0x3c, 0xaa, 0xa2, 0x94, 0x5b, 0xc9, 0xab, 0x0c, 0x82, 0xd8, 0xd1, 0x0b, 0xc3, 0x9f, 0x40, 0x08, 0x41, 0x84, 0x09, - 0xbf, 0x0e, 0x33, 0xda, 0xce, 0x22, 0x9d, 0xf4, 0xdb, 0x30, 0xc3, 0x0d, 0xac, 0xe4, 0xe7, 0xaa, 0xcf, 0xf6, 0xdb, - 0x20, 0x64, 0xbb, 0x20, 0x62, 0xb7, 0xc5, 0x36, 0x28, 0x6d, 0x5f, 0x10, 0x65, 0xf8, 0x5b, 0x7a, 0xbd, 0x3c, 0x84, - 0x78, 0x9f, 0x5e, 0x9a, 0x9f, 0xa5, 0xad, 0x28, 0xc0, 0x7d, 0x84, 0x1e, 0xd5, 0x81, 0x60, 0x27, 0x3c, 0xe1, 0x01, - 0x9c, 0xac, 0x66, 0x15, 0x7f, 0x92, 0x82, 0x38, 0x51, 0x70, 0x08, 0xb8, 0xda, 0xde, 0xa4, 0x5f, 0xc1, 0xf0, 0xa5, - 0x83, 0x2d, 0x87, 0xb7, 0xc5, 0xb6, 0xc7, 0x4a, 0xfe, 0x11, 0xd8, 0xb7, 0x7a, 0x32, 0x56, 0xb7, 0x07, 0xce, 0xba, - 0x94, 0xa2, 0xe3, 0x4d, 0x71, 0x78, 0x7b, 0x3e, 0xdb, 0x6f, 0x83, 0x88, 0xed, 0x82, 0x0c, 0x6b, 0x9d, 0x34, 0xfc, - 0xaf, 0xb4, 0x75, 0xb0, 0x18, 0x61, 0xff, 0x97, 0xf5, 0xc0, 0x4b, 0x48, 0x0d, 0x05, 0x2e, 0x06, 0x1b, 0x8e, 0xd6, - 0x76, 0x99, 0x06, 0x6e, 0x6a, 0xd0, 0xeb, 0x7b, 0x0a, 0x51, 0x5e, 0x32, 0x9a, 0x1b, 0xc1, 0xba, 0x31, 0xe4, 0xe2, - 0x70, 0xdc, 0x2c, 0x87, 0xbc, 0xa4, 0xe9, 0x34, 0x08, 0xa5, 0x3b, 0xcb, 0x1a, 0x92, 0x28, 0xfb, 0x20, 0xd4, 0xae, - 0x2d, 0xfb, 0x6d, 0x60, 0xfb, 0xf2, 0x47, 0xc3, 0xd8, 0xbf, 0x58, 0x3e, 0x13, 0xd2, 0x45, 0x3c, 0x07, 0x41, 0xd4, - 0x7e, 0x9e, 0x0d, 0x37, 0xfe, 0xc5, 0xfa, 0x99, 0x50, 0x7e, 0xe3, 0xb9, 0x2d, 0x87, 0xd4, 0x59, 0x0b, 0x5f, 0x18, - 0x0f, 0x0f, 0xae, 0x0c, 0x6d, 0x87, 0x83, 0xd0, 0x7f, 0x9b, 0x35, 0x82, 0x1b, 0x1b, 0xda, 0xe7, 0x0b, 0x1f, 0xb6, - 0x36, 0x1a, 0x6b, 0x8a, 0xe9, 0x16, 0xfa, 0x37, 0x99, 0x2d, 0xed, 0x69, 0x54, 0xf2, 0xe2, 0xd4, 0x34, 0x62, 0x21, - 0x0c, 0x18, 0xfa, 0xc9, 0x7c, 0x04, 0xd5, 0xdc, 0xf1, 0x08, 0x64, 0xf2, 0x81, 0x1e, 0xac, 0x49, 0xad, 0xfa, 0x6b, - 0x98, 0xc9, 0xff, 0x23, 0x15, 0x16, 0xa3, 0xbb, 0x6d, 0x98, 0xa9, 0x3f, 0x22, 0xf9, 0x07, 0xcb, 0xf9, 0x2e, 0xf5, - 0x42, 0xed, 0xc7, 0xc2, 0x0a, 0x0c, 0x4a, 0x54, 0x0d, 0xe8, 0x81, 0x08, 0xaa, 0x32, 0x48, 0x33, 0xac, 0xce, 0x41, - 0xbf, 0x7b, 0x5a, 0x75, 0x24, 0x87, 0xb4, 0x56, 0x43, 0x2a, 0x98, 0x2a, 0x35, 0xc8, 0x0f, 0x87, 0xbb, 0x94, 0xe9, - 0x32, 0xe0, 0x92, 0x7e, 0x97, 0x2a, 0xa5, 0xf0, 0x9f, 0x08, 0x40, 0xe7, 0xe0, 0x1e, 0x5f, 0x8e, 0x81, 0x34, 0xc3, - 0xc2, 0x6f, 0xcd, 0x8e, 0xaf, 0x49, 0xb8, 0x4d, 0x82, 0x8b, 0x01, 0xce, 0xd1, 0x55, 0x58, 0xde, 0xa5, 0x10, 0x41, - 0x55, 0x42, 0x7d, 0x2b, 0xd3, 0xa0, 0xb4, 0xd5, 0x20, 0xac, 0x49, 0xa8, 0x33, 0xc9, 0x46, 0xa5, 0xed, 0x46, 0x61, - 0xb6, 0x88, 0xeb, 0x19, 0x61, 0xcd, 0xd9, 0x4c, 0x35, 0x30, 0x69, 0x38, 0x6e, 0x1a, 0xad, 0x45, 0x85, 0x9a, 0xc2, - 0xbc, 0xc6, 0x55, 0xa5, 0xaa, 0xbb, 0x39, 0xb5, 0x94, 0x96, 0xed, 0x55, 0x37, 0xc9, 0x86, 0x5c, 0x86, 0x32, 0x0c, - 0x36, 0x72, 0x04, 0x13, 0x48, 0x92, 0x33, 0x7f, 0x23, 0xff, 0x50, 0x9b, 0xae, 0x05, 0xcc, 0x31, 0x66, 0xd9, 0xb0, - 0xa0, 0x57, 0xe0, 0x1e, 0x68, 0xa5, 0xe7, 0xd3, 0xec, 0x22, 0x0f, 0x92, 0x61, 0xa1, 0x97, 0x4d, 0xc6, 0xff, 0x14, - 0x46, 0x9a, 0xcc, 0x58, 0xc9, 0x22, 0xdb, 0xd5, 0x29, 0x71, 0x1e, 0x27, 0xb0, 0x3d, 0x9a, 0xde, 0xf2, 0x7d, 0x06, - 0x51, 0x41, 0xa0, 0x60, 0xc6, 0x7c, 0xd9, 0xc5, 0x73, 0xdf, 0x67, 0x96, 0xa9, 0xfb, 0x70, 0x30, 0x66, 0x6c, 0xbf, - 0xdf, 0xcf, 0xfb, 0x7d, 0x35, 0xdf, 0xfa, 0xfd, 0xe4, 0xda, 0xfc, 0xed, 0x01, 0x83, 0x82, 0x9c, 0x88, 0xa6, 0x42, - 0x04, 0xff, 0x90, 0x3c, 0x43, 0x32, 0xba, 0xe3, 0x3e, 0xb7, 0x9c, 0x2d, 0xab, 0x23, 0x10, 0xcc, 0xc3, 0xe1, 0x52, - 0x81, 0x5d, 0x4b, 0x14, 0x09, 0x59, 0xfe, 0x33, 0x30, 0x9e, 0xb9, 0x0f, 0xb0, 0x64, 0x00, 0xc2, 0x56, 0x79, 0xba, - 0xde, 0xf3, 0x55, 0xf0, 0x4e, 0xc7, 0xbb, 0xc6, 0x8a, 0x0c, 0xc4, 0x2d, 0xb0, 0x11, 0x6b, 0xed, 0x01, 0x39, 0x53, - 0x80, 0xe3, 0xc5, 0xe1, 0x70, 0x2e, 0x7f, 0xe9, 0x66, 0xeb, 0x04, 0x2a, 0x05, 0x6e, 0x8f, 0x4e, 0x0e, 0xfe, 0x3b, - 0xd0, 0x0c, 0xca, 0x61, 0x5e, 0x6f, 0x7f, 0x67, 0x4e, 0x7e, 0x7a, 0x8a, 0x7f, 0xc2, 0x43, 0x74, 0xfa, 0xed, 0xde, - 0xfc, 0x41, 0x51, 0x79, 0x38, 0xa8, 0xc5, 0x7f, 0xce, 0x79, 0x05, 0xbf, 0xf0, 0x4d, 0x60, 0x36, 0x99, 0x7a, 0x27, - 0xdf, 0xe4, 0x39, 0x53, 0xaf, 0xf1, 0x8a, 0xc9, 0x77, 0x38, 0x9c, 0x8b, 0x51, 0xbd, 0x1d, 0x39, 0xd1, 0x4e, 0x39, - 0xc6, 0xc1, 0xe0, 0xbf, 0x88, 0xb6, 0x09, 0x01, 0x86, 0xd4, 0x2d, 0x69, 0x66, 0xe3, 0xca, 0x12, 0xcf, 0xd2, 0xf9, - 0xe5, 0xa4, 0x2e, 0x77, 0x5a, 0xf1, 0xb4, 0x07, 0x16, 0xb7, 0x35, 0x78, 0x01, 0xdc, 0x5b, 0x6c, 0x5d, 0x29, 0x38, - 0x5c, 0x40, 0x9c, 0xe2, 0x04, 0x44, 0xd0, 0x7e, 0x5f, 0xe2, 0xbd, 0x82, 0x3e, 0xe9, 0x47, 0x08, 0x86, 0xfc, 0x59, - 0x02, 0xee, 0x7a, 0xbd, 0x1a, 0xe3, 0x7b, 0x29, 0x04, 0xd7, 0x67, 0x1a, 0x80, 0x16, 0xfc, 0x2e, 0x1f, 0xcb, 0xe9, - 0x37, 0x11, 0x78, 0xb6, 0xec, 0x4d, 0x94, 0xbb, 0x0d, 0x4f, 0xfb, 0x47, 0x0b, 0x01, 0x58, 0x8a, 0x67, 0x4a, 0xb0, - 0x20, 0xa7, 0x98, 0x8b, 0xff, 0x17, 0x7c, 0xc4, 0x7c, 0x4f, 0xba, 0x88, 0xad, 0xb7, 0x4f, 0x2e, 0x0c, 0x24, 0xd0, - 0x74, 0x00, 0x7e, 0xbc, 0x0a, 0xe8, 0xca, 0xf8, 0xf9, 0x59, 0xd6, 0x63, 0x7d, 0xfc, 0xa7, 0xe0, 0x3e, 0xfd, 0x4c, - 0xe1, 0xa3, 0xc3, 0x71, 0x95, 0x8e, 0x76, 0x94, 0x82, 0xe8, 0xe8, 0xf6, 0xf9, 0x94, 0x67, 0xdf, 0x55, 0x40, 0x6e, - 0x39, 0x6a, 0x4f, 0x05, 0x60, 0xb1, 0xa5, 0x23, 0xf0, 0x69, 0x96, 0x4f, 0xc8, 0xf7, 0x7a, 0x2a, 0xae, 0x2e, 0x75, - 0xba, 0xb8, 0x1e, 0x4f, 0xe1, 0x7f, 0x20, 0xf6, 0xb0, 0x4c, 0x91, 0x1d, 0xbb, 0x2e, 0x7e, 0x10, 0x6f, 0x6b, 0x3b, - 0xfa, 0x63, 0x07, 0x91, 0x8e, 0x7b, 0x72, 0xa1, 0xbe, 0x84, 0x54, 0x72, 0xa1, 0x6e, 0x20, 0x76, 0xa1, 0xc6, 0x3b, - 0x2e, 0x62, 0xad, 0xbf, 0xab, 0x51, 0xb0, 0x12, 0x70, 0xa6, 0xbd, 0x03, 0x83, 0x0d, 0xac, 0x5b, 0x96, 0xc1, 0xdf, - 0x70, 0x4d, 0x13, 0xb8, 0x61, 0x91, 0xf5, 0xde, 0x60, 0x2b, 0xbd, 0x03, 0x47, 0xcb, 0xc4, 0xb9, 0x94, 0x64, 0x65, - 0x8b, 0x8c, 0xab, 0x47, 0x21, 0x55, 0xd3, 0xfd, 0xad, 0xa8, 0x1f, 0x84, 0xc8, 0x83, 0x55, 0xca, 0xa2, 0x62, 0x05, - 0x32, 0x7b, 0xf0, 0xf7, 0x90, 0x91, 0xa3, 0x1c, 0x38, 0x0a, 0xfd, 0xbd, 0x09, 0x74, 0x9e, 0xbf, 0x86, 0x3a, 0x8f, - 0x04, 0x5b, 0xa9, 0x87, 0xc2, 0xca, 0x0b, 0x88, 0x0e, 0xb6, 0x30, 0x56, 0x79, 0x12, 0x2a, 0x36, 0x65, 0x22, 0x8f, - 0x83, 0x5a, 0x02, 0xc6, 0x0a, 0x82, 0x39, 0xcb, 0xa5, 0x0b, 0x52, 0xd5, 0xe8, 0x61, 0x91, 0xb9, 0x9f, 0x0a, 0xca, - 0xff, 0x54, 0xe5, 0x84, 0xeb, 0xcb, 0x10, 0xe0, 0x68, 0x9f, 0x82, 0x28, 0x31, 0xd6, 0x2f, 0x5a, 0xbc, 0x93, 0x99, - 0xb3, 0xa9, 0xed, 0x25, 0xc8, 0xd8, 0x0e, 0xbf, 0x42, 0x68, 0xb5, 0x50, 0x64, 0xd1, 0x70, 0xc1, 0x74, 0x7b, 0x4a, - 0xab, 0xee, 0x61, 0xc3, 0xb3, 0xd2, 0x43, 0xa5, 0xbe, 0x8d, 0x09, 0x2c, 0xab, 0x94, 0xe1, 0xdb, 0x09, 0x55, 0x27, - 0x06, 0x15, 0xeb, 0x86, 0x2d, 0xe1, 0x10, 0x8b, 0x49, 0x63, 0x9d, 0x0d, 0x78, 0xc4, 0x12, 0xf8, 0x67, 0xc3, 0xc7, - 0x6c, 0xc9, 0xa3, 0xc9, 0xe6, 0x6a, 0xd9, 0xef, 0x97, 0x5e, 0xe8, 0xd5, 0xb3, 0xec, 0x69, 0x34, 0x9f, 0xe5, 0x73, - 0x1f, 0x15, 0x17, 0x93, 0xc1, 0x60, 0xe3, 0x67, 0xc3, 0x21, 0x4b, 0x86, 0xc3, 0x49, 0xf6, 0x14, 0x5e, 0x7b, 0xca, - 0x23, 0xb5, 0xa4, 0x92, 0xab, 0x0c, 0xf6, 0xf7, 0x01, 0x8f, 0x7c, 0xd6, 0xf9, 0x69, 0xd9, 0x74, 0xe9, 0x7e, 0x66, - 0x75, 0x40, 0xa9, 0x3b, 0xc0, 0xc6, 0xdb, 0x06, 0x1d, 0xf9, 0xb7, 0x3b, 0xa4, 0xd4, 0x4d, 0x06, 0x60, 0x37, 0x1a, - 0xe0, 0x90, 0xa9, 0x5e, 0x8a, 0xac, 0x5e, 0xca, 0x54, 0x2f, 0xc9, 0xca, 0x25, 0x58, 0x48, 0x4c, 0x95, 0xdb, 0xc8, - 0xca, 0x2d, 0x1b, 0xae, 0x87, 0x83, 0xad, 0x15, 0x97, 0xcd, 0x1d, 0xdc, 0x17, 0x56, 0x14, 0xf8, 0x7f, 0xcb, 0x16, - 0xec, 0x5e, 0x1e, 0x03, 0xef, 0xd0, 0x31, 0x09, 0x2e, 0x10, 0xf7, 0xec, 0x16, 0xec, 0xb0, 0xf0, 0x17, 0x5c, 0x27, - 0xc7, 0x6c, 0x87, 0x8f, 0x42, 0xaf, 0x60, 0xb7, 0x3e, 0x01, 0xed, 0x82, 0xad, 0x01, 0xb2, 0xb1, 0x2d, 0x3e, 0xba, - 0x3b, 0x1c, 0xde, 0x79, 0x3e, 0x7b, 0xc0, 0x1f, 0xe7, 0x77, 0x87, 0xc3, 0xce, 0x33, 0xea, 0xbd, 0x1b, 0x9e, 0xb0, - 0x0f, 0x3c, 0x99, 0xdc, 0x5c, 0xf1, 0x78, 0x32, 0x18, 0xdc, 0xf8, 0x0b, 0x5e, 0xcf, 0x6e, 0x40, 0x3b, 0x70, 0xbe, - 0x90, 0xba, 0x66, 0xef, 0x96, 0x67, 0xde, 0x02, 0xc7, 0xe6, 0x16, 0x8e, 0xde, 0x7e, 0xdf, 0xbb, 0xe3, 0x91, 0x77, - 0x4b, 0x2a, 0xa6, 0x15, 0x57, 0x1c, 0x6f, 0x5b, 0xdc, 0x4f, 0x57, 0x3c, 0x84, 0x47, 0x58, 0x95, 0xe9, 0x4d, 0xf0, - 0xc1, 0x67, 0x2b, 0xcd, 0x02, 0xf7, 0x80, 0x39, 0xd6, 0x64, 0x27, 0x34, 0x13, 0x7f, 0x85, 0xfd, 0x73, 0xa3, 0xfa, - 0x87, 0xe6, 0x7f, 0xa9, 0xfb, 0x09, 0xdc, 0xbe, 0xc8, 0x82, 0xc4, 0x3e, 0xf0, 0x1b, 0x76, 0xcf, 0x0d, 0xdb, 0xec, - 0x99, 0x29, 0xfb, 0x44, 0xa9, 0xf1, 0x23, 0xa5, 0xae, 0x2d, 0xc3, 0x4a, 0xe6, 0xee, 0xcb, 0x08, 0x1c, 0x0e, 0xc8, - 0x4f, 0x77, 0x88, 0x83, 0xd0, 0xba, 0xc9, 0x6a, 0xae, 0x28, 0xe7, 0x42, 0x5b, 0x66, 0x5e, 0x0e, 0x2c, 0x66, 0x29, - 0x85, 0xc6, 0x02, 0x00, 0xc1, 0xa4, 0xd0, 0xda, 0x7b, 0x19, 0x40, 0x4e, 0xd0, 0xf0, 0xc7, 0xe6, 0xaa, 0x28, 0x6b, - 0xd9, 0x92, 0x10, 0x65, 0xbb, 0x1e, 0x5e, 0x22, 0x64, 0x5a, 0xbf, 0x7f, 0x4e, 0x24, 0x6b, 0x93, 0xea, 0xaa, 0x46, - 0x4b, 0x40, 0x45, 0x96, 0x80, 0x89, 0x5f, 0x69, 0x3e, 0x01, 0x78, 0xd2, 0xf1, 0xa0, 0x7a, 0xca, 0x6b, 0x26, 0x88, - 0x6c, 0xa3, 0xf2, 0x27, 0xc5, 0x35, 0x92, 0x11, 0x14, 0x4f, 0x6b, 0x95, 0xb1, 0x30, 0xcc, 0x03, 0x05, 0xe4, 0xdd, - 0xbb, 0x53, 0xdf, 0xda, 0x1f, 0x3b, 0xf6, 0x6c, 0xad, 0x42, 0x2d, 0xd4, 0x14, 0x2e, 0x39, 0x44, 0x57, 0x90, 0x81, - 0x42, 0xc6, 0x93, 0xd7, 0x83, 0xcb, 0x49, 0x74, 0xc5, 0x05, 0x3a, 0xe3, 0xeb, 0x9b, 0x6e, 0x3a, 0x8b, 0x9e, 0x56, - 0xf3, 0x09, 0x29, 0xc9, 0x0e, 0x87, 0x6c, 0x54, 0xd5, 0xc5, 0x7a, 0x1a, 0xca, 0x9f, 0x1e, 0x82, 0xaf, 0x17, 0xd4, - 0x6b, 0xb2, 0x4a, 0xf5, 0x53, 0xaa, 0x94, 0x17, 0x0d, 0x2f, 0xfd, 0xa7, 0x95, 0xdc, 0xf7, 0x80, 0xb4, 0x96, 0x97, - 0x5c, 0xbe, 0x1f, 0x21, 0xc6, 0x88, 0x1f, 0x78, 0x25, 0x8f, 0x58, 0xa8, 0xa6, 0x70, 0xcd, 0x23, 0x04, 0x79, 0xcb, - 0x74, 0xf0, 0xb7, 0x9e, 0x38, 0xdd, 0x9f, 0x28, 0xed, 0xe2, 0x0b, 0x8b, 0xba, 0x27, 0x6b, 0xeb, 0x06, 0xe4, 0x60, - 0xc3, 0x74, 0x51, 0x90, 0x6d, 0x4a, 0x23, 0x68, 0xa3, 0xe5, 0xc0, 0x86, 0x53, 0xa9, 0x0d, 0x67, 0xae, 0x21, 0xb8, - 0xcf, 0xcf, 0xd3, 0xd1, 0x02, 0x3e, 0xa4, 0xba, 0xbd, 0xc4, 0xcf, 0x87, 0x0d, 0x8f, 0x80, 0xcc, 0x8e, 0xf8, 0xcc, - 0x26, 0x92, 0x4e, 0xea, 0x5c, 0x01, 0xbb, 0x9d, 0xbd, 0x03, 0x39, 0x62, 0xe6, 0xbe, 0x42, 0xf5, 0x2d, 0x1a, 0x70, - 0x65, 0xac, 0x7d, 0x4d, 0x32, 0x16, 0x5e, 0x95, 0xd3, 0x70, 0x00, 0x30, 0x74, 0x19, 0x7d, 0x6d, 0xb9, 0xc9, 0xb2, - 0x9f, 0x0b, 0x08, 0x82, 0x28, 0x89, 0xc7, 0x07, 0xbc, 0x2f, 0xab, 0xa1, 0x46, 0xc9, 0xc7, 0xb2, 0x91, 0x4a, 0xaf, - 0x44, 0x7f, 0x37, 0xe6, 0x12, 0x03, 0xbe, 0xab, 0xda, 0x82, 0xc2, 0x79, 0x7e, 0x38, 0x9c, 0xe7, 0x23, 0xe3, 0x59, - 0x06, 0xaa, 0x95, 0x69, 0x1d, 0xc4, 0x66, 0xbe, 0x58, 0xf8, 0x8b, 0x9d, 0x93, 0x88, 0x28, 0x08, 0xec, 0x48, 0x78, - 0x10, 0xa9, 0x5f, 0x55, 0x9e, 0xee, 0x54, 0x9f, 0xed, 0x17, 0x36, 0x91, 0x5e, 0x50, 0x32, 0xf9, 0x24, 0xd8, 0xab, - 0xfe, 0x0e, 0xc2, 0x86, 0xf0, 0xe6, 0x55, 0xaf, 0xb3, 0x4c, 0xcd, 0x4a, 0x90, 0x30, 0x63, 0x8e, 0xe0, 0x71, 0xd8, - 0x69, 0x6c, 0xc3, 0x63, 0x0b, 0x8e, 0xce, 0x5b, 0xb3, 0x3b, 0xb6, 0x62, 0xb7, 0xaa, 0x4e, 0x0b, 0x1e, 0x4e, 0x87, - 0x97, 0x01, 0xae, 0xbe, 0xf5, 0x39, 0xe7, 0x77, 0x74, 0x82, 0xad, 0x07, 0x3c, 0x9a, 0x88, 0xd9, 0xfa, 0x69, 0xa4, - 0x16, 0xcf, 0x7a, 0xc8, 0x17, 0xb4, 0xfe, 0xc4, 0xec, 0xce, 0x24, 0xdf, 0x0d, 0xf8, 0x62, 0xb2, 0x7e, 0x1a, 0xc1, - 0xab, 0x4f, 0xc1, 0x8a, 0x91, 0x39, 0xb3, 0x6c, 0xfd, 0x34, 0xc2, 0x31, 0xbb, 0x7b, 0x1a, 0xd1, 0xa8, 0xad, 0xe4, - 0xbe, 0x74, 0xdb, 0x80, 0xb0, 0x72, 0xcb, 0x62, 0x78, 0x0d, 0xc4, 0x33, 0x6d, 0x24, 0x5d, 0x4b, 0x43, 0x6f, 0xcc, - 0xc3, 0x69, 0x1c, 0xac, 0xa9, 0x15, 0xf2, 0xcc, 0x10, 0xb3, 0xf8, 0x69, 0x34, 0x67, 0x2b, 0xac, 0xc8, 0x86, 0xc7, - 0x83, 0xcb, 0xc9, 0xe6, 0x8a, 0xaf, 0x81, 0xfc, 0x6c, 0xb2, 0x31, 0x5b, 0xd4, 0x2d, 0x17, 0xb3, 0xcd, 0xd3, 0x68, - 0x3e, 0x59, 0x41, 0xcf, 0xda, 0x03, 0xe6, 0xbd, 0x01, 0x11, 0x4a, 0x42, 0x6a, 0xca, 0x4d, 0xaf, 0xc7, 0xd6, 0xe3, - 0xe0, 0x8e, 0xad, 0x2f, 0x83, 0x5b, 0xb6, 0x1e, 0x03, 0x11, 0x07, 0xf5, 0xbb, 0xb7, 0x81, 0xc5, 0x17, 0xb1, 0xf5, - 0xa5, 0x49, 0xdb, 0x3c, 0x8d, 0x98, 0x3b, 0x38, 0x0d, 0x5c, 0xb0, 0x36, 0x99, 0xb7, 0x62, 0x70, 0x09, 0x59, 0x7a, - 0x31, 0xdb, 0x0c, 0x2f, 0xd9, 0x7a, 0x84, 0x53, 0x3d, 0xf1, 0xd9, 0x1d, 0xbf, 0x65, 0x09, 0x5f, 0x35, 0xf1, 0xd5, - 0x06, 0x34, 0xa2, 0x47, 0x19, 0xf4, 0x15, 0xd4, 0xcc, 0x9c, 0x57, 0x16, 0x46, 0xe5, 0xbe, 0x05, 0x07, 0x14, 0xa4, - 0x6d, 0x80, 0x20, 0x89, 0x67, 0xf7, 0x2a, 0x5c, 0xdf, 0x48, 0x61, 0xc0, 0x4d, 0x60, 0x06, 0x0c, 0x4c, 0x3f, 0x83, - 0x1f, 0x56, 0xba, 0x44, 0x88, 0xb3, 0x9f, 0x52, 0x92, 0xcc, 0xf3, 0xd7, 0x22, 0xcd, 0xdd, 0xc2, 0x75, 0x0a, 0xb3, - 0xa2, 0x40, 0xf5, 0x53, 0x52, 0x1a, 0x58, 0xa8, 0x44, 0xa6, 0x52, 0xf0, 0xcb, 0xe6, 0x3c, 0xca, 0x8e, 0xd1, 0xb9, - 0xce, 0x2f, 0x27, 0xce, 0xe9, 0xa4, 0xef, 0x3f, 0x70, 0x0c, 0x5b, 0xc8, 0xc0, 0x85, 0x3f, 0xf5, 0x84, 0x71, 0x6a, - 0x05, 0x62, 0x2a, 0x79, 0xf6, 0x14, 0x3e, 0x13, 0x5a, 0x1d, 0x5d, 0xf8, 0x7e, 0x50, 0x68, 0x93, 0x74, 0x0b, 0x92, - 0x14, 0x3c, 0x45, 0xcf, 0x39, 0x6f, 0x03, 0x95, 0x62, 0x44, 0x0b, 0x22, 0x6d, 0x2d, 0x33, 0x07, 0x69, 0x4b, 0xf3, - 0x5d, 0x13, 0x3f, 0x87, 0x05, 0x5c, 0x44, 0x0b, 0x5b, 0xc3, 0xa3, 0x2a, 0x56, 0xee, 0x4d, 0x9e, 0x23, 0x9c, 0xd1, - 0xa5, 0x4c, 0x00, 0x5c, 0xef, 0xd7, 0x61, 0xad, 0xf0, 0x8a, 0x9a, 0x45, 0x5e, 0xd4, 0xf4, 0xc9, 0x16, 0xb8, 0x8f, - 0x45, 0x89, 0x02, 0x67, 0x2d, 0x18, 0xb0, 0x15, 0x96, 0xec, 0xa4, 0xb0, 0x29, 0x5a, 0x42, 0x6f, 0x8f, 0x9f, 0x0e, - 0x6a, 0x26, 0x03, 0x68, 0x02, 0x68, 0x3c, 0xfe, 0x05, 0xa0, 0xa6, 0x37, 0xb5, 0x58, 0x57, 0x41, 0xa9, 0x94, 0x9b, - 0xf0, 0x33, 0x30, 0xcc, 0xf0, 0x43, 0x21, 0xb7, 0x89, 0x12, 0x39, 0x3f, 0x16, 0xa5, 0x58, 0x96, 0xa2, 0x4a, 0xda, - 0x0d, 0x05, 0x8f, 0x08, 0xb7, 0x41, 0x63, 0xe6, 0xf6, 0x44, 0x17, 0xad, 0x08, 0xe5, 0xd8, 0xac, 0x63, 0xa4, 0x51, - 0x66, 0x27, 0xbb, 0x4e, 0x16, 0xda, 0xef, 0xab, 0x1c, 0xb2, 0x0e, 0x58, 0x23, 0xf9, 0x7a, 0xcd, 0xa1, 0xdb, 0x46, - 0x79, 0xf1, 0xe0, 0xf9, 0x0a, 0x4e, 0x73, 0x3c, 0xb1, 0xbb, 0x5e, 0x77, 0x8a, 0x44, 0xbc, 0xc2, 0x49, 0x95, 0x8f, - 0x64, 0xe1, 0xb8, 0x73, 0xa7, 0xb5, 0x58, 0x55, 0x2e, 0xeb, 0xa9, 0xc5, 0x11, 0x81, 0x4f, 0xe5, 0xd1, 0x5e, 0x68, - 0x5b, 0x14, 0x0b, 0x61, 0xf4, 0xe8, 0x84, 0x9f, 0x94, 0xc0, 0xfa, 0x3a, 0x1c, 0x96, 0x7e, 0xc4, 0xd1, 0xef, 0x34, - 0x1a, 0x2d, 0x08, 0x69, 0x78, 0xea, 0x45, 0xa3, 0x45, 0x5d, 0xd4, 0x61, 0x76, 0x9d, 0xeb, 0x81, 0xc2, 0x30, 0x02, - 0xf5, 0x83, 0xab, 0x0c, 0x3e, 0x8b, 0x10, 0x35, 0x0f, 0x4c, 0xb3, 0x21, 0x1c, 0x75, 0x81, 0x87, 0x56, 0xd0, 0x62, - 0x66, 0x3e, 0x0a, 0x31, 0x7c, 0x48, 0x17, 0xe7, 0x4f, 0xc8, 0xca, 0x07, 0xd8, 0x1d, 0xba, 0x0b, 0xe5, 0x9c, 0xa9, - 0x18, 0xe0, 0x47, 0x01, 0xf9, 0x28, 0x01, 0x37, 0x03, 0x64, 0x8f, 0x2c, 0x01, 0xc4, 0x8a, 0xd1, 0xd1, 0xe4, 0x73, - 0xdf, 0x8b, 0x14, 0xbc, 0xb3, 0xcf, 0x72, 0x35, 0x61, 0x28, 0x7c, 0x62, 0xa0, 0x9b, 0xdf, 0xf8, 0xed, 0x79, 0x0b, - 0x46, 0x76, 0x49, 0x8a, 0xd7, 0x9a, 0xe1, 0x7e, 0x03, 0x6e, 0x47, 0x40, 0x59, 0x53, 0x1d, 0x93, 0x6c, 0xd3, 0x10, - 0xc9, 0x80, 0x19, 0x31, 0x22, 0xa8, 0x2c, 0x17, 0xfe, 0x77, 0x2f, 0x8b, 0x02, 0x07, 0x70, 0x35, 0x93, 0xc1, 0x6b, - 0x17, 0x46, 0x05, 0xc0, 0x39, 0x0d, 0x9d, 0xd2, 0x5e, 0x55, 0x1d, 0x92, 0x55, 0xf3, 0x83, 0xd9, 0xbc, 0x69, 0x98, - 0x18, 0x11, 0x44, 0x17, 0xe1, 0x04, 0xd3, 0x2b, 0xd2, 0xd7, 0x4a, 0x4e, 0x47, 0xab, 0x8e, 0xd6, 0x12, 0x13, 0x73, - 0x45, 0xf1, 0xd7, 0x80, 0xc7, 0x0d, 0x5e, 0x9d, 0xa4, 0xe9, 0x44, 0xf5, 0xe8, 0xf1, 0xeb, 0x34, 0x9d, 0x94, 0xb8, - 0x2b, 0xfc, 0x06, 0x5c, 0x34, 0xdb, 0x7c, 0xe8, 0xc7, 0x2f, 0x28, 0xe2, 0xa2, 0x06, 0x57, 0xde, 0xa9, 0xbe, 0x52, - 0x7d, 0x04, 0xb5, 0xf0, 0xc4, 0xc8, 0x5a, 0x78, 0x72, 0xc9, 0x5a, 0x0b, 0x82, 0x99, 0xcd, 0x81, 0x0b, 0xf9, 0x95, - 0x52, 0xc4, 0x9b, 0x48, 0xa8, 0xc5, 0xa0, 0xf5, 0x98, 0x39, 0xab, 0x46, 0x0b, 0x95, 0x19, 0xa1, 0x7d, 0x5b, 0x8b, - 0xce, 0x6f, 0xe4, 0xa7, 0x3c, 0xb5, 0x2f, 0xdb, 0xe3, 0x7c, 0xbc, 0x47, 0x77, 0xd5, 0x59, 0x66, 0x52, 0xc6, 0x27, - 0xb3, 0x04, 0x85, 0xbb, 0x04, 0x1b, 0x90, 0x64, 0xbf, 0xd5, 0x01, 0x32, 0x6a, 0xaf, 0xfd, 0xae, 0xb3, 0x7c, 0x75, - 0xb3, 0x35, 0x14, 0x95, 0x5a, 0x49, 0x8a, 0x83, 0x0c, 0xd7, 0x6d, 0xe5, 0xc3, 0xc5, 0x05, 0xf4, 0x8c, 0x91, 0xc8, - 0x3c, 0x7f, 0x22, 0x5f, 0x82, 0x73, 0xc6, 0x59, 0x21, 0x30, 0x61, 0xac, 0xde, 0xb5, 0x96, 0x4a, 0x43, 0x8a, 0xb1, - 0xa3, 0x51, 0x96, 0x55, 0x96, 0x2e, 0xb3, 0xb5, 0x84, 0x2d, 0xab, 0xc8, 0x2d, 0x6c, 0x99, 0xc9, 0x6a, 0x7e, 0xa8, - 0xb8, 0x83, 0xf2, 0xcd, 0xd6, 0x19, 0xdf, 0x4b, 0x64, 0xef, 0x36, 0x50, 0xc2, 0xf5, 0xe8, 0x3f, 0x90, 0x7e, 0x9b, - 0x61, 0x9c, 0x72, 0x5b, 0x49, 0x0b, 0x70, 0xfa, 0x87, 0xc3, 0x87, 0x0a, 0x83, 0x06, 0x47, 0x18, 0x47, 0xd6, 0xef, - 0xdf, 0x56, 0x5e, 0x8d, 0x89, 0x3a, 0x3e, 0xab, 0xdf, 0xaf, 0xe8, 0xe1, 0xb4, 0x1a, 0xad, 0xd2, 0x2d, 0xb2, 0x13, - 0xda, 0x58, 0xf9, 0x41, 0xad, 0x80, 0xd9, 0x5b, 0x9f, 0x4f, 0x07, 0xa0, 0x63, 0x01, 0x12, 0xcd, 0x66, 0x22, 0x31, - 0x27, 0xdd, 0x93, 0xf0, 0xf8, 0xc0, 0x02, 0x07, 0x98, 0x8a, 0xff, 0x43, 0x78, 0x33, 0xb0, 0x41, 0xa3, 0x44, 0x5f, - 0xa3, 0xab, 0xda, 0xdc, 0xe8, 0x78, 0xe9, 0x29, 0x24, 0xb2, 0x82, 0x55, 0x73, 0x5f, 0x6e, 0xe0, 0xb4, 0x87, 0x9a, - 0x43, 0x65, 0x09, 0xfe, 0xf6, 0xcb, 0xfc, 0x70, 0x58, 0x67, 0x50, 0xd8, 0x6e, 0x2d, 0xb4, 0x37, 0x66, 0xa9, 0x86, - 0x8a, 0x70, 0xd0, 0xf9, 0x4a, 0xcc, 0xea, 0x11, 0xfd, 0x3d, 0x3f, 0x1c, 0x56, 0x04, 0x06, 0x1c, 0x96, 0x32, 0x13, - 0x2d, 0x14, 0x4b, 0xeb, 0x6c, 0x46, 0x75, 0xe0, 0x81, 0x89, 0x39, 0x0b, 0x77, 0x00, 0xda, 0xa4, 0x56, 0x81, 0x5e, - 0x45, 0xf4, 0x13, 0xf7, 0x6b, 0xfb, 0xf5, 0x7a, 0x64, 0x96, 0x8e, 0xdc, 0x18, 0x0b, 0x00, 0x0e, 0x3c, 0xaf, 0x49, - 0x9e, 0x93, 0xaf, 0xa1, 0xdd, 0x93, 0x0b, 0xf9, 0x13, 0x94, 0x2d, 0x3c, 0x57, 0x4d, 0x2b, 0x8b, 0x15, 0x57, 0xd5, - 0xab, 0x0b, 0x5e, 0x99, 0x4c, 0xab, 0xb4, 0x12, 0x95, 0x12, 0x0c, 0xa8, 0x4b, 0xbc, 0xd6, 0x34, 0xa3, 0xd4, 0x46, - 0x9d, 0x89, 0x1a, 0xb0, 0xc1, 0x7e, 0xaa, 0x36, 0x3a, 0x39, 0x97, 0xcf, 0x2f, 0x8d, 0xc3, 0xa7, 0x5d, 0xbd, 0x99, - 0xa9, 0x1c, 0xf8, 0x6b, 0xe5, 0x43, 0xab, 0xc7, 0x40, 0x07, 0xe4, 0xf4, 0xc7, 0xb0, 0x98, 0xd8, 0x1d, 0x9a, 0xb7, - 0xbb, 0xcb, 0xea, 0x22, 0xbd, 0xd3, 0x94, 0xcc, 0xea, 0x2d, 0x9f, 0x59, 0x3d, 0x3a, 0xe0, 0xc5, 0x63, 0xbd, 0x57, - 0x98, 0x49, 0x04, 0x17, 0x43, 0x35, 0x89, 0xec, 0x0e, 0xb4, 0xe6, 0x51, 0xc5, 0x04, 0xf8, 0x41, 0xa9, 0x35, 0xbd, - 0xb7, 0xbb, 0x42, 0x9d, 0x52, 0x78, 0xdc, 0x5a, 0xf2, 0x03, 0x73, 0xa7, 0x5d, 0xeb, 0x7c, 0x3c, 0xbf, 0xf4, 0xfd, - 0x46, 0x9e, 0xd0, 0x66, 0x67, 0x72, 0xfa, 0x27, 0x6f, 0xf5, 0x0f, 0x53, 0x7d, 0x0b, 0xdd, 0x09, 0xfa, 0x0c, 0x5d, - 0x55, 0xdd, 0x95, 0xd8, 0xc2, 0x50, 0x4f, 0x2c, 0xf2, 0x42, 0x9e, 0xb4, 0xc6, 0x8e, 0x83, 0xbd, 0x01, 0x4e, 0xfc, - 0xf2, 0x70, 0x10, 0x57, 0xb9, 0xcf, 0xce, 0xbb, 0x46, 0x56, 0x0e, 0x60, 0x05, 0x51, 0x30, 0x6e, 0xcd, 0xc7, 0x36, - 0x48, 0x97, 0xb8, 0x1a, 0x1f, 0xbf, 0xa1, 0x58, 0x26, 0x9b, 0x88, 0x8b, 0x8b, 0xfc, 0xe9, 0x73, 0x20, 0x2d, 0xeb, - 0xf7, 0xa3, 0xeb, 0xcb, 0xe9, 0xf3, 0x61, 0x14, 0x80, 0x63, 0x97, 0xbd, 0xbc, 0x8c, 0xf9, 0xea, 0x92, 0x59, 0xa6, - 0xb0, 0xc8, 0x37, 0x03, 0xaa, 0x4b, 0x56, 0x4b, 0xd7, 0x2b, 0xc0, 0xd2, 0xe5, 0x37, 0x0f, 0x61, 0x6a, 0x40, 0x23, - 0x6b, 0xee, 0x4e, 0x73, 0x2d, 0x50, 0xea, 0x79, 0x3f, 0x33, 0xe4, 0xeb, 0x32, 0xe8, 0x0a, 0xd2, 0x3d, 0x8f, 0x48, - 0x2f, 0xf7, 0xd2, 0xe9, 0x7e, 0x5f, 0x0a, 0xb0, 0xd4, 0x97, 0xe2, 0x0b, 0x28, 0x2c, 0x1a, 0xdf, 0x08, 0xd0, 0xd6, - 0x50, 0x4d, 0x7b, 0xa5, 0xa8, 0x7a, 0x41, 0xaf, 0x14, 0x5f, 0x7a, 0x7a, 0xa8, 0xcc, 0x97, 0xa5, 0xa3, 0xff, 0x09, - 0x35, 0x17, 0x9c, 0x10, 0x33, 0x31, 0x07, 0x50, 0x09, 0xda, 0xf8, 0x56, 0x47, 0x1b, 0x9f, 0xea, 0x55, 0xdc, 0xf4, - 0x79, 0x6d, 0x2d, 0x73, 0x42, 0xd8, 0x74, 0x2f, 0x01, 0x2a, 0xf2, 0x4a, 0x78, 0x04, 0xcb, 0x2f, 0x7f, 0xc8, 0xd3, - 0x15, 0xa2, 0x75, 0xdc, 0xb3, 0xcc, 0xa5, 0xb1, 0x7f, 0x63, 0x30, 0x7d, 0x7d, 0xbb, 0x2d, 0xf2, 0x53, 0x13, 0x13, - 0xd6, 0x63, 0x45, 0xdf, 0xbc, 0x0f, 0x57, 0x02, 0x05, 0x0e, 0x25, 0x12, 0xdb, 0x54, 0xa1, 0x88, 0x07, 0x49, 0x9f, - 0x2e, 0x5a, 0x9f, 0x06, 0x98, 0x5a, 0xcb, 0x81, 0x39, 0x84, 0xab, 0xb8, 0xf0, 0xd1, 0xd3, 0xb7, 0x98, 0x85, 0xf3, - 0x89, 0xf7, 0xc9, 0x2b, 0x46, 0xe6, 0xe3, 0x3e, 0x2a, 0x95, 0xf4, 0xcf, 0xc3, 0x61, 0x56, 0xcd, 0x7d, 0x87, 0x3e, - 0xd2, 0x43, 0x95, 0x0b, 0xca, 0xde, 0x18, 0x93, 0x08, 0x94, 0xc6, 0x78, 0x1f, 0x07, 0xc7, 0x79, 0x9f, 0x06, 0x90, - 0xda, 0x27, 0x3e, 0x90, 0x92, 0xc3, 0x73, 0x8e, 0x39, 0xa1, 0xb4, 0x22, 0xac, 0xe2, 0x8b, 0x0c, 0xe5, 0xba, 0x53, - 0x0a, 0x26, 0x39, 0x24, 0x18, 0xfe, 0xaa, 0x79, 0x13, 0x2b, 0x10, 0x76, 0xcd, 0xbc, 0x1a, 0x3d, 0xa9, 0x92, 0xb0, - 0x14, 0x70, 0x54, 0x66, 0x9e, 0x61, 0x6f, 0x78, 0x62, 0x18, 0x39, 0x58, 0xee, 0x8f, 0xea, 0x44, 0xe4, 0x1e, 0x5d, - 0x60, 0x54, 0x16, 0x9e, 0x37, 0x74, 0xa5, 0x41, 0x25, 0xd9, 0xf1, 0x57, 0x5c, 0x03, 0x6a, 0x6b, 0x8c, 0x18, 0x0a, - 0x18, 0x05, 0xaf, 0xed, 0x0f, 0x21, 0x8b, 0xb2, 0xf5, 0x1b, 0x1c, 0xf3, 0x59, 0xc9, 0x5d, 0xef, 0x70, 0x16, 0x5a, - 0x42, 0x9e, 0xdc, 0x31, 0x48, 0xd3, 0x58, 0x1a, 0x01, 0x27, 0x22, 0xd9, 0xc6, 0x52, 0x38, 0x02, 0x08, 0x08, 0x74, - 0x53, 0x66, 0x18, 0xd3, 0xc1, 0xc8, 0xf3, 0xa4, 0x67, 0xbc, 0x57, 0xe1, 0x29, 0xa4, 0xc9, 0xf6, 0xf5, 0xfc, 0xbd, - 0x11, 0x64, 0xe5, 0x96, 0x73, 0x3c, 0x2c, 0xbe, 0x71, 0xf6, 0x55, 0x4e, 0x9e, 0x62, 0x96, 0x91, 0xde, 0x29, 0xe6, - 0x05, 0xfc, 0xa9, 0x2c, 0xf5, 0x39, 0x4a, 0x6f, 0x99, 0x4f, 0x56, 0x91, 0x74, 0xe9, 0x6d, 0xfa, 0xfd, 0x78, 0xa4, - 0x0e, 0x35, 0x7f, 0x1f, 0x8f, 0xe4, 0x19, 0xb6, 0x61, 0x09, 0x0b, 0xad, 0x82, 0x31, 0x80, 0x24, 0x36, 0x22, 0x1a, - 0x8c, 0xf6, 0xe6, 0x70, 0x38, 0xdf, 0x98, 0xb3, 0x64, 0x0f, 0xae, 0xaf, 0x3c, 0x31, 0xef, 0xc0, 0x97, 0x79, 0x4c, - 0x10, 0xb1, 0x99, 0xb7, 0x61, 0x35, 0x78, 0xb0, 0x83, 0xeb, 0x23, 0xb6, 0x28, 0xd6, 0x3a, 0x96, 0xca, 0x3a, 0x38, - 0xad, 0x63, 0xd3, 0x8c, 0x94, 0x22, 0xfb, 0x1c, 0xfb, 0x7b, 0x37, 0xb8, 0xba, 0x36, 0x06, 0xb5, 0xc6, 0x1d, 0xe6, - 0xce, 0xa9, 0x80, 0x7a, 0x4c, 0x57, 0x50, 0x3d, 0xab, 0xc8, 0x97, 0xdf, 0xda, 0x39, 0x20, 0x68, 0x04, 0x02, 0x17, - 0x0d, 0xb4, 0x6a, 0x97, 0x72, 0xde, 0x05, 0x84, 0xf8, 0x2e, 0x05, 0x7d, 0x3a, 0x83, 0x4d, 0x6c, 0x3e, 0x81, 0x58, - 0x34, 0xdd, 0xe7, 0x5a, 0x33, 0x5f, 0x8c, 0x68, 0x67, 0xd6, 0xdd, 0x22, 0xb7, 0x5a, 0x88, 0x64, 0xf4, 0x6c, 0x33, - 0xe1, 0xa2, 0x43, 0x39, 0x23, 0x01, 0x13, 0xb4, 0xb6, 0x52, 0xf2, 0xb9, 0xee, 0x75, 0x82, 0xf6, 0x40, 0xd2, 0xba, - 0x7f, 0xb3, 0xe8, 0x8c, 0x92, 0x93, 0xeb, 0x4d, 0xce, 0x20, 0x05, 0x0b, 0xb6, 0x97, 0x39, 0xe1, 0x06, 0xf8, 0xc4, - 0x66, 0xc9, 0x69, 0x1a, 0xe4, 0xb1, 0x30, 0x1e, 0x79, 0x6d, 0x7e, 0x59, 0x40, 0x87, 0x92, 0x45, 0x23, 0xc4, 0x03, - 0xec, 0x1c, 0x92, 0xab, 0x02, 0x75, 0xd3, 0x40, 0x57, 0xae, 0x9c, 0x29, 0xa6, 0xc0, 0x85, 0x50, 0x10, 0xb5, 0xa3, - 0x93, 0xa8, 0x9c, 0xf7, 0x49, 0x75, 0x99, 0x4f, 0x0b, 0x69, 0x1a, 0xc8, 0xa7, 0x95, 0x63, 0x1e, 0xd8, 0xd9, 0xc6, - 0x35, 0x81, 0x81, 0x4e, 0xed, 0x6b, 0x51, 0xce, 0xb1, 0x8a, 0xe8, 0x7d, 0xfe, 0xb1, 0xb2, 0xa7, 0x0f, 0x22, 0x6c, - 0x54, 0xa0, 0xb1, 0x94, 0x18, 0x1b, 0x39, 0xfe, 0x2d, 0x51, 0x36, 0x64, 0x08, 0x08, 0x21, 0x6d, 0xe4, 0xf4, 0xc3, - 0xfa, 0xf2, 0x36, 0xd3, 0xfe, 0x9f, 0x24, 0x7e, 0x1b, 0xec, 0xe5, 0xd4, 0x9f, 0x7a, 0xc4, 0xe3, 0xb5, 0x46, 0x8f, - 0x29, 0xe9, 0x36, 0xc8, 0x53, 0xe5, 0x29, 0x48, 0x26, 0x8c, 0x25, 0x04, 0x8b, 0x72, 0xc1, 0x73, 0x5e, 0x71, 0x09, - 0xf7, 0x51, 0xcb, 0x8a, 0x08, 0x55, 0x89, 0x9c, 0x3e, 0x5f, 0x01, 0xcf, 0x04, 0x04, 0x3a, 0xc6, 0x48, 0xa3, 0x0a, - 0xbe, 0x04, 0xc6, 0x3a, 0x50, 0x76, 0x9a, 0x91, 0xe0, 0xb2, 0x7b, 0x83, 0x44, 0xa9, 0xaf, 0x49, 0x49, 0xfa, 0x4e, - 0xd4, 0x78, 0x25, 0x56, 0x11, 0x09, 0x64, 0xa8, 0x21, 0x62, 0x55, 0x3d, 0x75, 0xaf, 0x8a, 0xc9, 0x60, 0x50, 0xf9, - 0x72, 0x7a, 0xe2, 0x0d, 0x0d, 0x95, 0x77, 0x5d, 0xd1, 0x4e, 0x4f, 0xb4, 0x52, 0xde, 0x42, 0x5a, 0x82, 0xa6, 0x61, - 0xa4, 0x39, 0x94, 0xba, 0x92, 0xee, 0xc6, 0x20, 0xbe, 0x64, 0xa2, 0x67, 0x3b, 0xb5, 0xa3, 0xb4, 0x25, 0xed, 0x21, - 0xa4, 0xe7, 0x2e, 0xf9, 0x98, 0x85, 0x5c, 0xdd, 0x29, 0x27, 0xe5, 0x55, 0x88, 0x4e, 0xee, 0x7b, 0x0c, 0x89, 0x40, - 0x9f, 0x73, 0x0c, 0xeb, 0xa2, 0xa1, 0xce, 0x61, 0x85, 0x98, 0x2d, 0x94, 0x30, 0x5f, 0x32, 0x9e, 0x4a, 0x06, 0x0d, - 0x80, 0x0c, 0xf8, 0xe2, 0x65, 0x60, 0xf9, 0x2b, 0x88, 0x1f, 0x6d, 0x7c, 0x38, 0xfc, 0x59, 0x53, 0x88, 0xed, 0x9f, - 0xb0, 0x19, 0xc2, 0xa3, 0x7a, 0xc0, 0x33, 0xdf, 0xc4, 0x09, 0x5a, 0x01, 0x49, 0x99, 0x1d, 0x4d, 0x64, 0xaf, 0x7a, - 0x08, 0xa7, 0xb2, 0x02, 0x75, 0x94, 0x75, 0x56, 0xc2, 0x8f, 0x30, 0xd5, 0xad, 0xc4, 0x5a, 0xa0, 0xcd, 0xd5, 0x8a, - 0xb5, 0x00, 0x0e, 0xfc, 0x1c, 0x82, 0x27, 0xf2, 0x39, 0xb8, 0x18, 0x14, 0xe0, 0x73, 0x00, 0xbc, 0xc8, 0x5d, 0x78, - 0x30, 0x8f, 0x2c, 0xab, 0x11, 0x86, 0xa3, 0x8a, 0x58, 0xbf, 0x66, 0x3b, 0xf2, 0x81, 0xdb, 0x31, 0x3e, 0xd7, 0x1e, - 0x4b, 0x96, 0x83, 0x51, 0xe6, 0x5e, 0x2d, 0xd1, 0xf3, 0x26, 0x8d, 0x9b, 0xd1, 0x93, 0x7d, 0x2d, 0xff, 0x17, 0xf4, - 0x32, 0xe8, 0x6f, 0xe1, 0x96, 0xd7, 0xfc, 0x6e, 0x41, 0xa4, 0x99, 0x5e, 0x41, 0xa4, 0x8c, 0x1a, 0x91, 0x31, 0x84, - 0x4d, 0xaa, 0x9b, 0xdb, 0xa4, 0xba, 0x10, 0xf0, 0x74, 0x44, 0xaa, 0x6b, 0x21, 0x6d, 0xe4, 0xd3, 0x3a, 0x90, 0xb1, - 0x48, 0xef, 0x7f, 0xfc, 0xcb, 0x8b, 0xcf, 0x6f, 0x7f, 0xf9, 0x71, 0xf1, 0xf6, 0xfd, 0x9b, 0xb7, 0xef, 0xdf, 0x7e, - 0xfe, 0x8d, 0x20, 0x3c, 0xa6, 0x42, 0x65, 0xf8, 0xf8, 0xe1, 0xe6, 0xad, 0x93, 0xc1, 0xf6, 0x66, 0xc8, 0xda, 0x37, - 0x72, 0x30, 0x04, 0x22, 0x1b, 0x84, 0x0c, 0xb2, 0x53, 0x32, 0xc7, 0x4c, 0xcc, 0x31, 0xf6, 0x4e, 0x60, 0xb2, 0x05, - 0x9c, 0x63, 0x99, 0x97, 0x8c, 0xc8, 0x55, 0xa1, 0xf5, 0x03, 0x5a, 0xf0, 0x0e, 0x5c, 0x64, 0xd2, 0xfc, 0xee, 0x17, - 0x82, 0xd8, 0xa7, 0x95, 0x94, 0xfb, 0x6a, 0x5b, 0xf3, 0x7c, 0x7b, 0xbf, 0x97, 0x70, 0xfe, 0x73, 0x69, 0x44, 0x2d, - 0xc0, 0x01, 0xf8, 0x1c, 0xfe, 0xb8, 0xd2, 0x96, 0x34, 0x99, 0x45, 0xfb, 0x19, 0x43, 0xd0, 0xa5, 0xc1, 0x07, 0xb1, - 0x47, 0x5e, 0xea, 0x93, 0x85, 0x04, 0xee, 0x88, 0xe1, 0xd3, 0x8a, 0xa0, 0x57, 0x8c, 0x28, 0x2e, 0xb9, 0x42, 0xa5, - 0x94, 0xfc, 0x1b, 0x65, 0x17, 0x15, 0x72, 0x56, 0xb0, 0x7b, 0x45, 0x8e, 0x8c, 0x1f, 0x04, 0x13, 0x5f, 0x0e, 0xee, - 0xbf, 0xc4, 0x3b, 0x9c, 0x29, 0x8e, 0xe4, 0x84, 0x3f, 0x64, 0x18, 0xd8, 0x9f, 0x83, 0xcf, 0xab, 0xc3, 0xbc, 0xbc, - 0xd1, 0xa7, 0xdc, 0x92, 0x8f, 0x27, 0xcb, 0x2b, 0x30, 0xd8, 0x2f, 0x55, 0x73, 0xd7, 0xbc, 0x9e, 0x2d, 0xe7, 0x6c, - 0x3f, 0x8b, 0xe6, 0xc1, 0x1d, 0x9b, 0x65, 0xf3, 0x60, 0xd5, 0xf0, 0x35, 0xbb, 0xe5, 0x6b, 0xab, 0x6a, 0x6b, 0xbb, - 0x6a, 0x93, 0x0d, 0xbf, 0x05, 0x09, 0xe1, 0x26, 0xf3, 0x80, 0xf7, 0xf8, 0xce, 0x67, 0x1b, 0x90, 0x68, 0x57, 0x6c, - 0x03, 0x17, 0xb1, 0x35, 0xff, 0xb1, 0xf2, 0x36, 0xac, 0x64, 0xe7, 0x63, 0x96, 0xe3, 0xfc, 0xf3, 0xe1, 0x01, 0xed, - 0x85, 0xfa, 0xd9, 0xa5, 0x7a, 0x36, 0x51, 0x76, 0xb3, 0xcd, 0x68, 0x71, 0x9f, 0x56, 0x9b, 0x30, 0x43, 0xcf, 0x72, - 0xf8, 0x68, 0x2b, 0x05, 0x3f, 0xbd, 0xc0, 0x2f, 0xd9, 0x51, 0x5b, 0x69, 0xdb, 0xae, 0x4a, 0x6c, 0x05, 0x2d, 0x8a, - 0xac, 0x56, 0x78, 0x60, 0xce, 0xaf, 0x61, 0x01, 0x63, 0xcf, 0x71, 0xce, 0x6b, 0x7f, 0x84, 0x8c, 0xf7, 0x0e, 0x00, - 0x5a, 0xe6, 0x38, 0xc0, 0x23, 0x56, 0x8c, 0xa2, 0xc1, 0x3b, 0xbf, 0x54, 0x56, 0x2b, 0xcd, 0x49, 0x68, 0x1b, 0xb1, - 0x6a, 0x39, 0x52, 0x35, 0x23, 0xd2, 0x07, 0xe9, 0x79, 0xdf, 0x23, 0xaa, 0xc1, 0x9e, 0xcc, 0xeb, 0xc0, 0x3e, 0xbd, - 0x6a, 0xad, 0xea, 0xce, 0xef, 0xa9, 0xd2, 0x25, 0x47, 0xb6, 0xfc, 0x74, 0x19, 0x3e, 0xa8, 0x3f, 0x25, 0xd7, 0x87, - 0x02, 0x47, 0x78, 0xac, 0x02, 0xce, 0xd7, 0x2b, 0xd1, 0xee, 0x44, 0xd8, 0x95, 0x4b, 0x40, 0x88, 0x2f, 0x69, 0x9a, - 0xe3, 0x71, 0x44, 0x13, 0x11, 0x36, 0x31, 0xfa, 0x0b, 0xbb, 0x0f, 0x25, 0x96, 0xf3, 0x5c, 0x83, 0x92, 0x4b, 0x06, - 0xef, 0x49, 0x7b, 0x0d, 0x9a, 0xe5, 0x55, 0xa9, 0xc9, 0x44, 0x0e, 0xca, 0x87, 0x43, 0x01, 0x7b, 0xa9, 0xf1, 0xd3, - 0x84, 0x9f, 0xb0, 0xbc, 0xb5, 0xb7, 0xa6, 0x14, 0x95, 0x34, 0x40, 0x05, 0x3e, 0x66, 0xf0, 0xbf, 0x3b, 0x43, 0x2c, - 0x98, 0xa2, 0xe3, 0x87, 0x33, 0x31, 0xb7, 0x9e, 0x5b, 0x65, 0x1d, 0x65, 0x6b, 0x94, 0x13, 0xf0, 0x6f, 0xa9, 0x8e, - 0x93, 0x44, 0x38, 0xf5, 0x1e, 0x71, 0x51, 0xf7, 0x72, 0x88, 0xba, 0x61, 0x6f, 0x2b, 0x1d, 0x6c, 0x39, 0x4d, 0x83, - 0x23, 0xf1, 0x2b, 0xf5, 0xd9, 0x87, 0xcc, 0xe2, 0x51, 0x47, 0x36, 0xa2, 0x24, 0x8d, 0x63, 0x91, 0xc3, 0xf6, 0xbe, - 0x90, 0xfb, 0x7f, 0xbf, 0x0f, 0xe1, 0xa4, 0x55, 0x90, 0x94, 0x9e, 0x40, 0x44, 0x38, 0x3a, 0xfc, 0x88, 0xf0, 0x44, - 0xaa, 0x0a, 0x9f, 0xd4, 0x27, 0x6e, 0xcc, 0xee, 0x85, 0x39, 0xaa, 0xb7, 0x00, 0xc3, 0x58, 0x6f, 0x2d, 0x42, 0x12, - 0xad, 0x34, 0xa3, 0xad, 0x07, 0xc4, 0x88, 0x0f, 0x6b, 0x8b, 0x0c, 0xc6, 0xda, 0x92, 0x48, 0x00, 0xbf, 0x23, 0x21, - 0x43, 0xdb, 0x46, 0x60, 0xc6, 0xf0, 0x76, 0x56, 0x5c, 0xba, 0x0e, 0xdb, 0x9c, 0xc3, 0x17, 0xb2, 0xd0, 0xac, 0x23, - 0x4a, 0x13, 0x84, 0xfc, 0x03, 0x4e, 0x16, 0x0a, 0xa3, 0x79, 0x7d, 0x94, 0x4e, 0x12, 0xeb, 0x87, 0xae, 0x52, 0xc1, - 0x66, 0x73, 0x83, 0xfa, 0xb2, 0xa3, 0xe4, 0x57, 0xe0, 0xa4, 0xe3, 0x24, 0x8b, 0x1c, 0x44, 0x2d, 0x2a, 0xe7, 0x26, - 0x09, 0x4b, 0xbb, 0x3a, 0xd5, 0x66, 0xbd, 0x2e, 0xca, 0xba, 0x7a, 0x2d, 0x22, 0x45, 0xef, 0xa3, 0x1e, 0x3d, 0x91, - 0x90, 0x0a, 0xad, 0x4a, 0xed, 0xf2, 0x08, 0xdc, 0x36, 0xb5, 0x62, 0x5b, 0x2e, 0x61, 0x89, 0x1a, 0xff, 0x19, 0xfa, - 0x28, 0x17, 0x0f, 0x32, 0x40, 0xa3, 0xe3, 0xa9, 0x79, 0xeb, 0x91, 0x57, 0x8e, 0xf2, 0x4b, 0xab, 0x4d, 0xfa, 0x15, - 0x90, 0x19, 0xed, 0x1f, 0x2d, 0x25, 0x90, 0x19, 0x98, 0x49, 0x4b, 0x43, 0x22, 0x47, 0x31, 0x4b, 0xf3, 0x3f, 0x70, - 0xc5, 0x56, 0x88, 0x34, 0xac, 0xe6, 0x1e, 0x7f, 0x51, 0x79, 0xb5, 0x5c, 0xcb, 0x4c, 0x73, 0xb3, 0xc4, 0xb1, 0x62, - 0x71, 0x51, 0xaf, 0x2b, 0x91, 0x05, 0x42, 0x1c, 0x61, 0x1a, 0xeb, 0xa9, 0x37, 0x4a, 0xab, 0x8f, 0x48, 0x28, 0xf3, - 0x23, 0xf6, 0x76, 0xec, 0xf5, 0x20, 0x0b, 0x71, 0x6c, 0x39, 0xd8, 0x6c, 0xbd, 0xcf, 0x65, 0x2a, 0xe2, 0xb3, 0xba, - 0x38, 0xdb, 0x54, 0xe2, 0xac, 0x4e, 0xc4, 0xd9, 0x0f, 0x90, 0xf3, 0x87, 0x33, 0x2a, 0xfa, 0xec, 0x21, 0xad, 0x93, - 0x62, 0x53, 0xd3, 0x93, 0x37, 0x58, 0xc6, 0x0f, 0x67, 0xc4, 0x55, 0x73, 0x46, 0x23, 0x19, 0x8f, 0xce, 0x3e, 0x66, - 0x40, 0xf2, 0x7a, 0x96, 0xae, 0x60, 0xf0, 0xce, 0xc2, 0x3c, 0x3e, 0x2b, 0xc5, 0x1d, 0x58, 0x9c, 0xca, 0xce, 0xf7, - 0x20, 0xc3, 0x2a, 0xfc, 0x43, 0x9c, 0x01, 0xb4, 0xeb, 0x59, 0x5a, 0x9f, 0xa5, 0xd5, 0x59, 0x5e, 0xd4, 0x67, 0x4a, - 0x0a, 0x87, 0x30, 0x7e, 0x78, 0x4f, 0x5f, 0xd9, 0xe5, 0x6d, 0x16, 0x77, 0x59, 0xe4, 0x4f, 0xd1, 0xab, 0x88, 0x98, - 0x34, 0x2a, 0xe1, 0xb5, 0xfb, 0xdb, 0xe6, 0xfe, 0xe1, 0x75, 0x63, 0xf7, 0xb3, 0x3b, 0x46, 0x74, 0x41, 0x3d, 0x5e, - 0x49, 0x4a, 0x05, 0x05, 0x04, 0x4e, 0x34, 0x6b, 0x3c, 0xb8, 0xe3, 0x80, 0x57, 0x03, 0x5b, 0xb2, 0xb5, 0xcf, 0xaf, - 0x63, 0x19, 0xa6, 0xbd, 0x09, 0xf0, 0xaf, 0xb2, 0x37, 0x5d, 0x07, 0x4b, 0xbc, 0x6f, 0x21, 0xdb, 0xd0, 0xdb, 0xd7, - 0xfc, 0x85, 0x97, 0xab, 0xbf, 0xd9, 0x3f, 0x00, 0x08, 0x03, 0x62, 0x56, 0x7d, 0x34, 0x71, 0xef, 0xac, 0x2c, 0x3b, - 0x27, 0xcb, 0xae, 0x87, 0x7e, 0x4d, 0x62, 0x54, 0x5a, 0x59, 0x4a, 0x27, 0x4b, 0x09, 0x59, 0xc0, 0x27, 0x46, 0x53, - 0x1b, 0x01, 0x84, 0xed, 0x28, 0x95, 0x2f, 0x54, 0x5e, 0x44, 0xe1, 0x9c, 0xe0, 0x79, 0x22, 0x46, 0xf7, 0x56, 0x32, - 0x60, 0x38, 0x84, 0x60, 0x0e, 0xda, 0x62, 0x6f, 0xe8, 0x26, 0xe2, 0xaf, 0x37, 0x45, 0xf9, 0x36, 0x26, 0x9f, 0x82, - 0xdd, 0xc9, 0xc7, 0x25, 0x3c, 0x2e, 0x4f, 0x3e, 0x0e, 0xd1, 0x23, 0xe1, 0xe4, 0x63, 0xf0, 0x3d, 0x92, 0xf3, 0xba, - 0xeb, 0x71, 0x82, 0xdc, 0x42, 0xba, 0xbf, 0x1d, 0x93, 0x00, 0xcd, 0x6b, 0x58, 0x8e, 0x9a, 0x8a, 0x6b, 0x66, 0xc6, - 0x78, 0xde, 0xe8, 0xfd, 0xb1, 0xe3, 0x2d, 0x53, 0x28, 0x66, 0x31, 0xaf, 0xe1, 0xf7, 0xac, 0x0a, 0xd4, 0x5d, 0x6f, - 0x93, 0xdc, 0x32, 0xab, 0xe7, 0x68, 0xf7, 0xfd, 0x50, 0x27, 0x82, 0xda, 0xdf, 0x61, 0xcf, 0x33, 0xeb, 0x5d, 0x15, - 0x03, 0x97, 0x2a, 0xd9, 0x21, 0x53, 0xd5, 0xf4, 0x40, 0xa5, 0x34, 0x78, 0x7a, 0x69, 0x5d, 0xbe, 0x54, 0xda, 0xc8, - 0x33, 0xcd, 0x6f, 0x00, 0x2f, 0xa6, 0x2e, 0x8b, 0xdd, 0x37, 0xf7, 0x15, 0xdc, 0xc6, 0xfb, 0xfd, 0x65, 0xe5, 0x99, - 0x9f, 0xb8, 0x00, 0xec, 0x4d, 0x85, 0xd6, 0x09, 0x94, 0x1a, 0xd6, 0xe1, 0xab, 0x44, 0x44, 0x7f, 0xb4, 0xcb, 0x75, - 0xe6, 0x3a, 0x60, 0x44, 0x11, 0xbf, 0x8d, 0x47, 0x7f, 0x80, 0xe2, 0xda, 0xd8, 0x03, 0xc2, 0x3a, 0x24, 0xf4, 0x19, - 0x01, 0x48, 0x3d, 0xe6, 0x28, 0x01, 0xcd, 0x8a, 0xe6, 0x8e, 0xc9, 0xcf, 0xf5, 0x95, 0xd2, 0xdf, 0x2f, 0x2b, 0x8f, - 0xcc, 0x29, 0x6d, 0x33, 0x8d, 0xd5, 0x9a, 0x4a, 0x20, 0xbc, 0xa2, 0x92, 0x55, 0xf8, 0x6c, 0xde, 0x88, 0x7e, 0x5f, - 0x1e, 0xe1, 0x69, 0xf5, 0xe3, 0x16, 0xe3, 0x5b, 0x01, 0xd1, 0x48, 0x00, 0xf4, 0x13, 0xc0, 0xbc, 0xc8, 0x66, 0x76, - 0x1f, 0x07, 0x54, 0x29, 0xd1, 0x34, 0xce, 0xe6, 0xf9, 0x3d, 0xbd, 0x29, 0x3b, 0xe8, 0xd4, 0xa9, 0x02, 0x17, 0x5c, - 0x95, 0x8c, 0x57, 0xd6, 0x13, 0xf9, 0xfc, 0xe6, 0x76, 0x93, 0x66, 0xf1, 0x87, 0xf2, 0x1f, 0x38, 0xb6, 0xba, 0x0e, - 0x8f, 0x4c, 0x9d, 0xae, 0x9d, 0x47, 0x5a, 0x7b, 0x21, 0x20, 0xa2, 0x5d, 0x43, 0xad, 0x17, 0x16, 0x7a, 0xa4, 0x27, - 0xc2, 0x39, 0x49, 0xd4, 0xb4, 0x03, 0x2d, 0x8d, 0xd0, 0xd7, 0xd7, 0x9c, 0xfe, 0xc2, 0x60, 0xed, 0xf3, 0x31, 0x03, - 0xb2, 0x12, 0xfd, 0x58, 0x3d, 0x34, 0x36, 0x73, 0xe8, 0x59, 0xab, 0xf2, 0xcc, 0xab, 0x0e, 0x07, 0xc4, 0x87, 0xd1, - 0x5f, 0xf2, 0xfb, 0xfd, 0xd7, 0x34, 0xff, 0x98, 0x50, 0xe3, 0x67, 0x9b, 0x01, 0xba, 0xf6, 0x5d, 0x79, 0x20, 0xea, - 0xb9, 0x56, 0x09, 0x42, 0xbc, 0x41, 0x4c, 0x34, 0x23, 0xe6, 0xe0, 0xb4, 0x43, 0xcd, 0x3f, 0x49, 0x0d, 0x08, 0x51, - 0xe2, 0x75, 0x4c, 0x59, 0x90, 0xd3, 0x26, 0x8e, 0xf4, 0xa3, 0x70, 0x22, 0x3f, 0x89, 0xaa, 0xc8, 0xee, 0xe1, 0x82, - 0xc1, 0xd4, 0x7b, 0xda, 0x2f, 0xd1, 0x6f, 0x09, 0x47, 0xce, 0xd1, 0xaa, 0x10, 0x44, 0x4e, 0x08, 0x6b, 0x0d, 0x61, - 0x82, 0xd8, 0x20, 0x5e, 0xf6, 0x5d, 0x92, 0xe1, 0x48, 0xc1, 0x65, 0x1d, 0x3b, 0xc6, 0x5c, 0x1d, 0x55, 0xaf, 0x01, - 0x8c, 0x57, 0x8e, 0xa0, 0xd9, 0x28, 0xb2, 0x4b, 0x88, 0x2a, 0x72, 0x3c, 0x01, 0xb5, 0x83, 0xd2, 0xd8, 0x4c, 0xcf, - 0xc7, 0x41, 0x3e, 0x5a, 0x54, 0xa8, 0x73, 0x62, 0x19, 0xaf, 0x01, 0x58, 0x3b, 0x57, 0xfd, 0x3c, 0xab, 0xc1, 0x93, - 0x86, 0xf8, 0x7c, 0x8c, 0xb6, 0x57, 0x36, 0x07, 0xd5, 0x76, 0x3a, 0x2b, 0xaf, 0x98, 0x2e, 0x07, 0xc6, 0x7d, 0xc3, - 0x2b, 0x8a, 0x33, 0xfc, 0xe4, 0xc1, 0x16, 0xe7, 0x4f, 0x37, 0xd4, 0x7e, 0xcc, 0x8d, 0x7a, 0x18, 0x68, 0x2d, 0x78, - 0x53, 0x10, 0xeb, 0xef, 0xc7, 0x8e, 0x6c, 0x1f, 0xb4, 0xc8, 0x68, 0xf2, 0xd9, 0xcf, 0x3f, 0x96, 0xe9, 0x2a, 0x85, - 0xfb, 0x92, 0x93, 0x45, 0x33, 0x0f, 0x81, 0xbd, 0x21, 0x86, 0xeb, 0xa3, 0xc2, 0x23, 0xca, 0xfa, 0x7d, 0xf8, 0x7d, - 0x95, 0x81, 0x29, 0x06, 0xae, 0x2b, 0x04, 0xe3, 0x21, 0x10, 0xc4, 0xc3, 0x34, 0x3a, 0x19, 0xd4, 0xa0, 0x0d, 0xdf, - 0x00, 0x64, 0x06, 0x78, 0x64, 0x2e, 0x3d, 0x02, 0xee, 0x02, 0xd7, 0x9e, 0x8c, 0xc7, 0xfe, 0xc4, 0x34, 0x34, 0x6a, - 0x4a, 0x33, 0x3d, 0x37, 0x7e, 0xd3, 0x51, 0x2d, 0xd7, 0xce, 0x7f, 0x7c, 0xc9, 0x6f, 0xd0, 0x0b, 0x5a, 0x5e, 0xee, - 0x23, 0x75, 0xb9, 0xcf, 0x28, 0x2e, 0x13, 0xc9, 0x61, 0x41, 0x2c, 0x4b, 0x38, 0xf0, 0x18, 0x95, 0x2c, 0xb6, 0xf4, - 0x58, 0x15, 0x2d, 0x5f, 0x94, 0x1b, 0xa4, 0x43, 0x27, 0x04, 0x4b, 0x54, 0x10, 0x2c, 0x81, 0x71, 0x11, 0x6b, 0xbe, - 0x19, 0xe4, 0x2c, 0x9e, 0x6d, 0xe6, 0x1c, 0x09, 0xeb, 0x92, 0xc3, 0xa1, 0x90, 0x60, 0x33, 0xd9, 0x6c, 0x3d, 0x67, - 0x6b, 0x9f, 0x81, 0x12, 0xa0, 0x94, 0x69, 0x82, 0xd2, 0xb4, 0x62, 0x2b, 0x6e, 0x5a, 0x83, 0xd5, 0x6a, 0xca, 0x56, - 0x35, 0x65, 0xe7, 0x34, 0xe5, 0xa8, 0x82, 0x92, 0x13, 0x4a, 0x51, 0x86, 0x01, 0x8c, 0xd8, 0x24, 0xba, 0xca, 0xd0, - 0xc7, 0x3b, 0xe1, 0x11, 0x54, 0x11, 0x91, 0x4f, 0x18, 0x42, 0x60, 0x22, 0x8a, 0x0b, 0x55, 0x28, 0x06, 0xc8, 0x88, - 0x04, 0x82, 0x89, 0x4a, 0x9d, 0x02, 0xf3, 0xd1, 0x54, 0x31, 0x6c, 0xda, 0x13, 0xe5, 0x7b, 0xea, 0xb8, 0x47, 0xd9, - 0xe6, 0x6f, 0x62, 0x17, 0x84, 0xc8, 0xdd, 0xb8, 0x53, 0x3f, 0x23, 0xde, 0xdb, 0x1d, 0x61, 0xfc, 0x64, 0xc7, 0x2d, - 0xc2, 0x15, 0xc1, 0x96, 0x6a, 0x0e, 0xb1, 0x98, 0x57, 0x93, 0x04, 0xb5, 0x2c, 0x89, 0xbf, 0xe1, 0xc9, 0x20, 0x67, - 0x4b, 0xf0, 0xa0, 0x9d, 0xb3, 0x0c, 0xf0, 0x57, 0xac, 0x16, 0xfd, 0x56, 0x7b, 0x4b, 0x90, 0x9f, 0x36, 0x76, 0xa3, - 0x30, 0x31, 0x82, 0x44, 0xdd, 0xae, 0x0c, 0xe4, 0x87, 0x8f, 0x38, 0x1d, 0x8f, 0x3d, 0x65, 0xcc, 0xad, 0x4c, 0x2f, - 0xd3, 0xb9, 0x92, 0x6f, 0xe4, 0x5e, 0xfa, 0xd8, 0x4b, 0xb0, 0x73, 0xc0, 0x1b, 0x48, 0x1b, 0x78, 0x03, 0xdb, 0x85, - 0xd7, 0x06, 0x09, 0x33, 0x02, 0x6c, 0x71, 0x7c, 0x8c, 0x94, 0xc0, 0x10, 0x8e, 0xb3, 0x14, 0x80, 0x69, 0xf4, 0x65, - 0xb6, 0xb2, 0x2f, 0xb3, 0x5a, 0xb3, 0xa5, 0x72, 0xba, 0x77, 0x6e, 0xdd, 0xce, 0x27, 0x12, 0x00, 0x4c, 0xea, 0x1c, - 0x88, 0x33, 0x13, 0xec, 0xd2, 0x24, 0xb2, 0x7c, 0x0a, 0xf3, 0x3b, 0xf1, 0xa6, 0x2c, 0x56, 0xaa, 0x2b, 0xda, 0x3e, - 0x33, 0xf9, 0x8c, 0x74, 0x12, 0x2a, 0xa0, 0xa0, 0x90, 0x6b, 0x7d, 0xfa, 0x3e, 0x7c, 0x1f, 0x14, 0x1a, 0x98, 0xad, - 0xc2, 0x3d, 0x4d, 0xd6, 0x48, 0xbd, 0x51, 0xf5, 0xfb, 0xe4, 0x1a, 0x48, 0x75, 0xe6, 0xd0, 0xb2, 0x27, 0x15, 0x06, - 0x88, 0x1d, 0xf5, 0x19, 0x09, 0x75, 0x20, 0xf5, 0x80, 0x21, 0x44, 0xdb, 0xf4, 0xf1, 0x27, 0x43, 0xa2, 0x0b, 0xb0, - 0x85, 0x68, 0x03, 0x3f, 0xfe, 0x04, 0xfb, 0x2c, 0x08, 0x8f, 0x69, 0xfe, 0x0e, 0x92, 0x8e, 0x0d, 0x9c, 0x56, 0x9f, - 0x82, 0x0f, 0x92, 0x1c, 0x4c, 0xd4, 0xc1, 0xcb, 0xfd, 0xa5, 0xdf, 0x87, 0x2d, 0x3b, 0x97, 0x52, 0x1d, 0x2b, 0xf5, - 0xb6, 0xad, 0xfd, 0x20, 0xda, 0x82, 0x23, 0x8b, 0xf8, 0x87, 0x0c, 0x11, 0xc1, 0xcc, 0x20, 0xc2, 0xae, 0x85, 0xba, - 0xdb, 0x53, 0x6a, 0x59, 0xd4, 0xdb, 0x9e, 0x52, 0xea, 0x36, 0x0c, 0xdf, 0x4d, 0x30, 0x53, 0xdc, 0xf0, 0x3f, 0x32, - 0x2f, 0xd4, 0x1b, 0x8f, 0x45, 0x81, 0xee, 0xf9, 0xfb, 0x25, 0xaf, 0x66, 0x1b, 0x65, 0xc2, 0xbc, 0xe3, 0xcb, 0x59, - 0x28, 0xbb, 0x5a, 0x1a, 0x77, 0xbe, 0x78, 0x4b, 0x35, 0x1f, 0xfc, 0xc3, 0x21, 0x81, 0x78, 0xa3, 0xf8, 0xea, 0xae, - 0x91, 0x5b, 0xd7, 0x64, 0x73, 0x55, 0x02, 0xea, 0xf7, 0xf9, 0x1a, 0xf7, 0x5b, 0xac, 0x7f, 0xf7, 0x34, 0xc8, 0x58, - 0xcd, 0x70, 0xc5, 0x14, 0x3e, 0x05, 0x80, 0xc1, 0xe1, 0x54, 0x90, 0x16, 0x78, 0xc3, 0xcb, 0xe1, 0xe5, 0x64, 0x43, - 0x26, 0xdd, 0x8d, 0x8f, 0xdc, 0x59, 0xa0, 0xea, 0xfd, 0x8e, 0xe2, 0xa4, 0x41, 0xa2, 0xb1, 0xd7, 0xe0, 0x8b, 0x2c, - 0xa3, 0x5c, 0x34, 0x71, 0x1f, 0x93, 0xaf, 0xf4, 0x00, 0xe6, 0x2a, 0x94, 0x00, 0xd1, 0x6f, 0x2c, 0x8b, 0x8d, 0x68, - 0x5b, 0x6c, 0x60, 0x29, 0x55, 0x73, 0xbd, 0x9a, 0xbe, 0x78, 0x25, 0x9a, 0xf7, 0xd1, 0x8c, 0x53, 0x1a, 0x0d, 0x38, - 0x4e, 0xa3, 0x70, 0xfb, 0xe1, 0x5e, 0x94, 0xcb, 0x0c, 0x2c, 0xd9, 0x2a, 0x9c, 0xe2, 0xb2, 0x51, 0x67, 0xc4, 0x8b, - 0x3c, 0x56, 0x00, 0x1d, 0x8f, 0x09, 0x80, 0xea, 0x82, 0x80, 0x8a, 0x68, 0x29, 0xbd, 0x15, 0x5a, 0x2c, 0xd4, 0x1b, - 0x8e, 0x52, 0xf8, 0x23, 0xfd, 0x79, 0x90, 0x4f, 0x01, 0x88, 0x5d, 0x1f, 0x47, 0x6f, 0x8a, 0x92, 0x3e, 0x55, 0xcc, - 0x72, 0x39, 0x98, 0xc0, 0xae, 0x4e, 0x64, 0xa8, 0x15, 0xe4, 0xad, 0xba, 0xf2, 0x56, 0x26, 0x6f, 0x63, 0x9c, 0x92, - 0x1f, 0xb9, 0xe9, 0x58, 0x23, 0x06, 0x5e, 0x79, 0x5a, 0xa7, 0x09, 0xd2, 0xe4, 0x02, 0x18, 0x86, 0xf8, 0x36, 0xf3, - 0x5e, 0x78, 0x8e, 0x54, 0x05, 0xc9, 0x6c, 0x97, 0x79, 0xea, 0x22, 0xaa, 0xaf, 0x9c, 0x5a, 0x3a, 0x73, 0xfa, 0x11, - 0xc0, 0x7b, 0x4c, 0x4d, 0x1a, 0xf2, 0x11, 0x6e, 0x4b, 0xf1, 0xf5, 0x56, 0x5d, 0xe3, 0xa5, 0xd1, 0xb9, 0x7b, 0xf9, - 0xd2, 0x9d, 0x06, 0xfd, 0x14, 0x04, 0xe5, 0x7c, 0x51, 0x0a, 0xd8, 0x53, 0x66, 0x73, 0xbd, 0x5a, 0xb5, 0x42, 0xeb, - 0x70, 0x18, 0x6b, 0x47, 0x21, 0xad, 0xce, 0x02, 0xb6, 0x1a, 0xe9, 0x94, 0x00, 0x21, 0x38, 0x4e, 0xc3, 0x4e, 0x30, - 0xee, 0xd2, 0x69, 0x44, 0xd6, 0x2b, 0x25, 0xe9, 0xc2, 0x0c, 0x92, 0x7f, 0x92, 0xd7, 0x33, 0xa0, 0x25, 0x80, 0x43, - 0x11, 0x4b, 0x78, 0x38, 0x49, 0xae, 0x00, 0x3a, 0x1d, 0x0e, 0x2a, 0x0d, 0xcd, 0x59, 0xcd, 0x92, 0xf9, 0x24, 0x96, - 0xaa, 0xca, 0xc3, 0xc1, 0x53, 0x6e, 0x06, 0xfd, 0x7e, 0x36, 0x2d, 0x95, 0x0b, 0x40, 0x10, 0xeb, 0xc2, 0x00, 0xf1, - 0x48, 0x0b, 0x4f, 0x16, 0x7d, 0x4a, 0xe2, 0x97, 0xb3, 0x64, 0x6e, 0xb2, 0xe1, 0x1d, 0x18, 0xc1, 0x66, 0x5c, 0x97, - 0x94, 0x69, 0x8f, 0xca, 0xef, 0x19, 0x3d, 0xb5, 0x7d, 0xad, 0xd5, 0x16, 0xb1, 0xae, 0x83, 0xab, 0x12, 0xf5, 0x14, - 0x1f, 0x94, 0x24, 0x78, 0xbf, 0x76, 0x6e, 0x46, 0xca, 0xd7, 0x22, 0xf7, 0x83, 0x76, 0xa6, 0x56, 0x0e, 0x1c, 0x81, - 0x1c, 0xab, 0xa8, 0xe4, 0xf5, 0xae, 0x43, 0xf0, 0xe8, 0xae, 0x54, 0xa0, 0x1c, 0x7c, 0x0d, 0x62, 0x74, 0x7d, 0xd5, - 0x59, 0x43, 0xcd, 0x34, 0xaa, 0x3c, 0x82, 0x4e, 0x1d, 0xc0, 0x93, 0x82, 0x97, 0x5a, 0xfd, 0x78, 0x38, 0x78, 0xe6, - 0x07, 0x7f, 0x95, 0xe9, 0x5b, 0x88, 0x89, 0x72, 0xaa, 0x11, 0x12, 0x57, 0x4a, 0x12, 0xf1, 0xf1, 0xa2, 0x65, 0xc5, - 0xa8, 0x0c, 0x1f, 0x78, 0xa5, 0xca, 0x57, 0xa7, 0x2a, 0x2f, 0x46, 0xda, 0x96, 0xc0, 0x6b, 0xf2, 0x0f, 0x91, 0x6b, - 0xde, 0xfa, 0xba, 0xab, 0x0c, 0x7d, 0x27, 0x2b, 0xd0, 0x11, 0x6c, 0x65, 0x29, 0x39, 0xe0, 0x93, 0xea, 0xae, 0x5a, - 0xb5, 0x3e, 0xa7, 0x6c, 0x23, 0xdc, 0xe4, 0xd7, 0xb1, 0x83, 0x23, 0xe5, 0x37, 0x78, 0x2e, 0x80, 0xbd, 0x06, 0xec, - 0xcd, 0x39, 0x2b, 0x9a, 0x47, 0x87, 0xb4, 0x2d, 0xd0, 0xc8, 0xcc, 0xed, 0x5c, 0xdd, 0xb7, 0xe5, 0x51, 0x1a, 0x43, - 0x64, 0xda, 0x23, 0xd3, 0xc1, 0x66, 0x94, 0xff, 0x9e, 0xf2, 0x5b, 0x85, 0x63, 0xe0, 0xdb, 0xa9, 0x77, 0x00, 0x55, - 0x4f, 0x1b, 0x64, 0xac, 0x19, 0x86, 0x56, 0x76, 0xb9, 0x14, 0x5a, 0x82, 0x96, 0xba, 0x09, 0x82, 0xf3, 0x23, 0xa2, - 0x1c, 0x01, 0xe8, 0x22, 0x05, 0x4c, 0xf0, 0x53, 0xda, 0xee, 0x7e, 0x7f, 0x9d, 0x7a, 0xe4, 0xde, 0x15, 0x6a, 0x94, - 0x50, 0x82, 0xb1, 0x9f, 0x68, 0xcc, 0xa0, 0xa3, 0x2b, 0x72, 0xc2, 0xb3, 0x56, 0x87, 0x75, 0xdd, 0x94, 0x41, 0x59, - 0x1c, 0xf3, 0x6a, 0x3a, 0xfb, 0xfd, 0xc9, 0xbe, 0x6e, 0x90, 0x85, 0xfc, 0x77, 0xd6, 0x43, 0x32, 0xe8, 0x1e, 0x84, - 0x42, 0xf4, 0xe6, 0xc1, 0x0c, 0xff, 0x63, 0x1b, 0x9e, 0x7d, 0xc7, 0x8d, 0x3a, 0x01, 0xcc, 0x11, 0xd7, 0x4b, 0x4f, - 0xd1, 0xd6, 0xc3, 0x2d, 0x90, 0xad, 0xf1, 0xf2, 0xd6, 0x5e, 0x03, 0x39, 0xc5, 0xf1, 0xdf, 0xf1, 0x4c, 0xad, 0x6c, - 0xf0, 0xd3, 0x53, 0xb6, 0x03, 0x0f, 0x2f, 0x42, 0x40, 0x31, 0x2c, 0x1b, 0x7f, 0x67, 0x39, 0xce, 0xe8, 0xbf, 0x79, - 0xc4, 0x30, 0x58, 0x44, 0x7e, 0x7c, 0x59, 0x0a, 0xf1, 0x55, 0x78, 0x6f, 0x2b, 0xef, 0x8e, 0x9c, 0x32, 0xef, 0xf4, - 0x30, 0xba, 0x2e, 0x49, 0xdf, 0x25, 0x1f, 0x5b, 0xc3, 0xf6, 0xbb, 0x76, 0xbf, 0x19, 0x22, 0x08, 0xa1, 0x1c, 0x3f, - 0x67, 0x74, 0x42, 0xe3, 0xc3, 0x6a, 0x76, 0x7a, 0xfd, 0xde, 0x39, 0x5e, 0xb0, 0x35, 0x1a, 0xe0, 0xf1, 0xd0, 0xc5, - 0x3c, 0x51, 0x43, 0xa7, 0xeb, 0xda, 0x39, 0x78, 0x60, 0x90, 0xe5, 0xc9, 0x77, 0x0c, 0x4b, 0xec, 0x4f, 0x22, 0x9e, - 0xb4, 0x55, 0x1b, 0x9b, 0x23, 0xd5, 0x46, 0xcd, 0xc0, 0x0f, 0x5e, 0x41, 0x81, 0xd1, 0x05, 0x69, 0x05, 0xc6, 0xe1, - 0x08, 0x40, 0x56, 0x8c, 0xe3, 0x91, 0xc1, 0x04, 0x86, 0x74, 0x43, 0x51, 0x00, 0x1e, 0x1e, 0xc7, 0x83, 0x90, 0x01, - 0xa4, 0x0b, 0x1e, 0x1a, 0xb6, 0x49, 0x48, 0xf9, 0x79, 0x9e, 0xd7, 0x6a, 0x08, 0x7d, 0x67, 0xa1, 0x3a, 0xf6, 0x23, - 0xed, 0x15, 0xeb, 0x5a, 0x95, 0x8e, 0x6c, 0x75, 0x80, 0xbe, 0x21, 0x03, 0xdf, 0x3a, 0xb6, 0x00, 0x88, 0x96, 0xf8, - 0x2d, 0xf5, 0x6a, 0x5f, 0xc6, 0xac, 0x50, 0xaf, 0x2f, 0x4c, 0xbb, 0x5e, 0x4b, 0x8b, 0x02, 0x2a, 0x6e, 0x5b, 0xb5, - 0x3d, 0x92, 0xf3, 0x1f, 0xdf, 0x75, 0xb4, 0xe3, 0xb3, 0x53, 0x63, 0x4b, 0x28, 0x73, 0x8b, 0x27, 0xb2, 0x3a, 0xda, - 0x52, 0x9d, 0xea, 0x03, 0x2e, 0x35, 0xa9, 0xce, 0x0c, 0x0c, 0xaf, 0x11, 0xa0, 0xdc, 0x42, 0x24, 0x8d, 0xc3, 0xde, - 0xf9, 0x64, 0x50, 0x30, 0xb7, 0x48, 0x40, 0x02, 0xdb, 0xd8, 0xda, 0x45, 0x73, 0xfd, 0xfa, 0x2d, 0xf5, 0xaa, 0x36, - 0x55, 0x3d, 0x78, 0xe3, 0x05, 0xce, 0xde, 0x69, 0x2d, 0x20, 0x80, 0xc2, 0xd6, 0xb2, 0x1c, 0x9c, 0xbb, 0x5d, 0xd5, - 0x52, 0x51, 0x46, 0xfd, 0xfe, 0xf9, 0x6f, 0x29, 0x2a, 0x62, 0x4f, 0x15, 0xa7, 0xac, 0xdf, 0x6e, 0x99, 0x8b, 0xca, - 0x92, 0x37, 0xa8, 0xa2, 0xb5, 0x3a, 0x6a, 0x2a, 0xd7, 0xcd, 0x55, 0x4b, 0x26, 0x88, 0xd1, 0x7d, 0xba, 0xd6, 0xb9, - 0x53, 0xef, 0xbd, 0x8a, 0x23, 0x06, 0x82, 0x9b, 0xee, 0xf1, 0xc1, 0x41, 0x68, 0x54, 0x94, 0x0b, 0x6e, 0x94, 0x56, - 0x95, 0x94, 0x42, 0xde, 0xaa, 0x68, 0xce, 0xf4, 0x11, 0x00, 0x11, 0x60, 0x95, 0xa8, 0xff, 0xcd, 0x97, 0xc6, 0x78, - 0xf0, 0xc0, 0xd7, 0xe4, 0x3a, 0xb6, 0xde, 0x3f, 0xad, 0x91, 0x56, 0x1b, 0xc7, 0xa4, 0x56, 0xbd, 0x6c, 0x15, 0x2f, - 0xbb, 0xd7, 0xa9, 0x18, 0x3c, 0xff, 0x9f, 0xfb, 0x00, 0x35, 0xa2, 0xa5, 0x0c, 0x6e, 0x5d, 0x0d, 0xd0, 0xf8, 0x70, - 0x2c, 0x7c, 0xe3, 0x87, 0x8c, 0xf3, 0xc1, 0x0c, 0x1d, 0xd5, 0xe6, 0xe0, 0x80, 0xe0, 0xa8, 0xee, 0xd1, 0x98, 0x30, - 0x0b, 0xe7, 0x1e, 0x04, 0xaa, 0x4f, 0xdc, 0x67, 0x5c, 0x7b, 0x41, 0x9b, 0xc0, 0x27, 0xeb, 0xba, 0xa6, 0x08, 0x70, - 0x11, 0x1b, 0x13, 0x31, 0xc4, 0x65, 0x93, 0x48, 0x7d, 0x33, 0x06, 0x05, 0x40, 0x71, 0x5d, 0x91, 0x5c, 0xba, 0x48, - 0xf3, 0x4a, 0x94, 0xb5, 0x6e, 0x46, 0xc5, 0x8a, 0x21, 0x00, 0x3c, 0x04, 0xc5, 0x55, 0x65, 0x26, 0x34, 0x62, 0x03, - 0xa9, 0x2c, 0x05, 0xab, 0x86, 0x85, 0xdf, 0xb4, 0xdf, 0x24, 0x27, 0xbd, 0xf3, 0x71, 0xeb, 0xdc, 0xb1, 0xef, 0x1d, - 0x85, 0x94, 0xf6, 0x50, 0x4c, 0x10, 0x04, 0x3f, 0xad, 0xc3, 0xf9, 0x33, 0x7e, 0x4d, 0x60, 0x2a, 0xb2, 0x19, 0x03, - 0x0e, 0x42, 0x44, 0x66, 0xfc, 0x9e, 0xc3, 0x6b, 0x5e, 0x4e, 0xc2, 0xe1, 0xd0, 0x07, 0x7d, 0x28, 0xcf, 0x66, 0xe1, - 0x50, 0xcc, 0xa5, 0xf7, 0x3a, 0x58, 0xeb, 0x42, 0x5e, 0x4f, 0x42, 0x44, 0x0b, 0x0d, 0x7d, 0x70, 0x5e, 0x77, 0xcd, - 0x11, 0x96, 0x00, 0x34, 0x71, 0xf4, 0x65, 0xfd, 0x7e, 0xe4, 0x69, 0x43, 0x8b, 0x14, 0x17, 0x8d, 0x32, 0x9b, 0xe5, - 0xb2, 0x13, 0x36, 0xae, 0xdd, 0x02, 0xa1, 0x78, 0x98, 0xb6, 0x50, 0xb5, 0x9e, 0xea, 0xf5, 0xdc, 0xb4, 0xfb, 0xee, - 0x51, 0xb5, 0xca, 0x91, 0xce, 0xda, 0x74, 0xa5, 0x56, 0xb7, 0x8c, 0xaa, 0x75, 0x96, 0x46, 0x54, 0xb9, 0x49, 0xee, - 0x1a, 0xb5, 0xe0, 0x93, 0x0d, 0x5d, 0xa6, 0xec, 0x6c, 0x0d, 0x4e, 0x1c, 0x79, 0x2e, 0xb9, 0xe5, 0xbb, 0xf3, 0x8a, - 0xee, 0x4e, 0xb5, 0x6f, 0x01, 0xee, 0xcd, 0xb0, 0x21, 0x73, 0x5e, 0x63, 0xa7, 0x41, 0x98, 0x04, 0x7e, 0xc4, 0x3e, - 0x66, 0xc8, 0x06, 0x03, 0x3a, 0x0a, 0xe9, 0x7f, 0x6d, 0x99, 0x23, 0x01, 0x93, 0xbf, 0x9e, 0xfb, 0xcd, 0xa2, 0xc8, - 0x61, 0x31, 0x7e, 0xdc, 0x60, 0xa4, 0xb1, 0x5a, 0x83, 0x61, 0x79, 0x87, 0xc8, 0x9f, 0xda, 0x1d, 0xd3, 0x54, 0xc7, - 0x9b, 0xf5, 0x5a, 0xf3, 0xab, 0xa7, 0x4f, 0x75, 0x7d, 0xfe, 0xdb, 0xf7, 0x97, 0x61, 0xcd, 0xec, 0x0f, 0x41, 0x28, - 0xed, 0xde, 0x2d, 0xce, 0x1d, 0x89, 0xde, 0xb1, 0xd2, 0xcc, 0x2e, 0xed, 0x92, 0x5d, 0x9a, 0xd2, 0x6e, 0xc8, 0xf5, - 0xea, 0x1b, 0xe5, 0x8d, 0x9d, 0x57, 0x4c, 0xf7, 0xef, 0x85, 0xde, 0x51, 0x4e, 0xd5, 0x04, 0x22, 0x9a, 0xb4, 0x23, - 0x71, 0xbb, 0x57, 0x86, 0xcf, 0x27, 0x79, 0xbb, 0x84, 0xa3, 0xae, 0x61, 0xb9, 0xf9, 0xf6, 0x3f, 0xf2, 0xaa, 0xb3, - 0xc2, 0xed, 0x97, 0xc6, 0xac, 0xfd, 0x29, 0x88, 0xab, 0xfa, 0xc3, 0x7b, 0x52, 0x33, 0x25, 0xff, 0x57, 0x3d, 0x06, - 0xae, 0x7e, 0x32, 0xed, 0xe8, 0x9e, 0x42, 0xd8, 0x60, 0xf6, 0xf3, 0xe3, 0x87, 0x16, 0xac, 0xaa, 0x0b, 0x14, 0xc9, - 0x01, 0x74, 0xee, 0x92, 0x11, 0xde, 0xef, 0x18, 0xe7, 0xfe, 0xd5, 0x2f, 0x6a, 0x72, 0x84, 0x88, 0x76, 0x11, 0x0e, - 0x00, 0xe2, 0x4e, 0x53, 0x59, 0x87, 0x1a, 0xa0, 0x0f, 0x08, 0xac, 0x43, 0xdf, 0x66, 0x00, 0x07, 0x7d, 0xb4, 0x79, - 0x16, 0x81, 0xbc, 0xee, 0xdd, 0xb3, 0x77, 0x6c, 0xe7, 0xf3, 0xeb, 0x55, 0xea, 0xdd, 0xa3, 0x43, 0xf0, 0xf9, 0xd8, - 0x9f, 0x5e, 0x06, 0x06, 0x17, 0x9a, 0xbd, 0x7b, 0x26, 0xd8, 0x8e, 0xed, 0x9e, 0x21, 0x52, 0x51, 0x77, 0xfe, 0xe1, - 0xa5, 0x89, 0x9e, 0x77, 0x5e, 0xb8, 0xe3, 0x4b, 0x00, 0x0f, 0x64, 0x31, 0xa0, 0xf8, 0x2c, 0xbd, 0x7f, 0xb2, 0x04, - 0xd4, 0xe4, 0xb7, 0x7c, 0xed, 0xbd, 0xa7, 0xd4, 0x05, 0xfc, 0x39, 0xa0, 0xf4, 0x49, 0xce, 0xbd, 0xbb, 0xe1, 0xad, - 0x7f, 0xf1, 0x1c, 0x9c, 0x27, 0x56, 0xc3, 0x05, 0xfc, 0x55, 0xf0, 0xa1, 0x77, 0x37, 0xc0, 0xc4, 0x92, 0x0f, 0xbd, - 0xd5, 0x00, 0x52, 0x15, 0x2e, 0x24, 0xc6, 0x3e, 0xfc, 0x1a, 0xe4, 0x0c, 0xff, 0xf8, 0x4d, 0x63, 0xb0, 0xfe, 0x1a, - 0x14, 0x1a, 0x8d, 0xb5, 0x54, 0x21, 0x4b, 0xb1, 0x38, 0x13, 0x60, 0x13, 0x8e, 0xbb, 0x7d, 0xb1, 0xaa, 0xcd, 0x5a, - 0xd0, 0x9f, 0x8f, 0xf8, 0x1e, 0x8d, 0xd5, 0x55, 0x39, 0x17, 0xe5, 0x27, 0xa4, 0x4f, 0x75, 0x7c, 0x8c, 0x8a, 0x4d, - 0xdd, 0x9d, 0x4e, 0xb5, 0xea, 0x48, 0xfb, 0x4d, 0xb9, 0x06, 0x3b, 0x5e, 0x27, 0x47, 0x96, 0xc2, 0xb3, 0x0e, 0x3b, - 0x2f, 0x9d, 0x12, 0x1d, 0x86, 0xf1, 0x6e, 0xab, 0x9e, 0x31, 0x94, 0xe7, 0x06, 0x63, 0xba, 0xe0, 0x11, 0xbf, 0x1e, - 0xe4, 0x32, 0x34, 0xe6, 0x23, 0xb2, 0x61, 0x28, 0x1f, 0x5a, 0x64, 0x48, 0x88, 0x78, 0x0f, 0x95, 0x80, 0x6d, 0x0b, - 0xca, 0xa4, 0x80, 0xb3, 0x68, 0xf0, 0x5b, 0xed, 0xe5, 0xc0, 0x7b, 0x10, 0xf9, 0x8d, 0x74, 0x29, 0x97, 0xd8, 0xe8, - 0xc4, 0xb1, 0x2c, 0xb4, 0xf3, 0xb8, 0xfe, 0x3a, 0x06, 0xf5, 0x7b, 0xa5, 0xdf, 0xa0, 0x9c, 0xfd, 0x49, 0xb2, 0x4e, - 0x1b, 0x4f, 0x8c, 0x7f, 0xb9, 0xca, 0x3f, 0x45, 0x4b, 0x3d, 0xfc, 0x7f, 0xc6, 0x14, 0x4a, 0xff, 0x2a, 0x2d, 0xa3, - 0xcd, 0x6a, 0x29, 0x4a, 0x91, 0x47, 0xe2, 0xe4, 0x6b, 0x91, 0x9d, 0xcb, 0x77, 0x3e, 0x85, 0x7e, 0x01, 0x68, 0xd9, - 0x27, 0xc8, 0xe8, 0x5f, 0x98, 0xe0, 0xc3, 0x5f, 0xb4, 0x73, 0x6d, 0xce, 0xc7, 0x93, 0xfc, 0xca, 0xda, 0xbb, 0x1d, - 0x2f, 0x12, 0xa3, 0x18, 0xcb, 0x7d, 0xd5, 0xcd, 0xca, 0x89, 0x4a, 0x0e, 0x8c, 0x74, 0x4d, 0xf6, 0x72, 0x25, 0xeb, - 0x76, 0xba, 0x95, 0x40, 0x44, 0x15, 0x78, 0x8f, 0x71, 0x15, 0xfb, 0x08, 0xa6, 0xeb, 0x8e, 0xcb, 0x68, 0xc7, 0x7b, - 0xc6, 0xab, 0x13, 0x65, 0x05, 0xb7, 0x1b, 0xd1, 0x9e, 0xd0, 0xd1, 0x4f, 0x93, 0xda, 0xb2, 0x70, 0x00, 0x72, 0x97, - 0x30, 0x96, 0x0d, 0xc1, 0x8a, 0x41, 0xe9, 0xeb, 0x35, 0x25, 0xcb, 0x02, 0x2c, 0x3a, 0xbb, 0x8c, 0x40, 0x0c, 0xeb, - 0xa6, 0x39, 0xa1, 0xe3, 0xa5, 0x8b, 0xf3, 0x5e, 0xab, 0x48, 0xc1, 0x33, 0x5a, 0x74, 0xcc, 0x4d, 0x47, 0xba, 0x31, - 0xda, 0xdb, 0x97, 0x06, 0x21, 0xc5, 0xf3, 0x07, 0xb6, 0x5a, 0x17, 0x17, 0x89, 0x57, 0xc8, 0x44, 0x0b, 0x62, 0x29, - 0x02, 0x33, 0x5e, 0x68, 0x1a, 0x61, 0x82, 0x32, 0x25, 0x58, 0xb4, 0x46, 0x87, 0xf6, 0x87, 0x25, 0xec, 0x1e, 0x63, - 0x04, 0x08, 0x54, 0x99, 0xbe, 0x84, 0xad, 0x09, 0xb3, 0xa9, 0x8b, 0x0d, 0xd0, 0x56, 0x31, 0x34, 0x08, 0x6b, 0x43, - 0xcc, 0xa7, 0x34, 0xbf, 0xfb, 0x27, 0x16, 0x63, 0x7b, 0x02, 0xb1, 0xbd, 0xdb, 0x35, 0x09, 0xd3, 0xbd, 0x16, 0x37, - 0xd6, 0xcb, 0xed, 0x29, 0xc7, 0xd4, 0x8e, 0xb5, 0x51, 0x3b, 0xd6, 0x52, 0xef, 0x58, 0x6b, 0xbd, 0x63, 0xdd, 0x35, - 0xfc, 0x63, 0xe6, 0xc5, 0x2c, 0x01, 0xfd, 0xee, 0x8a, 0xab, 0x06, 0x41, 0x33, 0x36, 0xec, 0x16, 0x7e, 0x4b, 0xac, - 0xdd, 0xd2, 0xbf, 0x58, 0xb2, 0x85, 0xe9, 0x03, 0xdd, 0x3a, 0xc0, 0x32, 0xa2, 0x26, 0xdf, 0x23, 0xef, 0xa6, 0xb3, - 0xa2, 0x70, 0x7b, 0x62, 0x0b, 0x9f, 0xbd, 0x33, 0x6f, 0xde, 0x3f, 0x8b, 0x20, 0xf7, 0x8e, 0x7b, 0xf7, 0xc3, 0x77, - 0xfe, 0x85, 0x6e, 0x81, 0x9c, 0xcc, 0x72, 0x06, 0x52, 0x47, 0x7c, 0x86, 0x68, 0x65, 0x4f, 0xf9, 0x4e, 0xc8, 0x9d, - 0x6d, 0xfd, 0xec, 0xde, 0xdd, 0xd6, 0xee, 0x9e, 0xdd, 0xb3, 0x6a, 0x44, 0xb1, 0xe2, 0x34, 0x45, 0xc2, 0x2c, 0xda, - 0x00, 0x4f, 0xbd, 0x7c, 0xbf, 0x63, 0xc7, 0x1c, 0xee, 0x9e, 0x75, 0x74, 0xbc, 0x9c, 0x03, 0x76, 0xf7, 0x1f, 0x6d, - 0xc2, 0xc6, 0x4a, 0xd7, 0x2a, 0x74, 0xb8, 0x7b, 0x96, 0x69, 0x3c, 0x87, 0x23, 0xf9, 0x74, 0xac, 0xb1, 0x41, 0x50, - 0xd7, 0xe7, 0x0c, 0x6a, 0xc7, 0xee, 0x6b, 0xc2, 0x2e, 0x3b, 0xe6, 0xb5, 0xae, 0x79, 0x7b, 0xe5, 0xa9, 0xd8, 0x10, - 0xd0, 0xe1, 0x6b, 0x75, 0x83, 0xfc, 0x4b, 0xe0, 0x14, 0x01, 0x20, 0x87, 0xe3, 0x25, 0x8f, 0x7d, 0x9f, 0x66, 0x69, - 0xbd, 0x43, 0xad, 0x45, 0x65, 0x59, 0x86, 0xb5, 0xf7, 0x83, 0x56, 0x0c, 0x4b, 0x4d, 0xff, 0x74, 0x1c, 0xb8, 0x9d, - 0xed, 0x56, 0xc6, 0x2e, 0xe3, 0x59, 0x71, 0xf1, 0xcb, 0x69, 0xa1, 0x5c, 0xbb, 0x79, 0x1b, 0xbf, 0x69, 0xb5, 0x64, - 0x69, 0xad, 0x87, 0xbc, 0xb4, 0x2c, 0x22, 0x10, 0xc0, 0x70, 0xa4, 0xec, 0x62, 0x09, 0xf7, 0x08, 0xab, 0x7b, 0x10, - 0x4a, 0xe6, 0x85, 0x8b, 0xe7, 0x2c, 0x86, 0x44, 0x80, 0xed, 0x0e, 0x15, 0xdb, 0xc2, 0xc5, 0x73, 0xb6, 0xe1, 0x45, - 0xbf, 0x9f, 0xa9, 0x4e, 0x21, 0xeb, 0xce, 0x92, 0x6f, 0x54, 0x73, 0xac, 0xa1, 0x66, 0x6b, 0x93, 0x6c, 0x8d, 0x73, - 0x5b, 0xf1, 0x71, 0xd7, 0x56, 0x7c, 0xac, 0xac, 0x75, 0xe9, 0x5e, 0xef, 0x51, 0x5d, 0x00, 0x5b, 0xff, 0xed, 0xf1, - 0xca, 0xf5, 0x7c, 0x46, 0x00, 0x5f, 0x0b, 0x3e, 0x9e, 0x2c, 0xd0, 0xab, 0x64, 0xe1, 0xdf, 0x0e, 0xd4, 0xf8, 0x3b, - 0x9d, 0xbb, 0x00, 0xe8, 0x4a, 0xca, 0x2b, 0x20, 0xef, 0x20, 0xc7, 0xdc, 0xb2, 0x2b, 0xef, 0x4f, 0xbe, 0xc3, 0xde, - 0xf1, 0x7a, 0xb6, 0x98, 0xb3, 0x1d, 0x38, 0x15, 0x24, 0x03, 0x7b, 0x59, 0xb1, 0x5d, 0x10, 0xdb, 0x09, 0xbf, 0x11, - 0x30, 0xe5, 0x0b, 0x08, 0xe2, 0x0a, 0x6e, 0x21, 0x0e, 0x4f, 0xfe, 0x39, 0xb8, 0x6f, 0x6d, 0xd6, 0xf7, 0xcc, 0xea, - 0x9c, 0x60, 0xcd, 0xac, 0x1e, 0x0c, 0x96, 0xcd, 0x64, 0xd5, 0xef, 0x7b, 0x3b, 0xed, 0xf8, 0x74, 0x27, 0x75, 0x62, - 0xa7, 0xb5, 0x5a, 0x0b, 0xf6, 0x4e, 0x6a, 0x5d, 0x8c, 0xa1, 0x07, 0x88, 0x9f, 0x6e, 0x07, 0xfc, 0xbe, 0x63, 0x6d, - 0x79, 0xef, 0xd8, 0x82, 0xed, 0xe0, 0x12, 0xd4, 0xb4, 0x97, 0xfd, 0x49, 0xe5, 0x82, 0x76, 0xec, 0x92, 0x78, 0x38, - 0x63, 0x56, 0x29, 0x33, 0xeb, 0xa4, 0xba, 0x12, 0x9d, 0x31, 0x9d, 0xb5, 0x9e, 0xcf, 0xd5, 0x7c, 0x52, 0x68, 0x50, - 0xbf, 0x73, 0xe2, 0x23, 0x2a, 0x3a, 0x4f, 0x60, 0x6b, 0x59, 0x41, 0xac, 0xf6, 0x39, 0x58, 0x6b, 0xb5, 0x4b, 0xbf, - 0x97, 0x0f, 0xb8, 0x4d, 0x39, 0xac, 0x03, 0x83, 0x9a, 0x13, 0x2b, 0xea, 0x31, 0xdb, 0x31, 0x6e, 0x7e, 0x7a, 0xf9, - 0x83, 0x13, 0x96, 0xac, 0x58, 0xed, 0x4f, 0x7f, 0x79, 0xe6, 0xe9, 0xef, 0xd4, 0xfe, 0x85, 0xf0, 0x83, 0xf1, 0xbf, - 0x6b, 0xf7, 0xb5, 0x16, 0xa3, 0xb2, 0x55, 0x8e, 0xd0, 0xb8, 0x5b, 0x49, 0x93, 0xe5, 0x67, 0xe1, 0x09, 0x6b, 0xc1, - 0xb3, 0x5c, 0x2f, 0xd1, 0xac, 0x80, 0x15, 0xd6, 0x32, 0x09, 0x57, 0x18, 0xab, 0xa5, 0xad, 0xbe, 0x45, 0xd3, 0x1c, - 0x1f, 0xce, 0xb5, 0x41, 0x99, 0x72, 0x76, 0x46, 0xac, 0x86, 0xcb, 0xb0, 0x34, 0xa1, 0x08, 0xd9, 0xbd, 0x1d, 0xdc, - 0xd8, 0x29, 0x4b, 0x29, 0xc3, 0x39, 0x06, 0x13, 0x1e, 0x89, 0x51, 0x95, 0xef, 0xef, 0x4b, 0x8a, 0x9c, 0xb6, 0xe5, - 0xa0, 0x0a, 0x61, 0x1f, 0x49, 0x94, 0xc0, 0xad, 0x48, 0x0b, 0x45, 0xca, 0xe2, 0x6f, 0x07, 0xe8, 0x02, 0x2f, 0xa0, - 0xae, 0x46, 0xdd, 0xfe, 0x70, 0xc4, 0xc3, 0x47, 0xa6, 0x3e, 0x30, 0x62, 0x49, 0xa0, 0xb6, 0x17, 0x59, 0x7a, 0x07, - 0x2a, 0xfc, 0x1e, 0xae, 0x26, 0x62, 0x3f, 0xb7, 0xa4, 0xa8, 0xc8, 0x46, 0x7a, 0x43, 0x6b, 0xf0, 0x08, 0xad, 0x29, - 0x2f, 0x9d, 0x54, 0x9b, 0x74, 0xde, 0x11, 0x72, 0xac, 0xbe, 0xb5, 0x84, 0xd1, 0xae, 0xe8, 0xc5, 0xbd, 0xa3, 0xf7, - 0x3c, 0x5d, 0xf5, 0xdc, 0x9f, 0xb8, 0x62, 0x9e, 0xdc, 0x46, 0xa0, 0x6e, 0x05, 0xd5, 0xed, 0x83, 0x4a, 0xb0, 0x60, - 0x49, 0xbb, 0x8f, 0xdf, 0xce, 0xda, 0x81, 0xa8, 0x8c, 0x55, 0xfa, 0x96, 0x24, 0xec, 0x89, 0x41, 0xa7, 0x50, 0x95, - 0xdb, 0xdd, 0xd1, 0x16, 0xb8, 0x8e, 0x59, 0x8a, 0x5e, 0xd8, 0x22, 0x77, 0xcb, 0xbf, 0x7b, 0xae, 0xc8, 0xd9, 0x2f, - 0x01, 0xc1, 0xa9, 0xf9, 0x86, 0xf8, 0x72, 0x84, 0x47, 0xd5, 0x2d, 0x70, 0x9c, 0xbe, 0x03, 0xf8, 0x87, 0xc3, 0x25, - 0x68, 0x02, 0x62, 0xc1, 0x7a, 0x69, 0xdc, 0x63, 0xbd, 0xb8, 0xd8, 0xdc, 0x25, 0xf9, 0x06, 0x9c, 0x19, 0x28, 0xd5, - 0xd2, 0x0f, 0x1c, 0xab, 0x05, 0x54, 0x38, 0x98, 0x9d, 0xd4, 0x0b, 0xcb, 0xa8, 0xc7, 0xf4, 0xf9, 0x19, 0xec, 0x1d, - 0x21, 0x01, 0x70, 0xbf, 0xec, 0x03, 0x12, 0xf0, 0xd0, 0x99, 0x1d, 0x10, 0x4e, 0x98, 0x45, 0x55, 0x20, 0x91, 0x1c, - 0xe9, 0x67, 0x8f, 0x99, 0x48, 0xfe, 0x60, 0xd6, 0x73, 0x4e, 0x89, 0x1e, 0xeb, 0xa9, 0x23, 0xa4, 0xc7, 0x7a, 0xd6, - 0x11, 0xd1, 0x63, 0x3d, 0xeb, 0xf8, 0xe8, 0xb1, 0x9e, 0x39, 0x76, 0x7a, 0x10, 0x98, 0x00, 0x91, 0x07, 0xac, 0x47, - 0x93, 0xa9, 0xa7, 0xb8, 0x07, 0x88, 0x06, 0x81, 0xf5, 0xa4, 0x70, 0xde, 0x03, 0xe4, 0x31, 0x12, 0xab, 0x83, 0xde, - 0x7f, 0x8c, 0x9f, 0xf6, 0x8c, 0x8c, 0x3c, 0x6e, 0x1d, 0x56, 0xff, 0xeb, 0x3f, 0x21, 0x00, 0x0e, 0xcf, 0xa6, 0xde, - 0xe5, 0x18, 0xb2, 0xca, 0x32, 0x02, 0xc9, 0x4f, 0x0c, 0xbe, 0x7c, 0x01, 0x50, 0xf5, 0x99, 0xae, 0xd5, 0xe4, 0xa8, - 0x3d, 0xe6, 0xd0, 0x15, 0x03, 0xc0, 0x36, 0x2c, 0x51, 0x55, 0x0b, 0x9b, 0xb0, 0xb8, 0xfd, 0x0c, 0xa3, 0xb9, 0x6c, - 0x7a, 0x41, 0x03, 0xf5, 0x08, 0xc1, 0x2f, 0xad, 0x87, 0xd6, 0x5a, 0xa6, 0x1c, 0xba, 0x36, 0x8a, 0x2a, 0x1b, 0xea, - 0x12, 0x56, 0x6b, 0x11, 0xd5, 0x44, 0x91, 0x72, 0xc9, 0x28, 0x8a, 0xa5, 0x0a, 0xf6, 0x99, 0xb8, 0x83, 0xa8, 0x79, - 0xda, 0x6a, 0xab, 0x60, 0x7f, 0x07, 0x08, 0x6b, 0x61, 0x2d, 0xa4, 0x33, 0xa8, 0xbd, 0xd3, 0x8f, 0x94, 0xbf, 0xbc, - 0x90, 0xdb, 0xb9, 0x85, 0x22, 0xdc, 0x9e, 0x83, 0xf2, 0xa6, 0xae, 0x4a, 0x45, 0x34, 0x5a, 0x02, 0xa5, 0xcc, 0x09, - 0x22, 0x0b, 0x10, 0xc0, 0x71, 0x03, 0x81, 0xcf, 0x6b, 0x7c, 0x02, 0x8d, 0x42, 0x20, 0x3f, 0xb0, 0x0a, 0xd7, 0x1e, - 0xd2, 0x52, 0x6b, 0x44, 0x94, 0x88, 0x1f, 0x5d, 0x3d, 0xc7, 0xf6, 0xd5, 0xd3, 0x58, 0x5b, 0x4a, 0x13, 0xc4, 0x4f, - 0x2c, 0xb6, 0x10, 0x13, 0x44, 0x75, 0x88, 0x8e, 0x60, 0x39, 0x21, 0x44, 0xe1, 0x0f, 0xa1, 0x9f, 0x1a, 0xf8, 0x4b, - 0xb6, 0x2c, 0xf2, 0x9a, 0x60, 0x31, 0x2b, 0x06, 0x68, 0x55, 0x04, 0x9e, 0xe9, 0x6c, 0xa9, 0xcc, 0x69, 0x1e, 0x1d, - 0xd9, 0xc1, 0x79, 0xd7, 0xc1, 0x5e, 0xfa, 0x32, 0x76, 0xb2, 0x6c, 0x1a, 0xb5, 0xb1, 0x21, 0x12, 0x5e, 0x91, 0xbf, - 0xca, 0x52, 0xe3, 0x1c, 0x99, 0xcb, 0xf5, 0x5d, 0x17, 0x77, 0x77, 0xb4, 0x4d, 0x58, 0x85, 0x08, 0x75, 0xdb, 0x50, - 0xb9, 0x14, 0x66, 0x63, 0xd3, 0x34, 0xc0, 0x17, 0x8a, 0x4a, 0xa5, 0x2a, 0xb5, 0x95, 0x4a, 0x4e, 0x78, 0xd7, 0x37, - 0xb5, 0x48, 0x5d, 0x11, 0x6c, 0x63, 0x86, 0x7a, 0x28, 0x37, 0x6a, 0xec, 0xdb, 0x8e, 0x55, 0x7a, 0x87, 0x09, 0x72, - 0x46, 0x5e, 0xe4, 0xe0, 0xa2, 0xa4, 0x20, 0x73, 0x35, 0x84, 0xf9, 0xa3, 0x86, 0x4f, 0x0b, 0xcb, 0x3d, 0x94, 0x80, - 0xd9, 0x51, 0xc3, 0xcb, 0x08, 0x81, 0x88, 0x4b, 0x65, 0x5f, 0x31, 0xf1, 0x7b, 0x0a, 0x66, 0xc9, 0x84, 0xee, 0x45, - 0x2c, 0x8c, 0xd0, 0xc6, 0x27, 0x49, 0x32, 0xf5, 0x34, 0x05, 0x37, 0x72, 0x19, 0xe6, 0x68, 0x84, 0x96, 0x7c, 0xe4, - 0x40, 0xfa, 0x5a, 0x4e, 0x25, 0xf8, 0x88, 0x3a, 0x05, 0x1c, 0xcf, 0xcf, 0x0b, 0xeb, 0x27, 0xcb, 0x25, 0xe6, 0xb2, - 0x36, 0xff, 0x65, 0x47, 0xc7, 0x60, 0x97, 0xa7, 0x89, 0xe3, 0xea, 0x3f, 0xaa, 0x92, 0xe2, 0xe1, 0xe7, 0x34, 0x07, - 0x14, 0xc1, 0xcc, 0x9e, 0x62, 0x7c, 0xec, 0xb3, 0x4c, 0x01, 0x7f, 0xbb, 0xde, 0x5a, 0x32, 0xb1, 0x4b, 0xda, 0xcd, - 0x95, 0xf1, 0x4b, 0x6d, 0xd8, 0x71, 0x70, 0x6e, 0x00, 0x8a, 0xb3, 0x46, 0x87, 0xe5, 0xb5, 0x6e, 0x5b, 0x15, 0x2a, - 0x50, 0xeb, 0x7f, 0xef, 0x16, 0xa6, 0xbc, 0xcd, 0x4b, 0xe5, 0x6d, 0x1e, 0x9a, 0x00, 0x81, 0xc8, 0x0c, 0x79, 0xd6, - 0x74, 0x4c, 0x12, 0xf7, 0x8e, 0x94, 0xb4, 0xef, 0x48, 0xf1, 0xa3, 0x77, 0x24, 0xe4, 0x5b, 0x42, 0x47, 0xf6, 0x25, - 0x27, 0x27, 0x50, 0x66, 0xb0, 0x97, 0xd7, 0x4c, 0xf6, 0x0f, 0x68, 0x2f, 0x9c, 0xcb, 0xf2, 0x8a, 0xbf, 0x13, 0xde, - 0xda, 0x9f, 0xae, 0x4f, 0xbb, 0xaa, 0xde, 0x7e, 0x63, 0x66, 0x1e, 0x0e, 0xc5, 0xe1, 0x50, 0x99, 0xa0, 0xdd, 0x05, - 0x17, 0x83, 0x9c, 0xdd, 0xbb, 0xf1, 0xf1, 0xef, 0x38, 0x8a, 0xd8, 0x4a, 0x79, 0x24, 0x5d, 0xa8, 0xc4, 0xf0, 0xd2, - 0xc0, 0xc3, 0xec, 0xf8, 0x78, 0xb2, 0xbb, 0xba, 0x9f, 0x0c, 0x06, 0x3b, 0xd5, 0xb7, 0x5b, 0x5e, 0xcf, 0x76, 0x73, - 0xf6, 0xc0, 0x6f, 0xa7, 0xdb, 0x60, 0xdf, 0xc0, 0xb6, 0xbb, 0xbb, 0x12, 0x87, 0xc3, 0xee, 0x9a, 0x2f, 0xfc, 0xfd, - 0x03, 0x02, 0x3a, 0xf3, 0xf3, 0x71, 0x1b, 0xe3, 0xe7, 0xa6, 0xed, 0xaa, 0xb5, 0x03, 0x78, 0xfa, 0x1f, 0xbd, 0x9b, - 0xd9, 0x72, 0xee, 0xb3, 0x27, 0xfc, 0x01, 0xfc, 0xf3, 0x71, 0x93, 0x44, 0xea, 0x13, 0xed, 0x32, 0x79, 0x03, 0x0e, - 0xe4, 0x3b, 0x9f, 0xbd, 0xe5, 0x0f, 0xb3, 0xe5, 0x9c, 0x17, 0x87, 0xc3, 0x87, 0x69, 0x88, 0x64, 0x4d, 0x61, 0x45, - 0x2c, 0x29, 0x9e, 0x1f, 0x84, 0xc7, 0xef, 0x45, 0x64, 0x88, 0xb4, 0xdc, 0xbb, 0x43, 0x76, 0xc3, 0x22, 0x3f, 0x80, - 0x0f, 0xb2, 0x9d, 0x3f, 0x91, 0x35, 0xa5, 0xfb, 0xc5, 0x13, 0xff, 0x70, 0xa0, 0xbf, 0xde, 0xfa, 0x87, 0xc3, 0x07, - 0xf6, 0x80, 0xe0, 0xe8, 0x7c, 0x07, 0xfd, 0xa3, 0x6f, 0x1d, 0x50, 0x95, 0xe1, 0xbb, 0xd9, 0x66, 0xee, 0x5f, 0xaf, - 0xd8, 0x1d, 0x70, 0xa1, 0x28, 0x2f, 0xb4, 0x1b, 0xf6, 0x80, 0x5e, 0x67, 0xe4, 0x44, 0x34, 0xdb, 0xcd, 0x7d, 0x16, - 0xe3, 0x73, 0x75, 0x5f, 0x4c, 0xbe, 0x79, 0x5f, 0xdc, 0xb1, 0x6d, 0xf7, 0x7d, 0x51, 0xbe, 0xe9, 0xae, 0x9f, 0x2d, - 0xdb, 0xb1, 0x07, 0x98, 0x61, 0xef, 0xf8, 0x4d, 0x73, 0xec, 0x18, 0xfb, 0xcd, 0x1b, 0x23, 0x80, 0x32, 0x5b, 0xb0, - 0x58, 0x70, 0x50, 0xaa, 0x55, 0xdb, 0x92, 0xc8, 0x2b, 0x1d, 0xa8, 0x36, 0x23, 0xb8, 0xaf, 0x16, 0x72, 0xe6, 0x99, - 0x81, 0xbe, 0xad, 0x10, 0x2d, 0x1c, 0x36, 0xe0, 0x6f, 0xb4, 0x75, 0x8c, 0x61, 0x9a, 0xd5, 0x4c, 0xdb, 0xa2, 0x2e, - 0xbf, 0xef, 0x3d, 0x93, 0xdf, 0xc8, 0xc0, 0x16, 0x22, 0x29, 0x1c, 0xc7, 0x17, 0xcf, 0x4f, 0xf8, 0xaf, 0x5a, 0x1e, - 0xb5, 0xda, 0x2f, 0x94, 0xfa, 0xf4, 0x15, 0x1d, 0xd1, 0xc4, 0xbd, 0x68, 0xcb, 0xb0, 0x46, 0x59, 0x53, 0x4b, 0x87, - 0x61, 0x5c, 0xc3, 0xbe, 0x3c, 0x70, 0xe8, 0x3b, 0x20, 0xd0, 0x56, 0xa9, 0x14, 0x68, 0xe1, 0x18, 0x46, 0x61, 0x16, - 0x52, 0x1e, 0x17, 0x66, 0x29, 0xef, 0xb1, 0x40, 0x8b, 0x5b, 0x75, 0x8f, 0xa9, 0xed, 0x16, 0x44, 0x58, 0xbd, 0x65, - 0x9c, 0x5f, 0x36, 0xaa, 0x70, 0x5b, 0x80, 0xa2, 0x08, 0xca, 0x60, 0x4f, 0x72, 0xdb, 0x42, 0x49, 0xb3, 0x51, 0x58, - 0x8b, 0xbb, 0xa2, 0xdc, 0xf5, 0x1a, 0xb6, 0xc0, 0x0b, 0xaa, 0x7e, 0x42, 0xd8, 0x96, 0x3d, 0xeb, 0x50, 0x2e, 0xd2, - 0x7f, 0xcb, 0xd2, 0xf3, 0xfd, 0xd6, 0x9c, 0xff, 0xe9, 0x2b, 0xfa, 0xa8, 0xfc, 0xf7, 0x2f, 0xe9, 0x27, 0x83, 0x65, - 0xe4, 0x94, 0xfa, 0x25, 0x1a, 0xdd, 0xa6, 0x39, 0x61, 0x6c, 0xf9, 0xfa, 0xe9, 0x77, 0xc8, 0x14, 0x24, 0x87, 0x52, - 0xaa, 0x72, 0xb2, 0x87, 0xbe, 0xf0, 0xba, 0x0f, 0x33, 0xc1, 0x00, 0x84, 0xd7, 0x68, 0x53, 0x4d, 0x98, 0xc4, 0xa3, - 0x2b, 0xf8, 0xbf, 0x11, 0xc4, 0xa0, 0x7d, 0xa2, 0xa8, 0x63, 0xdb, 0x48, 0xd7, 0x6d, 0xe7, 0x20, 0xb9, 0x53, 0x57, - 0xfe, 0xa8, 0x9c, 0xfc, 0x3b, 0x1a, 0x22, 0xaf, 0xb8, 0x42, 0xac, 0x2c, 0xb8, 0xc4, 0x62, 0xa8, 0x48, 0x01, 0xae, - 0x21, 0x88, 0x94, 0x45, 0x49, 0xe1, 0x96, 0x83, 0xaa, 0x08, 0xc0, 0xb8, 0x5a, 0x1d, 0x75, 0x22, 0x7c, 0xdc, 0x5a, - 0x8b, 0x10, 0xac, 0x68, 0xd4, 0xca, 0x5a, 0x81, 0x2f, 0x48, 0x5f, 0x3a, 0x14, 0xc4, 0xf4, 0x28, 0xa4, 0xaa, 0x74, - 0x28, 0x90, 0xe6, 0x50, 0xf1, 0x8d, 0xc1, 0x46, 0x51, 0x91, 0x9e, 0xbf, 0x34, 0x29, 0xb9, 0x34, 0x66, 0x7c, 0x14, - 0x65, 0x24, 0xf2, 0x3a, 0xbc, 0x13, 0xd3, 0x02, 0xf9, 0x46, 0x8f, 0x1f, 0x04, 0x97, 0xf0, 0x6e, 0xc8, 0xbd, 0x02, - 0x6c, 0x09, 0xd8, 0x01, 0xee, 0x95, 0x19, 0xe5, 0x3a, 0xad, 0xeb, 0xb7, 0xd6, 0x43, 0x31, 0x0c, 0x9f, 0x59, 0x02, - 0xdb, 0xd1, 0x3a, 0x3a, 0xd2, 0xc3, 0x87, 0xff, 0x75, 0x55, 0x73, 0xd4, 0xa9, 0x5c, 0xce, 0x8e, 0x27, 0x2c, 0x45, - 0xcc, 0xa0, 0xfb, 0xeb, 0xf6, 0x95, 0x00, 0xba, 0x5d, 0x16, 0xf3, 0x6c, 0xb4, 0x93, 0x7f, 0x4b, 0x37, 0x56, 0x94, - 0x36, 0xf1, 0x2e, 0xeb, 0x8d, 0xfd, 0xe1, 0xe8, 0x3f, 0x9e, 0xbd, 0x9f, 0x10, 0xaa, 0xce, 0x86, 0xad, 0x75, 0x9c, - 0xcb, 0xff, 0xfa, 0xcf, 0x31, 0x59, 0x41, 0x50, 0x10, 0x96, 0x9d, 0x62, 0xa2, 0x82, 0x51, 0xa4, 0x58, 0xf3, 0xf1, - 0x64, 0x8d, 0x3a, 0xe1, 0xb5, 0xbf, 0xd4, 0x3a, 0x61, 0x62, 0x64, 0xa5, 0xf2, 0xd7, 0xac, 0x62, 0x77, 0x2a, 0xb3, - 0x80, 0xcc, 0x83, 0x7c, 0xb2, 0x36, 0x1a, 0xcc, 0x15, 0xaf, 0x67, 0xeb, 0xb9, 0x54, 0x3e, 0x83, 0x29, 0x67, 0x39, - 0x38, 0x59, 0x0a, 0xbb, 0x27, 0x81, 0xa2, 0x35, 0x43, 0xd7, 0xfe, 0x14, 0x5b, 0xf5, 0x3a, 0xad, 0x6a, 0x80, 0x07, - 0x84, 0x18, 0x18, 0x6a, 0xaf, 0x16, 0x1e, 0x5a, 0x0b, 0x60, 0xed, 0x8f, 0x4a, 0x3f, 0x18, 0x4f, 0x96, 0x7c, 0x81, - 0xfc, 0xcb, 0x91, 0xa3, 0x76, 0xef, 0xf7, 0xbd, 0x7b, 0x90, 0x82, 0x23, 0xd7, 0x42, 0x81, 0x44, 0x40, 0x0b, 0xbe, - 0xf1, 0x95, 0x0f, 0xc6, 0x3b, 0xd4, 0x56, 0x83, 0x82, 0xda, 0xd1, 0x2d, 0x8f, 0x1d, 0xbd, 0xf3, 0xfd, 0x09, 0x7d, - 0xf5, 0x42, 0x0b, 0xc7, 0xdf, 0x38, 0x23, 0xd7, 0x6c, 0xd5, 0x21, 0x47, 0x34, 0x93, 0x0e, 0x21, 0x62, 0xc5, 0xd6, - 0xec, 0x1d, 0xa9, 0x9c, 0x3b, 0x87, 0xec, 0xf4, 0x11, 0xaa, 0xf4, 0x5a, 0x8f, 0x6f, 0x27, 0x4a, 0x77, 0x7b, 0xbc, - 0x9b, 0x7c, 0xcf, 0x26, 0x22, 0x06, 0x03, 0xda, 0x20, 0x9c, 0x91, 0x75, 0x88, 0x54, 0x3a, 0x40, 0x08, 0x1c, 0x13, - 0xd0, 0xf4, 0x5f, 0xdf, 0x92, 0x28, 0xe0, 0x48, 0x1b, 0x21, 0x6b, 0xd9, 0xe1, 0x90, 0x83, 0x46, 0xb9, 0xf9, 0xc3, - 0x2b, 0xd4, 0x69, 0x0e, 0xcc, 0xd3, 0x25, 0xec, 0x39, 0x78, 0xa4, 0x17, 0xc7, 0x47, 0xfa, 0x7f, 0x47, 0x13, 0x35, - 0xfe, 0xf7, 0x35, 0x51, 0x4a, 0x8b, 0xe4, 0xa8, 0x96, 0xbe, 0x4b, 0x1d, 0x05, 0x17, 0x79, 0x47, 0x2d, 0x64, 0xcf, - 0xb2, 0x71, 0xa3, 0x9a, 0xf7, 0xff, 0x6b, 0x65, 0xfe, 0xbf, 0xa6, 0x95, 0x61, 0x4a, 0x76, 0x2c, 0xd5, 0xcc, 0x03, - 0xad, 0x62, 0x98, 0xfd, 0x4c, 0x12, 0x22, 0xc3, 0xa5, 0x01, 0x3f, 0xaa, 0x60, 0x1f, 0xa7, 0xd5, 0x3a, 0x0b, 0x77, - 0xa8, 0x44, 0xbd, 0x15, 0x77, 0x69, 0xfe, 0xa2, 0xfe, 0x97, 0x28, 0x0b, 0x98, 0xda, 0x77, 0x65, 0x1a, 0x07, 0x64, - 0xe1, 0xcf, 0xc2, 0x12, 0x27, 0x37, 0xb6, 0xf1, 0x67, 0x39, 0x9e, 0xf6, 0xab, 0xce, 0xcc, 0x03, 0x09, 0xd4, 0x40, - 0xfc, 0x91, 0x73, 0x59, 0x59, 0x3c, 0x20, 0x74, 0xf3, 0x8f, 0x65, 0x59, 0x94, 0x5e, 0xef, 0x73, 0x92, 0x56, 0x67, - 0x2b, 0x51, 0x27, 0x45, 0xac, 0xa0, 0x6c, 0x52, 0x80, 0xd1, 0x87, 0x95, 0x27, 0xe2, 0xe0, 0x0c, 0x81, 0x1a, 0xce, - 0xea, 0x24, 0x04, 0xa0, 0x61, 0x85, 0xb0, 0x7f, 0x06, 0x2d, 0x3c, 0x0b, 0xe3, 0x70, 0x0d, 0x30, 0x39, 0x69, 0x75, - 0xb6, 0x2e, 0x8b, 0xfb, 0x34, 0x16, 0xf1, 0xa8, 0xa7, 0x28, 0x59, 0xde, 0xe4, 0xae, 0x9c, 0xeb, 0xef, 0xff, 0xa0, - 0x00, 0x76, 0x03, 0x66, 0xdb, 0x02, 0x3b, 0x00, 0x48, 0x50, 0x20, 0x5b, 0xa8, 0xd3, 0xe8, 0x4c, 0x2d, 0x15, 0x78, - 0xcf, 0xf5, 0x00, 0x7f, 0x93, 0x03, 0x96, 0x71, 0x5d, 0xc8, 0x80, 0x11, 0x04, 0x30, 0x02, 0x07, 0x25, 0x60, 0xe8, - 0x0c, 0x71, 0x5b, 0x95, 0xb3, 0x16, 0x9a, 0x2b, 0xdd, 0x96, 0xdc, 0x34, 0xca, 0xd9, 0x4a, 0x04, 0xd0, 0x57, 0x37, - 0x25, 0x4e, 0x97, 0xcb, 0x56, 0x12, 0xf6, 0xed, 0x87, 0x76, 0xaa, 0xc8, 0xe3, 0xa3, 0x34, 0xe4, 0x15, 0x78, 0x92, - 0x71, 0x24, 0x89, 0x12, 0xc1, 0x9b, 0xbc, 0x31, 0xe3, 0xf0, 0xa2, 0x4d, 0x39, 0xb5, 0x37, 0xeb, 0x05, 0xe0, 0x3c, - 0x41, 0x5b, 0x06, 0x18, 0x0b, 0x18, 0x9c, 0x0b, 0xb1, 0xe4, 0x29, 0x82, 0x5f, 0x3a, 0x91, 0xc2, 0xb8, 0xcb, 0x61, - 0x98, 0x07, 0x45, 0xef, 0x92, 0xfa, 0xa3, 0xdf, 0x47, 0x6d, 0x32, 0x18, 0x82, 0x4a, 0x00, 0x95, 0x75, 0x83, 0xc4, - 0xc0, 0xaa, 0xb4, 0x90, 0xb8, 0x84, 0x78, 0x99, 0xaf, 0xa6, 0x75, 0x14, 0x7c, 0xa8, 0x27, 0x84, 0x70, 0x82, 0xf1, - 0x21, 0x6e, 0x80, 0x80, 0xc1, 0x2a, 0x2e, 0x30, 0x48, 0x9e, 0x4b, 0x74, 0x7f, 0x3c, 0xdf, 0x31, 0xc0, 0x95, 0xf3, - 0x9e, 0x6a, 0x57, 0x0f, 0xec, 0xe5, 0x2a, 0x5d, 0x32, 0x42, 0x58, 0xf1, 0x7f, 0x11, 0x79, 0xdf, 0x0e, 0x13, 0x50, - 0xdb, 0xc8, 0x1f, 0x83, 0xc4, 0x5c, 0x26, 0x8a, 0x20, 0x1e, 0x65, 0x05, 0x4b, 0xd2, 0x60, 0x33, 0x4a, 0x52, 0xd0, - 0x68, 0x62, 0x0c, 0x99, 0x0a, 0xed, 0x90, 0x34, 0x9a, 0x8d, 0xc9, 0x3e, 0x86, 0xbc, 0x86, 0x8b, 0xc5, 0x02, 0xef, - 0xfb, 0x59, 0xa8, 0x0e, 0xb6, 0xa5, 0x39, 0x04, 0x9c, 0x24, 0xd8, 0x53, 0x57, 0xa4, 0x24, 0xcc, 0x46, 0x9f, 0x42, - 0xce, 0x0d, 0xe8, 0x38, 0x69, 0x0c, 0xd5, 0x07, 0x26, 0xe1, 0x55, 0x84, 0x4e, 0xca, 0x0a, 0x61, 0x01, 0xf7, 0x8d, - 0x8c, 0x46, 0x2b, 0x69, 0x10, 0x78, 0x9b, 0x61, 0x2b, 0xb0, 0x09, 0x0d, 0x7f, 0x91, 0x79, 0x98, 0x56, 0xb3, 0x12, - 0xcc, 0xf9, 0x06, 0x2a, 0x31, 0x9e, 0x2c, 0xaf, 0xf8, 0xc6, 0xc5, 0x4a, 0x4c, 0x66, 0xcb, 0xf9, 0x64, 0x2d, 0xa9, - 0xe6, 0x72, 0x6f, 0xcd, 0x32, 0xb6, 0x84, 0xfd, 0xc3, 0xc0, 0x50, 0x3a, 0xb0, 0xa3, 0xa9, 0xa6, 0x4d, 0x02, 0x4c, - 0xa6, 0x73, 0xce, 0x87, 0x97, 0x88, 0x26, 0xab, 0x53, 0x77, 0x32, 0x55, 0xed, 0xe0, 0x9a, 0x9c, 0xc9, 0xe9, 0x91, - 0x7a, 0xaa, 0x75, 0x2f, 0xf9, 0x68, 0x3b, 0xac, 0x46, 0x5b, 0x3f, 0x00, 0xb7, 0x4e, 0x61, 0xa7, 0xef, 0x86, 0xd5, - 0x68, 0xe7, 0x6b, 0xd8, 0x5d, 0x52, 0x08, 0x54, 0x7f, 0x96, 0x35, 0x99, 0x8b, 0xd7, 0xc5, 0x83, 0x57, 0xb0, 0xe7, - 0xfe, 0x40, 0xff, 0x2a, 0xd9, 0x73, 0xdf, 0x66, 0x72, 0xfd, 0x33, 0xed, 0x1a, 0x8d, 0x99, 0x8e, 0xd7, 0xae, 0xc0, - 0x0a, 0x0d, 0x90, 0x5f, 0xb0, 0xa3, 0xbd, 0xcd, 0x41, 0x20, 0x40, 0xf7, 0x12, 0x1c, 0x45, 0x01, 0x51, 0xd3, 0xaa, - 0xf2, 0xe8, 0x74, 0xef, 0xef, 0xf1, 0x8d, 0x10, 0xb0, 0xc9, 0x53, 0xeb, 0xde, 0x32, 0xf6, 0x0f, 0x07, 0x08, 0xa1, - 0x97, 0xd3, 0x6f, 0xb4, 0x65, 0xf5, 0x68, 0xc7, 0x72, 0xdf, 0x30, 0xea, 0x29, 0x18, 0xc3, 0xd0, 0x85, 0x55, 0x8c, - 0xe4, 0x19, 0x90, 0x35, 0x7e, 0x83, 0xe8, 0x02, 0x16, 0xbd, 0xde, 0xeb, 0x23, 0x1a, 0x44, 0x40, 0xa5, 0xd7, 0xfc, - 0xa5, 0xc8, 0xe7, 0xaa, 0x10, 0xbd, 0xf7, 0xd6, 0xce, 0x9b, 0x19, 0xc9, 0x32, 0x69, 0xa4, 0xda, 0xad, 0x2c, 0xd6, - 0x95, 0x37, 0x3b, 0x21, 0x5d, 0xcc, 0x31, 0x54, 0x06, 0x8f, 0x03, 0x50, 0x7a, 0xfe, 0x25, 0xf4, 0x4a, 0x86, 0x4c, - 0xb3, 0x44, 0x33, 0xbb, 0x6b, 0xfc, 0xc9, 0x2a, 0xf5, 0x62, 0x44, 0xcc, 0x06, 0xb6, 0x10, 0xb7, 0x45, 0xa5, 0xdb, - 0xa2, 0x50, 0xb6, 0x28, 0xd2, 0x87, 0xda, 0x99, 0xee, 0xcc, 0xc2, 0x67, 0x95, 0x69, 0xdf, 0xdb, 0xcc, 0x8c, 0x0d, - 0xd0, 0x76, 0x11, 0xbe, 0x81, 0x0e, 0x54, 0x08, 0xf9, 0x8f, 0x88, 0x88, 0x44, 0xc0, 0x2e, 0xa7, 0xee, 0xc4, 0xa6, - 0x43, 0x32, 0x0f, 0x31, 0x2b, 0xd4, 0x28, 0x2f, 0x79, 0x72, 0x34, 0x20, 0x15, 0xa1, 0x6e, 0xf7, 0xfb, 0xe7, 0x4b, - 0x17, 0xd4, 0x7e, 0x4d, 0xb1, 0x63, 0x74, 0x53, 0xc0, 0xb9, 0xe0, 0x51, 0xde, 0x73, 0xef, 0x1c, 0xd0, 0x1c, 0xdb, - 0x53, 0x64, 0x0d, 0x38, 0xbd, 0xed, 0x42, 0x80, 0xed, 0xb3, 0x66, 0x6b, 0x7f, 0xb2, 0xba, 0x8a, 0xa6, 0x5e, 0xc9, - 0x67, 0xba, 0x8b, 0x12, 0xb7, 0x8b, 0x62, 0xd9, 0x45, 0x9b, 0x06, 0x82, 0x1d, 0x57, 0x7e, 0x00, 0xbc, 0xa1, 0x51, - 0xbf, 0x5f, 0xb6, 0x7a, 0xf6, 0xe4, 0x6b, 0xc7, 0x3d, 0x9b, 0xf9, 0xac, 0x34, 0x3d, 0xfb, 0x6b, 0xea, 0xf6, 0xac, - 0x9c, 0xec, 0x45, 0xe7, 0x64, 0x9f, 0xce, 0xe6, 0x81, 0xe0, 0x72, 0xe7, 0x3e, 0xcf, 0xa7, 0x7a, 0xda, 0x55, 0x7e, - 0xd0, 0x1a, 0x22, 0xf3, 0x85, 0xcf, 0x55, 0xf7, 0xba, 0x82, 0x05, 0x2c, 0xc1, 0xdd, 0x7a, 0x69, 0xfe, 0x2b, 0x76, - 0x7f, 0x2f, 0xe8, 0xa5, 0xf9, 0x6f, 0xf4, 0x27, 0x05, 0x70, 0x00, 0x1a, 0x53, 0xbb, 0x05, 0x1e, 0x62, 0xa8, 0xa0, - 0x70, 0x37, 0x2b, 0xe7, 0x5e, 0x0d, 0x70, 0x98, 0xa4, 0x6f, 0x68, 0xf5, 0x4a, 0x8b, 0x5d, 0x2f, 0x93, 0xbd, 0x02, - 0x3c, 0x54, 0x21, 0x0f, 0x0f, 0x87, 0xa8, 0x63, 0xd8, 0x41, 0x1d, 0x01, 0xc3, 0x1e, 0x42, 0x63, 0x0b, 0x3c, 0x1f, - 0x3f, 0x67, 0x7c, 0x2f, 0x40, 0x6d, 0x84, 0xf0, 0x78, 0xb5, 0x28, 0x43, 0x6c, 0xd9, 0x5b, 0xa4, 0x92, 0xfa, 0x59, - 0x20, 0xca, 0x68, 0x15, 0xd0, 0x56, 0x7b, 0xcc, 0xd2, 0x78, 0x03, 0xa1, 0x62, 0xa9, 0x8f, 0x21, 0x34, 0x70, 0xf8, - 0x1d, 0x0e, 0x20, 0xc1, 0x97, 0x5c, 0x93, 0xcd, 0xbd, 0xcd, 0xef, 0x69, 0x9f, 0x3f, 0x1c, 0xce, 0x2f, 0x11, 0x94, - 0x2e, 0x85, 0x8f, 0x54, 0x22, 0xaa, 0xa7, 0xb8, 0x29, 0x21, 0x9b, 0x25, 0x2b, 0xfd, 0xe0, 0x57, 0xf5, 0x0b, 0x00, - 0x64, 0x21, 0xd0, 0x26, 0x32, 0xfb, 0xd3, 0x99, 0x8a, 0x2e, 0x00, 0x0e, 0xf1, 0xc7, 0x4f, 0x10, 0x7d, 0x43, 0xcb, - 0xb4, 0x7c, 0x9c, 0xf0, 0x10, 0xb4, 0xb6, 0xa4, 0x93, 0x88, 0x95, 0x02, 0x1b, 0x22, 0xe1, 0xfb, 0xfd, 0xf3, 0x58, - 0xd2, 0x81, 0x46, 0xad, 0xee, 0x8d, 0x5b, 0xdd, 0x2b, 0x5f, 0xd7, 0x9d, 0xdc, 0xf8, 0xa0, 0x68, 0x9f, 0xcd, 0x1b, - 0x95, 0xef, 0xfb, 0x3a, 0x67, 0x77, 0xba, 0x77, 0xe4, 0x9c, 0xf8, 0xfe, 0x1e, 0x42, 0xd1, 0x43, 0x53, 0x64, 0x59, - 0x12, 0x06, 0xb4, 0xd6, 0xae, 0x3d, 0xcb, 0xe8, 0xe0, 0xb5, 0x6f, 0x08, 0x11, 0x79, 0x8a, 0x4f, 0x42, 0x6e, 0x71, - 0x7c, 0x50, 0xa0, 0x7f, 0x66, 0xfc, 0x99, 0x13, 0x3f, 0x6c, 0xf5, 0x0b, 0xe0, 0xdc, 0x74, 0xef, 0xdd, 0x89, 0x59, - 0x8f, 0xa1, 0x94, 0x8d, 0xff, 0xfb, 0x7d, 0x22, 0x0b, 0x74, 0x3a, 0xa2, 0x61, 0x20, 0xb8, 0x8b, 0xea, 0xff, 0x5e, - 0xf1, 0xba, 0x67, 0xad, 0xce, 0x97, 0x9f, 0x3a, 0x3d, 0xe9, 0xd5, 0xcb, 0xb8, 0x07, 0x54, 0xe8, 0x00, 0xe1, 0xbc, - 0xee, 0x37, 0x6c, 0xf7, 0xdd, 0x2f, 0xef, 0x8e, 0x5e, 0x06, 0x36, 0x29, 0x12, 0xdb, 0x4a, 0x3e, 0xeb, 0x81, 0xc2, - 0xaf, 0xc7, 0x7a, 0x75, 0xb1, 0xee, 0xb1, 0x1e, 0x6a, 0x01, 0xd1, 0xc3, 0x02, 0xd4, 0x7f, 0x3d, 0xfb, 0x34, 0x14, - 0x0e, 0xb2, 0x71, 0xaa, 0x40, 0x91, 0x05, 0xbf, 0x16, 0xa3, 0x75, 0x41, 0x80, 0xc8, 0x96, 0x90, 0x56, 0x9d, 0xcc, - 0x1e, 0x97, 0x5a, 0x92, 0xc1, 0x37, 0x01, 0x99, 0x1d, 0x58, 0x39, 0x41, 0xe9, 0xb8, 0x35, 0xe0, 0xca, 0x16, 0x8f, - 0x76, 0xfb, 0xd3, 0x20, 0x3b, 0x6b, 0x4e, 0x1a, 0xed, 0xc3, 0x3e, 0xcd, 0x03, 0x04, 0x22, 0x99, 0x8a, 0x20, 0xd7, - 0xdc, 0x5b, 0xd2, 0x47, 0x87, 0x73, 0x5e, 0xc8, 0x3f, 0xa7, 0x52, 0x87, 0x38, 0x94, 0x58, 0x03, 0x81, 0xca, 0x33, - 0x54, 0x39, 0x6c, 0x90, 0xe3, 0x9f, 0x1d, 0xc9, 0x4c, 0x62, 0xb2, 0xc8, 0xdd, 0x9a, 0xa9, 0xf0, 0x03, 0xc1, 0xc7, - 0x2c, 0xe7, 0xc0, 0x05, 0x36, 0x9b, 0xfb, 0x6a, 0x8a, 0x8b, 0x2b, 0xf0, 0xc7, 0x14, 0x7e, 0xc5, 0x53, 0xd8, 0x69, - 0xf7, 0xeb, 0xa2, 0x4a, 0x51, 0xb7, 0x51, 0x58, 0x54, 0xb2, 0x60, 0x5a, 0x43, 0x9a, 0xe8, 0x30, 0xfa, 0x83, 0x9c, - 0x81, 0x82, 0x90, 0x5f, 0x36, 0x0d, 0x30, 0x52, 0xc9, 0xe5, 0x41, 0x95, 0x04, 0x5e, 0x80, 0x6d, 0x50, 0xb1, 0x75, - 0x01, 0x41, 0xb6, 0x49, 0x51, 0xa6, 0x5f, 0x8b, 0xbc, 0x0e, 0xb3, 0xa0, 0x1a, 0xa5, 0xd5, 0x4f, 0xfa, 0x27, 0x30, - 0x6f, 0x53, 0x31, 0xaa, 0x55, 0x4c, 0x7e, 0xa3, 0xdf, 0x2f, 0x06, 0xad, 0x0f, 0x19, 0x7c, 0xf4, 0xda, 0x34, 0xf8, - 0x93, 0xd3, 0x60, 0x87, 0x89, 0x46, 0x00, 0x24, 0x73, 0x6a, 0xc9, 0x43, 0xd1, 0x1f, 0x41, 0x8e, 0x35, 0xaa, 0x9c, - 0x82, 0xc1, 0xfa, 0x8f, 0x47, 0x3b, 0x30, 0xf5, 0xe2, 0x68, 0x4b, 0x76, 0xd0, 0xca, 0x37, 0xc0, 0xfd, 0x1a, 0xd9, - 0x62, 0x96, 0x03, 0x34, 0x7b, 0x8d, 0xc8, 0xf8, 0xe4, 0x05, 0x30, 0x66, 0xeb, 0x2c, 0x8c, 0x44, 0x1c, 0x8c, 0x55, - 0x63, 0xc6, 0x0c, 0x0c, 0x5c, 0xa0, 0x6b, 0x99, 0x94, 0xa4, 0x21, 0x1d, 0x0c, 0x58, 0x29, 0x5b, 0x38, 0xe0, 0x45, - 0x73, 0xdc, 0x8e, 0x37, 0x2d, 0x1a, 0x0f, 0x6c, 0x17, 0xdb, 0xdf, 0xbf, 0x2c, 0xb6, 0xef, 0xc2, 0x2d, 0xe9, 0x15, - 0x72, 0x96, 0xd0, 0xcf, 0x9f, 0x64, 0x9f, 0x35, 0x9c, 0x9c, 0x0a, 0xcd, 0xd0, 0x52, 0x24, 0x94, 0xe2, 0x9d, 0x9e, - 0x14, 0x18, 0xcb, 0x58, 0xf8, 0x7b, 0xe0, 0x9c, 0x2e, 0x14, 0x91, 0x3b, 0x70, 0x1c, 0xdf, 0x40, 0x05, 0xa3, 0x86, - 0x83, 0x97, 0x31, 0x6c, 0x8b, 0x62, 0x16, 0x12, 0x4e, 0x21, 0x5c, 0xac, 0xb2, 0x7e, 0x5f, 0xfe, 0xa2, 0x2e, 0xba, - 0xc8, 0x64, 0xdd, 0x27, 0xe1, 0xc8, 0x8c, 0xe5, 0xd4, 0x0b, 0xc9, 0xf3, 0x9e, 0x27, 0xd3, 0xe4, 0x59, 0x1e, 0x44, - 0x00, 0xf9, 0x1c, 0xde, 0x87, 0x69, 0x06, 0x56, 0x69, 0x52, 0x7e, 0x84, 0xd2, 0x17, 0x9f, 0x57, 0x7e, 0xa0, 0xb3, - 0xe7, 0x26, 0x19, 0xde, 0xac, 0x5a, 0x6f, 0x52, 0xeb, 0xba, 0x78, 0xc0, 0xdf, 0x3b, 0x83, 0x8d, 0x73, 0x9d, 0x09, - 0x0e, 0xbc, 0x48, 0x6a, 0xbd, 0x66, 0xfc, 0x3a, 0xc3, 0x75, 0xa9, 0xda, 0xe8, 0xa3, 0x10, 0x9d, 0x43, 0xa6, 0x02, - 0x14, 0x8a, 0xb4, 0x7f, 0x50, 0x6a, 0x65, 0x52, 0x69, 0x23, 0x01, 0x74, 0x0f, 0x93, 0x06, 0x5b, 0x0c, 0x65, 0x2c, - 0x4d, 0xa2, 0xdc, 0x69, 0x10, 0x57, 0xf6, 0xe7, 0x4a, 0xe2, 0xd0, 0xb2, 0x48, 0xfe, 0xbd, 0xeb, 0xe9, 0x2b, 0xa4, - 0xee, 0x64, 0x81, 0xcc, 0x18, 0x2f, 0xf2, 0xf8, 0x33, 0x10, 0x66, 0x83, 0x36, 0x2a, 0x0a, 0x21, 0x64, 0x83, 0x18, - 0x34, 0x5e, 0xe4, 0xf1, 0x4b, 0x45, 0xe3, 0x21, 0x1f, 0x45, 0xbe, 0xfa, 0xab, 0xd4, 0x7f, 0x85, 0x3e, 0x33, 0xc1, - 0x23, 0x54, 0x13, 0xfd, 0xbb, 0xe7, 0xb3, 0x7b, 0x50, 0x1b, 0x46, 0x61, 0x66, 0xca, 0xaf, 0x7c, 0x53, 0x9c, 0xbd, - 0xfe, 0x8a, 0xae, 0xb2, 0xad, 0xfb, 0xd1, 0xa7, 0x23, 0x02, 0x6b, 0x63, 0x74, 0xc5, 0x8d, 0x01, 0xe4, 0x30, 0x79, - 0xbf, 0xa2, 0xb4, 0x1c, 0xd2, 0x20, 0x74, 0xd0, 0x10, 0xf4, 0x4a, 0xa2, 0x0f, 0x24, 0x16, 0x31, 0x86, 0x17, 0xe2, - 0x19, 0xa9, 0xc9, 0x44, 0x43, 0xbc, 0x22, 0xf6, 0x43, 0xb4, 0xe4, 0xd4, 0x44, 0x37, 0xc2, 0x14, 0x03, 0x89, 0x9d, - 0x41, 0x72, 0x92, 0xd4, 0xca, 0x2f, 0x9e, 0x49, 0xc2, 0x12, 0x3b, 0x0f, 0x31, 0x98, 0xd4, 0xd2, 0x9d, 0xde, 0x54, - 0xe9, 0xeb, 0x91, 0x96, 0x83, 0xf6, 0x01, 0xd8, 0xa5, 0xa4, 0xf7, 0x4f, 0x0a, 0x45, 0x7c, 0x0c, 0xe3, 0x18, 0xc2, - 0xb7, 0x88, 0xea, 0x0a, 0x9c, 0x6b, 0x05, 0x1a, 0xab, 0x81, 0x87, 0x66, 0x56, 0xcd, 0x87, 0x9c, 0x7e, 0x2a, 0x2d, - 0x7f, 0x8c, 0x68, 0x6c, 0xb4, 0x6e, 0x0e, 0x87, 0x3d, 0xad, 0x7a, 0xe9, 0x1c, 0x74, 0xd9, 0x4c, 0x62, 0xe2, 0x06, - 0xd2, 0xf5, 0xa3, 0xdf, 0x4c, 0xd8, 0x8b, 0xa8, 0x90, 0x4b, 0x21, 0x28, 0x68, 0x75, 0x20, 0x70, 0x28, 0xbc, 0x45, - 0x99, 0x2f, 0x62, 0xda, 0x40, 0x18, 0x7c, 0x7e, 0x20, 0x3f, 0xdf, 0x14, 0xa4, 0x62, 0xc7, 0xba, 0xf6, 0xfb, 0x9b, - 0xd2, 0x03, 0x3c, 0x39, 0x93, 0xe4, 0x69, 0x33, 0x84, 0x15, 0x01, 0x34, 0x66, 0x35, 0x59, 0x9c, 0x70, 0x65, 0x0e, - 0x3f, 0x55, 0x5e, 0xc9, 0x52, 0xa6, 0xce, 0x53, 0xbd, 0x00, 0xa2, 0x8e, 0x37, 0x68, 0x45, 0xea, 0x57, 0xe8, 0xec, - 0x35, 0x2b, 0x21, 0xe3, 0xe1, 0x39, 0xe7, 0xe9, 0xe8, 0x81, 0x25, 0x3c, 0xc2, 0xbf, 0x92, 0x89, 0x3e, 0xfc, 0x1e, - 0x38, 0xdc, 0x8c, 0x13, 0x1e, 0xb9, 0xcd, 0xde, 0x57, 0xe1, 0x0a, 0x6e, 0xa6, 0x05, 0x20, 0xb9, 0x05, 0x49, 0x13, - 0x50, 0x42, 0x22, 0x13, 0x32, 0x6b, 0x4a, 0x7e, 0x69, 0x69, 0x1b, 0xac, 0x61, 0xd2, 0x79, 0xc0, 0x8b, 0x56, 0x1f, - 0xad, 0x26, 0xda, 0x65, 0x96, 0xcf, 0x87, 0x38, 0x43, 0x35, 0xc7, 0xdd, 0x19, 0xfc, 0x1c, 0xf0, 0x8a, 0x55, 0x4d, - 0x3a, 0xda, 0x0d, 0xb8, 0xf0, 0xe4, 0x3a, 0x4f, 0x47, 0x5b, 0xfc, 0x25, 0xf7, 0x07, 0x80, 0x0e, 0xa6, 0x2e, 0x81, - 0x3f, 0x55, 0x5b, 0x4d, 0xa5, 0x5e, 0xb6, 0xf6, 0xeb, 0xba, 0xb3, 0x5a, 0xb9, 0x67, 0x5d, 0x86, 0xf6, 0xc8, 0x90, - 0x33, 0x66, 0xc0, 0x9f, 0x33, 0x96, 0xfc, 0x39, 0x63, 0xc5, 0x9f, 0x33, 0x6e, 0x8c, 0x0c, 0xa0, 0x04, 0xf7, 0x92, - 0x5f, 0xef, 0x11, 0x33, 0xc4, 0x6a, 0x50, 0x09, 0xac, 0x2c, 0xe5, 0xdc, 0x47, 0x4e, 0x31, 0xe5, 0x94, 0xe1, 0xa5, - 0xd3, 0x99, 0x3b, 0x90, 0xf3, 0x60, 0xe6, 0x0e, 0x93, 0xb3, 0x3e, 0xc5, 0xb1, 0x34, 0x26, 0x45, 0x05, 0xe9, 0x9c, - 0x0e, 0x37, 0xaf, 0x8e, 0xf3, 0x84, 0x65, 0x7c, 0xdc, 0x3e, 0x53, 0x20, 0xc4, 0x16, 0xcf, 0x90, 0x48, 0xa9, 0x9a, - 0xe5, 0x36, 0x7f, 0x38, 0xd4, 0xa3, 0x07, 0xbd, 0xd3, 0xc3, 0xaf, 0x84, 0xbd, 0xcc, 0x3c, 0xfb, 0x04, 0x01, 0x4c, - 0x12, 0x79, 0x26, 0xe1, 0xe8, 0xc7, 0x72, 0xf4, 0x37, 0x0d, 0xff, 0x9a, 0xa1, 0xba, 0x3b, 0x04, 0x26, 0xb6, 0xec, - 0xc0, 0x21, 0x38, 0x5d, 0x55, 0x22, 0x01, 0x07, 0x9b, 0x0d, 0x8b, 0xf4, 0x1e, 0x0f, 0x71, 0x3e, 0x28, 0x7c, 0x84, - 0x86, 0x19, 0xbd, 0xdf, 0xdf, 0x08, 0xaf, 0x92, 0xad, 0x3c, 0x1c, 0x12, 0xeb, 0x2e, 0xec, 0xe8, 0xe3, 0x68, 0x8f, - 0x12, 0x6a, 0x3f, 0xaa, 0xf5, 0xa6, 0x52, 0x0f, 0x72, 0xb3, 0x0b, 0x89, 0x41, 0xc5, 0x52, 0x7d, 0x7a, 0xa5, 0xfa, - 0x50, 0xb3, 0xce, 0xef, 0xea, 0xb8, 0x4f, 0xc5, 0x68, 0x2d, 0x27, 0x04, 0xb8, 0x0e, 0x12, 0x8d, 0x0e, 0x80, 0x71, - 0xb6, 0xd9, 0xf2, 0x52, 0x5b, 0x27, 0x4a, 0xc7, 0x71, 0xae, 0x8f, 0xe3, 0xc3, 0x41, 0x8a, 0x19, 0x97, 0x47, 0x62, - 0xc6, 0x65, 0x03, 0xf0, 0x66, 0x9d, 0x07, 0xf5, 0xe1, 0x70, 0x49, 0x97, 0x22, 0xd3, 0xd9, 0x46, 0xf9, 0x59, 0x8f, - 0x1e, 0x9e, 0x25, 0x68, 0xee, 0xad, 0xb0, 0xf7, 0x22, 0xd9, 0x9e, 0xc9, 0x3a, 0xf5, 0x32, 0xf2, 0xe9, 0x85, 0x7b, - 0x76, 0xc9, 0xd5, 0x0f, 0xab, 0xaf, 0xa7, 0xbf, 0x0a, 0x2f, 0x62, 0x15, 0xed, 0xd6, 0x25, 0x13, 0xf6, 0x96, 0x52, - 0x49, 0xab, 0xbc, 0x7c, 0xba, 0xf1, 0x03, 0xcc, 0x4c, 0x7b, 0xfa, 0x20, 0x1b, 0x51, 0xfd, 0x59, 0x89, 0x5a, 0x19, - 0x26, 0x0b, 0xe7, 0x25, 0x53, 0x4f, 0x06, 0x3c, 0x66, 0x25, 0x8f, 0x64, 0xa7, 0x37, 0x06, 0x41, 0x00, 0xeb, 0x9c, - 0xb4, 0xea, 0x8c, 0xa3, 0xd1, 0xaa, 0x72, 0x71, 0xba, 0xca, 0x05, 0x86, 0xdb, 0xad, 0xd9, 0x46, 0xd5, 0x59, 0x6e, - 0x6a, 0x95, 0xf2, 0x1d, 0xc0, 0xc7, 0xb2, 0xca, 0x05, 0x1d, 0x53, 0xa6, 0xce, 0x1b, 0x08, 0xc6, 0x56, 0x35, 0x2e, - 0x9c, 0x1a, 0x17, 0x3c, 0xa2, 0x76, 0x37, 0x4d, 0x3d, 0xda, 0x02, 0x4b, 0xe9, 0x68, 0xc7, 0x4b, 0x54, 0x29, 0xfc, - 0x4d, 0xf0, 0x7d, 0x18, 0xc7, 0x2f, 0x8b, 0xad, 0x3a, 0x10, 0x6f, 0x8b, 0x2d, 0xd2, 0xbe, 0xc8, 0xbf, 0x10, 0x07, - 0xbc, 0xd6, 0x35, 0xe5, 0xb5, 0x35, 0xa7, 0x81, 0xad, 0x61, 0xa4, 0xa4, 0x70, 0x6e, 0xfe, 0x3c, 0x1c, 0x68, 0x65, - 0xd7, 0xea, 0xae, 0x50, 0xeb, 0x31, 0x87, 0x0d, 0x7b, 0x91, 0x85, 0x3b, 0x51, 0x82, 0x23, 0x97, 0xfc, 0xeb, 0x70, - 0xd0, 0x2a, 0x4b, 0x75, 0xa4, 0xcf, 0xf6, 0x5f, 0x83, 0x31, 0x43, 0x97, 0x26, 0x60, 0xd9, 0x18, 0xc9, 0xbf, 0x9a, - 0x66, 0xde, 0x30, 0x59, 0x33, 0x85, 0xe3, 0xd0, 0x30, 0x42, 0x1a, 0xd0, 0x6d, 0x50, 0x1b, 0x9e, 0xcc, 0x37, 0x55, - 0xf9, 0xd5, 0x1d, 0xa9, 0xf6, 0x83, 0xe1, 0xe5, 0x44, 0x9c, 0xd3, 0x25, 0x49, 0x3d, 0x95, 0x50, 0x12, 0x82, 0x5d, - 0xfa, 0x40, 0x4e, 0xac, 0x80, 0xac, 0x65, 0x2c, 0xbf, 0xd5, 0x03, 0x42, 0xff, 0x69, 0xb7, 0x5e, 0xe8, 0x3f, 0x4d, - 0xb3, 0x85, 0xba, 0xfe, 0x30, 0xb9, 0xef, 0xe8, 0xf5, 0x07, 0x87, 0x77, 0xea, 0xaa, 0xe2, 0x2a, 0x1e, 0xd5, 0x86, - 0x49, 0x6e, 0x94, 0x85, 0xbb, 0x62, 0x53, 0xab, 0xe5, 0xe9, 0x38, 0x8c, 0xc0, 0x8c, 0xa0, 0x00, 0x59, 0xd7, 0x6d, - 0x44, 0x0c, 0x2b, 0xb9, 0x4c, 0xc8, 0x27, 0x04, 0x64, 0x51, 0x6a, 0x9c, 0x8f, 0x5b, 0xa0, 0x12, 0xc1, 0xe0, 0x34, - 0xb4, 0x56, 0xdd, 0xe4, 0x27, 0x95, 0x8d, 0xdd, 0x01, 0x39, 0x24, 0x99, 0x2c, 0xee, 0x46, 0xb7, 0x62, 0x59, 0x94, - 0xe2, 0x67, 0xac, 0x87, 0x6b, 0xb6, 0x70, 0x9f, 0x01, 0xa1, 0xfd, 0x44, 0x69, 0x6f, 0x22, 0x4d, 0xd0, 0x7d, 0xc7, - 0x56, 0x00, 0x32, 0x80, 0xa2, 0xae, 0x76, 0xeb, 0x73, 0x7e, 0x8e, 0xa4, 0x19, 0x0e, 0xa3, 0xdb, 0xa7, 0x77, 0xc1, - 0xdd, 0xe0, 0x12, 0xb5, 0xd2, 0x97, 0x2c, 0x6e, 0x61, 0x50, 0xed, 0xcd, 0x12, 0x0e, 0x6a, 0x66, 0xad, 0x8d, 0x40, - 0x30, 0xd9, 0x43, 0x41, 0xc5, 0x5c, 0xc1, 0x3e, 0x28, 0x58, 0x4b, 0x5e, 0x07, 0x87, 0x5b, 0xfb, 0xb2, 0x52, 0x5c, - 0x3c, 0xbf, 0x48, 0x5a, 0x17, 0x96, 0xf2, 0xe2, 0x79, 0x03, 0x06, 0x97, 0x23, 0x6c, 0xaa, 0xca, 0x9f, 0x6c, 0x00, - 0x74, 0x2b, 0xa2, 0x88, 0x17, 0xa5, 0xb0, 0x6d, 0xe5, 0x33, 0x27, 0x6c, 0xb0, 0x61, 0x0f, 0x70, 0xaf, 0x0c, 0x4a, - 0x06, 0x17, 0x62, 0xdc, 0x6e, 0x76, 0x01, 0xae, 0x60, 0x28, 0x8c, 0xad, 0xf9, 0x9b, 0xcc, 0x8b, 0x94, 0x80, 0x9b, - 0x21, 0xca, 0xd7, 0x06, 0x4e, 0x26, 0x3d, 0xb9, 0x96, 0x2c, 0x06, 0x2c, 0x68, 0xf0, 0x1d, 0xb5, 0xfe, 0xce, 0xe4, - 0xdf, 0x78, 0x7a, 0xe8, 0x07, 0x5f, 0x32, 0x6f, 0xe9, 0xb3, 0x37, 0x95, 0x8c, 0xd6, 0x24, 0x51, 0x5e, 0x3d, 0x5c, - 0x82, 0xdc, 0xb0, 0x1c, 0x3d, 0xb0, 0x25, 0x88, 0x13, 0xcb, 0x51, 0x42, 0x19, 0x5d, 0xe1, 0x5e, 0x65, 0xb6, 0x4c, - 0x04, 0x52, 0x1c, 0x58, 0x4a, 0xb9, 0xb7, 0x58, 0x07, 0x4b, 0xdc, 0x9f, 0x48, 0x2e, 0xa0, 0xe4, 0x01, 0x94, 0x2b, - 0x05, 0x04, 0x7c, 0x3a, 0x80, 0xf2, 0xa5, 0xbc, 0x08, 0x7f, 0xe2, 0x44, 0x0d, 0x96, 0xa3, 0x87, 0x86, 0xfd, 0xe4, - 0x85, 0x96, 0xfd, 0xe1, 0x4e, 0x6b, 0x1a, 0x56, 0xfc, 0x0e, 0xa6, 0xc5, 0xc4, 0xed, 0xcb, 0x95, 0x5d, 0x15, 0x9f, - 0xad, 0xd4, 0xd9, 0x4d, 0x0d, 0x49, 0xd8, 0x37, 0x64, 0x15, 0xe0, 0x60, 0x55, 0xc4, 0x3d, 0xcb, 0x72, 0x1f, 0x46, - 0x7f, 0x6e, 0xd2, 0x52, 0x58, 0xa8, 0x92, 0xfe, 0xbe, 0x29, 0x05, 0x52, 0x99, 0xe8, 0x44, 0x0b, 0xc1, 0x15, 0x18, - 0x04, 0xee, 0x45, 0x5e, 0x03, 0x60, 0x0c, 0xb8, 0x14, 0x28, 0xcb, 0xb6, 0x84, 0x90, 0xea, 0x7e, 0x06, 0x6a, 0x3b, - 0x71, 0x9f, 0x46, 0x64, 0x2d, 0x44, 0x5f, 0x05, 0x63, 0xe6, 0xbc, 0x94, 0x6e, 0xb1, 0xe9, 0x6a, 0xb3, 0xba, 0x41, - 0xe7, 0xd2, 0x96, 0x9b, 0x9f, 0xb0, 0xc5, 0x5a, 0x81, 0xb2, 0x09, 0x49, 0xdb, 0x39, 0xcf, 0x51, 0x36, 0xa1, 0xa5, - 0xbd, 0xa7, 0x1e, 0x15, 0xaa, 0x93, 0xad, 0x97, 0xaa, 0xa9, 0x45, 0x58, 0x2d, 0x2e, 0x2a, 0x3f, 0x00, 0xdd, 0x54, - 0x5a, 0xbd, 0xa8, 0x6b, 0x34, 0x85, 0x5a, 0x2d, 0x1c, 0x37, 0xda, 0xd9, 0x74, 0x99, 0xde, 0x21, 0xce, 0xaa, 0xb4, - 0x43, 0xff, 0x92, 0x69, 0xd7, 0xcb, 0x8e, 0x7e, 0x33, 0xae, 0x2e, 0x70, 0x21, 0x36, 0xe0, 0x73, 0xee, 0x2f, 0xaf, - 0xf7, 0x3c, 0xee, 0xf9, 0x87, 0x03, 0xb2, 0x27, 0xb5, 0x3f, 0x54, 0x1f, 0xbb, 0x82, 0x21, 0x0b, 0xa3, 0xd4, 0x5f, - 0xa4, 0xbc, 0xf7, 0x04, 0xc7, 0xfd, 0x4b, 0xd5, 0x63, 0x3f, 0x65, 0x7c, 0x5f, 0x17, 0x9b, 0x28, 0xa1, 0xa8, 0x86, - 0xde, 0xaa, 0xd8, 0x54, 0x22, 0x2e, 0x1e, 0xf2, 0x1e, 0xc3, 0x64, 0x18, 0x0b, 0x99, 0x0a, 0x7f, 0xca, 0x54, 0xf0, - 0x08, 0xa1, 0xc4, 0xcd, 0xba, 0x47, 0xda, 0x4d, 0x88, 0x53, 0xaa, 0x45, 0x29, 0x93, 0xf1, 0x6f, 0xfd, 0x04, 0xca, - 0x73, 0x8a, 0x96, 0xe9, 0x47, 0x85, 0xcb, 0xf4, 0xcd, 0xfa, 0xb8, 0xf4, 0x4c, 0x84, 0x3a, 0x73, 0xb1, 0xa9, 0x75, - 0x3a, 0xc6, 0x4e, 0xe9, 0xd4, 0x86, 0xbd, 0xaf, 0x14, 0x97, 0x15, 0x85, 0x7f, 0x23, 0x91, 0x55, 0xcf, 0x88, 0xe3, - 0xff, 0xcc, 0xda, 0x67, 0x58, 0x05, 0x7e, 0x19, 0xc8, 0xfb, 0x05, 0xc0, 0xc7, 0x75, 0x5d, 0xa6, 0xb7, 0x1b, 0xa0, - 0x0d, 0xa1, 0xe1, 0xef, 0xf9, 0xc8, 0x80, 0xe9, 0x3e, 0xc2, 0x19, 0xd2, 0x43, 0x9d, 0x73, 0x3a, 0x2b, 0xd3, 0x39, - 0x57, 0x61, 0x2d, 0xc1, 0x5e, 0x4e, 0x9a, 0x5c, 0xae, 0x4b, 0x50, 0x33, 0x81, 0xdb, 0x87, 0xf6, 0x88, 0x10, 0x6a, - 0x53, 0x56, 0xd3, 0x4b, 0xa8, 0x79, 0x27, 0xa7, 0x1d, 0x4d, 0x4a, 0x70, 0xd5, 0xd0, 0x59, 0xb9, 0xfe, 0xeb, 0x70, - 0xe8, 0xdd, 0x66, 0x45, 0xf4, 0x47, 0x0f, 0xfd, 0x1d, 0xb7, 0x37, 0xe9, 0x57, 0x88, 0x96, 0xb1, 0xfe, 0x86, 0x0c, - 0xe8, 0x78, 0x32, 0xbc, 0x2d, 0xb6, 0x3d, 0xf6, 0x1e, 0x35, 0x58, 0xfa, 0xfa, 0xf1, 0x07, 0x48, 0xa8, 0xba, 0xf6, - 0x85, 0xc5, 0x13, 0xe6, 0x29, 0xd1, 0xb6, 0xf0, 0x21, 0x2c, 0xf4, 0x3d, 0x44, 0x46, 0x42, 0xb8, 0xa9, 0xec, 0x1e, - 0x25, 0xed, 0x42, 0x5f, 0xfa, 0x5a, 0xf6, 0x95, 0xef, 0x5c, 0x00, 0xac, 0xec, 0x73, 0x1b, 0xee, 0x49, 0x7f, 0x4a, - 0xf5, 0x61, 0xfb, 0x5b, 0xb2, 0x80, 0x42, 0x0b, 0xeb, 0xa9, 0x9c, 0x9d, 0xeb, 0x92, 0xa7, 0xd9, 0x74, 0xbf, 0x86, - 0x3d, 0xea, 0x1e, 0xbd, 0xa6, 0x82, 0xf3, 0x4b, 0x33, 0x7a, 0xff, 0x30, 0x14, 0xaa, 0xa3, 0xce, 0x1d, 0x64, 0x5d, - 0x5a, 0x97, 0x9c, 0xdf, 0xac, 0xdc, 0x51, 0x98, 0xdf, 0x87, 0xe0, 0x19, 0xd6, 0xbd, 0xbb, 0x38, 0xef, 0xfd, 0xd9, - 0x9a, 0x23, 0x3f, 0x65, 0xb3, 0x14, 0xb1, 0x48, 0xe6, 0x60, 0xf5, 0x43, 0x3f, 0x8f, 0xfd, 0x36, 0xc8, 0xe1, 0xb8, - 0x69, 0x40, 0x87, 0x0d, 0x99, 0xb5, 0x2f, 0x11, 0x38, 0xd5, 0x08, 0xd2, 0xd4, 0x04, 0x35, 0xcb, 0x43, 0x24, 0xb6, - 0x4b, 0xd9, 0x36, 0xc8, 0x75, 0x17, 0x4c, 0x73, 0xa4, 0x3d, 0x83, 0xf7, 0x4d, 0x9a, 0xa4, 0x42, 0xb3, 0x48, 0x5b, - 0x25, 0xe3, 0xdf, 0x91, 0x36, 0x53, 0xb2, 0xc7, 0xd6, 0xc0, 0x7b, 0x09, 0xca, 0xc9, 0x30, 0xc5, 0xf0, 0x1d, 0x5f, - 0xef, 0x3c, 0xe6, 0x9e, 0x73, 0xcc, 0x36, 0x29, 0x3b, 0x82, 0x49, 0xb2, 0xf1, 0x0d, 0xc5, 0x1b, 0x7e, 0xb8, 0xad, - 0x44, 0x09, 0xa0, 0x97, 0x05, 0xbf, 0x96, 0x36, 0x57, 0xe8, 0x76, 0xf7, 0x8e, 0x52, 0xf8, 0x25, 0x2f, 0x0f, 0x87, - 0x6d, 0xea, 0x85, 0xd0, 0xf9, 0x22, 0x7e, 0x0f, 0xe6, 0x30, 0x86, 0xd8, 0x8c, 0x00, 0x61, 0x8e, 0x0f, 0xa8, 0x83, - 0xf5, 0x23, 0x00, 0x8d, 0x13, 0x28, 0xc0, 0xe8, 0xab, 0x6d, 0x41, 0xdf, 0xf2, 0xe2, 0x22, 0x42, 0xd4, 0x28, 0xc0, - 0x44, 0x49, 0xb3, 0x18, 0x86, 0x03, 0x9d, 0xdf, 0x37, 0xb7, 0x75, 0x29, 0x70, 0xe8, 0x1d, 0xcb, 0xf0, 0xdf, 0xfe, - 0xc7, 0xda, 0xd2, 0xaa, 0xb2, 0xdd, 0x1a, 0xa7, 0x99, 0xff, 0xed, 0xb6, 0xd0, 0xf7, 0x5f, 0x09, 0xc5, 0xf3, 0x8e, - 0xd7, 0xed, 0xaf, 0x10, 0xbd, 0xaf, 0x5b, 0x79, 0x57, 0x6a, 0x37, 0xcc, 0x94, 0x3f, 0xa4, 0x79, 0x5c, 0x3c, 0x8c, - 0xe2, 0xd6, 0x91, 0x37, 0x49, 0xcf, 0x39, 0xff, 0x5a, 0xf5, 0xfb, 0xde, 0x57, 0x20, 0xe3, 0x7d, 0x25, 0x8c, 0x23, - 0x26, 0x71, 0xf0, 0xed, 0xc5, 0x28, 0xda, 0x94, 0xb0, 0x21, 0xb7, 0x4f, 0x4b, 0xd0, 0xcc, 0xf4, 0xfb, 0x28, 0x51, - 0x5a, 0xf3, 0xfd, 0x2f, 0x72, 0xbe, 0xbf, 0x12, 0xf2, 0x66, 0x25, 0x3f, 0x7c, 0xb4, 0xc2, 0xc0, 0xf7, 0x38, 0xfd, - 0x2a, 0x7a, 0xec, 0xae, 0xf4, 0xe1, 0xbb, 0xd2, 0xd2, 0x67, 0x15, 0xf5, 0x77, 0x54, 0xd4, 0xbc, 0x12, 0x23, 0x22, - 0x1e, 0x04, 0xed, 0x6c, 0xbb, 0xd4, 0xae, 0x25, 0x68, 0x17, 0x6c, 0x0a, 0xfb, 0xd7, 0xa3, 0x43, 0xde, 0xef, 0x7f, - 0xca, 0xbd, 0x16, 0xaf, 0xbb, 0x0e, 0x4d, 0xf9, 0x6b, 0xe1, 0x21, 0x04, 0xb0, 0x96, 0x81, 0x32, 0x8e, 0x30, 0xe9, - 0x22, 0xaf, 0x51, 0x36, 0x9d, 0x08, 0x7c, 0xcc, 0xb2, 0x2b, 0x27, 0x99, 0x06, 0x98, 0x51, 0x4d, 0x61, 0x26, 0xc0, - 0x48, 0x7d, 0xc2, 0xba, 0xe9, 0x69, 0x15, 0x5a, 0xbe, 0x86, 0x60, 0x5d, 0x64, 0x19, 0x47, 0x31, 0x13, 0x00, 0x6c, - 0x3e, 0x81, 0x7c, 0x45, 0x57, 0x87, 0xa4, 0x95, 0x2a, 0xef, 0xd7, 0x19, 0x91, 0xd1, 0x24, 0x44, 0xf3, 0x5b, 0x78, - 0x60, 0xdf, 0x36, 0x33, 0xaa, 0xd4, 0x33, 0xaa, 0xf2, 0x19, 0x0e, 0x4b, 0xe1, 0x18, 0xf1, 0xff, 0x96, 0xaa, 0x1e, - 0x11, 0xe8, 0x55, 0x99, 0x56, 0x51, 0x91, 0xe7, 0x22, 0x42, 0x84, 0x6a, 0xe9, 0x1c, 0x0e, 0xfd, 0xd8, 0xef, 0xe3, - 0x40, 0x98, 0x17, 0xff, 0xfa, 0x58, 0x57, 0xfe, 0xb5, 0xc0, 0xb5, 0x92, 0x02, 0xa7, 0xa2, 0x46, 0x88, 0x10, 0xde, - 0x9f, 0xc0, 0xb3, 0x9a, 0xfa, 0x7e, 0x63, 0x99, 0xe8, 0xfe, 0x91, 0x01, 0xe5, 0x0f, 0xc8, 0xd7, 0x95, 0x14, 0x67, - 0xea, 0xe4, 0x31, 0x71, 0xc6, 0x01, 0x88, 0xf9, 0xb6, 0x44, 0xa3, 0xb1, 0xff, 0x01, 0x09, 0x86, 0xea, 0x07, 0x3b, - 0xdd, 0xd4, 0xfb, 0x67, 0x26, 0x71, 0x14, 0x7d, 0xda, 0x26, 0x8f, 0x25, 0x4b, 0xa3, 0x85, 0xa3, 0xf7, 0x88, 0x61, - 0x1c, 0x4e, 0xe7, 0x63, 0x92, 0x6d, 0x4c, 0x56, 0x01, 0xa4, 0x93, 0x99, 0x3a, 0xa6, 0xd4, 0xd1, 0x38, 0xd7, 0x0b, - 0xaa, 0xd0, 0x63, 0x5d, 0xf2, 0x1c, 0xac, 0x27, 0x3f, 0x7a, 0xa5, 0x3f, 0x15, 0x72, 0x0e, 0x1b, 0x89, 0xa0, 0xf0, - 0x03, 0x5c, 0x0d, 0x56, 0x0a, 0x18, 0x4c, 0x7d, 0x0b, 0x5f, 0x13, 0xcf, 0x51, 0xf0, 0x28, 0xec, 0x62, 0x6c, 0xad, - 0x7c, 0xe7, 0x93, 0x82, 0x72, 0xcf, 0x8a, 0x39, 0xaf, 0x80, 0x73, 0x19, 0x14, 0xc2, 0x74, 0x3c, 0xcb, 0xff, 0x99, - 0xe4, 0xf5, 0xc4, 0x86, 0x00, 0x19, 0xfc, 0x29, 0x71, 0x5a, 0xba, 0x43, 0x77, 0x1e, 0x7a, 0x16, 0x71, 0xd8, 0xe8, - 0xc9, 0xba, 0x2c, 0xb6, 0x29, 0xea, 0x25, 0xcc, 0x0f, 0xe4, 0xe7, 0x2d, 0xf9, 0x3e, 0x44, 0xf1, 0x36, 0xf8, 0x35, - 0x63, 0xb1, 0xc0, 0xbf, 0xfe, 0x96, 0x31, 0x9a, 0x68, 0xc1, 0xbf, 0xb2, 0x06, 0x89, 0x8a, 0xff, 0x9a, 0x4d, 0x00, - 0xd6, 0x91, 0xab, 0x0f, 0x9f, 0x12, 0xe3, 0xad, 0xd9, 0xf0, 0xc8, 0x37, 0x2b, 0xd0, 0xa9, 0xcf, 0xdd, 0x95, 0xed, - 0xa9, 0x6a, 0xfc, 0x2d, 0xd5, 0xd5, 0x48, 0x55, 0x35, 0xfe, 0x96, 0x52, 0x35, 0x7e, 0xcb, 0x28, 0x7e, 0xa7, 0xf2, - 0x19, 0x32, 0x27, 0x9b, 0x98, 0xa4, 0xd3, 0xf7, 0x86, 0x13, 0xbb, 0xec, 0x37, 0x6f, 0x13, 0x99, 0x89, 0x14, 0x72, - 0x6f, 0x00, 0xda, 0x7e, 0x97, 0x1b, 0x4e, 0x89, 0xf3, 0x73, 0x0f, 0x57, 0x6c, 0x5a, 0xbd, 0xa2, 0x05, 0x0b, 0x6c, - 0x5e, 0x66, 0x79, 0x8a, 0x04, 0xb6, 0x4d, 0x99, 0xf5, 0xe7, 0xdc, 0x03, 0x08, 0x66, 0x52, 0x13, 0x00, 0xd2, 0x42, - 0x54, 0x0a, 0x91, 0xbf, 0xc2, 0x59, 0x7d, 0xce, 0x7b, 0x9b, 0x3c, 0x26, 0xd2, 0xea, 0x5e, 0xbf, 0x9f, 0x9e, 0xa5, - 0x39, 0x05, 0x35, 0x1c, 0x67, 0x9d, 0xfe, 0x92, 0x05, 0x75, 0x22, 0x57, 0xe9, 0xdf, 0xdd, 0x20, 0x2f, 0xe3, 0xfb, - 0xba, 0xed, 0xf9, 0x13, 0xf5, 0xf7, 0xce, 0xfa, 0xdb, 0x02, 0xc1, 0x9d, 0x1c, 0xfb, 0xc9, 0xaa, 0x94, 0x27, 0xc6, - 0xa5, 0xbd, 0xe7, 0x37, 0x75, 0x51, 0x64, 0x75, 0xba, 0xfe, 0x28, 0xf5, 0x34, 0xba, 0x2f, 0xf6, 0x60, 0x0c, 0xde, - 0x01, 0xe0, 0x99, 0x0e, 0x0d, 0x90, 0xbe, 0x67, 0xe4, 0xe1, 0x3e, 0xb7, 0xe4, 0x27, 0x95, 0xb5, 0x49, 0xc2, 0x8a, - 0x62, 0x33, 0x8c, 0x11, 0x4a, 0xc6, 0x69, 0x6c, 0xfd, 0x7e, 0x5f, 0xfd, 0xbd, 0xc3, 0x28, 0x2a, 0x2a, 0xee, 0x18, - 0x8d, 0xca, 0xaa, 0x1e, 0x6d, 0x07, 0x87, 0xc3, 0x79, 0x6e, 0xe3, 0x68, 0xeb, 0x15, 0xb0, 0xb7, 0x42, 0xa5, 0xec, - 0x95, 0x08, 0xcb, 0x0f, 0x57, 0x7e, 0xbf, 0x0f, 0xff, 0xca, 0x48, 0x0b, 0xcf, 0x9f, 0xe2, 0xaf, 0x45, 0x5d, 0x60, - 0x78, 0x06, 0xad, 0xd1, 0x0a, 0x82, 0x09, 0xfe, 0xde, 0x81, 0x7a, 0x69, 0xa5, 0x7d, 0x02, 0xdd, 0x0a, 0xf4, 0xa0, - 0x1e, 0xfa, 0x34, 0x69, 0x5f, 0x48, 0xd4, 0xed, 0xad, 0x4e, 0xa3, 0x3f, 0x2a, 0xb8, 0x9c, 0xc2, 0xe4, 0x70, 0x43, - 0x9f, 0x56, 0xe1, 0xf6, 0x33, 0x3c, 0xfd, 0x19, 0x28, 0xb7, 0x0e, 0x87, 0x1c, 0xc4, 0x16, 0x70, 0xf3, 0x58, 0x85, - 0x5f, 0x8a, 0x52, 0x46, 0xd4, 0xc7, 0xd3, 0x02, 0xb4, 0x77, 0x01, 0x3a, 0x60, 0x69, 0x10, 0xaf, 0x90, 0x3c, 0x67, - 0x23, 0x80, 0x65, 0x07, 0x96, 0xb3, 0x8c, 0x53, 0x98, 0x67, 0x79, 0xad, 0x56, 0xda, 0x59, 0x99, 0x78, 0x35, 0xcb, - 0xc0, 0x59, 0xe0, 0xa2, 0xf2, 0x59, 0xa6, 0x55, 0x4f, 0x55, 0x82, 0x3e, 0xaf, 0xe4, 0x04, 0x57, 0x82, 0x93, 0x0d, - 0xc8, 0x2f, 0x40, 0x92, 0xa6, 0x94, 0x35, 0xe5, 0xf5, 0x25, 0xdd, 0x90, 0xd1, 0x73, 0xde, 0xf3, 0xa2, 0x61, 0xe8, - 0x5f, 0x78, 0x25, 0x84, 0x6f, 0xe2, 0xb6, 0x8d, 0x52, 0xd8, 0x5f, 0x04, 0x16, 0x9f, 0xb0, 0x1f, 0xbd, 0xa5, 0x3f, - 0x1d, 0x07, 0xe1, 0x10, 0xb9, 0xa1, 0x62, 0x0e, 0xec, 0x69, 0xc0, 0x62, 0x13, 0x5f, 0x6d, 0x26, 0xf1, 0x60, 0xe0, - 0xeb, 0x8c, 0xc5, 0x2c, 0x06, 0x1a, 0xe4, 0x78, 0x70, 0x39, 0xd7, 0x27, 0x84, 0x7e, 0x18, 0x51, 0x39, 0x2a, 0xd0, - 0x39, 0x88, 0x06, 0x4b, 0xc0, 0x53, 0x6f, 0x65, 0x83, 0x24, 0x63, 0x92, 0x49, 0x5c, 0x6b, 0x92, 0xea, 0x70, 0x42, - 0xeb, 0x40, 0xc7, 0xd5, 0x05, 0x74, 0x3e, 0xae, 0x7b, 0x1f, 0xaf, 0x86, 0x0b, 0x2a, 0xfd, 0x42, 0x0c, 0xbc, 0x7a, - 0x3a, 0x0e, 0x2e, 0xe9, 0x56, 0xb8, 0x58, 0x85, 0xdb, 0x9f, 0xe5, 0x03, 0xc7, 0x1d, 0x95, 0x34, 0x04, 0x06, 0x6f, - 0x0f, 0xdd, 0xcd, 0x0c, 0x0d, 0x75, 0xd2, 0x3e, 0x8c, 0x43, 0x39, 0xc4, 0xaa, 0x15, 0x17, 0xd2, 0x1b, 0xc1, 0xb7, - 0x0b, 0xc5, 0x58, 0x36, 0x76, 0x69, 0x28, 0x0a, 0x7f, 0x05, 0xb0, 0x43, 0xed, 0xaf, 0x54, 0xf2, 0x31, 0x32, 0xaa, - 0x69, 0xa0, 0x63, 0x00, 0x96, 0x2c, 0x4d, 0x24, 0x55, 0xa4, 0x91, 0xf8, 0x23, 0x33, 0xd6, 0x51, 0xd3, 0xf5, 0x05, - 0x53, 0xd5, 0x22, 0xe9, 0x76, 0x26, 0xb1, 0x9c, 0x48, 0x52, 0xdb, 0x7d, 0x44, 0x0c, 0x06, 0x3e, 0xd8, 0x88, 0x69, - 0x26, 0xc2, 0x11, 0x8f, 0x4a, 0x64, 0xd1, 0xe5, 0xb7, 0x51, 0x26, 0x6d, 0x5f, 0x56, 0x64, 0x0b, 0x82, 0xe9, 0x49, - 0xf4, 0x41, 0x92, 0x72, 0x2a, 0x12, 0x69, 0x46, 0x08, 0xf0, 0xe3, 0x49, 0x79, 0xa5, 0x3f, 0x07, 0x4d, 0x2b, 0xc1, - 0x4b, 0x06, 0xc9, 0x23, 0xf1, 0x33, 0x29, 0x98, 0xc5, 0x58, 0x35, 0x18, 0x60, 0x39, 0xd5, 0x33, 0xc7, 0x24, 0xfd, - 0x97, 0x4e, 0x27, 0xec, 0x17, 0x5e, 0x6e, 0x6b, 0x79, 0xd3, 0xdc, 0x7b, 0xe1, 0x55, 0x2c, 0xd5, 0xb0, 0x0c, 0xfa, - 0xaf, 0x89, 0x76, 0xc1, 0xd6, 0x96, 0x31, 0x61, 0xd5, 0x0f, 0x20, 0xed, 0x91, 0x2e, 0xaf, 0x1a, 0xe6, 0x4c, 0xf0, - 0xe8, 0xc2, 0x9a, 0x07, 0xd1, 0x85, 0xf0, 0x91, 0xcb, 0x6e, 0x92, 0x5c, 0x8d, 0x27, 0x7e, 0x38, 0x18, 0x28, 0x00, - 0x5a, 0x5a, 0x27, 0xc5, 0x20, 0x7c, 0x26, 0xe4, 0x40, 0x1a, 0x1d, 0x55, 0x01, 0x16, 0xcb, 0xec, 0xaa, 0x9c, 0x64, - 0x83, 0x81, 0x0f, 0x62, 0x63, 0x62, 0x37, 0x34, 0x9b, 0xfb, 0xec, 0x44, 0x41, 0x56, 0x9b, 0xc3, 0xd6, 0x4c, 0xb7, - 0xc0, 0x00, 0x60, 0x10, 0x11, 0x2c, 0xf7, 0xb9, 0x91, 0x8f, 0xa8, 0xd3, 0x53, 0x18, 0x01, 0xc1, 0x2f, 0x27, 0x02, - 0x91, 0x8b, 0x04, 0xea, 0x01, 0x66, 0x02, 0xcc, 0xa8, 0x62, 0x78, 0x09, 0xec, 0xe2, 0xb9, 0x79, 0xc5, 0xa0, 0x7f, - 0xd1, 0x24, 0x4b, 0x34, 0x95, 0x38, 0x1a, 0x23, 0xa7, 0xd2, 0x18, 0x19, 0x10, 0xbb, 0x38, 0xfe, 0x3d, 0xa5, 0x47, - 0x41, 0xca, 0xbe, 0x54, 0x86, 0x38, 0x1c, 0xc5, 0x57, 0xb0, 0x6a, 0x1c, 0x0e, 0xb5, 0x79, 0x3d, 0x9d, 0xd5, 0xf3, - 0x81, 0x08, 0xe0, 0xbf, 0xa1, 0x60, 0x2f, 0x35, 0x15, 0xb9, 0x41, 0xea, 0x3c, 0x1c, 0x52, 0x90, 0x4f, 0x75, 0x93, - 0x7f, 0xa9, 0xdc, 0xfd, 0x74, 0x36, 0xb7, 0xe6, 0xe8, 0x45, 0x8d, 0xeb, 0xd6, 0xea, 0x86, 0x42, 0xa2, 0x35, 0x4d, - 0x8a, 0xab, 0x6a, 0x52, 0x0c, 0x78, 0xee, 0x0b, 0xd5, 0xc5, 0xd6, 0x08, 0x16, 0xfe, 0xdc, 0x02, 0x61, 0x32, 0xee, - 0xc5, 0x47, 0x0b, 0x39, 0xa5, 0x5d, 0x5b, 0xed, 0xb6, 0x95, 0x0d, 0x29, 0x9a, 0x0f, 0x2f, 0x61, 0x97, 0x4e, 0x11, - 0x6d, 0xbb, 0x24, 0xf8, 0x02, 0xb4, 0xac, 0x2e, 0x44, 0x1e, 0xd3, 0xaf, 0x90, 0x5f, 0x8a, 0xe1, 0x7f, 0x4a, 0xf7, - 0xe6, 0xd4, 0x06, 0x39, 0x80, 0xed, 0xde, 0xc3, 0xed, 0x18, 0x3d, 0x90, 0xc1, 0x1b, 0x21, 0xe7, 0x9c, 0x5f, 0x4e, - 0xad, 0x19, 0x13, 0x0d, 0x0b, 0x56, 0x0e, 0x23, 0x3f, 0x40, 0xc6, 0xcb, 0x29, 0xb0, 0xb2, 0x1f, 0x15, 0x71, 0xe9, - 0x0f, 0x23, 0xff, 0xe2, 0x79, 0x90, 0x71, 0x2f, 0x1a, 0x76, 0x7c, 0x01, 0xf6, 0xea, 0x8b, 0xe7, 0x2c, 0x1a, 0xf0, - 0xea, 0xaa, 0x9e, 0x66, 0xc1, 0x30, 0x63, 0xd1, 0x55, 0x31, 0x04, 0x1f, 0xda, 0xeb, 0x72, 0x10, 0xfa, 0xbe, 0xd9, - 0x39, 0x74, 0x37, 0x24, 0xf2, 0x08, 0xfb, 0x09, 0xdc, 0x76, 0xb5, 0xc4, 0x0c, 0x26, 0x9b, 0xbb, 0x88, 0x19, 0x6c, - 0xf9, 0x8b, 0xe7, 0x86, 0x4b, 0xa8, 0xba, 0x96, 0x9a, 0x8d, 0x02, 0xcd, 0xc9, 0x15, 0x9a, 0x93, 0x95, 0x50, 0x4b, - 0x3e, 0xa9, 0x70, 0xc2, 0xce, 0x27, 0xb9, 0xb2, 0x1b, 0x8d, 0x31, 0x70, 0xd1, 0x9e, 0xdb, 0xc2, 0xc8, 0x4c, 0x67, - 0x29, 0x1a, 0xb0, 0xf0, 0x4c, 0x9c, 0xd2, 0x18, 0xd0, 0xbe, 0x1c, 0x58, 0xda, 0x90, 0x9f, 0xe4, 0xcc, 0x40, 0xdb, - 0x90, 0xd2, 0xa8, 0x19, 0xf8, 0x33, 0x35, 0x61, 0x7e, 0x05, 0x2b, 0x11, 0x44, 0x75, 0x01, 0x26, 0x49, 0x4e, 0x46, - 0x23, 0x65, 0x25, 0x92, 0x73, 0xc0, 0xfb, 0x04, 0x9e, 0x2c, 0x62, 0x5b, 0xfb, 0x53, 0xfa, 0x5f, 0x1d, 0x3e, 0x97, - 0xfe, 0x33, 0x01, 0x2c, 0xe4, 0xd2, 0x20, 0x32, 0x50, 0x38, 0xa4, 0xa6, 0x12, 0x71, 0xe2, 0x78, 0x06, 0xbe, 0x81, - 0x0b, 0x34, 0x05, 0xf4, 0x07, 0x35, 0xa3, 0x88, 0x2c, 0xfc, 0xd5, 0xb3, 0x9b, 0xba, 0xd1, 0xf3, 0xcc, 0x79, 0x0d, - 0x9a, 0x19, 0x08, 0xe9, 0x71, 0xaa, 0xde, 0x86, 0x44, 0xe7, 0xe5, 0xa5, 0x7e, 0x99, 0x10, 0xc9, 0x8a, 0xc8, 0xd3, - 0xf7, 0x39, 0x98, 0x47, 0x14, 0xa1, 0x83, 0x2b, 0xf3, 0x70, 0x38, 0x17, 0x14, 0xbe, 0xa3, 0x3c, 0x1f, 0x70, 0x9a, - 0x45, 0x09, 0x68, 0x03, 0x59, 0x6e, 0xca, 0x5c, 0x27, 0x2d, 0x53, 0xf7, 0x1e, 0xac, 0x04, 0x15, 0xba, 0x39, 0x05, - 0x85, 0x32, 0x12, 0x94, 0xd2, 0x6a, 0x10, 0x4a, 0x75, 0x58, 0x04, 0x91, 0x43, 0x16, 0x02, 0x6e, 0xa6, 0xa2, 0xd1, - 0x92, 0x86, 0x47, 0x38, 0x37, 0x50, 0x08, 0x40, 0x62, 0x4f, 0x15, 0x65, 0x5c, 0x0e, 0x01, 0x1f, 0x25, 0x1c, 0xe2, - 0xac, 0x49, 0x5b, 0x9e, 0x83, 0x38, 0x96, 0x4b, 0xbe, 0xae, 0x10, 0x0c, 0x22, 0xf4, 0x19, 0xf2, 0x27, 0xcb, 0xf9, - 0x77, 0xeb, 0x30, 0xed, 0x08, 0x1f, 0x76, 0xb5, 0x05, 0x17, 0xb3, 0xdb, 0xf9, 0x04, 0xe2, 0x5b, 0x6e, 0xe7, 0xc7, - 0x18, 0x22, 0x0b, 0x7f, 0x70, 0x37, 0x94, 0x5c, 0x51, 0xe8, 0xb2, 0x1e, 0x91, 0x22, 0x7b, 0xba, 0xe6, 0x08, 0x82, - 0x03, 0xad, 0x1a, 0x64, 0x68, 0x24, 0xbe, 0x78, 0x0e, 0x59, 0x83, 0x35, 0xff, 0x52, 0x91, 0xb3, 0xba, 0x3f, 0xd9, - 0x40, 0x35, 0xc9, 0x64, 0xad, 0xa8, 0x9c, 0xbf, 0x5d, 0x95, 0xe5, 0xc9, 0xaa, 0x0c, 0x57, 0x83, 0xae, 0xaa, 0x2c, - 0x39, 0x52, 0x1b, 0xa0, 0x35, 0x5d, 0x21, 0x86, 0x42, 0xd6, 0x60, 0x69, 0x55, 0x65, 0x4d, 0x7d, 0x02, 0x81, 0x3e, - 0xc0, 0x32, 0x6a, 0xf6, 0xd3, 0xe1, 0x3f, 0x83, 0x7f, 0xaa, 0x90, 0xa5, 0x3a, 0xad, 0x33, 0xf1, 0x6b, 0xb0, 0x64, - 0xf8, 0xc7, 0x6f, 0xc1, 0x1a, 0xb0, 0x04, 0xc8, 0x72, 0xb7, 0xb1, 0xd1, 0x7a, 0xe5, 0x15, 0xe2, 0x7d, 0xad, 0x2f, - 0xfa, 0xad, 0xdb, 0x44, 0xad, 0x00, 0x23, 0x14, 0x5a, 0x04, 0xd8, 0xea, 0x81, 0x7b, 0x0a, 0x7e, 0x20, 0x86, 0x73, - 0x4d, 0x5a, 0x53, 0x27, 0xbc, 0xce, 0xc6, 0x91, 0x88, 0xea, 0x2d, 0x5c, 0xdc, 0xeb, 0xad, 0xc5, 0xdf, 0xa8, 0x40, - 0x00, 0x64, 0x31, 0xc5, 0xda, 0x79, 0x43, 0x7a, 0x65, 0xd8, 0x49, 0xe8, 0xbd, 0x61, 0x27, 0x90, 0x17, 0x87, 0x9d, - 0x42, 0x97, 0x68, 0x3b, 0x45, 0x6a, 0xa2, 0xed, 0xa4, 0xc5, 0x2a, 0x2c, 0x21, 0xf8, 0x55, 0x7b, 0xeb, 0x28, 0xdb, - 0x17, 0x59, 0xc2, 0xb4, 0x05, 0x8c, 0x72, 0xab, 0x3e, 0x73, 0x8a, 0x58, 0x29, 0x7b, 0xa7, 0x93, 0x2a, 0x77, 0x91, - 0xcf, 0xad, 0xa6, 0xc8, 0xe4, 0x97, 0xc7, 0x2d, 0x92, 0x4f, 0x7e, 0x6e, 0x37, 0x4c, 0xa6, 0x7f, 0x3a, 0xfa, 0x02, - 0xba, 0x22, 0x3b, 0x7d, 0x02, 0x01, 0x99, 0x0a, 0xaa, 0xd5, 0xad, 0x62, 0x9a, 0xb7, 0xab, 0xec, 0xf6, 0x42, 0x89, - 0xe1, 0x74, 0x76, 0x12, 0x1e, 0x6d, 0x86, 0x0c, 0x1c, 0x82, 0x40, 0x21, 0x54, 0x14, 0xc3, 0x23, 0x50, 0x6b, 0x24, - 0x1f, 0xe0, 0x47, 0xbb, 0x53, 0x41, 0xa4, 0x76, 0x53, 0x71, 0xe3, 0xe4, 0xa6, 0xeb, 0xa5, 0x40, 0xad, 0x53, 0xb2, - 0x02, 0x28, 0x21, 0xea, 0xcf, 0x62, 0x5b, 0xbf, 0x82, 0x2b, 0x36, 0xdf, 0x37, 0x8a, 0x9e, 0x5c, 0x9f, 0xa2, 0x6e, - 0xc5, 0xd5, 0x69, 0xda, 0x6a, 0x8e, 0x1d, 0x67, 0xc8, 0xc1, 0xb3, 0x82, 0x60, 0x3b, 0x2a, 0x51, 0xbe, 0x6b, 0x37, - 0x1d, 0x13, 0x5b, 0xfd, 0xb3, 0xa8, 0x36, 0x77, 0x50, 0x11, 0x11, 0x1f, 0x65, 0x37, 0x4f, 0xda, 0xef, 0x60, 0x8f, - 0xb5, 0x1a, 0x44, 0xf6, 0x19, 0x5c, 0xe5, 0x3a, 0x2d, 0x72, 0x5b, 0x06, 0xe7, 0x1f, 0x5e, 0xed, 0x2a, 0x6c, 0x72, - 0xac, 0xab, 0xab, 0x99, 0xea, 0xa4, 0x62, 0x03, 0x63, 0x4d, 0x6b, 0xa9, 0xe6, 0x31, 0x24, 0xdd, 0x95, 0xc5, 0x59, - 0x95, 0x74, 0xd3, 0x73, 0xe3, 0x4c, 0x21, 0x06, 0xce, 0x56, 0xa3, 0xe5, 0x0c, 0x43, 0x74, 0x7d, 0x98, 0x25, 0x7e, - 0xab, 0xa7, 0xdc, 0xe7, 0xe1, 0xd6, 0xef, 0xea, 0x05, 0x27, 0x93, 0xfd, 0xe4, 0x38, 0x77, 0xbb, 0x48, 0xfb, 0x89, - 0x6f, 0xc3, 0xfc, 0xeb, 0x1b, 0xc4, 0x9d, 0xa8, 0xff, 0x51, 0x01, 0xd0, 0xe0, 0x26, 0x8f, 0x25, 0x4a, 0xfd, 0x5e, - 0x55, 0x3f, 0xa8, 0x99, 0xaa, 0x69, 0x20, 0x98, 0x53, 0x29, 0xe0, 0x0f, 0xb7, 0x0b, 0x57, 0x3c, 0xe2, 0x86, 0x85, - 0xf1, 0x4f, 0xaf, 0x66, 0xa7, 0x82, 0xca, 0xc0, 0xcd, 0xf8, 0x4f, 0x4f, 0xb0, 0x53, 0x58, 0x2b, 0x20, 0x2b, 0xfc, - 0xe9, 0xe5, 0x8f, 0xbc, 0x5f, 0xf1, 0x3f, 0xbd, 0xea, 0x91, 0xf7, 0x11, 0xe7, 0xe5, 0x4f, 0x24, 0x75, 0x42, 0x54, - 0x97, 0x3f, 0x09, 0x53, 0x6c, 0x95, 0xe6, 0xaf, 0x49, 0xe1, 0x13, 0x7c, 0x01, 0xbe, 0xc3, 0x55, 0xb8, 0x35, 0xbf, - 0xc1, 0x63, 0xc7, 0x62, 0xdb, 0xa5, 0xbe, 0x80, 0x72, 0x04, 0x16, 0x91, 0xdb, 0x6f, 0x57, 0xf6, 0xab, 0x85, 0x51, - 0xc6, 0xd8, 0x7d, 0xc9, 0x4a, 0x94, 0xce, 0xfa, 0xfd, 0x42, 0x0a, 0x46, 0x76, 0x61, 0x8d, 0xf6, 0x28, 0x55, 0xaf, - 0xbe, 0x0b, 0xeb, 0x28, 0x49, 0xf3, 0x3b, 0x19, 0x7d, 0x24, 0xc3, 0x8e, 0xf4, 0x95, 0x94, 0x68, 0xaf, 0x55, 0x58, - 0x8e, 0x66, 0xbf, 0x2e, 0x39, 0x50, 0x5e, 0xb7, 0x82, 0xf2, 0x55, 0x13, 0x40, 0xaf, 0x54, 0xfb, 0x0c, 0xb4, 0x82, - 0xc2, 0x52, 0x79, 0xb0, 0x12, 0xe7, 0xa2, 0xcf, 0x8a, 0xc3, 0x41, 0x5d, 0x0c, 0x09, 0x05, 0xaa, 0xc4, 0x49, 0x68, - 0xc4, 0x73, 0xb8, 0x10, 0x8a, 0xeb, 0x1c, 0x63, 0x2b, 0x72, 0xe0, 0x40, 0x86, 0x1f, 0x10, 0x78, 0x2f, 0xfb, 0x57, - 0x30, 0x18, 0x26, 0xb8, 0x91, 0x51, 0x27, 0xe7, 0xec, 0x4f, 0x0c, 0xcc, 0xa0, 0x9e, 0xd4, 0xee, 0xb3, 0x7b, 0x15, - 0xd8, 0x0b, 0x67, 0x40, 0x7b, 0x37, 0x46, 0x3f, 0xab, 0x62, 0xed, 0xa4, 0x7f, 0x2e, 0xd6, 0x90, 0x4c, 0x87, 0xc5, - 0xd1, 0x36, 0x0d, 0x8f, 0xe4, 0xc9, 0x71, 0xbc, 0xe9, 0x1f, 0x0e, 0x63, 0xfc, 0x38, 0xca, 0xaf, 0x2d, 0xe0, 0x55, - 0xdc, 0x42, 0x1a, 0x8b, 0x14, 0xbd, 0x03, 0x31, 0x87, 0xa2, 0x97, 0xec, 0xb7, 0x8c, 0x97, 0x13, 0x41, 0x29, 0x49, - 0x6c, 0x78, 0x47, 0x7a, 0x9a, 0xd6, 0xa3, 0xad, 0x0c, 0xd8, 0xaf, 0x47, 0x3b, 0xfa, 0x0b, 0x14, 0x8f, 0x16, 0xfe, - 0x92, 0xfe, 0x2e, 0xee, 0xe6, 0x9e, 0xf3, 0x4d, 0xe3, 0x3b, 0xe2, 0x02, 0xc5, 0x9a, 0xdd, 0x5f, 0xd3, 0xd2, 0x59, - 0x07, 0x82, 0x03, 0xde, 0x62, 0x17, 0xed, 0xfb, 0x8d, 0xeb, 0xf4, 0xb4, 0xff, 0xde, 0xad, 0x51, 0xbe, 0xf7, 0x0f, - 0x89, 0x72, 0xb0, 0x7f, 0xed, 0xa2, 0xf9, 0xdb, 0x4f, 0x19, 0x92, 0x0a, 0xcd, 0x0d, 0xb6, 0x93, 0x2d, 0xc2, 0xda, - 0x18, 0x07, 0x15, 0xbb, 0x2b, 0xc3, 0x08, 0x18, 0xd4, 0xb1, 0xff, 0xd1, 0x67, 0xd3, 0x86, 0xec, 0x03, 0x40, 0xe5, - 0x2a, 0x04, 0xec, 0x01, 0x38, 0xd1, 0x08, 0x37, 0xc0, 0xad, 0x46, 0x4b, 0x3a, 0xa8, 0xdb, 0x82, 0x81, 0x68, 0x09, - 0x1b, 0x79, 0xdb, 0xd5, 0xe9, 0x1b, 0xc2, 0x87, 0xda, 0x49, 0xe9, 0x50, 0xfe, 0xe6, 0x39, 0xfb, 0xef, 0x1d, 0xd6, - 0xd4, 0x94, 0x1b, 0xc0, 0xcc, 0x59, 0x89, 0xbc, 0x42, 0xe8, 0x14, 0xf9, 0xbd, 0xaa, 0x2b, 0x31, 0x5c, 0xd6, 0xa2, - 0xec, 0xcc, 0x6e, 0x9d, 0xe8, 0x9d, 0x53, 0x50, 0x4b, 0x65, 0x83, 0x9c, 0xa4, 0xda, 0x7c, 0x64, 0xad, 0xa0, 0x44, - 0x5d, 0xa3, 0xc0, 0xf1, 0x29, 0xd7, 0xee, 0xff, 0x9d, 0x33, 0x41, 0xcd, 0x36, 0xaa, 0xfb, 0x6b, 0xfd, 0x54, 0xd5, - 0x24, 0x16, 0xe0, 0x72, 0x92, 0xe6, 0x1d, 0x8f, 0xb0, 0xfa, 0xc7, 0xc9, 0x52, 0x04, 0x7a, 0x1d, 0xd1, 0xae, 0x04, - 0x24, 0x68, 0x27, 0x67, 0xa1, 0x22, 0x50, 0xa0, 0xaf, 0xbf, 0xdc, 0xa4, 0x59, 0x2c, 0x57, 0xb3, 0x3d, 0x4c, 0x94, - 0xc5, 0x7a, 0x88, 0x20, 0x67, 0xa6, 0x0e, 0xf6, 0x7b, 0x9a, 0xd1, 0x2c, 0xbc, 0x32, 0x25, 0xb8, 0x14, 0x57, 0x51, - 0x91, 0x83, 0xcf, 0x21, 0xbe, 0xf0, 0xb9, 0x90, 0x1b, 0x44, 0x34, 0xfd, 0x45, 0xa2, 0xda, 0x91, 0x02, 0x39, 0x94, - 0xfc, 0x84, 0xf8, 0x4b, 0xd6, 0xc6, 0xb8, 0x5f, 0x3a, 0xd5, 0x7e, 0xa5, 0x10, 0xdc, 0x7f, 0xb6, 0xc5, 0x46, 0x95, - 0x27, 0x7a, 0xf4, 0x29, 0xd6, 0xff, 0x64, 0x01, 0xa5, 0xba, 0x6f, 0x83, 0x53, 0xf1, 0x28, 0xdc, 0xd4, 0xc5, 0x0d, - 0x42, 0x0b, 0x94, 0xa3, 0xaa, 0xd8, 0x94, 0x11, 0x71, 0xc2, 0x6e, 0xea, 0xa2, 0xa7, 0x39, 0xd0, 0xa9, 0xc3, 0xd2, - 0x44, 0x9e, 0x08, 0xed, 0x16, 0x74, 0x4f, 0x73, 0xac, 0xc4, 0x0b, 0x59, 0x3a, 0xc8, 0x3a, 0x91, 0x26, 0x54, 0xee, - 0xea, 0xaa, 0xa3, 0x52, 0xa9, 0x1b, 0xde, 0xa4, 0x9a, 0xf1, 0x77, 0x69, 0xfe, 0xc4, 0xb2, 0xdf, 0xb4, 0x7e, 0xab, - 0xd5, 0xde, 0x58, 0x3d, 0x2a, 0x59, 0x73, 0x9c, 0x4d, 0x48, 0x4a, 0x9f, 0xb0, 0xdd, 0x4c, 0xba, 0xd6, 0x81, 0x27, - 0xc1, 0xe5, 0xd0, 0x13, 0x50, 0x31, 0x68, 0xe2, 0xed, 0x2e, 0x50, 0x8f, 0xc0, 0x33, 0x50, 0x3e, 0x51, 0xeb, 0x80, - 0x9f, 0xd7, 0x5a, 0x9e, 0x32, 0xc2, 0xb0, 0xda, 0x59, 0xb4, 0x1c, 0x9c, 0x77, 0x8a, 0xc0, 0xb5, 0x2b, 0x81, 0xe7, - 0x43, 0xf5, 0x5e, 0x08, 0x18, 0xee, 0x9f, 0x0b, 0x95, 0xcd, 0x6e, 0x86, 0xf3, 0xa8, 0x71, 0x7a, 0xa0, 0xbd, 0xed, - 0x5a, 0x0f, 0xf5, 0xae, 0xdb, 0xb9, 0xad, 0x74, 0xef, 0xd7, 0x4e, 0x26, 0x5d, 0x40, 0x6b, 0xf3, 0xd9, 0x77, 0x76, - 0xa5, 0x75, 0xd3, 0x73, 0xf6, 0x60, 0xeb, 0x96, 0xe8, 0x5c, 0x10, 0x4d, 0x7e, 0x3f, 0xf0, 0xac, 0x6d, 0x47, 0xbf, - 0x4d, 0x3b, 0xb6, 0xb9, 0x87, 0xba, 0x57, 0x50, 0xeb, 0x0d, 0xcd, 0xfb, 0x67, 0xae, 0x6d, 0xc7, 0x57, 0xbf, 0xae, - 0x3b, 0x5c, 0xe7, 0x4d, 0x70, 0xdc, 0x74, 0x6d, 0xab, 0x9d, 0xfd, 0xdc, 0xdd, 0x5b, 0x8b, 0x28, 0xcc, 0xb2, 0x9f, - 0x8a, 0xe2, 0x8f, 0x4a, 0xdf, 0x11, 0xe8, 0xe8, 0xce, 0x8b, 0x3a, 0x5d, 0xee, 0x3e, 0x12, 0xc6, 0x93, 0x57, 0x1f, - 0x11, 0xdd, 0xfa, 0x3e, 0x73, 0xbf, 0x02, 0xdc, 0x08, 0xee, 0x20, 0xda, 0xbb, 0xa5, 0x3e, 0xa9, 0xd5, 0xd7, 0x7a, - 0xed, 0x3c, 0x3d, 0xbf, 0xe9, 0xdc, 0x7e, 0xf7, 0xcd, 0xd1, 0xd6, 0x7b, 0x5c, 0x58, 0x2b, 0x4b, 0x4f, 0x55, 0xc1, - 0xde, 0x2c, 0x4f, 0x55, 0xc1, 0xe4, 0x81, 0xd7, 0xec, 0x17, 0x34, 0xb8, 0xd2, 0xd1, 0xc6, 0x7b, 0xa2, 0x06, 0x6e, - 0x51, 0x58, 0x3a, 0xfc, 0x92, 0x9b, 0xc9, 0x2b, 0xdc, 0x5f, 0x2a, 0x72, 0xb1, 0xef, 0x9c, 0xd1, 0x9d, 0x99, 0x75, - 0xaf, 0x2a, 0x5c, 0x2d, 0xc8, 0xd5, 0x81, 0xad, 0x65, 0x17, 0x87, 0x1b, 0x16, 0x51, 0x80, 0x40, 0x4c, 0xaf, 0xd4, - 0xda, 0x1f, 0xd1, 0x20, 0xe4, 0x83, 0x81, 0x5f, 0x60, 0xb0, 0x2a, 0x50, 0xf8, 0x40, 0x91, 0xfc, 0xb5, 0x27, 0x60, - 0x17, 0xcf, 0x00, 0xdd, 0x8a, 0xcd, 0x8a, 0x11, 0x22, 0x64, 0xb2, 0x9c, 0xd5, 0x74, 0x06, 0xf9, 0xd4, 0x17, 0xdf, - 0xd9, 0xaa, 0xd3, 0x79, 0x5b, 0x53, 0xe5, 0xd4, 0xa1, 0xd0, 0xdd, 0x4d, 0xdd, 0xb9, 0x75, 0x91, 0xa7, 0x0e, 0x21, - 0x57, 0x2a, 0x56, 0x62, 0x1a, 0x6a, 0x9e, 0xa4, 0x19, 0xf5, 0xa5, 0xbd, 0xdf, 0x6b, 0x14, 0x4e, 0xf9, 0xd3, 0x31, - 0xa8, 0xc2, 0x55, 0x0d, 0x71, 0x2c, 0x55, 0xf1, 0xc8, 0x06, 0x81, 0xe6, 0xd5, 0xad, 0x4a, 0x9a, 0x90, 0xc9, 0x8d, - 0xf0, 0xa9, 0x49, 0x29, 0x4f, 0xd3, 0x26, 0xad, 0x14, 0xa9, 0x83, 0x0f, 0xea, 0x54, 0xe3, 0xb9, 0x59, 0x5d, 0x03, - 0x98, 0x71, 0x7e, 0xc5, 0x2f, 0x15, 0x97, 0x51, 0x5b, 0x99, 0x49, 0xfb, 0x93, 0xa3, 0xb1, 0x51, 0x97, 0xd3, 0x46, - 0x19, 0x61, 0xa5, 0x34, 0x27, 0xc5, 0x72, 0x3c, 0xff, 0x80, 0xc1, 0x9a, 0x27, 0xb0, 0x83, 0x89, 0x4a, 0x79, 0x1f, - 0x01, 0xf1, 0x75, 0x92, 0xde, 0x25, 0x90, 0x22, 0xfd, 0x4b, 0x97, 0x3c, 0x75, 0x18, 0x1b, 0x88, 0x31, 0x2b, 0x66, - 0x46, 0xff, 0x83, 0xbb, 0xa4, 0x3f, 0x09, 0x01, 0x70, 0x13, 0x4d, 0xa1, 0x53, 0xe7, 0xc9, 0x45, 0x1e, 0x2c, 0x2f, - 0x3c, 0xb4, 0x62, 0xc4, 0x83, 0xff, 0xbc, 0x0e, 0x11, 0xc4, 0x1c, 0x53, 0x3c, 0xfd, 0xc2, 0xe8, 0x3f, 0x82, 0x4b, - 0x8c, 0x20, 0x74, 0xf7, 0xce, 0x61, 0x08, 0x37, 0x7b, 0x90, 0x41, 0xfd, 0xa1, 0x0e, 0x89, 0x1a, 0xfe, 0x54, 0x79, - 0xd0, 0xff, 0x75, 0x26, 0x2c, 0xb5, 0x9f, 0x9e, 0x0e, 0xa0, 0x82, 0xf7, 0x15, 0x6f, 0x23, 0xe2, 0xfb, 0xc4, 0xcf, - 0xe2, 0xc1, 0xe6, 0xd9, 0x06, 0xac, 0x75, 0x4f, 0x72, 0x63, 0x5d, 0x25, 0x6c, 0x20, 0xe0, 0x6b, 0x4c, 0x6b, 0xcf, - 0x6b, 0xb7, 0x7b, 0xf0, 0x9f, 0xfe, 0x45, 0xc8, 0x80, 0x89, 0xd3, 0xf7, 0x99, 0x93, 0x35, 0xba, 0xc8, 0x64, 0xfa, - 0xd0, 0x49, 0xdf, 0xe8, 0x74, 0xdf, 0x09, 0xff, 0xa8, 0x98, 0xc5, 0x87, 0x5b, 0xfa, 0x4a, 0x93, 0xe2, 0x0e, 0x58, - 0xd9, 0x3c, 0x2a, 0x08, 0x75, 0x2e, 0xa2, 0x6f, 0x4c, 0xf9, 0x96, 0x50, 0xb3, 0x6f, 0x2c, 0x29, 0xa5, 0x7b, 0x0d, - 0xbd, 0x49, 0x6b, 0xfd, 0x36, 0x4a, 0x30, 0x26, 0x3a, 0x9e, 0xbc, 0x8c, 0xc7, 0xca, 0xfb, 0x78, 0xdc, 0x48, 0x85, - 0x3c, 0x00, 0x11, 0xa8, 0x18, 0x7f, 0xba, 0xf2, 0xe4, 0xa4, 0x17, 0xc6, 0xab, 0x50, 0x0a, 0x0a, 0x03, 0xba, 0x02, - 0x29, 0xe0, 0x51, 0x7b, 0xa2, 0xb3, 0xb0, 0x4b, 0xb8, 0x47, 0x37, 0x01, 0x63, 0x7d, 0xfe, 0x09, 0xd0, 0xdc, 0x85, - 0x3b, 0xbc, 0x18, 0xa0, 0x36, 0xf5, 0xea, 0xee, 0xe3, 0x5a, 0x9d, 0xc3, 0x21, 0x38, 0x58, 0x0d, 0x22, 0x38, 0x9d, - 0x4f, 0x1d, 0xcd, 0xb2, 0x00, 0x95, 0x93, 0xe5, 0x46, 0xde, 0x3c, 0x5a, 0xf4, 0xea, 0xbe, 0xb7, 0x4c, 0xcb, 0xaa, - 0x0e, 0x32, 0x96, 0x85, 0x15, 0xe0, 0xea, 0xd0, 0xfa, 0x41, 0xb8, 0x2c, 0x9c, 0x3f, 0x10, 0x82, 0xd8, 0xbd, 0xda, - 0x96, 0x3c, 0x57, 0x73, 0xf8, 0xd9, 0x73, 0xb6, 0xe6, 0x12, 0x75, 0xd2, 0x99, 0x08, 0x40, 0xec, 0xa9, 0x59, 0x45, - 0xd7, 0x40, 0x52, 0xa7, 0x59, 0x45, 0xd7, 0xd4, 0x6c, 0x63, 0x1c, 0xc8, 0x47, 0xab, 0x14, 0xb0, 0xef, 0xa6, 0xe3, - 0x60, 0xf5, 0x2c, 0x96, 0xd7, 0xa1, 0xbb, 0x67, 0x1b, 0xe5, 0x33, 0xa8, 0x5b, 0x6d, 0x8c, 0x89, 0xed, 0xe6, 0xcb, - 0xb9, 0x7e, 0x3b, 0x58, 0xfa, 0x76, 0xd0, 0x9c, 0x53, 0xf6, 0x9d, 0x2e, 0x7b, 0x65, 0x97, 0x4d, 0x3d, 0x77, 0x54, - 0xb4, 0x1a, 0x03, 0x7a, 0x03, 0x0b, 0xd6, 0xe7, 0x22, 0xcd, 0x56, 0xa5, 0x2a, 0x01, 0x2f, 0x8c, 0x15, 0xbb, 0xf3, - 0x1b, 0x99, 0x21, 0x09, 0xf3, 0x38, 0x13, 0xef, 0xe8, 0x5e, 0x0b, 0x93, 0xe3, 0x58, 0x24, 0x53, 0x42, 0xa7, 0x74, - 0x67, 0x1b, 0x3a, 0x57, 0x61, 0x14, 0xd1, 0x5a, 0x49, 0xa5, 0x91, 0xc0, 0xd4, 0x0c, 0x50, 0x32, 0x57, 0xe0, 0x94, - 0x2e, 0xf7, 0xbf, 0x23, 0x31, 0xce, 0x7c, 0x51, 0x32, 0x03, 0xba, 0xe5, 0xd7, 0xc5, 0xba, 0x95, 0x22, 0x23, 0xcc, - 0x9b, 0xe3, 0xf6, 0xba, 0x3e, 0x04, 0x72, 0xb5, 0xec, 0x51, 0x34, 0x0e, 0x0a, 0x1d, 0x2e, 0x55, 0x02, 0xec, 0x8b, - 0xc4, 0xcf, 0x08, 0x5b, 0xda, 0x03, 0xb9, 0x3d, 0x3a, 0x13, 0xe6, 0x9c, 0x93, 0xb2, 0xec, 0x5c, 0x9a, 0xc1, 0xe5, - 0xc4, 0x95, 0xe0, 0x22, 0xbd, 0x6d, 0x4f, 0x93, 0x96, 0xb6, 0x8f, 0x0d, 0xe7, 0x68, 0x68, 0x1b, 0x74, 0xc7, 0xfe, - 0xd0, 0x5c, 0x2c, 0x62, 0xeb, 0x62, 0x31, 0xec, 0xcc, 0x7e, 0xb4, 0x58, 0x80, 0x1c, 0x00, 0x8e, 0xba, 0x0d, 0x1f, - 0xb3, 0x25, 0x70, 0x5a, 0x4d, 0xb3, 0xa9, 0xb7, 0xe1, 0xd5, 0x33, 0xd5, 0xd3, 0x4b, 0x9e, 0x3f, 0x13, 0x66, 0x2c, - 0x36, 0x3c, 0x7f, 0x66, 0x1d, 0x39, 0xd5, 0x33, 0xa1, 0x44, 0xeb, 0x02, 0x9a, 0x81, 0xd7, 0x14, 0x30, 0x62, 0xc9, - 0x64, 0x4a, 0x15, 0x79, 0xdc, 0x9b, 0x6e, 0xd4, 0xe0, 0x05, 0x85, 0x43, 0x20, 0xa5, 0xd3, 0x2f, 0x9e, 0x33, 0xfd, - 0xde, 0xc5, 0xf3, 0x0e, 0x59, 0xdb, 0x30, 0x5d, 0x6e, 0x86, 0xc9, 0xa0, 0xf4, 0x9f, 0x99, 0x89, 0x71, 0x61, 0x4d, - 0x12, 0x40, 0xfc, 0x1b, 0xfb, 0x1d, 0x52, 0xb8, 0x79, 0x7f, 0x39, 0x8c, 0x1f, 0x79, 0x3f, 0x46, 0xf6, 0x24, 0xcd, - 0x10, 0x6b, 0x26, 0x15, 0x72, 0xf7, 0xd5, 0xfa, 0xc7, 0xc4, 0x6e, 0xb2, 0x07, 0x16, 0x80, 0xd8, 0x9a, 0xb6, 0xba, - 0xe5, 0xfd, 0xbe, 0x67, 0x8a, 0x00, 0x3f, 0x28, 0xff, 0xe8, 0xce, 0x90, 0x0c, 0xca, 0xae, 0x1b, 0x42, 0x3c, 0x28, - 0x9b, 0xa6, 0xbd, 0xde, 0xf6, 0xce, 0x3c, 0x56, 0xd7, 0x69, 0x67, 0x71, 0xb5, 0xc8, 0x20, 0xad, 0x3e, 0x64, 0xc7, - 0x99, 0x7d, 0x76, 0xb4, 0x54, 0xba, 0xdf, 0x87, 0x88, 0xb8, 0xa3, 0xac, 0xed, 0xb7, 0x5b, 0x70, 0x0d, 0x47, 0x83, - 0xd0, 0x95, 0xbd, 0x5d, 0x46, 0x1b, 0x17, 0xe2, 0xb8, 0x67, 0x3a, 0x5f, 0xf0, 0xe5, 0x51, 0xda, 0x79, 0x70, 0xaa, - 0x27, 0xfa, 0xdc, 0x74, 0x57, 0x99, 0x5c, 0xeb, 0xb0, 0x1a, 0x83, 0xda, 0x2c, 0x6c, 0xe1, 0x2e, 0x6c, 0xa3, 0x83, - 0xd6, 0xbe, 0x2c, 0xf8, 0xa7, 0x0c, 0xc0, 0x97, 0x9e, 0x2d, 0xdb, 0x5e, 0x93, 0x56, 0x6f, 0x64, 0x14, 0x62, 0x4b, - 0xdb, 0xab, 0x4f, 0x47, 0xf9, 0xb8, 0x39, 0xa1, 0xb8, 0x90, 0xa3, 0xfc, 0xe8, 0x35, 0x44, 0x5d, 0xeb, 0x3a, 0x2e, - 0x16, 0x1d, 0x6e, 0x5c, 0x75, 0xdb, 0x8d, 0xeb, 0x47, 0xc4, 0x5b, 0xa3, 0x4d, 0x0a, 0xb5, 0x32, 0x76, 0x04, 0x2f, - 0xcb, 0x87, 0x43, 0x26, 0x86, 0x43, 0x09, 0x99, 0xfa, 0xd8, 0xbd, 0xa1, 0x69, 0x9f, 0x9f, 0xb6, 0x7e, 0xc4, 0x52, - 0xe3, 0x28, 0x36, 0xbc, 0xd3, 0x77, 0x1e, 0x5b, 0xe3, 0x4a, 0xbe, 0x0c, 0x66, 0xbb, 0x82, 0x6a, 0x6b, 0xbc, 0x61, - 0x2f, 0xe7, 0xbf, 0x54, 0x52, 0xc9, 0xdf, 0xfe, 0x0c, 0xd7, 0xf0, 0xd6, 0x96, 0x0e, 0x9a, 0x6a, 0x96, 0xb3, 0x5c, - 0xdf, 0x0b, 0x8e, 0x3f, 0xee, 0x5e, 0x11, 0x0c, 0x7e, 0x4f, 0x47, 0x41, 0x2e, 0x96, 0x6a, 0x0d, 0x28, 0x48, 0x47, - 0x76, 0x4c, 0x65, 0x81, 0x61, 0x00, 0x6f, 0xc8, 0x00, 0x79, 0x4c, 0xe1, 0x6e, 0xa8, 0xf0, 0xc2, 0x97, 0x15, 0xd9, - 0x25, 0xb0, 0xad, 0x19, 0x1f, 0x33, 0xdc, 0x41, 0xc8, 0x3f, 0x82, 0xdd, 0xb1, 0x15, 0xbb, 0x65, 0x0b, 0x86, 0x64, - 0xe3, 0x38, 0x8c, 0x31, 0x1f, 0x4f, 0xe2, 0x2b, 0x31, 0x89, 0x07, 0x3c, 0x42, 0xc7, 0x88, 0x35, 0xaf, 0x67, 0xb1, - 0x1c, 0x40, 0x76, 0xc7, 0x95, 0x0e, 0x08, 0xa1, 0xb1, 0xa1, 0x25, 0x6f, 0x0a, 0x83, 0x8b, 0x1d, 0xfb, 0x8c, 0x44, - 0x32, 0x0e, 0xc1, 0xa2, 0x55, 0x0d, 0x2c, 0x4c, 0xec, 0x96, 0x17, 0xb3, 0xd5, 0x1c, 0xff, 0x39, 0x1c, 0x10, 0x00, - 0x3b, 0xd8, 0x37, 0xec, 0x2e, 0x42, 0xa4, 0xb7, 0x05, 0xbf, 0xb3, 0x3c, 0x5d, 0xd8, 0x3d, 0x7f, 0xc7, 0xc7, 0xec, - 0xfc, 0x47, 0x0f, 0x22, 0x67, 0xcf, 0x3f, 0x01, 0x1a, 0xe2, 0x3d, 0xbf, 0x4d, 0xbd, 0x8a, 0xdd, 0x12, 0x05, 0xe1, - 0x2d, 0x38, 0x03, 0xdd, 0x43, 0x04, 0xec, 0x3b, 0xbe, 0xc0, 0x58, 0xb1, 0xb3, 0x74, 0xe9, 0x61, 0x46, 0xa8, 0x3d, - 0x9d, 0x2f, 0x6b, 0x35, 0x09, 0x37, 0x57, 0xcb, 0xc9, 0x60, 0xb0, 0xf1, 0x77, 0x7c, 0x0d, 0x7c, 0x30, 0xe7, 0x3f, - 0x7a, 0x3b, 0x2a, 0x17, 0xfe, 0xf3, 0x3a, 0x4b, 0xde, 0xf9, 0xec, 0xdd, 0x80, 0x2f, 0x00, 0x6f, 0x09, 0x1d, 0xb8, - 0xee, 0x7d, 0x26, 0xf1, 0xda, 0xde, 0xe9, 0x6b, 0x04, 0x12, 0xf9, 0x02, 0x30, 0x62, 0x62, 0x7e, 0xbf, 0x83, 0x08, - 0x8c, 0x04, 0x7c, 0x5b, 0xb5, 0x47, 0xfc, 0x96, 0x1b, 0xc0, 0xaf, 0xcc, 0x67, 0x0f, 0x3c, 0xd4, 0x3f, 0x13, 0x9f, - 0xdd, 0xf0, 0x0f, 0xfc, 0xda, 0x93, 0x92, 0x74, 0x39, 0xfb, 0x30, 0x87, 0xeb, 0xa1, 0x94, 0xa7, 0x43, 0xfa, 0xd9, - 0x18, 0x0c, 0x20, 0x14, 0x32, 0x6f, 0x3c, 0x60, 0x4d, 0x0a, 0xf1, 0x2f, 0xe0, 0xdb, 0x51, 0xc2, 0xe6, 0x8d, 0xb7, - 0xf5, 0xb5, 0xbc, 0x79, 0xe3, 0x3d, 0xf8, 0x14, 0x05, 0x58, 0x05, 0xa5, 0x2c, 0xb0, 0x0a, 0xc2, 0x46, 0x1b, 0x61, - 0x0c, 0x5c, 0xbd, 0x6b, 0x0c, 0x75, 0x3d, 0x47, 0x6c, 0x5b, 0xe9, 0xfb, 0xf0, 0x3d, 0x64, 0xc0, 0x07, 0x6f, 0x8a, - 0x92, 0xe8, 0x73, 0x6a, 0x8a, 0xa4, 0x75, 0xcf, 0xfd, 0xd6, 0xba, 0xa3, 0x35, 0xa5, 0x3e, 0x72, 0x35, 0x3e, 0x1c, - 0xea, 0x6b, 0xa1, 0x45, 0x82, 0x29, 0x68, 0x5c, 0x83, 0xb6, 0x00, 0x41, 0x9f, 0x07, 0xc8, 0x5a, 0x52, 0x2c, 0xf8, - 0xf6, 0x57, 0x88, 0xc1, 0x2b, 0xd3, 0x3b, 0x97, 0xab, 0x8c, 0x84, 0xed, 0x85, 0x5f, 0x0e, 0x6b, 0x7f, 0xe2, 0xd4, - 0xc2, 0xd2, 0x6a, 0x0e, 0xea, 0x67, 0xb6, 0x1c, 0xa7, 0xaa, 0xf6, 0x2f, 0x49, 0x52, 0xed, 0x2a, 0x2d, 0xa7, 0xf7, - 0xf6, 0x4d, 0x97, 0x09, 0x36, 0xf6, 0x03, 0xaa, 0x8e, 0xac, 0x86, 0xdd, 0x17, 0xea, 0x8b, 0x9e, 0x92, 0x09, 0xcd, - 0x47, 0x15, 0xcd, 0xb3, 0xfb, 0xcd, 0x8e, 0xfa, 0x4f, 0x2f, 0x87, 0x22, 0x40, 0xb2, 0x4a, 0x8b, 0xa5, 0xc8, 0xd9, - 0xd8, 0x8f, 0x87, 0x49, 0xa6, 0xc2, 0x0b, 0xd2, 0xd1, 0xdd, 0x6f, 0xdc, 0xdf, 0x72, 0x03, 0x59, 0xa1, 0x55, 0x1b, - 0x8c, 0x95, 0xa2, 0x65, 0xb0, 0xbe, 0x1a, 0xf7, 0xfb, 0xe2, 0x6a, 0x3c, 0x15, 0x41, 0x0d, 0xc4, 0x45, 0xe2, 0x7a, - 0x3c, 0xad, 0x89, 0x25, 0xb5, 0x2b, 0x30, 0x46, 0x8f, 0xab, 0xa2, 0xf6, 0xa9, 0xaf, 0x21, 0x14, 0xa9, 0xd6, 0xcc, - 0xb1, 0xc6, 0x8d, 0x11, 0x71, 0x87, 0x95, 0x6b, 0xa7, 0xf6, 0x3a, 0x00, 0xcb, 0xab, 0x71, 0x41, 0xd8, 0x24, 0xc7, - 0xce, 0x05, 0xac, 0x46, 0x43, 0xaa, 0xdd, 0x70, 0xeb, 0x65, 0xe7, 0x37, 0x8f, 0x13, 0x5b, 0x1b, 0xe1, 0x96, 0x02, - 0xca, 0x28, 0xbf, 0xb1, 0x9c, 0xb0, 0x3b, 0xd5, 0x3b, 0x52, 0xb5, 0x23, 0x4e, 0x5c, 0xc0, 0x72, 0xc3, 0x53, 0xab, - 0x6f, 0x62, 0x70, 0x22, 0x54, 0xad, 0x74, 0xb8, 0x93, 0x09, 0xc4, 0xfd, 0xea, 0xbe, 0xee, 0x95, 0xe0, 0x27, 0x21, - 0xaf, 0xdf, 0xf2, 0x0e, 0x00, 0x2b, 0x3e, 0xe4, 0xc5, 0xb4, 0x70, 0xb4, 0x2e, 0x83, 0x32, 0x40, 0x84, 0x66, 0x00, - 0x74, 0x72, 0x75, 0x10, 0xa5, 0x81, 0x2b, 0xee, 0x10, 0xe1, 0xa7, 0xd1, 0xb3, 0xfc, 0x3a, 0x7c, 0x56, 0x4d, 0xc3, - 0x8b, 0x3c, 0x88, 0x2e, 0xaa, 0x20, 0x7a, 0x56, 0x5d, 0x85, 0xcf, 0xf2, 0x69, 0x74, 0x91, 0x07, 0xe1, 0x45, 0xd5, - 0xd8, 0x77, 0xed, 0xee, 0x9e, 0x90, 0xb7, 0x5d, 0xfd, 0x91, 0x73, 0x65, 0x4f, 0x99, 0x9e, 0x9f, 0xd7, 0x7a, 0xa5, - 0x76, 0x9b, 0xeb, 0x35, 0x6a, 0xa6, 0x3e, 0xca, 0xfe, 0x62, 0x1b, 0x0b, 0x8f, 0xe6, 0x10, 0xfa, 0x8c, 0xb4, 0x98, - 0x7b, 0x9c, 0xeb, 0xcd, 0x9e, 0x14, 0x06, 0x46, 0x4c, 0x2a, 0x19, 0x39, 0xbd, 0xc0, 0x45, 0xa8, 0x42, 0x0c, 0x6b, - 0xe9, 0x6a, 0x9f, 0x75, 0xe9, 0x0d, 0xd4, 0x35, 0xc5, 0xbe, 0x86, 0x0c, 0xbc, 0x68, 0x7a, 0x19, 0x8c, 0x01, 0x39, - 0x02, 0xef, 0xf8, 0x6c, 0x09, 0x07, 0xe6, 0x1a, 0xa0, 0x6f, 0x1e, 0xf5, 0x75, 0xb9, 0xe3, 0x6b, 0xd5, 0x37, 0xd3, - 0xf5, 0x48, 0x29, 0x3f, 0x56, 0xfc, 0xee, 0xe2, 0x39, 0xbb, 0xe5, 0x1a, 0x15, 0xe5, 0xa5, 0x5e, 0xac, 0xf7, 0xc0, - 0x55, 0xf7, 0x12, 0x6e, 0xb3, 0x78, 0xec, 0xca, 0x03, 0x96, 0x6d, 0xd9, 0x03, 0xbb, 0x61, 0x1f, 0xd8, 0x13, 0xf6, - 0x96, 0x7d, 0x65, 0x35, 0x42, 0x94, 0x97, 0x4a, 0xca, 0xf3, 0x17, 0xfc, 0x56, 0xda, 0x1e, 0x25, 0x2c, 0xd9, 0x83, - 0x6d, 0xa7, 0x19, 0x6e, 0xd8, 0x07, 0xbe, 0x18, 0xae, 0xd8, 0x5b, 0xc8, 0x86, 0x42, 0xf1, 0x60, 0xc5, 0x6a, 0xb8, - 0xc2, 0x52, 0x06, 0x7d, 0x1a, 0x96, 0x96, 0xb0, 0x68, 0x0a, 0x45, 0x29, 0xfa, 0x2d, 0xaf, 0x09, 0x3b, 0xad, 0xc6, - 0x42, 0xe4, 0x87, 0x86, 0x2b, 0xf6, 0xc0, 0x17, 0x83, 0x15, 0xfb, 0xa0, 0x6d, 0x44, 0x83, 0x8d, 0x5b, 0x1c, 0x81, - 0x59, 0xe9, 0xc2, 0xa4, 0x40, 0xbd, 0xb5, 0x6f, 0x82, 0x1b, 0x76, 0x83, 0xf5, 0x7b, 0x82, 0x45, 0xa3, 0xcc, 0x3f, - 0x58, 0xb1, 0xaf, 0x5c, 0x62, 0xa8, 0xb9, 0xe5, 0x49, 0xc7, 0x50, 0x5d, 0x20, 0x5d, 0x11, 0x9e, 0x70, 0x7a, 0x91, - 0x7d, 0xc5, 0x32, 0xe8, 0x2b, 0xc3, 0x15, 0xdb, 0x62, 0xed, 0x6e, 0x8c, 0x71, 0xcb, 0xaa, 0x9e, 0x04, 0x05, 0x46, - 0x59, 0xa5, 0xb4, 0x5c, 0x1c, 0xb1, 0x6c, 0xea, 0xa8, 0x41, 0x6d, 0x18, 0xd0, 0x07, 0xa3, 0xff, 0xf0, 0xf5, 0xbb, - 0x1f, 0xbd, 0x52, 0xdf, 0x7c, 0x5f, 0x3a, 0xde, 0x95, 0x25, 0x7a, 0x57, 0xfe, 0xca, 0xcb, 0xd9, 0xcb, 0xf9, 0x44, - 0xd7, 0x92, 0x36, 0x19, 0x72, 0x37, 0x9d, 0xbd, 0xec, 0xf0, 0xb7, 0xfc, 0xd5, 0xf7, 0x1b, 0xab, 0x8f, 0xd5, 0x77, - 0x75, 0xf7, 0x3e, 0x0c, 0x36, 0x8d, 0x53, 0xf1, 0xdd, 0xe9, 0x8a, 0x63, 0x3b, 0x6b, 0xed, 0x9d, 0xf9, 0x3f, 0x5c, - 0xeb, 0x2d, 0x8e, 0xdd, 0x0d, 0xdf, 0x0e, 0x37, 0xf6, 0x30, 0xc8, 0xef, 0x4b, 0xc5, 0x71, 0x56, 0xf3, 0x17, 0x5e, - 0xa7, 0x24, 0x0b, 0xa8, 0x46, 0x9f, 0x8d, 0x34, 0x74, 0xc9, 0x4c, 0x4c, 0x43, 0x7c, 0x91, 0x01, 0x3a, 0x17, 0x88, - 0x67, 0xf7, 0x7c, 0x3c, 0xb9, 0xbf, 0x8a, 0x27, 0xf7, 0x03, 0xfe, 0xd9, 0xb4, 0xa0, 0xbd, 0xe0, 0xee, 0x7d, 0xf6, - 0x2b, 0x2f, 0xec, 0x25, 0xf9, 0xd2, 0x67, 0xef, 0x85, 0xbb, 0x4a, 0x5f, 0xfa, 0xec, 0xab, 0xe0, 0xbf, 0x8e, 0x34, - 0x59, 0x06, 0xfb, 0x5a, 0xf3, 0x5f, 0x47, 0xc8, 0xfa, 0xc1, 0xbe, 0x08, 0xfe, 0x1e, 0xfc, 0xbf, 0xab, 0x04, 0x2d, - 0xe3, 0x5f, 0x6a, 0xf5, 0xf3, 0x83, 0x8c, 0xcd, 0x81, 0x37, 0xa1, 0x15, 0xf4, 0xe6, 0x6d, 0x2d, 0x7f, 0x12, 0x17, - 0x47, 0xaa, 0x9e, 0x1a, 0x0e, 0x5a, 0x2c, 0x66, 0x51, 0x1f, 0xa5, 0x53, 0x79, 0x93, 0x77, 0x3c, 0x93, 0x16, 0xe6, - 0x7b, 0x08, 0x07, 0x7e, 0x67, 0xc3, 0x14, 0xec, 0x38, 0x6e, 0x06, 0xef, 0x18, 0x40, 0x48, 0x66, 0xd3, 0x2d, 0xbf, - 0xe1, 0x4f, 0xf8, 0x57, 0xbe, 0x0b, 0x1e, 0xf8, 0x07, 0xfe, 0x96, 0xd7, 0x35, 0xdf, 0xb1, 0xa5, 0x84, 0x3c, 0xad, - 0xb7, 0x97, 0xc1, 0x96, 0xd5, 0xbb, 0xcb, 0xe0, 0x81, 0xd5, 0xdb, 0xe7, 0xc1, 0x0d, 0xab, 0x77, 0xcf, 0x83, 0x0f, - 0x6c, 0x7b, 0x19, 0x3c, 0x61, 0xbb, 0xcb, 0xe0, 0x2d, 0xdb, 0x3e, 0x0f, 0xbe, 0xb2, 0xdd, 0xf3, 0xa0, 0x56, 0x48, - 0x0f, 0x5f, 0x85, 0x64, 0x3a, 0xf9, 0x5a, 0x33, 0xc3, 0xaa, 0x1b, 0x7c, 0x11, 0xd6, 0x2f, 0xaa, 0x65, 0xf0, 0xa5, - 0x66, 0xba, 0xcd, 0x81, 0x10, 0x4c, 0xb7, 0x38, 0xb8, 0xa5, 0x27, 0xa6, 0x5d, 0x41, 0x2a, 0x58, 0x57, 0x4b, 0x83, - 0x45, 0xdd, 0xb4, 0x4e, 0x66, 0xc7, 0x3b, 0x31, 0xee, 0xf0, 0x4e, 0x5c, 0xb0, 0x65, 0xd3, 0xe9, 0xaa, 0x73, 0xfa, - 0x3c, 0xd0, 0x47, 0x80, 0xde, 0xfb, 0x2b, 0xe9, 0x41, 0x53, 0x34, 0x3c, 0x57, 0xba, 0xe3, 0xd6, 0x7e, 0x1f, 0x5a, - 0xfb, 0x3d, 0x93, 0x8a, 0xb4, 0x88, 0x45, 0x65, 0x51, 0x55, 0xc8, 0x27, 0x1e, 0x64, 0x5a, 0xab, 0x96, 0x30, 0x52, - 0x67, 0x02, 0x26, 0x7d, 0x41, 0x87, 0x41, 0x4e, 0x76, 0x05, 0xb6, 0xe4, 0x9b, 0x41, 0xc2, 0xd6, 0x3c, 0x9e, 0x0e, - 0x93, 0x60, 0xc9, 0xee, 0xf8, 0xb0, 0x5b, 0x2c, 0x58, 0xa9, 0x30, 0x26, 0x7d, 0x7d, 0x3a, 0xda, 0xdd, 0x79, 0x6f, - 0x95, 0xc6, 0x71, 0x26, 0x50, 0xe7, 0x56, 0xe9, 0x6d, 0x7e, 0xeb, 0xec, 0xea, 0x6b, 0xb5, 0xcb, 0x83, 0xc0, 0xf0, - 0x2b, 0x10, 0xed, 0x10, 0xef, 0x1d, 0xd4, 0x18, 0xe9, 0x96, 0xcc, 0xba, 0xaf, 0xec, 0x7d, 0x7d, 0x6b, 0xb6, 0xea, - 0x7f, 0xb7, 0x08, 0xda, 0xcb, 0x65, 0xef, 0x7f, 0x36, 0xaf, 0xfe, 0xd6, 0xf1, 0xea, 0xc6, 0x9f, 0x3c, 0xf0, 0xcf, - 0x18, 0x9d, 0x80, 0x89, 0x6c, 0xc7, 0x3f, 0x8f, 0xb6, 0x8d, 0x53, 0x9e, 0xdc, 0xcb, 0xff, 0xaf, 0x14, 0x68, 0xef, - 0xe6, 0x95, 0xbd, 0x29, 0x6e, 0x79, 0xc7, 0x5e, 0xbe, 0xb4, 0xf6, 0x44, 0x83, 0x50, 0xf2, 0x99, 0xbb, 0x41, 0xd1, - 0xb0, 0x27, 0xbe, 0xe4, 0xd5, 0xec, 0xf3, 0x7c, 0xb2, 0xe5, 0xc7, 0x3b, 0xe2, 0xe7, 0x8e, 0x1d, 0xf1, 0xa5, 0x3f, - 0x58, 0x36, 0xdf, 0xea, 0xd5, 0xce, 0x9d, 0xdc, 0xa9, 0xf4, 0x8e, 0x1f, 0xef, 0xe3, 0xc3, 0x7f, 0xbb, 0xd2, 0xbb, - 0xef, 0xae, 0xb4, 0x5d, 0xe5, 0xee, 0xce, 0x37, 0x1d, 0xdf, 0xc8, 0x5a, 0x63, 0xb8, 0x99, 0x51, 0x30, 0xc2, 0xb4, - 0x85, 0x69, 0x1a, 0x44, 0x96, 0x62, 0x11, 0x12, 0x35, 0x4a, 0xe7, 0x44, 0x9f, 0x05, 0x9d, 0x82, 0x2e, 0x6e, 0xf4, - 0xb7, 0x7c, 0xcc, 0x16, 0xc6, 0x65, 0xf3, 0xf6, 0x6a, 0x31, 0x19, 0x0c, 0x6e, 0xfd, 0xfd, 0x3d, 0x0f, 0x67, 0xb7, - 0x73, 0xf6, 0x8e, 0xdf, 0xd3, 0x7a, 0x9a, 0xa8, 0xc6, 0x17, 0x8f, 0x49, 0x60, 0xb7, 0xbe, 0x3f, 0xb1, 0x88, 0x60, - 0xed, 0x1b, 0xe7, 0xad, 0x3f, 0x90, 0x66, 0x69, 0xb9, 0xb5, 0x7f, 0x78, 0x5c, 0x43, 0x71, 0x0b, 0x42, 0xc6, 0x07, - 0x5b, 0xe5, 0xf0, 0x96, 0x7f, 0xf2, 0xde, 0xf9, 0xd3, 0x77, 0x3a, 0xf8, 0x66, 0xa2, 0xce, 0xa5, 0xb7, 0x17, 0xcf, - 0xd9, 0xaf, 0xfc, 0xb3, 0x3c, 0x53, 0xde, 0x0b, 0x39, 0x6d, 0x6f, 0x90, 0xc4, 0x89, 0x8e, 0x8a, 0xaf, 0x6e, 0x22, - 0x81, 0x42, 0x20, 0x1e, 0x47, 0xcd, 0x1f, 0x26, 0xe5, 0xd4, 0xdb, 0x01, 0xc9, 0x2b, 0xb7, 0x15, 0xd1, 0xb7, 0x9c, - 0xf3, 0xc5, 0xf0, 0x72, 0xfa, 0xb5, 0xdb, 0xb7, 0x47, 0x85, 0xb5, 0xa9, 0x88, 0xb7, 0x5b, 0x0c, 0xc2, 0x3a, 0x99, - 0x59, 0xe6, 0x92, 0x2f, 0x7d, 0xad, 0xcd, 0xdc, 0x63, 0x7a, 0xc7, 0x99, 0x66, 0xc8, 0xe8, 0x0b, 0xcc, 0x4c, 0x87, - 0xc3, 0xdd, 0x39, 0x96, 0xc7, 0x87, 0x6f, 0x9f, 0x3d, 0x19, 0x3c, 0xc1, 0x10, 0x2e, 0x2b, 0x2c, 0xe4, 0x2b, 0x1f, - 0x66, 0x75, 0xeb, 0xda, 0x71, 0xf1, 0x7c, 0xf8, 0x12, 0xf2, 0x06, 0x5d, 0x0f, 0x4d, 0x11, 0xad, 0xf2, 0x3b, 0x8a, - 0x3e, 0x51, 0x72, 0xd0, 0xf1, 0x04, 0x6a, 0x87, 0x5c, 0xb8, 0x5f, 0x9f, 0x71, 0x50, 0x74, 0x60, 0xa9, 0xfd, 0xfe, - 0xf9, 0x67, 0x22, 0x94, 0x86, 0xf1, 0x7e, 0x19, 0x46, 0x7f, 0xc4, 0x65, 0xb1, 0x86, 0x23, 0x76, 0x00, 0x9f, 0x7b, - 0xa6, 0xaf, 0x61, 0x77, 0xbe, 0xef, 0x07, 0xde, 0x96, 0xdf, 0xb0, 0xaf, 0xdc, 0xbb, 0x1c, 0xbe, 0xf5, 0x9f, 0x3d, - 0x01, 0xf9, 0x09, 0xc6, 0xe5, 0x0b, 0x86, 0xc4, 0x76, 0x14, 0xa3, 0xd6, 0xe1, 0x97, 0x1a, 0x62, 0xb5, 0x3e, 0x23, - 0x75, 0x17, 0xa4, 0x7f, 0x54, 0xc8, 0x7e, 0x42, 0x60, 0x35, 0x49, 0x9f, 0x02, 0x93, 0xf8, 0xb6, 0x86, 0x04, 0xd2, - 0xb4, 0x40, 0x0c, 0x0e, 0x14, 0x9f, 0x0a, 0xfe, 0x75, 0xf8, 0x85, 0xe4, 0xbf, 0x45, 0xcd, 0xc7, 0xf0, 0x37, 0x0c, - 0xcd, 0xa4, 0x7a, 0x48, 0xeb, 0x28, 0xf1, 0x6a, 0x38, 0xf5, 0xc2, 0x4a, 0xa8, 0x93, 0x21, 0x48, 0xc5, 0x90, 0x0b, - 0x71, 0xf1, 0x7c, 0x72, 0x5b, 0x8a, 0xf0, 0x8f, 0x09, 0x3e, 0x93, 0x2b, 0x4d, 0x3e, 0xa3, 0x27, 0x8d, 0x2c, 0xe0, - 0x41, 0xbe, 0x2f, 0x7b, 0x35, 0x58, 0xd4, 0x43, 0x7e, 0x5b, 0xbb, 0xef, 0xcb, 0x39, 0x41, 0x8f, 0xec, 0x07, 0x34, - 0x07, 0x03, 0x35, 0x03, 0x29, 0x43, 0x70, 0x0b, 0x97, 0x7e, 0x4f, 0x15, 0xe4, 0xcb, 0xef, 0x7d, 0x11, 0x32, 0x70, - 0x65, 0x41, 0x98, 0x72, 0xa9, 0x90, 0x02, 0xc7, 0x6d, 0x3d, 0xf8, 0xa2, 0xd1, 0x49, 0x24, 0xf8, 0x94, 0x80, 0x24, - 0x69, 0x79, 0x20, 0x69, 0xc4, 0x74, 0x20, 0x2e, 0x94, 0xa6, 0x59, 0x49, 0x11, 0x87, 0xd8, 0x55, 0xdf, 0x21, 0xe1, - 0x59, 0xf0, 0x81, 0xc1, 0xda, 0x91, 0xa2, 0xc5, 0x57, 0x63, 0x3a, 0xd6, 0x61, 0x43, 0x77, 0xb2, 0xb8, 0x5f, 0x25, - 0x75, 0x1a, 0x89, 0x2b, 0xef, 0x85, 0xfc, 0xf9, 0x4f, 0x25, 0x02, 0xe9, 0x5d, 0x0d, 0xc4, 0x20, 0xf8, 0x01, 0xfa, - 0x0f, 0x58, 0xe4, 0x20, 0x28, 0xd5, 0x65, 0x98, 0x57, 0x19, 0x15, 0x38, 0xdb, 0xb1, 0xed, 0x9c, 0xa9, 0xba, 0x05, - 0x5f, 0x84, 0x61, 0x48, 0x3b, 0x5b, 0x35, 0x27, 0xb7, 0x7a, 0x03, 0xf5, 0x4c, 0xe2, 0x48, 0x2d, 0xc5, 0x91, 0xb6, - 0xe6, 0x3e, 0x5d, 0x7a, 0xdd, 0xf2, 0x82, 0x86, 0x0b, 0xd0, 0x8b, 0xd2, 0x5d, 0xe7, 0x13, 0x0a, 0x5d, 0x56, 0xe3, - 0x6a, 0x28, 0xea, 0x50, 0x8e, 0xb1, 0xf6, 0xe7, 0x4a, 0x9e, 0xdf, 0x81, 0xf5, 0x08, 0x0d, 0x5f, 0x95, 0x3a, 0x88, - 0xed, 0x27, 0x7a, 0xd7, 0xa9, 0xd4, 0xdf, 0x00, 0x30, 0x70, 0xea, 0x78, 0xa8, 0x8f, 0xda, 0x29, 0x64, 0x3b, 0xf7, - 0x96, 0x18, 0x95, 0x2b, 0xe1, 0xa9, 0xd2, 0xf2, 0x94, 0xb2, 0xea, 0x6b, 0xc1, 0xad, 0xec, 0x3e, 0x1b, 0x40, 0x46, - 0x1b, 0x14, 0xc8, 0x33, 0x6a, 0x6b, 0x3c, 0x48, 0x35, 0xcd, 0x12, 0xc7, 0xf0, 0x41, 0x91, 0x66, 0x15, 0x58, 0xbc, - 0xcc, 0x25, 0x73, 0x50, 0xb0, 0x5c, 0x6f, 0x36, 0xd3, 0x4c, 0xf5, 0x45, 0x6e, 0x6f, 0x34, 0x5e, 0xa6, 0xff, 0x66, - 0xc9, 0x80, 0x47, 0x17, 0xcf, 0xfd, 0x00, 0xd2, 0x24, 0xc5, 0x03, 0x24, 0xc1, 0xf6, 0x60, 0x17, 0x3b, 0x0c, 0x5b, - 0xc5, 0xca, 0x9e, 0x3c, 0x5d, 0xee, 0xd0, 0x94, 0x4b, 0x70, 0xc9, 0x89, 0xb9, 0x9c, 0xfa, 0xbe, 0x64, 0xbd, 0xa1, - 0x38, 0x65, 0xd3, 0x04, 0x94, 0x04, 0xda, 0x2d, 0xf8, 0x2f, 0x7c, 0x6a, 0xe8, 0xb4, 0x00, 0x4b, 0x6d, 0x37, 0xe0, - 0xbf, 0xd0, 0x2f, 0xb6, 0xbb, 0xa8, 0x1f, 0x98, 0x07, 0x7b, 0xb3, 0xb8, 0x32, 0x06, 0x9c, 0x24, 0xae, 0x34, 0x8f, - 0x5c, 0x3f, 0x28, 0xfa, 0x74, 0x59, 0x3b, 0x70, 0xa6, 0xb8, 0xb0, 0x4a, 0x6d, 0x92, 0x5e, 0xfb, 0x2d, 0x35, 0xf1, - 0x26, 0x4a, 0xaa, 0xc2, 0x76, 0x48, 0xfb, 0x97, 0x94, 0x33, 0x55, 0xdc, 0x21, 0x7a, 0xb2, 0x9b, 0xb8, 0x0a, 0xbc, - 0xb0, 0xaa, 0xd8, 0x08, 0xb5, 0x19, 0x59, 0x4e, 0xe0, 0x74, 0x8f, 0xd5, 0x05, 0x1f, 0xdb, 0xd5, 0xec, 0x82, 0x95, - 0x6c, 0xcd, 0xa4, 0xfb, 0xbc, 0x1d, 0x73, 0x21, 0xaf, 0xf4, 0xb2, 0x68, 0x05, 0xb4, 0x07, 0x81, 0xc3, 0x2f, 0x35, - 0xdd, 0xa3, 0x67, 0x9b, 0x6d, 0x6a, 0xb3, 0xb1, 0xb5, 0x08, 0x21, 0x03, 0xd1, 0xd0, 0x17, 0x72, 0x46, 0x91, 0xaf, - 0xd2, 0x72, 0xad, 0x36, 0x56, 0x19, 0x2f, 0x30, 0x11, 0x64, 0x38, 0x0b, 0xef, 0xd1, 0xd3, 0x7a, 0xa4, 0x29, 0x26, - 0xc1, 0x49, 0x17, 0x7f, 0x01, 0x36, 0x94, 0x27, 0xb9, 0x39, 0x20, 0x07, 0x50, 0xb9, 0x14, 0xa5, 0x52, 0x06, 0xff, - 0xac, 0xee, 0xc8, 0xb6, 0xea, 0xbf, 0xd3, 0x40, 0x06, 0x77, 0xa0, 0x6f, 0x7b, 0xa1, 0xb5, 0xa3, 0x9d, 0x2b, 0x5b, - 0xd3, 0xb6, 0x4c, 0xf3, 0x18, 0x59, 0x6c, 0x00, 0xf9, 0x44, 0x3a, 0x07, 0x22, 0xaf, 0x89, 0xc6, 0x3b, 0xbb, 0xe6, - 0xe3, 0xa9, 0x78, 0x4c, 0xde, 0xab, 0x7c, 0xdf, 0xdc, 0xeb, 0x83, 0x31, 0xf6, 0x2d, 0x28, 0x13, 0x1f, 0xad, 0xb6, - 0xd6, 0x25, 0xd6, 0x5b, 0xa5, 0x49, 0x74, 0xc3, 0x15, 0x74, 0x1c, 0x89, 0x1b, 0xc4, 0xe0, 0x98, 0xf1, 0xda, 0x2a, - 0x4b, 0x5f, 0x61, 0x99, 0xeb, 0x98, 0x25, 0x43, 0x26, 0x75, 0x9e, 0x28, 0x78, 0xf2, 0xf3, 0x84, 0x64, 0x44, 0xd4, - 0x6c, 0xcb, 0x51, 0xca, 0x4d, 0x0b, 0xb8, 0xcc, 0xc8, 0x00, 0xbe, 0x49, 0x13, 0x80, 0x72, 0xf9, 0x12, 0xa4, 0xd2, - 0x10, 0xc1, 0x35, 0xdb, 0x4b, 0x46, 0xb7, 0x8e, 0xd6, 0x41, 0x95, 0x64, 0xee, 0xe0, 0xdc, 0xce, 0x22, 0xa5, 0xde, - 0x7c, 0x84, 0x61, 0x27, 0x1f, 0xc3, 0x3a, 0xc1, 0x6f, 0x03, 0x6a, 0xd2, 0xe7, 0xc2, 0x8b, 0x46, 0x80, 0xa6, 0xbe, - 0x53, 0x65, 0x7c, 0x2e, 0xbc, 0x6c, 0xb4, 0x65, 0x19, 0xa5, 0x50, 0x5d, 0x30, 0xbb, 0x35, 0x5d, 0x88, 0x79, 0x55, - 0x0d, 0xb4, 0x41, 0x6e, 0xd7, 0x31, 0x03, 0x1a, 0xb5, 0x5d, 0x79, 0x64, 0x01, 0x6e, 0xcd, 0x44, 0x60, 0xe4, 0xfc, - 0x87, 0xfc, 0x95, 0x0a, 0xe7, 0xe9, 0xf7, 0x43, 0x6f, 0xbf, 0x0d, 0xa2, 0xd1, 0xf6, 0x92, 0xed, 0x82, 0x68, 0xb4, - 0xbb, 0x6c, 0x18, 0xfd, 0x7e, 0x4e, 0xbf, 0x9f, 0x37, 0xa0, 0x2a, 0x11, 0x26, 0xe2, 0x5e, 0xbf, 0x51, 0xcb, 0x57, - 0x6a, 0xfd, 0x4e, 0x2d, 0x5f, 0xaa, 0xe1, 0xad, 0x3d, 0x89, 0x04, 0x91, 0xa5, 0xb1, 0x79, 0x90, 0x6c, 0xa9, 0x96, - 0x4a, 0xc7, 0xa8, 0x32, 0xa2, 0x96, 0xce, 0xe6, 0x58, 0x31, 0xd2, 0xce, 0x41, 0xc9, 0x80, 0x4c, 0x8b, 0xab, 0x1a, - 0xd3, 0xcd, 0x8a, 0x96, 0x98, 0x8c, 0xb0, 0xb2, 0x2d, 0x6f, 0x37, 0xa9, 0x9a, 0xce, 0xc9, 0xcd, 0xad, 0x52, 0x6e, - 0x6e, 0x05, 0xcf, 0xbf, 0xa1, 0x5b, 0x2e, 0xb9, 0xf6, 0x32, 0x9b, 0x16, 0x4a, 0xb7, 0x8c, 0x6b, 0xb0, 0xb5, 0x6f, - 0x02, 0x59, 0xe6, 0x23, 0x45, 0x8d, 0xed, 0x45, 0xa3, 0x7c, 0x83, 0x6c, 0x45, 0x8c, 0x3a, 0x65, 0xc1, 0xf8, 0xdb, - 0x1d, 0x3d, 0x90, 0x81, 0xaa, 0xaa, 0x36, 0x0e, 0xee, 0xac, 0xf4, 0x87, 0xe5, 0xc5, 0x73, 0x96, 0x58, 0xe9, 0xe4, - 0x42, 0x15, 0xfa, 0x83, 0x10, 0xdd, 0x54, 0x36, 0x1c, 0x1c, 0xea, 0x62, 0x2b, 0x03, 0x42, 0x0f, 0xd3, 0x7b, 0x1b, - 0x2b, 0x59, 0xee, 0x9a, 0xf2, 0xc5, 0x8c, 0x27, 0x1c, 0x47, 0x5f, 0xae, 0x16, 0x61, 0xad, 0x16, 0xd9, 0x09, 0xf0, - 0xd0, 0x5a, 0x2d, 0x85, 0x5c, 0x2d, 0xc2, 0x99, 0xe9, 0x42, 0xcd, 0xf4, 0x0c, 0x14, 0x90, 0x42, 0xcd, 0xf2, 0x04, - 0x60, 0xe1, 0x85, 0x99, 0xe1, 0xc2, 0xcc, 0x70, 0x1c, 0x52, 0xe3, 0xff, 0xa0, 0xf7, 0x3a, 0xf7, 0xdc, 0x72, 0x37, - 0x3a, 0x8d, 0xf8, 0x76, 0xb4, 0xc1, 0x1c, 0x1f, 0x84, 0x13, 0x08, 0x15, 0x2c, 0x11, 0xab, 0x47, 0x23, 0xec, 0xa8, - 0xa1, 0x72, 0xb4, 0x5f, 0x16, 0x96, 0x64, 0x49, 0x58, 0x92, 0x7b, 0x35, 0xce, 0xa5, 0xe5, 0xe2, 0x55, 0x12, 0x88, - 0x44, 0xc6, 0x4b, 0x69, 0x82, 0x4f, 0x78, 0x39, 0x32, 0x52, 0xf3, 0x64, 0x91, 0x7a, 0x39, 0xcb, 0xd8, 0x18, 0x31, - 0x8c, 0x42, 0xbf, 0xa9, 0xfa, 0xfd, 0xb4, 0xf4, 0x72, 0x6a, 0xe7, 0x67, 0x70, 0xbd, 0x3c, 0x75, 0x16, 0x39, 0x42, - 0x5e, 0x8d, 0xa4, 0xc2, 0xf2, 0x5a, 0xa9, 0xa7, 0x2f, 0xc1, 0x07, 0x75, 0xf7, 0x46, 0x01, 0x10, 0x17, 0xb9, 0xf4, - 0xaf, 0x2d, 0xe1, 0xd2, 0x94, 0x1b, 0x18, 0xf4, 0x90, 0xe7, 0x24, 0x84, 0x4a, 0x10, 0x92, 0xc2, 0xba, 0x71, 0x5f, - 0x3c, 0x9f, 0xb8, 0xee, 0x2c, 0x36, 0x30, 0xc1, 0xe1, 0x00, 0x88, 0x07, 0x53, 0x2f, 0x1a, 0xf0, 0x52, 0xcd, 0x99, - 0x4f, 0x5e, 0x4e, 0x30, 0x19, 0xa0, 0xaa, 0x18, 0x38, 0x65, 0x3d, 0x93, 0x8f, 0x8c, 0x9b, 0x99, 0xef, 0x07, 0xf8, - 0x6e, 0x5d, 0x48, 0xf4, 0x07, 0x05, 0x50, 0x90, 0x29, 0x80, 0x82, 0xc4, 0x00, 0x14, 0xc4, 0x06, 0xa0, 0x60, 0xd3, - 0xf0, 0xb5, 0xd4, 0xe1, 0x46, 0x40, 0x17, 0xe1, 0x43, 0xcf, 0xc2, 0xc6, 0x0a, 0xc5, 0xb3, 0x31, 0x1b, 0xb3, 0x42, - 0xed, 0x3c, 0xb9, 0x9c, 0x8a, 0x9d, 0xc5, 0x58, 0x57, 0x91, 0x65, 0xe2, 0x85, 0x84, 0x22, 0xe7, 0xdc, 0x48, 0xd4, - 0xdd, 0xcf, 0xbd, 0x97, 0x64, 0x2c, 0x99, 0x37, 0x34, 0x6a, 0x30, 0x2f, 0xbb, 0x0e, 0x60, 0x5a, 0xf2, 0x6d, 0x41, - 0x83, 0xe9, 0x54, 0x79, 0x44, 0x9a, 0x04, 0xb5, 0x73, 0x99, 0x14, 0x39, 0x21, 0x4c, 0x82, 0x5e, 0x09, 0x7e, 0x23, - 0x51, 0xfe, 0xbf, 0xe9, 0x04, 0x0f, 0x70, 0x4c, 0xb4, 0x4a, 0xbe, 0x82, 0x01, 0x33, 0xe7, 0x2f, 0xa4, 0x53, 0x36, - 0x42, 0x31, 0x96, 0x69, 0x3c, 0xfa, 0xca, 0x86, 0x08, 0x6d, 0xf5, 0x02, 0x4d, 0x4c, 0x50, 0x07, 0x78, 0x44, 0x7f, - 0x8d, 0xbe, 0x1a, 0x0a, 0x95, 0xae, 0x46, 0xea, 0x9a, 0x9d, 0x73, 0xfe, 0xbe, 0x36, 0x9c, 0xc8, 0x98, 0x36, 0x05, - 0xbe, 0x01, 0x81, 0x7c, 0x03, 0x01, 0xe0, 0xaa, 0xe9, 0xcc, 0x5e, 0x01, 0x9c, 0x03, 0x01, 0x3c, 0xce, 0x3b, 0x1e, - 0x3f, 0xd2, 0x5f, 0xc5, 0x71, 0xef, 0x34, 0x0d, 0xdb, 0x7f, 0x05, 0xc6, 0x62, 0x28, 0xc7, 0xf3, 0x9d, 0x82, 0x64, - 0x8f, 0x52, 0x96, 0xae, 0x9a, 0xc8, 0x0e, 0xc5, 0xfa, 0x34, 0xa7, 0x8c, 0xa5, 0x6d, 0x39, 0x46, 0x1b, 0xaf, 0x1f, - 0xe3, 0xf1, 0xcd, 0x8d, 0x9e, 0x7c, 0xd0, 0x83, 0xdb, 0xdb, 0xdb, 0xd7, 0x3d, 0x66, 0xf3, 0xad, 0x58, 0x3c, 0x2b, - 0xe2, 0xc4, 0x69, 0x1d, 0x72, 0x80, 0x83, 0x9c, 0x84, 0x40, 0x3a, 0xc6, 0xa5, 0x16, 0x1d, 0xd4, 0x2c, 0xe7, 0x35, - 0xb0, 0xcc, 0x22, 0xc8, 0x06, 0x88, 0x6a, 0x9a, 0x8a, 0xd5, 0xf0, 0xa0, 0x54, 0xcd, 0x29, 0x95, 0xda, 0x37, 0x9c, - 0xad, 0x4e, 0x9f, 0x58, 0xb5, 0x09, 0xb7, 0xfe, 0xb5, 0xf6, 0x04, 0x6d, 0x25, 0x0d, 0x84, 0x7a, 0xbe, 0x4e, 0xef, - 0x28, 0x8a, 0xc7, 0x99, 0x89, 0xa7, 0x2a, 0x30, 0xf6, 0xad, 0x1d, 0x41, 0x41, 0xd2, 0x74, 0x1d, 0x70, 0x98, 0x46, - 0x27, 0x2c, 0xfe, 0x29, 0x7d, 0x28, 0x2f, 0x6a, 0x05, 0x4e, 0xf2, 0x77, 0xe1, 0x22, 0x92, 0x58, 0xe8, 0x97, 0x04, - 0x40, 0x22, 0x83, 0x57, 0xa3, 0x62, 0x2d, 0x54, 0x80, 0x9c, 0xa2, 0xf4, 0x56, 0xf1, 0x71, 0x29, 0x4a, 0x95, 0x52, - 0x99, 0x1b, 0x95, 0x02, 0xc2, 0xda, 0xc0, 0xd1, 0x05, 0x7c, 0x01, 0x41, 0x6b, 0xb9, 0x5b, 0xdb, 0x9e, 0x37, 0x32, - 0x9f, 0x99, 0xe6, 0x69, 0xf5, 0x51, 0xfd, 0xfd, 0x61, 0x89, 0x61, 0x36, 0x9e, 0xfe, 0xbe, 0xcd, 0x10, 0x6e, 0xfe, - 0x86, 0x21, 0xba, 0x03, 0x70, 0xcc, 0xd2, 0x1e, 0x0a, 0x59, 0x30, 0xc1, 0x1a, 0xaa, 0xf2, 0x94, 0xcf, 0x5e, 0x3e, - 0xb9, 0x05, 0x34, 0x35, 0x74, 0x71, 0xa3, 0x53, 0x5d, 0x95, 0x20, 0x7c, 0xdf, 0x15, 0xea, 0xb1, 0x39, 0xe0, 0xd4, - 0x00, 0x50, 0x2c, 0xf2, 0x5a, 0x8f, 0xed, 0x1f, 0xf4, 0x46, 0xbd, 0x01, 0xe2, 0xe9, 0x9c, 0x17, 0xfe, 0x11, 0xfd, - 0x3a, 0xf5, 0x67, 0x5c, 0x08, 0xa2, 0x5e, 0x4f, 0xc2, 0x7b, 0x71, 0x96, 0xc6, 0xc1, 0x59, 0x6f, 0x60, 0x2e, 0x02, - 0xc5, 0x59, 0x9a, 0x9f, 0x81, 0x58, 0x8e, 0xf0, 0x88, 0x35, 0xbb, 0x03, 0xc4, 0xc0, 0x52, 0x87, 0x24, 0xab, 0x8e, - 0xed, 0xf7, 0xdf, 0x8c, 0x0c, 0x6f, 0x3a, 0x22, 0xc2, 0xe8, 0xdf, 0x15, 0x08, 0x50, 0xb0, 0xcc, 0x6c, 0x67, 0x26, - 0x5d, 0xed, 0x59, 0x3d, 0x6f, 0x36, 0x79, 0x57, 0xef, 0x58, 0x4d, 0xcb, 0xa9, 0x69, 0x95, 0xd5, 0xb4, 0x49, 0x0e, - 0x35, 0x13, 0xfd, 0xbe, 0xc6, 0x47, 0xcd, 0xe7, 0x80, 0xcb, 0x86, 0xc9, 0x6f, 0x66, 0xd5, 0xbc, 0xdf, 0xf7, 0xe4, - 0x23, 0xf8, 0x85, 0xc4, 0x65, 0x6e, 0x8d, 0xe5, 0xd3, 0xd7, 0xc4, 0x67, 0x66, 0x10, 0x8f, 0xee, 0x8e, 0xa0, 0xbe, - 0x6e, 0x84, 0xd7, 0x31, 0x57, 0xd8, 0x4c, 0x4c, 0xdf, 0xc0, 0xe0, 0x79, 0xc2, 0x07, 0x6f, 0x39, 0xfa, 0x1b, 0xe9, - 0xcc, 0x14, 0x2c, 0xe4, 0xdc, 0x9f, 0xbc, 0x41, 0xe8, 0x64, 0x44, 0x7a, 0xd0, 0xe9, 0x04, 0x0d, 0xd9, 0xef, 0xaf, - 0xa0, 0x33, 0x5b, 0xa9, 0x94, 0xad, 0x8a, 0xca, 0x74, 0x5d, 0x17, 0x65, 0x05, 0x1d, 0x4b, 0x3f, 0x6f, 0x85, 0xcc, - 0xac, 0x9f, 0x59, 0xc8, 0x4f, 0x2b, 0x89, 0x35, 0x65, 0xdb, 0x27, 0x6a, 0x83, 0x34, 0xeb, 0x42, 0x75, 0x81, 0x73, - 0x67, 0xed, 0xf5, 0x46, 0xa8, 0x7f, 0xce, 0x47, 0xeb, 0x62, 0xed, 0x81, 0x4b, 0xcc, 0x2c, 0x9d, 0x2b, 0x0e, 0x8d, - 0xdc, 0x1f, 0x7d, 0x29, 0xd2, 0x9c, 0xf2, 0x00, 0x0d, 0xa2, 0x98, 0xdb, 0x6f, 0x81, 0xf4, 0x43, 0x6f, 0x81, 0xec, - 0xa3, 0x73, 0x4e, 0xde, 0x00, 0x38, 0x1d, 0x22, 0xe2, 0x56, 0x24, 0xe8, 0x58, 0x35, 0xbc, 0xb5, 0x70, 0x4f, 0x7b, - 0x69, 0xdc, 0x4b, 0xf3, 0xb3, 0xb4, 0xdf, 0x37, 0x00, 0x9a, 0x29, 0x22, 0xc3, 0xe3, 0x8c, 0x5c, 0x24, 0x2d, 0x04, - 0x53, 0xda, 0x7f, 0x35, 0x86, 0x04, 0x81, 0x80, 0xff, 0x5d, 0x78, 0x4f, 0x00, 0x6d, 0x93, 0x36, 0xe0, 0xaa, 0xc7, - 0x74, 0x60, 0xb6, 0xe4, 0x6c, 0xd5, 0xd9, 0x00, 0x94, 0x53, 0xa5, 0xf5, 0x94, 0xc7, 0x35, 0x45, 0x44, 0xaa, 0x2c, - 0xd4, 0x6f, 0xac, 0x27, 0x93, 0x55, 0x2e, 0x32, 0xe4, 0xa8, 0x4c, 0xef, 0x6b, 0x46, 0x88, 0x5d, 0xfa, 0xf9, 0x02, - 0x96, 0x6c, 0xfc, 0x09, 0x27, 0x6f, 0x09, 0x90, 0xb6, 0xb3, 0x76, 0x55, 0xed, 0x72, 0xdc, 0xda, 0xcd, 0x01, 0xc9, - 0xd7, 0x1b, 0x8d, 0x46, 0xda, 0x4f, 0x4e, 0xc0, 0x50, 0xf5, 0xd4, 0x52, 0xe8, 0xb1, 0x5a, 0x61, 0xeb, 0x76, 0xe4, - 0x32, 0x4b, 0x06, 0xf3, 0x85, 0x71, 0xfc, 0xca, 0x7c, 0xf4, 0xf1, 0x52, 0x59, 0xbb, 0x8e, 0xf8, 0xfa, 0x8f, 0xb2, - 0x5a, 0xdf, 0xf3, 0xae, 0x6a, 0x02, 0xbe, 0xa8, 0x62, 0x4b, 0xbf, 0xe3, 0x3d, 0xd9, 0xbb, 0xf8, 0xda, 0x0d, 0x76, - 0xc9, 0xf7, 0xbc, 0x45, 0x9d, 0xe7, 0x2b, 0x5f, 0x37, 0xaa, 0x74, 0x7b, 0x2f, 0x59, 0xe0, 0xda, 0x3b, 0x6a, 0x1a, - 0xeb, 0x99, 0x1f, 0x3d, 0x2c, 0x42, 0xb6, 0xf3, 0xb1, 0xf7, 0x55, 0xf3, 0xf4, 0xac, 0xa1, 0x37, 0xa9, 0xa1, 0x8f, - 0xbd, 0x28, 0xdb, 0xa7, 0xa6, 0x11, 0xbd, 0x86, 0x0d, 0x7d, 0xec, 0x2d, 0x39, 0x39, 0x24, 0x18, 0x9c, 0x1a, 0xf3, - 0xc7, 0x87, 0xd3, 0x19, 0xfe, 0x8e, 0x01, 0x95, 0x98, 0xcc, 0xa7, 0xc7, 0xb4, 0xa3, 0x00, 0x33, 0xaa, 0xf4, 0xf6, - 0xe9, 0x81, 0xed, 0x78, 0x59, 0x0f, 0x2d, 0xbd, 0x7b, 0x72, 0x74, 0x3b, 0x5e, 0x55, 0xe3, 0x4b, 0x39, 0xe4, 0x79, - 0x3e, 0x1b, 0x8d, 0x46, 0xc2, 0xa0, 0x73, 0x57, 0x7a, 0x03, 0x2b, 0x90, 0xc1, 0x45, 0xf5, 0xa1, 0x5c, 0x7a, 0x3b, - 0x75, 0x68, 0x57, 0xfe, 0x24, 0x3f, 0x1c, 0x8a, 0x91, 0x39, 0xc6, 0x01, 0xe7, 0xa4, 0x50, 0x72, 0x94, 0xac, 0x25, - 0x88, 0x4e, 0x69, 0x3c, 0x95, 0xf5, 0xda, 0x8a, 0xc8, 0xab, 0x11, 0xf2, 0x21, 0xf8, 0xc9, 0x03, 0xb5, 0xf8, 0xb5, - 0x16, 0xc4, 0x1e, 0xfb, 0x54, 0x29, 0x1d, 0xe2, 0x55, 0x01, 0x21, 0xc2, 0x80, 0x37, 0xd0, 0x0e, 0x4a, 0x70, 0xd8, - 0xe1, 0x3e, 0x22, 0x42, 0xf4, 0x6b, 0x2f, 0x9f, 0xc9, 0x70, 0xe5, 0xde, 0xa0, 0x9a, 0x33, 0x40, 0xac, 0xf4, 0x19, - 0xb8, 0x60, 0x02, 0xea, 0x29, 0x3e, 0x45, 0xff, 0x7a, 0xf3, 0xb0, 0xe9, 0xfa, 0xb4, 0x04, 0x54, 0x44, 0xcf, 0x7e, - 0x3e, 0x06, 0xf0, 0xce, 0xae, 0xcd, 0x48, 0x7b, 0xf9, 0x1b, 0x60, 0x58, 0x29, 0x49, 0xb4, 0x73, 0x4a, 0x04, 0xee, - 0x7c, 0x64, 0x4b, 0x3f, 0x4a, 0x81, 0x98, 0x3b, 0x9e, 0x24, 0xb2, 0x07, 0x1b, 0x39, 0x81, 0x5b, 0x0c, 0x78, 0x74, - 0x00, 0x2a, 0x57, 0x0a, 0x72, 0xaf, 0x39, 0x92, 0x3b, 0x7e, 0xe8, 0xfd, 0x30, 0xa8, 0x07, 0x3f, 0xf4, 0xce, 0x52, - 0x92, 0x3b, 0xc2, 0x33, 0x35, 0x25, 0x44, 0x7c, 0xf6, 0xc3, 0x20, 0x1f, 0xe0, 0x59, 0xa2, 0x45, 0x5a, 0xe4, 0x56, - 0x13, 0x35, 0x6e, 0xc2, 0x8b, 0x44, 0xd2, 0x10, 0xed, 0x3a, 0x8f, 0x88, 0x05, 0x80, 0x64, 0xf1, 0xd9, 0xbc, 0xa1, - 0xa8, 0x77, 0x13, 0xbe, 0x45, 0x77, 0x59, 0xec, 0xf7, 0xb7, 0x79, 0x5a, 0xf7, 0x74, 0xa8, 0x0c, 0xbe, 0x20, 0xd5, - 0x04, 0x78, 0xb4, 0xbf, 0x36, 0xc7, 0xab, 0x57, 0x9b, 0x23, 0x65, 0xa1, 0x4a, 0xd4, 0x6f, 0xb1, 0x9a, 0xf5, 0x10, - 0x91, 0x3b, 0xcb, 0x8c, 0xbd, 0xbd, 0xe0, 0x95, 0x9c, 0x55, 0xb1, 0x5d, 0x8e, 0xaf, 0x08, 0x6b, 0x2b, 0x09, 0xd0, - 0xd1, 0x7a, 0xac, 0x4d, 0x31, 0xf2, 0x2b, 0x85, 0x04, 0x5c, 0x74, 0x6c, 0x2d, 0x14, 0x1b, 0x2f, 0x40, 0x5f, 0xb2, - 0x33, 0x0d, 0xb0, 0xde, 0xe8, 0x55, 0xc4, 0x6d, 0xf9, 0x48, 0x85, 0x37, 0xb9, 0xa9, 0x32, 0x2b, 0x9b, 0x45, 0xbb, - 0x9f, 0x2a, 0x5e, 0x21, 0x6e, 0xbd, 0x51, 0x7b, 0x14, 0xa0, 0xf6, 0xd0, 0x42, 0x19, 0xa0, 0x4b, 0xd3, 0x0c, 0x00, - 0x19, 0x00, 0x64, 0xaa, 0x88, 0xcf, 0x04, 0xa8, 0xb4, 0xd5, 0x8d, 0x02, 0x27, 0xd2, 0x6b, 0x60, 0x5c, 0x60, 0xa5, - 0x8f, 0x6c, 0x64, 0xb0, 0xd8, 0x22, 0xc0, 0x2d, 0x47, 0xfa, 0x30, 0x0d, 0x27, 0xdb, 0x68, 0x0e, 0x93, 0x34, 0xbf, - 0x0f, 0xb3, 0x54, 0x42, 0x4b, 0xfc, 0x28, 0x6b, 0x8c, 0x58, 0x40, 0xfa, 0x3e, 0xbd, 0x28, 0xb2, 0x98, 0x20, 0xe1, - 0xac, 0xa7, 0x0e, 0xa0, 0x9a, 0x9c, 0x6b, 0x4d, 0xab, 0x67, 0xb5, 0xc9, 0x43, 0x16, 0xe8, 0xec, 0xc1, 0x98, 0xd4, - 0x72, 0x43, 0x8f, 0xec, 0xaf, 0x1c, 0xcf, 0x08, 0xdf, 0xf5, 0x0c, 0xa7, 0xfe, 0xbb, 0xa9, 0x81, 0x94, 0x29, 0x01, - 0x04, 0x19, 0x1c, 0x4d, 0x08, 0xe5, 0xe9, 0x98, 0x4c, 0x6d, 0x7e, 0x04, 0xc2, 0x11, 0xc1, 0x2b, 0x78, 0x6e, 0x68, - 0xdd, 0x72, 0x63, 0x67, 0x91, 0xa7, 0x09, 0x20, 0x8b, 0x17, 0x7c, 0x0b, 0xc8, 0x9c, 0x7a, 0x55, 0xc8, 0x9e, 0x3d, - 0x17, 0xd3, 0xd9, 0x3c, 0x78, 0x48, 0x68, 0xff, 0x62, 0xc2, 0x6f, 0xba, 0xab, 0xe4, 0xca, 0xd4, 0xba, 0x37, 0xd1, - 0x63, 0x2e, 0x77, 0xfa, 0xb4, 0xe2, 0x18, 0xf1, 0x0c, 0x56, 0x01, 0x39, 0x67, 0x43, 0x7e, 0x7d, 0x0e, 0xd8, 0x2d, - 0x2b, 0xe1, 0x45, 0xfc, 0x3a, 0x94, 0xd5, 0x02, 0xe4, 0x47, 0xce, 0x23, 0xf3, 0xcb, 0x57, 0xdb, 0xa1, 0x9c, 0x53, - 0x14, 0xd1, 0x72, 0x6a, 0x5a, 0x52, 0xc8, 0x0e, 0x3d, 0x05, 0x93, 0xa9, 0x2d, 0x7f, 0x6f, 0x13, 0x97, 0xe4, 0x9b, - 0x49, 0x64, 0x5f, 0x07, 0x58, 0xb3, 0x56, 0xdd, 0x43, 0x37, 0x04, 0x03, 0x44, 0x46, 0x28, 0xb3, 0xb9, 0xbe, 0x5b, - 0x0f, 0x06, 0x0a, 0xe6, 0x57, 0xd0, 0x4d, 0x8b, 0x4e, 0x71, 0x80, 0x9c, 0xb5, 0xae, 0x51, 0xa9, 0x2a, 0x0e, 0x1d, - 0xe6, 0xdd, 0xb2, 0x2a, 0xbb, 0x2c, 0xbd, 0x10, 0xa4, 0x46, 0x5d, 0x05, 0x8b, 0x94, 0x8a, 0x28, 0xde, 0x93, 0x5f, - 0x03, 0x13, 0xcf, 0xac, 0x1c, 0xa5, 0xf1, 0x1c, 0x10, 0x83, 0x14, 0x10, 0xa7, 0xfc, 0x0a, 0xd0, 0x44, 0x17, 0x51, - 0x98, 0xbd, 0x8d, 0xab, 0xa0, 0xb6, 0x9a, 0x7e, 0xef, 0x40, 0xc6, 0x9e, 0xd7, 0xfd, 0x7e, 0x4a, 0x8c, 0x7e, 0x18, - 0x85, 0x81, 0x7f, 0x8f, 0xa7, 0xfb, 0x26, 0x48, 0xcd, 0x2b, 0x0f, 0xf0, 0x8a, 0x2e, 0xb7, 0x36, 0xe5, 0x8a, 0xc6, - 0x85, 0xbf, 0x46, 0x70, 0xf8, 0xd4, 0x51, 0x6c, 0xb7, 0xa9, 0x72, 0x6a, 0x63, 0x30, 0x08, 0xe1, 0xbe, 0x95, 0xf1, - 0xfb, 0xc4, 0xcb, 0x67, 0xd1, 0x1c, 0x14, 0xa5, 0x99, 0xe6, 0x0b, 0x29, 0xa4, 0x9b, 0x00, 0x7d, 0x34, 0x08, 0xb5, - 0xba, 0xf2, 0x8f, 0xc4, 0x4b, 0xd5, 0xb4, 0x36, 0x4f, 0xb1, 0x46, 0x81, 0x98, 0x45, 0xf3, 0x86, 0x65, 0x74, 0x48, - 0xaa, 0xcb, 0xa5, 0x69, 0xc6, 0x1f, 0x56, 0x33, 0x54, 0x2b, 0x8e, 0x9a, 0xa0, 0x46, 0xe9, 0x06, 0x2e, 0x80, 0x7f, - 0xa3, 0x3b, 0x8e, 0x6a, 0x14, 0x29, 0x1a, 0xf0, 0x09, 0x62, 0xc4, 0x9a, 0xcd, 0x13, 0xd6, 0x9a, 0xba, 0x66, 0xf4, - 0xfb, 0x32, 0x64, 0xc8, 0x24, 0x21, 0x4f, 0x1f, 0x2e, 0xd7, 0x4f, 0xa4, 0xba, 0x00, 0x7e, 0xe5, 0x8a, 0xcd, 0x7a, - 0xbd, 0x39, 0xc0, 0xf5, 0xc2, 0xfa, 0x85, 0x8d, 0x2b, 0x38, 0xbf, 0x24, 0xf8, 0x5d, 0xf5, 0x23, 0xcc, 0x32, 0xa8, - 0x02, 0x32, 0xfe, 0x58, 0x48, 0xe7, 0xb9, 0x8b, 0x49, 0xfd, 0x66, 0xa4, 0x2e, 0x28, 0xb3, 0x74, 0x6e, 0x71, 0x82, - 0x80, 0xf3, 0xb0, 0x7a, 0x02, 0xc9, 0xbe, 0x7c, 0xec, 0xd3, 0x8c, 0x02, 0xd5, 0x11, 0xe0, 0xb3, 0x59, 0x3f, 0x84, - 0xfd, 0x03, 0x22, 0x0b, 0xf5, 0x37, 0x6f, 0xe4, 0xac, 0x21, 0x79, 0x20, 0xd5, 0xdc, 0xc7, 0x70, 0x6a, 0x2c, 0xf0, - 0xa5, 0x45, 0x6f, 0x2a, 0x78, 0x4d, 0xc8, 0xdc, 0x0b, 0xb4, 0xf6, 0x2d, 0xe0, 0x08, 0x11, 0x5c, 0x46, 0x29, 0x4e, - 0x7b, 0xbb, 0x5e, 0x80, 0xdc, 0xe6, 0x16, 0xe4, 0xf5, 0x3b, 0x17, 0xbf, 0x38, 0x45, 0x7a, 0x16, 0x5d, 0x60, 0xa0, - 0x0b, 0x32, 0x6f, 0xfc, 0xb3, 0x82, 0x95, 0x0b, 0xe8, 0xbd, 0x54, 0xac, 0xe4, 0x64, 0xdb, 0xa9, 0x3f, 0x4a, 0x65, - 0xbf, 0x3d, 0xb3, 0x26, 0xf0, 0xab, 0xc4, 0x7e, 0x89, 0x4c, 0xbe, 0xe9, 0xb1, 0xc9, 0x57, 0x86, 0x45, 0xa7, 0x96, - 0xc1, 0x39, 0x3d, 0x32, 0x38, 0xf7, 0x76, 0x56, 0x6d, 0x42, 0x18, 0x0a, 0x92, 0x40, 0xd3, 0xa5, 0x87, 0x75, 0xd3, - 0x9f, 0x9f, 0xb4, 0xa8, 0xb6, 0x6a, 0xdf, 0xba, 0x1f, 0x87, 0xd8, 0xc5, 0xaf, 0x12, 0xcf, 0x10, 0x91, 0xfa, 0x40, - 0x07, 0x26, 0x83, 0x27, 0x2e, 0xfb, 0x7d, 0x28, 0x6c, 0x36, 0x9e, 0x8f, 0xea, 0xe2, 0xe7, 0xe2, 0x01, 0x50, 0x1d, - 0x2a, 0xb0, 0xcb, 0xa1, 0x0c, 0x65, 0xc4, 0xa6, 0xb6, 0xdc, 0xf3, 0xfb, 0xab, 0x30, 0x07, 0x79, 0x47, 0xc3, 0xe3, - 0x9c, 0x81, 0x18, 0x06, 0x5f, 0xff, 0xe1, 0xc9, 0x3e, 0x6d, 0x7e, 0x38, 0x83, 0xef, 0x8e, 0xce, 0x3e, 0x22, 0xdd, - 0xcd, 0xd9, 0xba, 0x2c, 0xee, 0xd3, 0x58, 0x9c, 0xfd, 0x00, 0xa9, 0x3f, 0x9c, 0x15, 0xe5, 0xd9, 0x0f, 0xaa, 0x32, - 0x3f, 0x9c, 0xd1, 0x82, 0x1b, 0xfd, 0x6e, 0x4d, 0xbc, 0x7f, 0x54, 0x9a, 0x01, 0x6d, 0x09, 0x91, 0x59, 0x5a, 0xfd, - 0x08, 0x4a, 0x44, 0xc5, 0x8f, 0x2a, 0xa3, 0x5a, 0xad, 0x1d, 0xe7, 0x43, 0xa2, 0x91, 0xb2, 0x69, 0x42, 0xe2, 0x6a, - 0x09, 0xeb, 0x50, 0xcf, 0x4e, 0x9b, 0x6f, 0xc7, 0x79, 0xa0, 0x0e, 0x88, 0x9c, 0x5f, 0xe7, 0xa3, 0x2d, 0x7d, 0x0d, - 0xbe, 0x75, 0x38, 0xe4, 0xa3, 0x9d, 0xf9, 0xe9, 0x93, 0xb5, 0x52, 0xc6, 0x1d, 0x29, 0x72, 0x21, 0xe4, 0x8c, 0xdb, - 0xf6, 0x18, 0x70, 0x00, 0xf8, 0x87, 0x03, 0xfd, 0xde, 0xc9, 0xdf, 0x6a, 0xb7, 0xb4, 0xea, 0xf9, 0xb1, 0xc5, 0x9d, - 0xf1, 0xba, 0x36, 0x44, 0x6d, 0x7b, 0x89, 0x2d, 0xbd, 0x6f, 0x1a, 0xd4, 0x14, 0xd1, 0x4f, 0x58, 0x4d, 0xac, 0xe2, - 0xb0, 0x20, 0x25, 0x24, 0x31, 0x1c, 0xa3, 0x1d, 0x7a, 0x9c, 0x2e, 0x96, 0x9e, 0xdc, 0x77, 0x78, 0xb9, 0xf5, 0x7d, - 0x40, 0xd2, 0x2a, 0x9c, 0x7f, 0xf4, 0x42, 0x03, 0x8f, 0x5e, 0xe4, 0x55, 0x91, 0x89, 0x91, 0xa0, 0x51, 0x7e, 0x4b, - 0xe2, 0xcc, 0x19, 0xd6, 0xe2, 0x4c, 0x81, 0x85, 0x85, 0x04, 0xd0, 0x5d, 0x94, 0x94, 0x1e, 0x9c, 0x3d, 0xd9, 0x97, - 0xcd, 0xef, 0x04, 0x0f, 0x31, 0x5a, 0x00, 0x23, 0xce, 0xae, 0x5d, 0xde, 0x43, 0x58, 0xe6, 0xde, 0xef, 0x6f, 0xef, - 0xf2, 0x02, 0x42, 0x34, 0xcf, 0xa4, 0x62, 0xb5, 0x3c, 0x03, 0xc6, 0x3c, 0x11, 0x9f, 0x85, 0x95, 0x9c, 0x06, 0x55, - 0x47, 0xb1, 0x7a, 0x1b, 0xcf, 0x3d, 0xa0, 0xf8, 0xfe, 0x90, 0x00, 0x97, 0xbb, 0xcf, 0xde, 0x28, 0xd7, 0x54, 0xd2, - 0x23, 0xcf, 0x31, 0x5a, 0x32, 0x01, 0x8a, 0x67, 0x88, 0x93, 0x14, 0x56, 0xcf, 0x4d, 0x90, 0x8a, 0x7c, 0x7d, 0x42, - 0xf1, 0x45, 0xf3, 0x28, 0x6a, 0x58, 0xc8, 0x12, 0x38, 0x1e, 0x92, 0x59, 0x36, 0x47, 0x96, 0xf2, 0xb4, 0x3d, 0x45, - 0x3a, 0x3a, 0xb1, 0xc4, 0x6f, 0x6b, 0x7e, 0xbd, 0x48, 0x45, 0x60, 0xd2, 0xce, 0x56, 0xe6, 0x5e, 0x08, 0x43, 0x95, - 0x70, 0xef, 0x75, 0x3d, 0x0b, 0xe5, 0xa6, 0x68, 0x55, 0xcc, 0x1e, 0xa6, 0xc4, 0x0c, 0x53, 0xac, 0xbf, 0xb0, 0xe1, - 0x37, 0x89, 0x17, 0x83, 0xe1, 0x7a, 0xc9, 0xcb, 0xd9, 0xc6, 0x2c, 0x84, 0xc3, 0x61, 0x33, 0x29, 0x66, 0x4b, 0x08, - 0x73, 0x5d, 0xce, 0x0f, 0x87, 0xae, 0x96, 0xad, 0x85, 0x07, 0x0f, 0x55, 0x0b, 0x37, 0x0d, 0xcb, 0xe1, 0x67, 0x32, - 0x8b, 0xb1, 0x7d, 0x8d, 0xcf, 0xec, 0xcf, 0x17, 0xdd, 0xb3, 0x04, 0xc9, 0x37, 0xd6, 0x40, 0x3b, 0x36, 0x6b, 0x77, - 0xb8, 0x1a, 0x01, 0x49, 0xe9, 0x6e, 0xf4, 0x77, 0x65, 0x27, 0x4f, 0x09, 0x72, 0x47, 0x2b, 0xb0, 0xdf, 0x7d, 0xe3, - 0x4f, 0xb4, 0xd8, 0x83, 0x76, 0x1b, 0x5b, 0x42, 0x54, 0xd3, 0x9e, 0xcb, 0x95, 0x62, 0x69, 0xde, 0x4a, 0x1b, 0x3d, - 0x1f, 0xd6, 0xe7, 0xbe, 0x91, 0x03, 0x05, 0x63, 0xc4, 0x53, 0xeb, 0x20, 0x9a, 0xcd, 0x81, 0x06, 0x03, 0xcd, 0x23, - 0x3c, 0xb5, 0xd0, 0x41, 0x99, 0xb5, 0x61, 0x3f, 0x49, 0x4e, 0x96, 0xc7, 0xe1, 0x5b, 0xf8, 0x97, 0xcf, 0xb0, 0x49, - 0x4c, 0xb1, 0x3d, 0xfe, 0x56, 0x29, 0x2a, 0x3c, 0xb6, 0x20, 0xae, 0xb5, 0x1b, 0x51, 0x1b, 0x2a, 0x87, 0x7f, 0x09, - 0xfb, 0x08, 0xfb, 0x0d, 0x4d, 0x10, 0x06, 0xbb, 0xfe, 0x4c, 0x20, 0x44, 0x2c, 0xc4, 0x0b, 0xfe, 0x56, 0x49, 0x2a, - 0x3a, 0xe1, 0xb3, 0x45, 0x09, 0xbc, 0x75, 0x18, 0xd0, 0x27, 0x14, 0x29, 0x85, 0x30, 0x34, 0x13, 0x7a, 0x47, 0xff, - 0x8d, 0xd8, 0xc9, 0x26, 0xb9, 0x15, 0xf2, 0x81, 0xa4, 0x92, 0x60, 0x82, 0x95, 0x17, 0xca, 0x17, 0xee, 0x85, 0x52, - 0x6b, 0x2d, 0x68, 0xfd, 0xf2, 0x27, 0x89, 0x67, 0xf0, 0xf7, 0x40, 0xc6, 0xa0, 0xdb, 0x88, 0x6a, 0x92, 0x63, 0xfa, - 0x28, 0x9d, 0x67, 0xa0, 0x02, 0x3a, 0x5b, 0x67, 0x61, 0xbd, 0x2c, 0xca, 0x55, 0x2b, 0x52, 0x54, 0x96, 0x3e, 0x52, - 0x8f, 0x31, 0x2f, 0xcc, 0x93, 0x13, 0xf9, 0xe0, 0x11, 0x00, 0xe3, 0x51, 0x9e, 0x56, 0x1d, 0xa5, 0xf5, 0x03, 0xcb, - 0x80, 0x11, 0x38, 0x51, 0x06, 0x3c, 0xc2, 0x32, 0x30, 0x4f, 0xbb, 0x0c, 0x35, 0x88, 0x35, 0xaa, 0xae, 0xd4, 0x06, - 0x73, 0xa2, 0x28, 0xf9, 0x14, 0x4b, 0x2b, 0x8c, 0xa1, 0xa9, 0x2b, 0x8f, 0xac, 0x97, 0x9c, 0xb0, 0x27, 0xbb, 0x81, - 0x74, 0x0b, 0x1b, 0x85, 0x33, 0xe8, 0x5a, 0x96, 0x28, 0x17, 0xdd, 0x32, 0xa2, 0x4c, 0x84, 0xd4, 0xcf, 0x1e, 0xce, - 0xb4, 0xda, 0x6f, 0xec, 0xa4, 0x7d, 0x7b, 0xa4, 0xe8, 0x05, 0x83, 0xf6, 0x69, 0x8f, 0x94, 0x7a, 0xd6, 0xc8, 0x65, - 0x60, 0x4b, 0x97, 0xaa, 0x9e, 0xff, 0x02, 0xe5, 0x3b, 0x98, 0x19, 0x67, 0xb3, 0xdf, 0xf5, 0xe6, 0xf6, 0x64, 0x5f, - 0x37, 0xbf, 0xb3, 0x5e, 0x0f, 0xb6, 0x06, 0x99, 0xf8, 0x42, 0xb1, 0x50, 0x59, 0x85, 0x58, 0x41, 0xda, 0xff, 0x12, - 0xde, 0xef, 0xf0, 0xd6, 0x08, 0xcd, 0xca, 0x78, 0x98, 0x8f, 0x9e, 0xec, 0x45, 0xf3, 0x7b, 0x67, 0xd9, 0x56, 0xae, - 0x4a, 0x66, 0xfb, 0xfd, 0x28, 0x69, 0xce, 0x1e, 0xaf, 0x91, 0xd4, 0x01, 0x3e, 0x5e, 0x9f, 0xe1, 0x23, 0x95, 0x50, - 0x6a, 0x41, 0x55, 0x83, 0xd6, 0xc7, 0x7e, 0x6f, 0x3d, 0xa7, 0x8f, 0x1f, 0xcb, 0xe9, 0x96, 0x14, 0x61, 0xfc, 0xc0, - 0x60, 0xca, 0x4e, 0x9c, 0xba, 0xe4, 0xcd, 0x90, 0xde, 0x75, 0xab, 0xa4, 0x2e, 0x7b, 0x94, 0x08, 0x42, 0x1d, 0xac, - 0x5f, 0xec, 0x87, 0x30, 0xb3, 0x45, 0x7f, 0xd8, 0xac, 0xe6, 0x04, 0x88, 0x08, 0x68, 0xad, 0xf2, 0x3e, 0x70, 0xcc, - 0x17, 0x66, 0xcd, 0x0d, 0xe9, 0xd6, 0x9b, 0x2b, 0xed, 0x95, 0x14, 0xd0, 0xcf, 0x41, 0xe6, 0xf6, 0xd1, 0x2d, 0x57, - 0x2d, 0xf3, 0x5c, 0xda, 0x72, 0xc0, 0xa2, 0x85, 0x40, 0xcd, 0xce, 0xa5, 0xc3, 0x81, 0x82, 0x50, 0x57, 0xa2, 0x8a, - 0xb8, 0x3a, 0x8a, 0x16, 0xa2, 0x56, 0xab, 0x76, 0x39, 0xd9, 0x54, 0xc8, 0x96, 0x44, 0x90, 0x51, 0xb2, 0x57, 0x42, - 0x7d, 0x94, 0xab, 0x3d, 0xd3, 0x70, 0x80, 0x26, 0x60, 0xd3, 0x06, 0x7f, 0x0b, 0xdc, 0xcb, 0xe0, 0xcc, 0xb4, 0x4f, - 0xc3, 0x08, 0x38, 0xcd, 0x21, 0xe6, 0xcf, 0xef, 0x7a, 0x50, 0xc1, 0x83, 0x8e, 0xf4, 0xd7, 0xf5, 0xac, 0xc0, 0x33, - 0xf7, 0xc4, 0xf3, 0x37, 0x27, 0xd2, 0x8b, 0x1c, 0x1e, 0x68, 0x1a, 0xc4, 0x8c, 0xbf, 0x28, 0xcb, 0x70, 0x37, 0x5a, - 0x96, 0xc5, 0xca, 0x8b, 0xf4, 0x3e, 0x9e, 0x49, 0x31, 0x90, 0x98, 0x31, 0x33, 0xba, 0x8a, 0x75, 0x9c, 0xc3, 0xb8, - 0xb7, 0x27, 0x61, 0x85, 0xf6, 0xcf, 0x12, 0x7b, 0x5d, 0x00, 0x96, 0x43, 0xd6, 0xa0, 0x15, 0xde, 0xe9, 0xf6, 0x76, - 0x8f, 0x4b, 0x76, 0x14, 0x37, 0x80, 0x7e, 0x56, 0x43, 0xcb, 0x04, 0xb5, 0xcc, 0xba, 0x93, 0xc9, 0x14, 0xc9, 0xe5, - 0xdb, 0xb0, 0x37, 0xac, 0xc8, 0xe7, 0x8d, 0xdc, 0x1e, 0xde, 0x87, 0x2b, 0x11, 0x6b, 0x0b, 0x3a, 0xe9, 0xc8, 0x38, - 0xdc, 0x0b, 0xcd, 0x8d, 0x74, 0xff, 0xa4, 0x4a, 0xc2, 0x52, 0xc4, 0x70, 0x0b, 0x64, 0x7b, 0xb5, 0xad, 0x04, 0x25, - 0xf0, 0xc1, 0x7e, 0x2c, 0xc5, 0x32, 0xdd, 0x0a, 0xc0, 0x75, 0xe0, 0x7f, 0x4a, 0x44, 0x42, 0x77, 0xe7, 0x21, 0x8a, - 0x35, 0xf2, 0xbe, 0x41, 0x34, 0xf6, 0xd7, 0x20, 0xa7, 0x01, 0x99, 0x48, 0x31, 0x92, 0x05, 0x03, 0x1f, 0x40, 0xce, - 0xd7, 0x60, 0x92, 0x9b, 0xe6, 0x9e, 0x1f, 0xe4, 0xba, 0x83, 0x69, 0x1f, 0x74, 0x2f, 0xae, 0x35, 0xcb, 0xc1, 0x2b, - 0x26, 0xe2, 0x7f, 0xab, 0xbd, 0x92, 0xe5, 0x2c, 0xf3, 0x1b, 0x73, 0xd1, 0xc9, 0xe0, 0xaa, 0x21, 0xfc, 0x62, 0x96, - 0xcd, 0x79, 0x34, 0xcb, 0x74, 0xd4, 0x7f, 0xd1, 0x1c, 0x95, 0x02, 0x70, 0xea, 0x78, 0x01, 0xd6, 0xd0, 0x57, 0xba, - 0x69, 0xc5, 0x23, 0x8d, 0x31, 0x0a, 0x2a, 0x74, 0x10, 0xfa, 0x5b, 0x0d, 0x48, 0x1b, 0x4c, 0xd2, 0x24, 0x54, 0x3e, - 0xb8, 0xa0, 0x1b, 0xe6, 0xe5, 0xca, 0xe5, 0xaa, 0x49, 0xd5, 0xf2, 0xcb, 0x11, 0xf5, 0x5d, 0x2d, 0xb9, 0x54, 0x9b, - 0x4f, 0x8d, 0xb2, 0x46, 0x90, 0xc9, 0x51, 0xfa, 0x7d, 0xca, 0x85, 0x5b, 0x19, 0x93, 0xf5, 0xe1, 0xe0, 0x15, 0xdc, - 0xd4, 0xf8, 0x75, 0x4e, 0x84, 0xa2, 0xf6, 0x90, 0x08, 0x5b, 0xbb, 0x15, 0xba, 0xf7, 0xb8, 0x51, 0x9a, 0x47, 0xd9, - 0x26, 0x16, 0x95, 0xd7, 0x4b, 0xc0, 0x5a, 0xdc, 0x03, 0x5e, 0x54, 0x5a, 0xfa, 0x15, 0x2b, 0x00, 0x3d, 0x40, 0x0a, - 0x1b, 0x3f, 0x22, 0x03, 0xd6, 0x47, 0x2f, 0xf5, 0xfb, 0x7d, 0x63, 0xca, 0xff, 0xf0, 0x90, 0x03, 0x49, 0xa1, 0x28, - 0xeb, 0x1d, 0x4c, 0x20, 0xb8, 0x76, 0x92, 0xf6, 0xac, 0xe6, 0xd7, 0xeb, 0xda, 0x03, 0x7e, 0x2b, 0xdf, 0x22, 0xb1, - 0x7a, 0x6d, 0x5f, 0x6c, 0xf6, 0x69, 0x75, 0x63, 0x34, 0x0e, 0x82, 0xa5, 0xd5, 0x5b, 0xad, 0x72, 0xc8, 0x1b, 0x5e, - 0x81, 0x48, 0x65, 0x5d, 0x5d, 0x2b, 0xe7, 0xea, 0x5a, 0x70, 0xe4, 0x92, 0x2d, 0x79, 0x0e, 0xff, 0x85, 0xdc, 0x2b, - 0x0f, 0x87, 0xc2, 0xef, 0xf7, 0xd3, 0x19, 0x69, 0x65, 0x81, 0x3d, 0x6d, 0x5d, 0x7b, 0xa1, 0x7f, 0x38, 0xfc, 0x08, - 0x5e, 0x23, 0xfe, 0xe1, 0x50, 0xf6, 0xfb, 0x9f, 0xcc, 0x4d, 0xe6, 0x7c, 0xac, 0x94, 0xb2, 0x97, 0xa8, 0x74, 0x7f, - 0x9b, 0xf0, 0xde, 0xff, 0x1e, 0xfd, 0xef, 0xd1, 0x65, 0x4f, 0x85, 0x80, 0x25, 0x7c, 0x86, 0x37, 0x74, 0xa6, 0x2e, - 0xe7, 0x4c, 0xba, 0xbb, 0x2b, 0x3f, 0xf4, 0x9e, 0x86, 0x8a, 0xef, 0xcd, 0x4d, 0x1b, 0x7f, 0xad, 0x8e, 0x34, 0x09, - 0x1d, 0x17, 0xfd, 0xc3, 0xe1, 0x73, 0xa2, 0xf5, 0x69, 0xa9, 0xd2, 0xa7, 0x29, 0x1c, 0x25, 0x43, 0x8c, 0xeb, 0x16, - 0xa6, 0x03, 0xfb, 0x71, 0xf3, 0x55, 0xf2, 0xe2, 0x2c, 0x85, 0x6b, 0x6f, 0x3e, 0x4b, 0xe7, 0x53, 0xb0, 0xae, 0x0c, - 0xf3, 0x59, 0x3d, 0x0f, 0x20, 0x75, 0x08, 0x69, 0xd6, 0x34, 0xfc, 0x4b, 0xe5, 0x0a, 0xde, 0xda, 0xe3, 0xdd, 0xc0, - 0x45, 0xa9, 0x23, 0x7d, 0xd2, 0x46, 0xd3, 0x25, 0x95, 0xfc, 0x27, 0x91, 0xc7, 0x18, 0xb3, 0xf1, 0x9a, 0x78, 0x3f, - 0x8b, 0xfc, 0x55, 0x01, 0xd8, 0x45, 0x00, 0x86, 0x9c, 0xce, 0x1d, 0x49, 0xfc, 0xe7, 0xe4, 0xfb, 0x3f, 0xa6, 0x4b, - 0xfb, 0x58, 0x16, 0x77, 0xa5, 0xa8, 0xaa, 0xa3, 0xd2, 0x76, 0xb6, 0x5c, 0x0f, 0x4c, 0xa2, 0xfd, 0xbe, 0x64, 0x12, - 0x4d, 0x31, 0x14, 0x05, 0x6e, 0x8d, 0xbd, 0x69, 0xca, 0x15, 0x63, 0xf5, 0xc8, 0x58, 0x3f, 0x5f, 0xee, 0xde, 0xc6, - 0x5e, 0xea, 0x07, 0x29, 0x08, 0xc2, 0x1a, 0x4a, 0x29, 0x45, 0x3e, 0x38, 0x9f, 0x61, 0x2a, 0x51, 0xeb, 0x52, 0xaa, - 0xfc, 0x61, 0xa4, 0xf9, 0x30, 0x05, 0xbd, 0xec, 0xdf, 0x2b, 0x98, 0xff, 0xba, 0x3d, 0x58, 0x9f, 0xd6, 0x65, 0x1a, - 0x55, 0x44, 0x95, 0x17, 0xa6, 0xda, 0x04, 0x22, 0xf8, 0xb5, 0xb0, 0xf8, 0x7e, 0x7d, 0x72, 0x24, 0x68, 0xcc, 0x64, - 0xf9, 0x74, 0xe4, 0x7e, 0x61, 0x5f, 0xb9, 0x8e, 0xe7, 0x7f, 0x6e, 0xe6, 0xff, 0x00, 0x9d, 0x21, 0x8b, 0x6b, 0x6e, - 0x19, 0x2c, 0x70, 0xf6, 0x4b, 0x57, 0x0f, 0xf8, 0x9b, 0x79, 0xe2, 0x1a, 0xe8, 0x98, 0xaf, 0xd1, 0x55, 0x31, 0x9d, - 0x15, 0x03, 0xe0, 0xb2, 0xf5, 0x1b, 0x6b, 0x4e, 0xbc, 0xb1, 0x28, 0xaf, 0xe4, 0x82, 0xd0, 0xd7, 0x55, 0x98, 0x8d, - 0xab, 0x62, 0x53, 0x89, 0x62, 0x53, 0xf7, 0x48, 0x2d, 0x9b, 0x4f, 0x6b, 0x5b, 0x21, 0xfb, 0x57, 0xd1, 0x62, 0xf0, - 0x32, 0xac, 0x93, 0x51, 0x96, 0xae, 0xa7, 0xc0, 0xaf, 0x17, 0xc0, 0x59, 0x64, 0x5e, 0x79, 0xef, 0xec, 0x01, 0x5b, - 0x34, 0x9e, 0x02, 0x39, 0x2a, 0xfd, 0x91, 0x37, 0x46, 0xa7, 0x27, 0xfa, 0xfd, 0x7c, 0x4a, 0x31, 0x5f, 0x7f, 0x05, - 0x78, 0xae, 0x5a, 0x2e, 0x40, 0x5f, 0x86, 0x3a, 0xa8, 0x44, 0xa9, 0x15, 0xc3, 0x88, 0x85, 0xbf, 0x0a, 0x24, 0x72, - 0xa6, 0xc0, 0x66, 0x15, 0x25, 0xa1, 0x12, 0x95, 0x92, 0xad, 0x09, 0x6a, 0xe9, 0x7d, 0x51, 0xd6, 0xfb, 0x0a, 0x1c, - 0x25, 0x23, 0x6d, 0x96, 0x93, 0x66, 0x5c, 0x81, 0x32, 0x17, 0xfd, 0x60, 0xff, 0xaa, 0x3c, 0xbf, 0x91, 0xf9, 0x2c, - 0xf7, 0x1d, 0x9d, 0xd3, 0x76, 0x5c, 0xa0, 0xcc, 0x2d, 0xa7, 0xad, 0x96, 0x3c, 0x26, 0xef, 0x59, 0xb0, 0xed, 0xbf, - 0x48, 0x90, 0x62, 0x11, 0xe6, 0x13, 0xaa, 0x6c, 0xfe, 0x0e, 0xa1, 0xb6, 0x38, 0xb0, 0xc7, 0x2e, 0x4c, 0xc4, 0x7f, - 0x0b, 0x96, 0xc4, 0x30, 0x2b, 0x45, 0x18, 0xef, 0xc0, 0xfb, 0x67, 0x53, 0x89, 0xd1, 0x19, 0x3a, 0xb9, 0x9f, 0x3d, - 0xa4, 0x75, 0x72, 0xf6, 0xf6, 0xf5, 0xd9, 0x0f, 0xbd, 0x41, 0x31, 0x4a, 0xe3, 0x41, 0xef, 0x87, 0xb3, 0xd5, 0x06, - 0xd0, 0x32, 0xc5, 0x59, 0x4c, 0xa6, 0x34, 0x11, 0x9f, 0x91, 0x61, 0xf0, 0xac, 0x4e, 0xc4, 0x19, 0x4d, 0x4c, 0xf7, - 0x35, 0x4a, 0x93, 0x6f, 0x47, 0x61, 0x0e, 0x2f, 0x97, 0x62, 0x53, 0x89, 0x18, 0xec, 0x94, 0x6a, 0x9e, 0xe5, 0xed, - 0xb3, 0x38, 0x1f, 0x75, 0xc8, 0x2a, 0x1d, 0xf8, 0xdb, 0x13, 0x69, 0x57, 0xa5, 0x2b, 0x20, 0xf4, 0x00, 0x38, 0xe9, - 0xca, 0x9f, 0x87, 0x83, 0x48, 0x20, 0xd4, 0x82, 0x39, 0x99, 0x46, 0x74, 0x43, 0x7a, 0x85, 0x7d, 0x06, 0x66, 0x21, - 0xa5, 0x79, 0x70, 0x73, 0xb5, 0x18, 0xba, 0x2b, 0x56, 0x8e, 0xc2, 0x6a, 0x2d, 0xa2, 0x1a, 0x59, 0x8f, 0xc1, 0x79, - 0x07, 0x22, 0x00, 0x14, 0x39, 0x78, 0xc6, 0xa3, 0x7e, 0x3f, 0x52, 0x41, 0x39, 0x09, 0xfd, 0xa2, 0xd0, 0x2f, 0x0d, - 0x47, 0x19, 0xf3, 0xaf, 0xa1, 0xe6, 0x08, 0xa8, 0xff, 0x0f, 0x6f, 0xdf, 0xc2, 0xdd, 0xb6, 0x8d, 0xad, 0xfb, 0x57, - 0x2c, 0xde, 0x54, 0x25, 0x22, 0x48, 0x96, 0xdc, 0xa4, 0x33, 0xa5, 0x0c, 0xeb, 0xb8, 0x79, 0xb4, 0xe9, 0x34, 0x8f, - 0xc6, 0x69, 0xa7, 0x53, 0x5d, 0x1d, 0x97, 0x26, 0x61, 0x8b, 0x0d, 0x0d, 0xa8, 0x24, 0xe5, 0x47, 0x25, 0xfe, 0xf7, - 0xbb, 0xf6, 0xc6, 0x93, 0x14, 0xe5, 0x64, 0xe6, 0x9e, 0x7b, 0x57, 0xd6, 0x8a, 0x45, 0x10, 0xc4, 0x1b, 0x1b, 0x1b, - 0xfb, 0xf1, 0xed, 0x3b, 0x16, 0x9b, 0x70, 0x01, 0xb8, 0x9d, 0x13, 0xea, 0x8c, 0xf7, 0x58, 0x13, 0x98, 0xd3, 0x84, - 0xa0, 0x30, 0xd7, 0xc1, 0xc2, 0x00, 0xd0, 0xbb, 0xf6, 0x68, 0xcb, 0x49, 0x97, 0x60, 0xf1, 0xdc, 0xc0, 0xe2, 0xd5, - 0xc5, 0xa2, 0xba, 0xe6, 0x5a, 0x6e, 0x61, 0x53, 0xca, 0x2a, 0x86, 0x00, 0x02, 0xcd, 0x98, 0x61, 0x77, 0xdc, 0xe5, - 0x48, 0xd6, 0x45, 0xc1, 0xc5, 0x4e, 0x60, 0xe8, 0x66, 0x5c, 0x32, 0x73, 0x70, 0x35, 0xc3, 0x3a, 0xa9, 0x28, 0xc0, - 0xae, 0x2e, 0x40, 0xf6, 0xc2, 0x50, 0xd7, 0xcd, 0x6c, 0xb9, 0x0e, 0x7c, 0x5d, 0xba, 0xf0, 0x25, 0x05, 0x2f, 0x57, - 0x52, 0x94, 0xd9, 0x0d, 0xff, 0xd1, 0xbe, 0x6c, 0xc6, 0x92, 0x42, 0x3b, 0xd2, 0xd7, 0xed, 0xee, 0x68, 0x31, 0x8e, - 0x2d, 0xc7, 0xb7, 0x54, 0xba, 0xd7, 0xa3, 0xea, 0x85, 0xd0, 0xd6, 0xb9, 0x96, 0x59, 0x9a, 0x72, 0xf1, 0x4a, 0xa4, - 0x59, 0xe2, 0x25, 0xc7, 0x3a, 0x56, 0xb5, 0x0b, 0x82, 0xe5, 0xc2, 0x24, 0x3f, 0xcf, 0x4a, 0x8c, 0x1d, 0xdc, 0x68, - 0x54, 0x2b, 0xea, 0x94, 0x89, 0x81, 0x21, 0xdf, 0x63, 0xf0, 0x6d, 0x56, 0x26, 0xc0, 0xf0, 0x63, 0xa2, 0xbe, 0xa4, - 0xa7, 0x10, 0xf0, 0x41, 0x85, 0xe6, 0x7e, 0xce, 0x11, 0xfc, 0xda, 0xaa, 0xcc, 0x81, 0xc9, 0xd6, 0x2a, 0x48, 0xc4, - 0xbd, 0xcb, 0xe6, 0x7a, 0x11, 0x2d, 0xd4, 0x5d, 0xa8, 0x17, 0x6f, 0xb7, 0xbd, 0x44, 0xd1, 0x01, 0x27, 0x3f, 0x0d, - 0x5e, 0xc6, 0x59, 0xce, 0xd3, 0x83, 0x4a, 0x1e, 0xa8, 0x0d, 0x75, 0xa0, 0x9c, 0x39, 0x60, 0xe7, 0x7d, 0x59, 0x1d, - 0xe8, 0x35, 0x7d, 0xa0, 0xdb, 0x79, 0x00, 0x17, 0x0c, 0xdc, 0xb9, 0x57, 0xd9, 0x0d, 0x17, 0x07, 0xa0, 0x0c, 0xb4, - 0xc6, 0x03, 0x75, 0x59, 0x8d, 0xd4, 0xc4, 0xe8, 0x18, 0xd6, 0x89, 0x3e, 0x98, 0x03, 0xfa, 0x1d, 0x84, 0xb5, 0x6f, - 0xbd, 0x5d, 0xe9, 0x83, 0x36, 0xa0, 0x3f, 0x2e, 0x4d, 0x1f, 0x74, 0xe0, 0x78, 0x15, 0x1d, 0xb8, 0x31, 0xa4, 0x1a, - 0xb4, 0xd5, 0xc8, 0x2a, 0x50, 0xbc, 0xe1, 0x2d, 0xde, 0x9d, 0x6b, 0xc9, 0xc6, 0x7b, 0x89, 0x18, 0x5f, 0x99, 0xa8, - 0xe2, 0x4c, 0x9c, 0x7a, 0xa9, 0xbc, 0xd6, 0x4e, 0x32, 0xc2, 0xf8, 0x96, 0x95, 0xd4, 0xdf, 0x21, 0xe6, 0x16, 0x69, - 0x0e, 0x83, 0x17, 0x61, 0x45, 0x66, 0xbc, 0xdf, 0x97, 0x33, 0x19, 0x95, 0x33, 0x71, 0x58, 0x46, 0x0a, 0xac, 0x6d, - 0x9f, 0x08, 0xe8, 0x41, 0x09, 0x90, 0x2f, 0x00, 0xaa, 0x1e, 0x12, 0xfe, 0x3c, 0x24, 0xf5, 0xe9, 0x14, 0xfa, 0x14, - 0xda, 0x7a, 0xc5, 0x15, 0xc4, 0xab, 0xba, 0x31, 0xb2, 0x8d, 0x0a, 0x5a, 0x3c, 0x96, 0x67, 0xb5, 0x61, 0x6c, 0x4e, - 0xad, 0x7f, 0xbd, 0xd9, 0x60, 0xca, 0xe6, 0x42, 0xad, 0xc2, 0x90, 0x44, 0xb7, 0xa5, 0x17, 0x49, 0xc4, 0xc2, 0x66, - 0xb5, 0x36, 0xbf, 0x09, 0x03, 0x92, 0x89, 0x14, 0xf7, 0xb3, 0x25, 0xce, 0x5d, 0x3c, 0x9e, 0x57, 0x7d, 0xad, 0xa5, - 0x45, 0xa6, 0xcd, 0xf7, 0xfa, 0x32, 0xa4, 0xa9, 0xa8, 0x21, 0x8d, 0x3a, 0x33, 0xe8, 0xbe, 0x5d, 0xde, 0xb2, 0x1a, - 0x61, 0x02, 0xbc, 0xd2, 0x19, 0x74, 0xa3, 0xf1, 0x40, 0x2c, 0xab, 0x51, 0xb1, 0x16, 0x02, 0x81, 0x87, 0x21, 0xc7, - 0xcc, 0x12, 0x92, 0xec, 0x2f, 0xfe, 0xad, 0x8a, 0xb3, 0x50, 0xc4, 0xb7, 0x06, 0xd9, 0xbb, 0xb2, 0xae, 0xdd, 0x75, - 0xe4, 0xe7, 0xc4, 0xc2, 0x6a, 0xff, 0xa1, 0x79, 0xd4, 0x1a, 0x67, 0x01, 0x6d, 0x4d, 0xab, 0x1b, 0x0e, 0xf7, 0xa8, - 0x8e, 0x45, 0x69, 0xb0, 0x89, 0x3d, 0xb2, 0x5c, 0xb4, 0x8e, 0x19, 0x34, 0xa0, 0xbf, 0xcb, 0xae, 0xd7, 0xd7, 0x08, - 0xe0, 0x56, 0x22, 0xeb, 0x24, 0x95, 0x7f, 0x49, 0x7b, 0xd4, 0xb5, 0x3d, 0x95, 0xff, 0x6d, 0x9b, 0x2a, 0x87, 0x16, - 0x53, 0x1e, 0xbb, 0x39, 0x0b, 0x54, 0x47, 0x82, 0x28, 0x50, 0x5b, 0x2f, 0x98, 0x7a, 0xa7, 0x4c, 0xd1, 0x01, 0x02, - 0x5d, 0x98, 0x33, 0xec, 0x33, 0x8e, 0x18, 0xb3, 0x54, 0x62, 0x30, 0xf5, 0x31, 0x46, 0x35, 0xad, 0x15, 0xa0, 0xeb, - 0xa7, 0x1b, 0xf8, 0x13, 0x15, 0x35, 0x1a, 0x6a, 0x8d, 0xa4, 0x50, 0x34, 0x51, 0xa1, 0xc8, 0xd2, 0x42, 0xc7, 0x55, - 0xe8, 0x24, 0x12, 0x96, 0x80, 0x86, 0x09, 0xd1, 0x49, 0x05, 0xde, 0x1a, 0xc0, 0x99, 0x8f, 0x8b, 0x72, 0x5d, 0x68, - 0x83, 0xb9, 0xef, 0xe3, 0x1b, 0xfe, 0xea, 0xb9, 0x33, 0xaa, 0x6f, 0x59, 0xeb, 0x7b, 0x5a, 0x90, 0xef, 0x43, 0x4e, - 0xd1, 0x81, 0x89, 0x9d, 0x6c, 0xd0, 0x18, 0xa3, 0xac, 0x75, 0xd4, 0x8b, 0xb7, 0x3a, 0x14, 0x8b, 0x36, 0xc1, 0x7b, - 0xc0, 0x53, 0x44, 0x1b, 0x1e, 0x0a, 0x63, 0x55, 0x8d, 0x4f, 0x25, 0x6b, 0xe9, 0xc1, 0x0a, 0x9e, 0xae, 0x13, 0x1e, - 0x82, 0x1e, 0x89, 0xb0, 0x93, 0xb0, 0x98, 0xc7, 0x0b, 0x38, 0x4e, 0x0a, 0x02, 0x6a, 0x07, 0x7d, 0x05, 0x9f, 0x2f, - 0xd0, 0xfd, 0x55, 0xa2, 0x07, 0x18, 0x5a, 0x10, 0x37, 0xa3, 0xa0, 0x8e, 0xae, 0xe3, 0x55, 0x43, 0x45, 0xc2, 0xe7, - 0x05, 0xd8, 0x0e, 0x29, 0xf5, 0x14, 0x68, 0xa1, 0x12, 0xa5, 0x1f, 0x06, 0xbe, 0x43, 0x63, 0x60, 0x6b, 0x1d, 0xa0, - 0xa1, 0x9f, 0x31, 0x4d, 0xad, 0x33, 0x54, 0x3e, 0xf3, 0xee, 0x99, 0xd1, 0x72, 0x66, 0xd1, 0x18, 0xf4, 0x6d, 0x34, - 0x45, 0x71, 0x4e, 0x3e, 0x0b, 0x8a, 0x38, 0xcd, 0xe2, 0x1c, 0xfc, 0x36, 0xe3, 0x02, 0x33, 0x26, 0x71, 0xc5, 0xaf, - 0x64, 0x01, 0xda, 0xee, 0x5c, 0xa5, 0xd6, 0x35, 0x08, 0xc8, 0xbe, 0x07, 0xab, 0x97, 0x86, 0x8e, 0xca, 0x79, 0x77, - 0x69, 0x53, 0x88, 0x58, 0x84, 0x60, 0xd3, 0x4c, 0x97, 0xec, 0x34, 0x54, 0xda, 0x1c, 0x08, 0x75, 0x84, 0xc6, 0xfd, - 0xd3, 0x30, 0xb6, 0x9a, 0x62, 0x6b, 0xf7, 0xb6, 0xdd, 0xfe, 0x5a, 0x7a, 0xe9, 0x34, 0x27, 0x3d, 0xc6, 0x7e, 0x2d, - 0xc3, 0x62, 0x64, 0x3b, 0x42, 0x60, 0xc9, 0x79, 0x9f, 0xfa, 0xaf, 0x68, 0x39, 0x4f, 0xc0, 0x74, 0x44, 0x07, 0xcb, - 0x05, 0xca, 0x8e, 0x01, 0xdd, 0x81, 0xc1, 0x15, 0xfd, 0x3e, 0x58, 0x65, 0x98, 0x0b, 0xc9, 0x92, 0xa4, 0x0c, 0x9e, - 0xa7, 0x1e, 0x1c, 0xfc, 0x9a, 0x29, 0x73, 0x17, 0x65, 0x7d, 0xba, 0x24, 0xd3, 0x14, 0x19, 0x88, 0x75, 0xb8, 0xc9, - 0xd2, 0x28, 0x51, 0x22, 0xb2, 0x25, 0xfa, 0x47, 0x1a, 0x8a, 0xa5, 0x23, 0xf7, 0x22, 0x55, 0x22, 0x54, 0xcc, 0x53, - 0x3c, 0xa9, 0xd3, 0x3a, 0x1d, 0x61, 0xe8, 0x49, 0x50, 0xca, 0xd5, 0x30, 0x50, 0x25, 0xd5, 0x4b, 0x61, 0x53, 0x6c, - 0xb7, 0xfa, 0x62, 0x25, 0xe6, 0xf1, 0x02, 0x5f, 0x0a, 0x1c, 0xc5, 0x7f, 0x70, 0x2f, 0xec, 0x94, 0xda, 0x1e, 0xd4, - 0x8e, 0x28, 0xa1, 0xff, 0xe0, 0x70, 0x91, 0xf8, 0x56, 0xea, 0x10, 0x80, 0x68, 0x11, 0x72, 0xae, 0x0e, 0x52, 0xc3, - 0x0d, 0xed, 0x08, 0xff, 0x0d, 0xd7, 0x67, 0x9c, 0xd1, 0x9b, 0x6a, 0x46, 0x0d, 0xe5, 0xeb, 0x41, 0x1b, 0xa3, 0x3e, - 0x1b, 0x38, 0xac, 0x10, 0x85, 0x36, 0xec, 0xa4, 0x54, 0xa2, 0x85, 0xa1, 0x54, 0x7f, 0x09, 0x15, 0x27, 0xdc, 0x99, - 0x51, 0x96, 0x8c, 0x4f, 0xcb, 0x63, 0x31, 0x1d, 0x0c, 0x4a, 0x52, 0x19, 0x0b, 0x3d, 0xb8, 0x1e, 0x78, 0xfe, 0x3d, - 0x70, 0x0b, 0xf1, 0x90, 0x91, 0xc5, 0x90, 0x1b, 0x9c, 0xfc, 0x16, 0x27, 0x57, 0x8d, 0x4a, 0x15, 0xc7, 0x9a, 0xa8, - 0x16, 0xfc, 0xa3, 0x0c, 0x03, 0xf4, 0x49, 0x0a, 0xc0, 0x64, 0x30, 0xe5, 0x77, 0x20, 0x51, 0x3a, 0x57, 0x37, 0xa4, - 0x9f, 0x45, 0xc1, 0x2f, 0x79, 0xc1, 0x45, 0xe2, 0x0a, 0xb0, 0xbc, 0x83, 0xed, 0x75, 0x54, 0x51, 0x85, 0xc9, 0x6b, - 0x7a, 0x1c, 0x71, 0xe3, 0xfd, 0x67, 0x7a, 0x6c, 0x31, 0x5b, 0xad, 0x63, 0x83, 0xcf, 0x1c, 0x83, 0x0b, 0xba, 0x96, - 0xd8, 0x1a, 0xaa, 0x61, 0x45, 0x60, 0xe0, 0x02, 0x0e, 0xc2, 0x12, 0xc5, 0xb1, 0x95, 0xbc, 0x22, 0x0d, 0x29, 0xed, - 0x03, 0xc3, 0xd1, 0x26, 0x39, 0xbe, 0xcd, 0xb2, 0x9b, 0xc0, 0xf9, 0xa2, 0x73, 0xd2, 0x4c, 0x58, 0x1b, 0xbc, 0xcf, - 0x9b, 0xf3, 0x6b, 0xff, 0x90, 0x50, 0x15, 0xf7, 0x86, 0xb7, 0xe3, 0xde, 0x38, 0xe1, 0xd7, 0x5c, 0x2c, 0x74, 0xa8, - 0x16, 0x73, 0xc9, 0xf2, 0x5b, 0xeb, 0xdd, 0x92, 0xa4, 0x56, 0x40, 0xfb, 0x2c, 0x0b, 0x6a, 0x22, 0x00, 0xe4, 0x0f, - 0x7f, 0x81, 0xd0, 0x19, 0xfe, 0xf6, 0x18, 0x5c, 0x91, 0xc2, 0xbd, 0x43, 0x20, 0xac, 0xe9, 0xe6, 0x4e, 0x6d, 0xc0, - 0x17, 0xe3, 0xfe, 0x8c, 0xa9, 0xa7, 0xdf, 0x66, 0x72, 0x57, 0xd7, 0xed, 0x91, 0x65, 0xf8, 0x08, 0x57, 0x0a, 0xe0, - 0x66, 0xc2, 0x5f, 0x0c, 0x33, 0xa9, 0x3e, 0x01, 0x4c, 0x35, 0x1d, 0xdc, 0x27, 0x08, 0x0c, 0xa0, 0x12, 0x2d, 0x46, - 0x37, 0xca, 0x11, 0xcd, 0xc0, 0xad, 0xe9, 0x56, 0x18, 0x6f, 0x3d, 0x68, 0xa1, 0x67, 0x1a, 0x4e, 0xfc, 0x07, 0xcd, - 0xbc, 0x2a, 0x20, 0x80, 0x56, 0x46, 0xf0, 0xd6, 0xfa, 0x68, 0x8e, 0x10, 0x9f, 0xb0, 0x24, 0x9a, 0xb0, 0x78, 0xa6, - 0xf8, 0x31, 0xa1, 0x9b, 0xa6, 0xb6, 0xe9, 0x03, 0xd2, 0x5f, 0x5c, 0xb3, 0x7e, 0xca, 0xb2, 0xf6, 0xed, 0xa1, 0xe2, - 0xc5, 0xb4, 0x19, 0x07, 0x31, 0x51, 0xc5, 0xf8, 0x5f, 0x70, 0x5f, 0x6a, 0x05, 0x88, 0xcc, 0x5d, 0xf5, 0xf4, 0xfb, - 0xcd, 0x6c, 0x39, 0x10, 0x2a, 0xbf, 0x33, 0x48, 0xfa, 0x74, 0x68, 0x3f, 0xb0, 0x49, 0xd4, 0x16, 0x7a, 0xfe, 0xb8, - 0xd4, 0x4d, 0xbc, 0xbc, 0x36, 0x35, 0xa2, 0x15, 0x32, 0x54, 0xb6, 0x0e, 0x58, 0xdf, 0xdf, 0x87, 0xbb, 0x8b, 0x9a, - 0x86, 0x5a, 0xf7, 0xdc, 0xb5, 0x28, 0x38, 0xf1, 0x07, 0x18, 0x8b, 0x0b, 0x49, 0xad, 0xe3, 0x31, 0xe9, 0x47, 0x0b, - 0x99, 0xdc, 0xa8, 0xab, 0x93, 0x33, 0xc5, 0x3c, 0x81, 0x0b, 0x70, 0xd9, 0xf6, 0x57, 0x54, 0xea, 0x52, 0x6e, 0xaf, - 0x28, 0x4d, 0x0f, 0x69, 0x7b, 0x15, 0xe7, 0x6d, 0xc1, 0x05, 0xff, 0x4c, 0xc1, 0x85, 0x75, 0xb0, 0xee, 0xb8, 0x53, - 0xf6, 0x84, 0x27, 0xca, 0xb4, 0x36, 0xb8, 0xeb, 0x06, 0x63, 0x62, 0xec, 0x77, 0x97, 0x3c, 0xf9, 0x88, 0x2c, 0xf8, - 0xb7, 0x99, 0x00, 0xcf, 0x64, 0xf7, 0x4a, 0xe5, 0xff, 0xde, 0xbf, 0xda, 0xda, 0x77, 0xd6, 0xfc, 0xd3, 0xb3, 0x1e, - 0xee, 0x1c, 0x26, 0x3f, 0x56, 0x67, 0x40, 0x37, 0xd7, 0x32, 0xe5, 0x80, 0x0c, 0x60, 0x2d, 0x92, 0xd1, 0x80, 0x0f, - 0xad, 0x2c, 0xdb, 0xbe, 0xd3, 0xea, 0x82, 0xb0, 0x97, 0xc0, 0x4d, 0xf7, 0xd7, 0x66, 0x66, 0x4e, 0xd7, 0x4a, 0x34, - 0x5d, 0x1a, 0x5b, 0xcb, 0x52, 0x85, 0xf1, 0xbe, 0xf7, 0x24, 0x9b, 0xe6, 0xc7, 0xcb, 0x69, 0x6e, 0xa9, 0xdb, 0xc6, - 0x2d, 0x1b, 0x40, 0x43, 0xec, 0x5a, 0x5b, 0x39, 0xe0, 0xe5, 0xf6, 0x20, 0x9a, 0xaf, 0x15, 0xa1, 0xa7, 0x4a, 0x84, - 0x3e, 0x4d, 0x9b, 0x7d, 0xb0, 0xab, 0x6a, 0xdd, 0x08, 0x79, 0x34, 0x48, 0x35, 0x23, 0xff, 0xf6, 0x86, 0x17, 0x97, - 0xb9, 0xbc, 0x05, 0x38, 0x64, 0x52, 0x1b, 0x85, 0xe5, 0x35, 0xb8, 0xf3, 0xa3, 0xe3, 0x38, 0x13, 0xa3, 0x1c, 0xe3, - 0xb6, 0x22, 0x52, 0xb2, 0x4e, 0x9c, 0x01, 0x1e, 0xb2, 0x3f, 0x69, 0x3a, 0xb4, 0x6b, 0x81, 0xe1, 0x7d, 0x81, 0xbb, - 0xca, 0xd9, 0xc9, 0x26, 0xb7, 0x8b, 0xbe, 0x39, 0xc3, 0xba, 0x23, 0xa5, 0xb5, 0xb1, 0xe8, 0xba, 0x83, 0xb5, 0x66, - 0xd0, 0x16, 0xa1, 0xe4, 0x43, 0xee, 0xa4, 0xfd, 0x2b, 0xa0, 0xc1, 0x79, 0x96, 0xde, 0x59, 0xab, 0xfc, 0x8d, 0x16, - 0xe2, 0x44, 0x31, 0x75, 0xe2, 0x9b, 0x28, 0xd1, 0xe7, 0x67, 0x62, 0xdc, 0x40, 0x20, 0xf5, 0x7b, 0x8c, 0xaf, 0x51, - 0x84, 0x09, 0x5c, 0x07, 0xa2, 0xd8, 0x9e, 0xa8, 0x8d, 0xe5, 0x08, 0x3a, 0x21, 0xc4, 0x3b, 0x28, 0xc3, 0x58, 0x5d, - 0x1c, 0x68, 0x83, 0xa5, 0xaf, 0x5b, 0xeb, 0xdc, 0x10, 0x0a, 0xe3, 0x04, 0xa6, 0x18, 0x24, 0x75, 0xd6, 0x59, 0x26, - 0xa8, 0xb2, 0x63, 0xd2, 0x79, 0x1f, 0xa0, 0xbb, 0x6b, 0xd1, 0x14, 0x5f, 0x77, 0xee, 0xa0, 0x7d, 0x5c, 0xbf, 0xd6, - 0x22, 0x37, 0xf8, 0xf3, 0x96, 0x08, 0x8b, 0xc0, 0x59, 0x6b, 0xf2, 0x55, 0x23, 0x1c, 0x98, 0x92, 0x4c, 0xc3, 0x5e, - 0xa2, 0x6c, 0xba, 0xb7, 0xdb, 0x5e, 0x6f, 0xaf, 0x88, 0xab, 0xc7, 0x58, 0xe5, 0xdd, 0xcc, 0xed, 0x9d, 0x6a, 0x2d, - 0x76, 0x6f, 0xda, 0x7e, 0x8a, 0x1d, 0xb5, 0xd6, 0x6e, 0x37, 0x9c, 0x50, 0x43, 0xbe, 0x15, 0x55, 0x5a, 0x9d, 0x6e, - 0x0c, 0xda, 0x21, 0xb4, 0xb5, 0xc8, 0xe0, 0x46, 0xf9, 0xdc, 0x09, 0x9d, 0x54, 0xc8, 0x55, 0xa7, 0x2e, 0xd8, 0x5c, - 0xf3, 0x6a, 0x29, 0xd3, 0x48, 0x50, 0xb4, 0x39, 0x8f, 0x4a, 0x9a, 0xc8, 0xb5, 0xa8, 0x22, 0x59, 0xa3, 0x5e, 0xd4, - 0x6a, 0x0c, 0x10, 0x90, 0xe9, 0xbc, 0xe9, 0x41, 0x15, 0xcc, 0x86, 0x32, 0x92, 0xd3, 0xf7, 0x60, 0x69, 0x8f, 0x1c, - 0x6b, 0xbd, 0xaf, 0xce, 0x16, 0xdf, 0xea, 0x09, 0xc1, 0x14, 0x66, 0x0f, 0x44, 0x84, 0x6b, 0x1a, 0x43, 0x4e, 0xbb, - 0xc4, 0x65, 0x4d, 0xb7, 0x84, 0x3d, 0xdc, 0xae, 0x64, 0x27, 0x6e, 0x9e, 0x34, 0x37, 0x57, 0xb0, 0x93, 0x62, 0x3e, - 0x06, 0xed, 0x97, 0x54, 0xd7, 0x2e, 0xcd, 0xad, 0xc7, 0x83, 0x80, 0x06, 0x83, 0xc2, 0xf0, 0xaf, 0x13, 0xe3, 0xe1, - 0x49, 0x03, 0x82, 0xa4, 0x5c, 0x84, 0x63, 0xdf, 0x88, 0x7e, 0x32, 0x95, 0xc7, 0x1c, 0x2d, 0xde, 0xa1, 0xd5, 0x09, - 0x04, 0xf4, 0x12, 0xa1, 0x24, 0x46, 0x55, 0x68, 0x44, 0x50, 0x9e, 0x96, 0xbf, 0x54, 0xd5, 0x21, 0xa0, 0x90, 0xf6, - 0x15, 0x85, 0xb2, 0x4d, 0x62, 0x68, 0x86, 0x5f, 0xce, 0x27, 0x0b, 0x3d, 0x03, 0x03, 0x39, 0x3f, 0x5a, 0xe8, 0x59, - 0x18, 0xc8, 0xf9, 0x57, 0x8b, 0xda, 0xad, 0x03, 0x4d, 0x40, 0x3c, 0x17, 0x8e, 0x4e, 0x4a, 0xab, 0xb2, 0x05, 0x74, - 0xf3, 0x10, 0x41, 0xff, 0x87, 0x3d, 0x04, 0x9d, 0x5c, 0x68, 0x47, 0x6e, 0x40, 0xdb, 0x21, 0x09, 0xec, 0x15, 0x93, - 0x0a, 0x13, 0x8b, 0xe8, 0x98, 0x8d, 0xc1, 0x10, 0x5b, 0x7d, 0x70, 0xcc, 0xc6, 0x53, 0x9f, 0x04, 0x01, 0xa3, 0xfb, - 0xbd, 0x01, 0x07, 0xbf, 0xc3, 0xab, 0xf4, 0xc9, 0x46, 0xa0, 0x9b, 0xbe, 0xbb, 0x1b, 0x7a, 0x17, 0x57, 0x70, 0xaa, - 0x76, 0xf7, 0x24, 0x74, 0x93, 0x69, 0xc7, 0xea, 0x35, 0xc4, 0x0d, 0xf9, 0x95, 0xd1, 0x68, 0x64, 0x53, 0x42, 0x42, - 0x0c, 0xe7, 0xd0, 0xcc, 0x69, 0xb9, 0x7c, 0x75, 0xeb, 0xd9, 0x80, 0x0c, 0x33, 0xbd, 0x63, 0xb2, 0x7e, 0x80, 0xb2, - 0xea, 0x31, 0xb4, 0x43, 0xef, 0x91, 0xe3, 0x87, 0x07, 0xdf, 0x64, 0xfc, 0xc4, 0xe1, 0xda, 0xc3, 0xb9, 0xf0, 0x5d, - 0xd6, 0x8c, 0xcc, 0xa1, 0xf3, 0xec, 0xe3, 0x78, 0x0f, 0xe3, 0xe4, 0xd3, 0x2c, 0x94, 0x37, 0x5e, 0xd3, 0xff, 0xa8, - 0xf4, 0x66, 0x87, 0x43, 0x4e, 0x57, 0xb0, 0xe2, 0x66, 0x55, 0x68, 0xf8, 0x59, 0xe4, 0x8d, 0x23, 0x5e, 0x93, 0xa8, - 0xea, 0x3e, 0xef, 0x6d, 0xc4, 0xd2, 0x8e, 0x71, 0x00, 0x70, 0xa2, 0x56, 0x0d, 0xbb, 0xd2, 0xb8, 0x56, 0x07, 0x31, - 0x22, 0x25, 0x6c, 0x95, 0x38, 0x12, 0xca, 0xdf, 0x00, 0x84, 0xc5, 0x50, 0x1c, 0x6f, 0x0d, 0xeb, 0x03, 0xec, 0x87, - 0x2e, 0xd0, 0x34, 0xa7, 0x54, 0x33, 0x00, 0x48, 0x02, 0xfe, 0xe8, 0xe9, 0xa6, 0xa1, 0xb2, 0xcd, 0xf3, 0xd0, 0xb2, - 0xba, 0x82, 0x07, 0x7a, 0xea, 0x4a, 0x06, 0xc6, 0x55, 0x1d, 0x7b, 0x9b, 0xfd, 0xed, 0xd1, 0x2a, 0xf2, 0x9d, 0x4d, - 0x6a, 0x9a, 0x05, 0x90, 0xa2, 0x71, 0xe9, 0x0b, 0x3d, 0x9d, 0x00, 0xad, 0xd7, 0x96, 0x8a, 0xf6, 0xfb, 0x28, 0x46, - 0x8d, 0x0b, 0x05, 0x56, 0x61, 0x82, 0xc2, 0x21, 0xc2, 0x08, 0xa1, 0xdf, 0x95, 0xe1, 0xc6, 0x17, 0x64, 0x10, 0x0d, - 0xd7, 0xa2, 0x43, 0x11, 0x39, 0x5e, 0xb4, 0x2d, 0x55, 0x35, 0x27, 0x4d, 0x5b, 0x02, 0x6f, 0x22, 0x03, 0xb6, 0xf3, - 0x4f, 0x1b, 0x22, 0x57, 0xe1, 0x02, 0x86, 0xef, 0x88, 0x6b, 0x41, 0x74, 0x53, 0x9b, 0x7a, 0x1b, 0x76, 0x88, 0x8e, - 0xa6, 0x78, 0x74, 0xc8, 0x3d, 0x77, 0xcf, 0x6d, 0x11, 0xdf, 0x7e, 0x82, 0xdc, 0x35, 0x9d, 0xbd, 0x14, 0x61, 0x50, - 0xb7, 0x6c, 0xa0, 0x58, 0xc7, 0x4e, 0x50, 0x80, 0x01, 0x5c, 0xfe, 0x02, 0x3a, 0x36, 0x18, 0x54, 0x04, 0x9f, 0x14, - 0xb6, 0x4d, 0x83, 0xfc, 0x11, 0xef, 0x86, 0x0e, 0xaf, 0x2d, 0x79, 0x20, 0x5e, 0x61, 0x9f, 0x28, 0x61, 0xff, 0x82, - 0x82, 0xee, 0x28, 0x2f, 0x57, 0x85, 0xab, 0xd2, 0x00, 0x54, 0xd9, 0xf1, 0x5c, 0x6b, 0x4a, 0x5a, 0xc0, 0x4a, 0x49, - 0xdd, 0xf9, 0x4d, 0x70, 0xdc, 0x92, 0xa9, 0xf0, 0xad, 0xba, 0x51, 0xe5, 0xb1, 0x44, 0x91, 0x8e, 0x3d, 0xdb, 0x39, - 0x58, 0x03, 0xe0, 0x29, 0x6c, 0x2f, 0xce, 0x04, 0x7c, 0xee, 0xb4, 0xcb, 0x96, 0xb9, 0x04, 0x8a, 0xfa, 0x61, 0x9c, - 0x97, 0x1d, 0x5f, 0xee, 0x8e, 0xb6, 0xf7, 0xd0, 0x1b, 0xb1, 0x31, 0x5e, 0x9f, 0x47, 0x4d, 0x3f, 0x7b, 0x86, 0x2b, - 0x4b, 0x41, 0x1e, 0x68, 0xaa, 0x47, 0x18, 0x1d, 0x02, 0xd3, 0x94, 0x9f, 0xb0, 0xf1, 0x74, 0x38, 0x34, 0x64, 0xd0, - 0x6b, 0x26, 0x86, 0x02, 0xfb, 0x0c, 0x5a, 0x67, 0x26, 0xae, 0xf1, 0x69, 0xfb, 0x0a, 0x5a, 0xdd, 0xa1, 0x4c, 0xee, - 0x1c, 0x0c, 0x1f, 0x68, 0xc9, 0x14, 0x4c, 0x15, 0xde, 0x10, 0xa9, 0x64, 0x6f, 0x96, 0xd6, 0x61, 0xdf, 0x2e, 0x14, - 0x5a, 0x68, 0xe2, 0x57, 0x19, 0xe2, 0xa7, 0xae, 0x33, 0xff, 0x36, 0xed, 0x53, 0x83, 0x58, 0x38, 0x12, 0x83, 0x88, - 0x5f, 0x9c, 0x2a, 0xdb, 0x09, 0xa1, 0x62, 0xe3, 0xa1, 0x6b, 0xdd, 0x38, 0x92, 0x2a, 0x0c, 0xa5, 0xd0, 0x78, 0x6a, - 0xb8, 0xef, 0x85, 0x0e, 0x5f, 0x87, 0x59, 0xdc, 0x66, 0x8d, 0xa4, 0xc6, 0x38, 0x15, 0x26, 0x4e, 0xa5, 0x5c, 0x45, - 0x02, 0x03, 0xe5, 0xd9, 0xc2, 0x20, 0xc0, 0x24, 0x26, 0x19, 0x5b, 0x0b, 0x61, 0xc2, 0xd8, 0xb9, 0xc2, 0x34, 0x75, - 0x91, 0xfa, 0xcd, 0xc0, 0x64, 0x41, 0x43, 0x7e, 0x8f, 0x46, 0x6b, 0xaa, 0xa6, 0x00, 0xc3, 0x38, 0x4a, 0x35, 0xfe, - 0x2d, 0x42, 0x6d, 0x86, 0x01, 0x80, 0x6d, 0xde, 0xc9, 0x4c, 0x54, 0xaf, 0x04, 0x42, 0xa0, 0x39, 0xfb, 0xa9, 0xb8, - 0xda, 0x99, 0x05, 0xa3, 0x68, 0xb7, 0x57, 0x3e, 0x1f, 0x38, 0xa1, 0x3c, 0x55, 0x17, 0xa8, 0x97, 0xb2, 0x78, 0x2d, - 0x53, 0xde, 0x0a, 0x91, 0x79, 0x20, 0xd9, 0x87, 0x7c, 0x04, 0xe7, 0x15, 0x3a, 0x95, 0x9b, 0x6d, 0xa2, 0xcc, 0x92, - 0x24, 0x63, 0x81, 0xb1, 0x79, 0x09, 0x66, 0x52, 0x33, 0x63, 0xf8, 0x35, 0xc4, 0x19, 0xdb, 0x39, 0x09, 0x37, 0xfb, - 0x79, 0x60, 0x88, 0x52, 0x2e, 0x5a, 0xa2, 0x61, 0x6b, 0xc7, 0xeb, 0xc9, 0x35, 0xe1, 0x3e, 0x6c, 0xc4, 0x9a, 0x8c, - 0x31, 0xae, 0xcd, 0x8d, 0xac, 0x1f, 0x2d, 0xf0, 0x60, 0x4c, 0x59, 0x7f, 0x02, 0x99, 0x56, 0x52, 0xd6, 0xf9, 0xc2, - 0x88, 0x99, 0x54, 0xa2, 0x77, 0xfb, 0xc6, 0x67, 0x75, 0x17, 0x51, 0xbf, 0xb5, 0xdf, 0x93, 0x7a, 0xb8, 0xf7, 0x1f, - 0x14, 0xd6, 0xa0, 0x32, 0xe2, 0x32, 0xa2, 0x3c, 0x73, 0xa0, 0x9b, 0x26, 0x45, 0x9c, 0x9e, 0xaf, 0xe2, 0xa2, 0xe4, - 0x29, 0x54, 0xaa, 0xa9, 0x5b, 0xd4, 0x9b, 0x80, 0xbd, 0x21, 0x92, 0x24, 0x6b, 0x69, 0x6c, 0xc5, 0x2e, 0x0d, 0xd2, - 0xb3, 0x37, 0xe2, 0xd2, 0xcb, 0x0a, 0x0d, 0x69, 0xa9, 0x77, 0x16, 0x2a, 0x99, 0xbf, 0xe2, 0x3f, 0x83, 0x5a, 0x81, - 0x8e, 0x36, 0x29, 0xc6, 0x33, 0x60, 0xc4, 0x77, 0x83, 0x59, 0x3d, 0x40, 0x5c, 0x34, 0x41, 0xa9, 0x77, 0xc4, 0x8e, - 0x9f, 0x9a, 0x3c, 0xbc, 0x0b, 0x39, 0x67, 0xf0, 0xe9, 0xc3, 0x2c, 0x51, 0x6b, 0x1d, 0x89, 0x91, 0x9a, 0x01, 0x34, - 0x1d, 0x94, 0x39, 0x8f, 0x45, 0x30, 0xeb, 0x99, 0xc4, 0xa8, 0xc7, 0xf5, 0x2f, 0xd0, 0x50, 0xfb, 0xcd, 0xca, 0xf2, - 0xac, 0xba, 0xff, 0x1c, 0x0e, 0x6c, 0x6a, 0x2b, 0xe8, 0xf1, 0xba, 0x92, 0x57, 0x57, 0xaa, 0xdb, 0x7e, 0x21, 0x46, - 0x4e, 0xd7, 0xb8, 0x96, 0xce, 0xab, 0x05, 0xeb, 0x75, 0xa7, 0x9b, 0xc5, 0xdd, 0x2c, 0xa3, 0x81, 0xb0, 0xb6, 0xf3, - 0x89, 0xe6, 0xcf, 0x9a, 0x6d, 0xf7, 0xf1, 0x16, 0xc4, 0x2c, 0x00, 0x88, 0xf4, 0x20, 0x0a, 0x96, 0x59, 0xca, 0x03, - 0x2a, 0xf7, 0x71, 0x94, 0x85, 0xd2, 0xcb, 0x59, 0xc6, 0x4f, 0x9b, 0xc6, 0x5a, 0x67, 0x85, 0x32, 0xb4, 0x36, 0xba, - 0xd3, 0x55, 0x86, 0xd8, 0x7e, 0x12, 0x67, 0x0b, 0x70, 0x7f, 0xcc, 0x50, 0x68, 0xe8, 0x2c, 0x23, 0x4d, 0x34, 0x7c, - 0xd7, 0x9e, 0x41, 0x46, 0x71, 0xb2, 0xce, 0x2b, 0xe9, 0x46, 0x9f, 0xb5, 0x91, 0x30, 0xf7, 0x10, 0xfd, 0x2a, 0x06, - 0x8f, 0x72, 0x9f, 0xd7, 0x46, 0x27, 0xd3, 0x32, 0xd2, 0xee, 0xfc, 0xa4, 0x5e, 0x66, 0xa9, 0xd6, 0x61, 0xfb, 0x0c, - 0x7b, 0x6b, 0x4c, 0x7a, 0x13, 0x52, 0xc3, 0x48, 0x7c, 0x3a, 0xa3, 0x46, 0x08, 0x68, 0xcb, 0xf1, 0x77, 0xf8, 0x0c, - 0x43, 0x53, 0x60, 0xa9, 0xe2, 0x16, 0x76, 0xc3, 0xd7, 0x7c, 0xb2, 0x6a, 0x01, 0x08, 0x66, 0xe5, 0xeb, 0x5d, 0xbc, - 0x12, 0xea, 0x73, 0x6d, 0x06, 0x80, 0x2c, 0x28, 0xe5, 0x8e, 0x9f, 0x52, 0xe9, 0x60, 0x89, 0xa2, 0xed, 0xe5, 0xf4, - 0x8d, 0x8e, 0x8d, 0x1f, 0xd2, 0x73, 0x01, 0xdb, 0x85, 0xfc, 0xd6, 0x5e, 0xbd, 0x44, 0x45, 0x6a, 0xdb, 0xac, 0x07, - 0xf8, 0x72, 0x83, 0x26, 0x61, 0x04, 0x65, 0xca, 0x14, 0xc0, 0xe0, 0xa6, 0x1a, 0x05, 0x93, 0x56, 0x23, 0x61, 0x4b, - 0x3d, 0xc9, 0x72, 0xd3, 0x07, 0xa7, 0xda, 0x23, 0xe8, 0xd1, 0x0e, 0x27, 0x2d, 0xfb, 0xb5, 0x82, 0xa3, 0x93, 0xab, - 0x21, 0x6a, 0xe6, 0xbd, 0xb6, 0x23, 0x43, 0xca, 0x65, 0x18, 0x08, 0xa6, 0x1c, 0xf3, 0xf4, 0xd8, 0x7a, 0x46, 0x44, - 0x0f, 0x9c, 0x7d, 0xa6, 0x5b, 0x75, 0x25, 0x01, 0xd1, 0xf1, 0xeb, 0x27, 0xaf, 0xae, 0xe3, 0x2b, 0x83, 0xa2, 0xd4, - 0xb0, 0x88, 0x51, 0xa6, 0x7d, 0x95, 0x84, 0xc1, 0xfb, 0xf9, 0xfd, 0x8f, 0x2a, 0x4b, 0xed, 0xf7, 0x60, 0x63, 0x45, - 0x55, 0x3f, 0x97, 0xbc, 0x68, 0x0a, 0xb0, 0xf6, 0x59, 0xa2, 0x40, 0xee, 0xf7, 0x36, 0xcd, 0x7c, 0x13, 0x35, 0x6e, - 0x36, 0xac, 0x37, 0xae, 0xdb, 0xa5, 0xb6, 0x64, 0x47, 0x56, 0x22, 0x67, 0x16, 0x83, 0x19, 0x3f, 0x2a, 0x0c, 0x4a, - 0xc3, 0x06, 0x55, 0xa9, 0xf8, 0xbd, 0x11, 0xc1, 0xa9, 0x63, 0x55, 0x61, 0x4c, 0x03, 0x66, 0x5b, 0x51, 0x6b, 0x50, - 0x07, 0xa5, 0xb4, 0x35, 0x01, 0xd9, 0x7e, 0x65, 0x05, 0x35, 0xbf, 0xff, 0x65, 0x0c, 0xf9, 0x9a, 0x52, 0x50, 0x49, - 0xc0, 0xce, 0xa0, 0xd1, 0x53, 0x25, 0x0c, 0xa4, 0x20, 0x78, 0x02, 0x94, 0x2f, 0xa2, 0xc6, 0x6a, 0xb7, 0xaf, 0x4e, - 0x8d, 0xd1, 0x16, 0x10, 0x5a, 0x48, 0x8f, 0x2e, 0xfb, 0xb8, 0x8d, 0x75, 0x20, 0xf1, 0xe0, 0x04, 0xdb, 0xb9, 0xba, - 0x46, 0x23, 0xa1, 0xf9, 0x43, 0xa3, 0x01, 0xaf, 0x69, 0x05, 0x0a, 0xf5, 0x1c, 0x47, 0x43, 0x67, 0x87, 0x14, 0x44, - 0x6c, 0xd0, 0xc2, 0xbe, 0x3d, 0x1f, 0x9a, 0x7d, 0x3d, 0x4f, 0x16, 0xa4, 0xa6, 0xd2, 0x7d, 0xee, 0x96, 0x90, 0xb5, - 0xea, 0x50, 0x56, 0x1e, 0xe0, 0x78, 0xa1, 0x64, 0xfe, 0x0e, 0x93, 0x1a, 0xa5, 0x31, 0xa1, 0x31, 0x62, 0x01, 0x4b, - 0x82, 0xf6, 0x7a, 0xa0, 0x7e, 0x19, 0x84, 0x0a, 0x67, 0x7a, 0x22, 0xf1, 0x29, 0xe5, 0xea, 0xd3, 0x82, 0xd4, 0xd3, - 0x82, 0x39, 0xd0, 0x4b, 0xdf, 0xca, 0xaf, 0x6c, 0x7c, 0xb4, 0xbb, 0x77, 0xcd, 0x85, 0x75, 0x0c, 0x71, 0xb1, 0x85, - 0xdf, 0x9c, 0x9a, 0x02, 0xb0, 0xe1, 0xa9, 0x2e, 0xcb, 0x37, 0x6a, 0x22, 0xb3, 0x38, 0x24, 0x11, 0x48, 0xb6, 0x9b, - 0x9b, 0xdb, 0x08, 0xb6, 0xbd, 0x85, 0xda, 0x50, 0x7f, 0x79, 0xdb, 0x7d, 0xcf, 0xf0, 0x72, 0x4f, 0xee, 0xdd, 0xb4, - 0xa1, 0xfc, 0x7e, 0xff, 0x2a, 0xf9, 0xbf, 0xaa, 0x64, 0xbf, 0x55, 0x66, 0xdd, 0x16, 0xef, 0x77, 0x1d, 0xb7, 0x1c, - 0xa3, 0x41, 0x60, 0x4d, 0x81, 0x81, 0xf4, 0xa4, 0x31, 0x4d, 0x74, 0x74, 0x65, 0xc6, 0x0c, 0x1e, 0x5d, 0x80, 0xe6, - 0x30, 0x9d, 0xe7, 0x31, 0x00, 0x07, 0xf8, 0x47, 0x1e, 0xa1, 0xfe, 0xe9, 0x3c, 0x0f, 0xce, 0x83, 0x41, 0x39, 0x08, - 0xf4, 0x27, 0xae, 0x39, 0xc1, 0x02, 0x74, 0x6e, 0x31, 0x83, 0xb8, 0x93, 0xd6, 0xcc, 0x21, 0x3e, 0x4e, 0xa6, 0x83, - 0x41, 0x4c, 0x36, 0x00, 0xd2, 0x17, 0x2f, 0xac, 0x73, 0x50, 0xa1, 0x17, 0x64, 0xab, 0xee, 0xa2, 0x59, 0xb1, 0x57, - 0xed, 0x34, 0xef, 0xf7, 0xf3, 0x79, 0x39, 0x08, 0x1a, 0x15, 0x16, 0xc6, 0xfb, 0x8f, 0x36, 0xbf, 0x34, 0x3a, 0x69, - 0x82, 0x11, 0x6b, 0x4f, 0x51, 0xbd, 0xe2, 0x69, 0x46, 0x1b, 0xb7, 0x63, 0xa5, 0x7c, 0x01, 0x51, 0x3c, 0x30, 0x64, - 0xad, 0xbc, 0x3b, 0x07, 0xaf, 0xcb, 0x8d, 0x37, 0x47, 0x14, 0x60, 0x37, 0x85, 0x71, 0x52, 0x73, 0xd1, 0x45, 0x4d, - 0x3c, 0x83, 0x9d, 0xae, 0xde, 0x4a, 0xb4, 0x1a, 0xef, 0xc5, 0xbb, 0x66, 0xe3, 0x6f, 0xe4, 0x81, 0x2e, 0xf3, 0xe0, - 0x12, 0x10, 0x67, 0x0f, 0xe2, 0xea, 0x00, 0x4b, 0x3d, 0x08, 0x06, 0x16, 0x39, 0xa4, 0x5d, 0xad, 0x1e, 0x8a, 0x48, - 0x9d, 0xc7, 0x60, 0xc0, 0x64, 0x1a, 0x52, 0x93, 0x69, 0xaf, 0x50, 0x90, 0x36, 0xd6, 0x5a, 0x40, 0x1b, 0x0e, 0x8b, - 0x1d, 0xbb, 0x61, 0x77, 0xba, 0x75, 0x28, 0x94, 0x30, 0x90, 0x75, 0xdd, 0x3c, 0xd4, 0x1a, 0x9e, 0x08, 0x7a, 0x50, - 0x8d, 0xf6, 0xd3, 0x43, 0x79, 0xd2, 0x1e, 0x0b, 0x70, 0xd1, 0xc3, 0x97, 0x2f, 0x04, 0x5e, 0xb4, 0x77, 0x90, 0xe7, - 0xcc, 0xa7, 0xca, 0x07, 0xb1, 0xe1, 0x96, 0xe1, 0x43, 0xfb, 0xf8, 0x56, 0x20, 0x93, 0xba, 0xa3, 0xa9, 0xad, 0xdd, - 0xd1, 0x38, 0x26, 0xd0, 0x6f, 0xca, 0x51, 0xca, 0xc4, 0xd4, 0xb2, 0x64, 0x27, 0xbd, 0x5c, 0x79, 0x43, 0xa5, 0xec, - 0x64, 0xd9, 0xe6, 0xfc, 0xd2, 0x46, 0x42, 0xbf, 0xaf, 0xdd, 0x81, 0xf0, 0x8d, 0x5a, 0x6f, 0xc8, 0xcb, 0x86, 0x88, - 0xe5, 0x10, 0x33, 0x70, 0xbc, 0x90, 0xca, 0xb5, 0xbb, 0x68, 0xaa, 0xea, 0x76, 0xb6, 0x72, 0x41, 0x4b, 0xbc, 0x95, - 0x02, 0xab, 0x48, 0x9d, 0x5e, 0x4f, 0x25, 0xee, 0xfb, 0x28, 0xb6, 0x1f, 0x01, 0xdb, 0xd8, 0x38, 0x1a, 0x1b, 0xb7, - 0x88, 0x0d, 0xbe, 0x8a, 0x2a, 0x5a, 0x70, 0x80, 0xe0, 0x6e, 0x4b, 0x6a, 0x69, 0xe6, 0x10, 0xf7, 0x15, 0x0f, 0xd0, - 0xbe, 0x8b, 0x23, 0x4e, 0x05, 0xd8, 0xd6, 0xb5, 0xce, 0x59, 0x2d, 0x07, 0x6c, 0x26, 0x7a, 0xfe, 0x69, 0xd5, 0x48, - 0xc4, 0xb0, 0xca, 0x46, 0xca, 0x0a, 0xed, 0x41, 0xe9, 0x12, 0x2e, 0xbe, 0x00, 0x2f, 0xdb, 0xfb, 0x95, 0xdd, 0xe7, - 0x4b, 0xec, 0x1f, 0xe6, 0x55, 0x13, 0x3c, 0xf2, 0x1a, 0x6f, 0xef, 0x61, 0xe2, 0x73, 0xa5, 0x10, 0x5e, 0xa5, 0x34, - 0x94, 0x00, 0x0c, 0x92, 0xa0, 0x86, 0x2b, 0x6d, 0x9b, 0x41, 0x2a, 0x63, 0xd8, 0xdd, 0xea, 0xad, 0xfe, 0x4f, 0xab, - 0x70, 0x51, 0xc9, 0x62, 0x4c, 0x02, 0x9d, 0x53, 0x2d, 0x37, 0x81, 0x05, 0xcf, 0x77, 0xc9, 0x11, 0x28, 0xec, 0x04, - 0x70, 0x43, 0x09, 0xfb, 0x19, 0x6f, 0x43, 0x39, 0x7b, 0x69, 0x25, 0x4f, 0x6e, 0x5f, 0x52, 0x41, 0x13, 0x32, 0x15, - 0x76, 0xff, 0xb6, 0x36, 0xec, 0xf3, 0x50, 0x8e, 0xa4, 0xc0, 0xc5, 0x41, 0xe7, 0x00, 0xf6, 0x07, 0xb9, 0x8c, 0xcd, - 0x67, 0xd2, 0xef, 0xab, 0xf7, 0xcf, 0xf2, 0x2c, 0xf9, 0xb8, 0xf3, 0xde, 0xf0, 0x34, 0x4b, 0x06, 0x54, 0x22, 0xa6, - 0xd6, 0x55, 0x31, 0x5c, 0x6a, 0x17, 0xe3, 0x06, 0xc9, 0x88, 0xf7, 0x52, 0x87, 0x18, 0x31, 0xbe, 0xc8, 0x0e, 0x49, - 0xc9, 0xe9, 0xb2, 0xee, 0xec, 0xb9, 0x16, 0xcd, 0xa0, 0x31, 0xdc, 0x8e, 0xf7, 0x92, 0x5e, 0x01, 0x2a, 0x40, 0x74, - 0xcf, 0x02, 0xd7, 0xf0, 0xe6, 0x92, 0x68, 0x6c, 0xe9, 0x69, 0x4b, 0x34, 0xb0, 0x57, 0x26, 0x24, 0xd5, 0xc6, 0x01, - 0x16, 0xb1, 0xae, 0x3f, 0x86, 0x05, 0x00, 0xb5, 0x1a, 0xa4, 0x57, 0xfa, 0x92, 0x50, 0x95, 0x84, 0x60, 0x74, 0x22, - 0xe1, 0x65, 0x40, 0xe3, 0xcc, 0x24, 0x5a, 0xd8, 0xe0, 0x80, 0x3e, 0xaf, 0x4c, 0xa2, 0xb1, 0x21, 0x0f, 0x28, 0xb7, - 0x69, 0x00, 0x83, 0x0f, 0x92, 0x24, 0xfa, 0x6a, 0x69, 0x92, 0x40, 0x50, 0x82, 0xf2, 0x0d, 0xfa, 0x53, 0xe9, 0xf9, - 0x58, 0xfe, 0xe6, 0x1d, 0x4a, 0xdf, 0x87, 0x05, 0xc8, 0x14, 0x75, 0xc5, 0x34, 0x63, 0x27, 0x59, 0xb7, 0x31, 0x89, - 0xe7, 0x69, 0x77, 0x57, 0x28, 0x97, 0x2e, 0xf0, 0x2b, 0xcb, 0x10, 0xc7, 0xfa, 0x59, 0xbc, 0x62, 0xa7, 0x21, 0xd7, - 0x78, 0xe9, 0xcf, 0xe2, 0x15, 0xce, 0x10, 0xad, 0x5a, 0x09, 0x44, 0xf9, 0xaf, 0xda, 0xc0, 0x21, 0xee, 0x13, 0x0c, - 0x72, 0x51, 0x79, 0x0f, 0x04, 0xf2, 0xb6, 0x82, 0x88, 0x34, 0xb3, 0xeb, 0x30, 0x22, 0xd5, 0x4e, 0x92, 0xf9, 0xf2, - 0x07, 0x99, 0x09, 0xef, 0x1b, 0x78, 0x6c, 0x36, 0xcb, 0xa6, 0x98, 0x2f, 0x54, 0x30, 0x07, 0xf7, 0x89, 0x8a, 0x4b, - 0x51, 0xf9, 0x4f, 0xd8, 0x05, 0x2f, 0xc6, 0x83, 0xd7, 0x6b, 0x04, 0xd8, 0xaf, 0xfc, 0x27, 0x6f, 0xcc, 0xfe, 0xb2, - 0x6e, 0x7c, 0x99, 0x89, 0xf8, 0xc0, 0x47, 0x77, 0x94, 0x8f, 0xee, 0xbd, 0x4c, 0x7f, 0x34, 0xa0, 0x44, 0x46, 0x65, - 0xc5, 0x57, 0x2b, 0x9e, 0xce, 0xee, 0x92, 0x28, 0x1b, 0x55, 0x5c, 0xc0, 0xf4, 0x82, 0xe3, 0x5d, 0xb2, 0xbe, 0xc8, - 0x92, 0x57, 0x10, 0x7b, 0x60, 0x25, 0x15, 0x16, 0x3f, 0x2c, 0x33, 0xb5, 0x98, 0x85, 0xac, 0xa4, 0xe0, 0xc1, 0xec, - 0x26, 0x89, 0xfe, 0x5a, 0x7a, 0x48, 0x6a, 0x66, 0xca, 0x36, 0xb5, 0x23, 0xd4, 0xc6, 0xd7, 0x91, 0x6e, 0xb4, 0x05, - 0x00, 0xdc, 0xb3, 0x45, 0x1a, 0x49, 0x26, 0x86, 0x93, 0x9a, 0x71, 0x93, 0x5e, 0x60, 0x6a, 0x5c, 0xb3, 0x8a, 0x26, - 0xce, 0x42, 0x06, 0xf4, 0xfe, 0x80, 0x97, 0x83, 0xcf, 0x19, 0xdc, 0x7f, 0xd0, 0x1a, 0xb8, 0x3c, 0x2e, 0xfa, 0x7d, - 0x79, 0x5c, 0x6c, 0xb7, 0xe5, 0x49, 0xdc, 0xef, 0xcb, 0x93, 0xd8, 0xf0, 0x0f, 0x4a, 0xb1, 0x6d, 0xcc, 0x0d, 0x12, - 0x9a, 0x4b, 0x88, 0x5a, 0x34, 0x82, 0x3f, 0x34, 0xcb, 0xb9, 0x88, 0xf2, 0xe3, 0xa4, 0xdf, 0xef, 0x2d, 0x67, 0x62, - 0x90, 0x0f, 0x93, 0x28, 0x1f, 0x26, 0x9e, 0x13, 0xe2, 0xb7, 0x9e, 0x13, 0xa2, 0xa2, 0x81, 0x2b, 0x38, 0x33, 0x00, - 0x51, 0xc0, 0xa7, 0x7f, 0x54, 0xd7, 0x52, 0xe8, 0x5a, 0x62, 0x55, 0x4b, 0xa2, 0x2b, 0xa8, 0xd9, 0x4d, 0x11, 0x96, - 0x58, 0x0a, 0x5d, 0xb2, 0x3f, 0x96, 0xc0, 0x13, 0xe5, 0xbc, 0xda, 0x00, 0x03, 0x1b, 0xe1, 0x9d, 0xc3, 0x84, 0x93, - 0x58, 0xd7, 0x80, 0x76, 0xba, 0xa9, 0xe9, 0x25, 0x5d, 0xd1, 0x2b, 0xe4, 0x67, 0x2f, 0xc1, 0x60, 0xe9, 0x98, 0xe5, - 0xd3, 0xc1, 0xe0, 0x92, 0xac, 0x58, 0x39, 0x0f, 0xe3, 0x41, 0xb8, 0x9e, 0xe5, 0xc3, 0xcb, 0xe8, 0x92, 0x90, 0x2f, - 0x8a, 0x05, 0xed, 0xad, 0x46, 0xe5, 0xc7, 0x0c, 0xc2, 0xfb, 0xa5, 0xb3, 0x30, 0x33, 0x71, 0x3e, 0x56, 0xa3, 0x3b, - 0xba, 0x82, 0xf8, 0x35, 0x70, 0x23, 0x21, 0x11, 0x74, 0xe4, 0x8a, 0xae, 0xe8, 0x9a, 0x4a, 0x33, 0xc3, 0x18, 0xad, - 0xdb, 0x1e, 0x27, 0x09, 0x38, 0x26, 0xbb, 0xe2, 0xa3, 0xb1, 0x2a, 0xbc, 0xeb, 0x3b, 0x42, 0x7b, 0xbd, 0xc4, 0x0d, - 0xd2, 0x2f, 0xed, 0x41, 0x02, 0x46, 0x64, 0xa4, 0x06, 0xca, 0x8c, 0x8c, 0xa4, 0x66, 0x52, 0x71, 0x48, 0x62, 0x7f, - 0x48, 0xd4, 0x38, 0x24, 0xfe, 0x38, 0xe4, 0x7a, 0x1c, 0x90, 0xbb, 0x5f, 0xb2, 0x31, 0x4d, 0xd9, 0x98, 0xae, 0xd5, - 0xa8, 0xd0, 0x6b, 0x7a, 0xa1, 0xa9, 0xe3, 0x39, 0x7b, 0x0d, 0x07, 0xf6, 0x20, 0xcc, 0x67, 0xf1, 0xf0, 0x75, 0xf4, - 0x9a, 0x90, 0x2f, 0x24, 0xbd, 0x51, 0x97, 0x32, 0x08, 0x84, 0x78, 0x0d, 0xce, 0xa5, 0x2e, 0xd4, 0xc9, 0xb5, 0xd9, - 0x71, 0xf8, 0x74, 0xd5, 0x78, 0xba, 0x80, 0x88, 0x3e, 0x68, 0xa5, 0xd2, 0xef, 0x87, 0x97, 0xac, 0x9c, 0x9f, 0x87, - 0x63, 0x02, 0x38, 0x3c, 0x7a, 0x38, 0x2f, 0x47, 0x77, 0xf4, 0x72, 0x74, 0x4f, 0xc0, 0xc2, 0x6b, 0x3c, 0x5d, 0x1f, - 0xb3, 0x78, 0x3a, 0x18, 0xac, 0x91, 0xaa, 0xab, 0xdc, 0x6b, 0xb2, 0xa0, 0x97, 0x38, 0x11, 0x04, 0x18, 0xfa, 0x4c, - 0xac, 0x0d, 0x0d, 0x7f, 0xcd, 0xe0, 0xe3, 0x7b, 0x76, 0x39, 0xba, 0xa7, 0x77, 0xec, 0xf5, 0x76, 0x3c, 0x05, 0x66, - 0x6a, 0x35, 0x0b, 0xef, 0x8f, 0xaf, 0x66, 0x57, 0xec, 0x3e, 0xba, 0x3f, 0x81, 0x86, 0x5e, 0xb3, 0x7b, 0x04, 0x5c, - 0x4a, 0x1f, 0x2f, 0x07, 0xaf, 0xc9, 0xe1, 0x60, 0x90, 0x92, 0x28, 0xbc, 0x09, 0xbd, 0x56, 0xbe, 0xa6, 0xf7, 0x84, - 0xae, 0xd8, 0x1d, 0x8e, 0xc6, 0x15, 0xc3, 0x0f, 0x2e, 0xd8, 0x7d, 0x7d, 0x13, 0x7a, 0xbb, 0x39, 0x11, 0x9d, 0x20, - 0x46, 0xe8, 0x6b, 0xe0, 0x68, 0x96, 0x0b, 0x33, 0x01, 0x4f, 0xe6, 0x22, 0xa3, 0x45, 0xa1, 0x19, 0x88, 0xb3, 0x12, - 0x10, 0x4b, 0xa2, 0xee, 0x37, 0x1b, 0x9d, 0xc3, 0x72, 0xee, 0xf7, 0x7b, 0x95, 0xa1, 0x07, 0x88, 0x9c, 0xd9, 0x49, - 0x0f, 0x7a, 0x3e, 0x3d, 0xc0, 0x4f, 0xf4, 0xaa, 0x41, 0x9c, 0xcc, 0x5f, 0x96, 0xd1, 0xb7, 0x1e, 0x7d, 0xf8, 0xbe, - 0x9b, 0xf2, 0x88, 0xfc, 0xdf, 0xa7, 0x3c, 0x65, 0x1e, 0xbd, 0xae, 0x3c, 0x10, 0x3c, 0x6f, 0x4d, 0x2a, 0x8d, 0x44, - 0x35, 0x3a, 0x5f, 0xc5, 0xa0, 0x8d, 0x44, 0x6d, 0x83, 0x7e, 0x42, 0x0b, 0x2b, 0x88, 0x90, 0x73, 0xf4, 0x1c, 0x0c, - 0x52, 0x21, 0x54, 0x8e, 0x5a, 0x94, 0x68, 0x08, 0x92, 0xcb, 0x92, 0xab, 0xf0, 0x39, 0x84, 0xaa, 0xd3, 0xc7, 0x99, - 0x08, 0x1b, 0x7a, 0x1c, 0xfa, 0x00, 0xf0, 0x3f, 0xef, 0x90, 0x8b, 0x92, 0x5f, 0xe1, 0xd9, 0xdc, 0x26, 0x18, 0x05, - 0x4b, 0x44, 0x33, 0xb4, 0x0d, 0x62, 0x3f, 0x96, 0x04, 0xeb, 0x91, 0x34, 0x1e, 0x95, 0xe6, 0x88, 0xf0, 0xa3, 0xf8, - 0x28, 0x7a, 0x1a, 0x1b, 0x12, 0xc9, 0x91, 0x44, 0xf2, 0x01, 0x10, 0x4e, 0x82, 0xfe, 0xe2, 0xae, 0xc9, 0xae, 0x85, - 0xc4, 0xa0, 0x3f, 0x2d, 0x99, 0x96, 0xdd, 0xab, 0x1e, 0xfb, 0x8a, 0x20, 0x77, 0x4c, 0xff, 0xe9, 0xf5, 0xe1, 0x5f, - 0x4b, 0x9c, 0x41, 0xeb, 0xf9, 0xa2, 0x3a, 0x33, 0xf3, 0x06, 0x37, 0xf2, 0xba, 0xac, 0x5d, 0x97, 0x2f, 0xf9, 0x01, - 0xbf, 0xab, 0xb8, 0x48, 0xcb, 0x83, 0x9f, 0xaa, 0x36, 0x9e, 0x53, 0xb9, 0x5e, 0xb9, 0x38, 0x2b, 0xca, 0x38, 0xd5, - 0x93, 0xba, 0x18, 0x6b, 0xd8, 0x86, 0xdf, 0x23, 0xea, 0x4a, 0x5a, 0x8e, 0x9e, 0x52, 0xae, 0x9a, 0x29, 0x97, 0xeb, - 0x3c, 0xff, 0x71, 0x27, 0x15, 0xa7, 0xb8, 0x99, 0x82, 0x54, 0xa9, 0xe5, 0x02, 0xaa, 0xe7, 0xa8, 0xe5, 0x6e, 0x69, - 0x76, 0x80, 0x73, 0xdb, 0x54, 0x1f, 0x2b, 0xb3, 0x0b, 0x2f, 0xb9, 0x71, 0x7f, 0x32, 0x65, 0x58, 0x30, 0x0a, 0x6d, - 0x56, 0x5d, 0x69, 0xfb, 0x42, 0xeb, 0x34, 0x0c, 0x57, 0x7e, 0xbc, 0x80, 0x74, 0x01, 0xe3, 0x78, 0x51, 0x32, 0x31, - 0x6e, 0x8f, 0xde, 0x0a, 0xe2, 0x73, 0xb6, 0x02, 0xe9, 0xf7, 0x7b, 0xc2, 0xdb, 0x75, 0x1d, 0x6d, 0xf7, 0xc4, 0x29, - 0xa3, 0x72, 0x15, 0x8b, 0xef, 0xe2, 0x95, 0x81, 0x4c, 0x56, 0xc7, 0x63, 0x63, 0x4c, 0xa7, 0xff, 0x48, 0x42, 0xbf, - 0x10, 0x0a, 0x3e, 0xeb, 0xa5, 0x95, 0x27, 0xb7, 0x87, 0x65, 0x5c, 0xa3, 0x57, 0xe2, 0x4a, 0xf7, 0xcd, 0x48, 0x21, - 0xf5, 0xc8, 0x57, 0x4d, 0x01, 0xbd, 0x19, 0xfb, 0x66, 0x2a, 0xcc, 0xdb, 0x9e, 0x31, 0x57, 0x08, 0x56, 0xaa, 0xec, - 0xf6, 0x9d, 0x1a, 0x53, 0x31, 0x83, 0x29, 0xb6, 0x9d, 0xc5, 0xa4, 0x5b, 0xf9, 0xa7, 0x9d, 0xfb, 0x65, 0xde, 0xe1, - 0xae, 0xa8, 0xdf, 0x02, 0x17, 0x9a, 0x15, 0x65, 0xd5, 0x96, 0x0d, 0xdb, 0xc6, 0x1b, 0x59, 0x28, 0x36, 0xc0, 0xb2, - 0xe7, 0xbe, 0x85, 0x07, 0x88, 0x9b, 0x70, 0xcf, 0x2e, 0x6a, 0xb8, 0x31, 0x7c, 0x5e, 0x49, 0xbe, 0x2b, 0x8d, 0xb9, - 0xf4, 0xa9, 0xd2, 0xc4, 0x70, 0xb2, 0x18, 0x71, 0x91, 0x2e, 0xea, 0xcc, 0xae, 0x85, 0x4f, 0x78, 0x19, 0xce, 0xf9, - 0xc2, 0xe8, 0xa6, 0x74, 0xe9, 0x05, 0x8b, 0x75, 0xa7, 0x37, 0x2b, 0x8d, 0x95, 0x12, 0x71, 0x6b, 0x96, 0x09, 0x94, - 0xa5, 0xac, 0x95, 0xf0, 0xa6, 0x68, 0xd9, 0x4a, 0x1a, 0x79, 0xcf, 0x1c, 0xdc, 0xc7, 0xbe, 0x47, 0x4c, 0x64, 0x13, - 0x98, 0x14, 0x0d, 0x1d, 0xd0, 0xae, 0xba, 0xf0, 0xcd, 0xa8, 0x07, 0x83, 0xdc, 0x92, 0x44, 0xac, 0x20, 0xc5, 0x0a, - 0xd6, 0x35, 0x2b, 0xe6, 0xf9, 0x82, 0x5e, 0x32, 0x39, 0x4f, 0x17, 0x74, 0xc5, 0xe4, 0x7c, 0x8d, 0x37, 0xa1, 0x4b, - 0x38, 0x21, 0xc9, 0x26, 0x56, 0x0a, 0xd8, 0x4b, 0xbc, 0xbc, 0xe1, 0x99, 0xaa, 0x69, 0xd9, 0x95, 0xe2, 0x00, 0xe3, - 0x8b, 0x32, 0x0c, 0xcb, 0xe1, 0x25, 0x58, 0x4b, 0x1c, 0x86, 0xab, 0x39, 0x5f, 0xa8, 0xdf, 0x10, 0x75, 0x3e, 0x09, - 0x15, 0xbb, 0x60, 0xf7, 0x02, 0x99, 0x5e, 0xcf, 0xf9, 0x42, 0x8d, 0x84, 0x2e, 0xf8, 0xda, 0x1a, 0x9b, 0xc4, 0x9e, - 0xa0, 0x65, 0x16, 0xcf, 0xc7, 0x8b, 0x28, 0xae, 0x61, 0x19, 0x9e, 0xa9, 0x99, 0x69, 0xc9, 0x7f, 0x12, 0xb5, 0xa1, - 0x89, 0xbe, 0xc1, 0x2a, 0xf2, 0x87, 0xc7, 0x47, 0x97, 0x40, 0xc6, 0xce, 0xae, 0x64, 0xe6, 0x43, 0xdf, 0x47, 0x06, - 0xf7, 0xdc, 0x94, 0x33, 0xae, 0x82, 0x44, 0x19, 0xb8, 0x7b, 0x35, 0x4b, 0xc6, 0x5a, 0x84, 0xef, 0x1e, 0x15, 0x45, - 0x9f, 0x49, 0xd3, 0x80, 0xee, 0x23, 0xc1, 0x1c, 0xe8, 0xbd, 0x42, 0x87, 0xcb, 0x6a, 0x9b, 0x09, 0xf8, 0x8b, 0x04, - 0xf9, 0xad, 0xd0, 0xab, 0x1a, 0x83, 0x2a, 0xda, 0x45, 0x2c, 0xfd, 0xfb, 0x88, 0x1f, 0x65, 0xf3, 0x4f, 0x73, 0x8f, - 0x57, 0x12, 0x06, 0x3f, 0xa4, 0x66, 0x93, 0xcc, 0xdb, 0x2b, 0xf6, 0x1e, 0x3a, 0xea, 0x51, 0x6b, 0xbc, 0xaf, 0x5e, - 0x72, 0x0a, 0x31, 0x4a, 0x28, 0x3a, 0x09, 0x06, 0x70, 0xbb, 0x84, 0x14, 0x77, 0x83, 0xdd, 0x34, 0xaf, 0x79, 0x51, - 0x70, 0xb1, 0xae, 0xaa, 0xc0, 0x0f, 0x68, 0x38, 0x5f, 0xec, 0x86, 0x30, 0x1c, 0xd3, 0xd6, 0x35, 0x0c, 0xc2, 0x8c, - 0x61, 0x24, 0x04, 0xaf, 0x7f, 0xd1, 0x57, 0x34, 0x89, 0x57, 0xdf, 0xf2, 0xbf, 0x32, 0x5e, 0x28, 0x22, 0x0d, 0x22, - 0xa4, 0x6e, 0xe2, 0x1b, 0x99, 0x26, 0x05, 0x14, 0x02, 0x8c, 0x02, 0x2a, 0xb1, 0xa1, 0xa9, 0xf8, 0x5b, 0x2d, 0x3e, - 0xf8, 0xa9, 0xe9, 0x78, 0x34, 0xae, 0x5b, 0x9d, 0x51, 0x41, 0x67, 0xa0, 0x47, 0xad, 0xa8, 0xa7, 0x41, 0x2b, 0xc1, - 0x34, 0xd2, 0xbc, 0x75, 0x0f, 0x81, 0x57, 0xa6, 0xc5, 0x3b, 0x0f, 0xe8, 0xe6, 0xdc, 0x07, 0x4f, 0x1e, 0xd3, 0x73, - 0x87, 0x9e, 0x5c, 0xb1, 0x93, 0xaa, 0x87, 0xda, 0x7b, 0x33, 0x42, 0x41, 0xbf, 0x8f, 0x29, 0xd0, 0x8d, 0xa0, 0xf6, - 0xae, 0xee, 0x3f, 0x94, 0xbb, 0x1c, 0xbe, 0xe3, 0x2c, 0x37, 0x80, 0xa5, 0x22, 0x6b, 0x05, 0x1e, 0x05, 0xa8, 0x4b, - 0x65, 0x08, 0x5b, 0xcc, 0xe1, 0x50, 0xd9, 0xad, 0x5a, 0x0d, 0x25, 0x39, 0x2e, 0x47, 0xe0, 0x10, 0xba, 0x2e, 0x07, - 0xe5, 0x68, 0x99, 0x55, 0xef, 0xf1, 0xb7, 0x66, 0x1d, 0x92, 0x6c, 0x1f, 0xeb, 0xc0, 0x2d, 0xeb, 0x30, 0xfd, 0x68, - 0x90, 0x02, 0xd0, 0x64, 0x23, 0x70, 0x09, 0xc0, 0x7b, 0xfb, 0x8f, 0x08, 0xb5, 0x32, 0xdd, 0xcb, 0x58, 0xa8, 0xef, - 0x1b, 0x49, 0x50, 0x42, 0x33, 0xa1, 0x72, 0x2c, 0x05, 0xef, 0x3c, 0xd2, 0x39, 0xa9, 0x33, 0xf1, 0x1e, 0xc4, 0x69, - 0xe1, 0x03, 0x7b, 0x0b, 0x82, 0x73, 0x16, 0xf4, 0x1e, 0x6f, 0xb3, 0x5a, 0x6a, 0xa3, 0x07, 0x0a, 0xe0, 0x77, 0x83, - 0x7b, 0x04, 0xf9, 0x6a, 0x0c, 0xd7, 0x4a, 0xde, 0x86, 0x7c, 0x58, 0xd0, 0x23, 0x32, 0xb0, 0xcf, 0x62, 0x18, 0xd3, - 0x23, 0x72, 0x6c, 0x9f, 0xa5, 0x1b, 0xc0, 0x81, 0xd4, 0xa3, 0x4a, 0x8f, 0xa0, 0x41, 0xbf, 0xda, 0x16, 0x59, 0x92, - 0xf5, 0x43, 0x69, 0x14, 0x31, 0x50, 0x25, 0x88, 0xa8, 0xc5, 0xbf, 0x1e, 0xcc, 0x75, 0x8f, 0xb9, 0x40, 0x98, 0x83, - 0x01, 0x07, 0x71, 0x1b, 0x84, 0xe6, 0x80, 0xd9, 0xdc, 0x45, 0x82, 0xde, 0x5b, 0xc3, 0xcc, 0x8e, 0xfe, 0x70, 0x2b, - 0xc1, 0x37, 0x59, 0x6b, 0xd4, 0x79, 0x71, 0x08, 0x04, 0xc1, 0x9b, 0x42, 0x55, 0x7b, 0xd5, 0x03, 0x1b, 0x6f, 0xd5, - 0x8f, 0xed, 0x76, 0x3c, 0x15, 0xee, 0xda, 0x2f, 0x28, 0x9c, 0x7c, 0x4a, 0xfe, 0xf5, 0xde, 0x64, 0x70, 0x60, 0x64, - 0xf8, 0xd2, 0xdb, 0xbf, 0xf0, 0xb5, 0x96, 0xee, 0x89, 0x41, 0x49, 0x1e, 0x1f, 0x29, 0xfa, 0xb7, 0x57, 0x56, 0x3e, - 0xb5, 0xd3, 0xbf, 0xdd, 0x9a, 0xf5, 0x79, 0x3c, 0x9a, 0x6c, 0xb7, 0xbd, 0xb8, 0xd2, 0x1e, 0x6b, 0x7a, 0x41, 0xa0, - 0x73, 0x3d, 0x39, 0x3c, 0x82, 0xa8, 0x08, 0xcd, 0xb8, 0x9b, 0x65, 0x43, 0x22, 0xe3, 0xc7, 0xe9, 0x2c, 0x1b, 0x82, - 0x1d, 0xee, 0x45, 0x25, 0x2e, 0x47, 0xad, 0x0d, 0x4e, 0xcf, 0x93, 0x10, 0x42, 0x39, 0x60, 0x65, 0x77, 0xea, 0xcf, - 0xbd, 0x32, 0x13, 0x52, 0x93, 0xd5, 0xed, 0x94, 0xee, 0x61, 0x9a, 0x1f, 0x98, 0x11, 0x1c, 0x70, 0x6f, 0x7f, 0xd5, - 0x1f, 0xc3, 0x24, 0xd3, 0xe4, 0x14, 0xc9, 0x2f, 0xd2, 0x53, 0x48, 0xda, 0xa1, 0xa7, 0x8a, 0x00, 0x4e, 0xa8, 0xfd, - 0x18, 0x7e, 0xc3, 0xb8, 0x7f, 0xdb, 0x7c, 0xed, 0xa6, 0x22, 0x7a, 0x42, 0xb1, 0x4c, 0x4d, 0x4e, 0x93, 0xac, 0x48, - 0x20, 0x6a, 0xa3, 0x6a, 0x46, 0xf4, 0x95, 0x8b, 0xf9, 0xa8, 0x08, 0x9f, 0x57, 0xeb, 0xff, 0x0c, 0xe1, 0x33, 0x0a, - 0x37, 0x80, 0xcb, 0x2b, 0xae, 0x2e, 0xc2, 0xa7, 0x4f, 0xe8, 0xc1, 0xe4, 0xeb, 0x23, 0x7a, 0x70, 0xf4, 0xd5, 0x53, - 0x02, 0xb0, 0x68, 0x57, 0x17, 0xe1, 0xd1, 0xd3, 0xa7, 0xf4, 0xe0, 0x9b, 0x6f, 0xe8, 0xc1, 0xe4, 0xab, 0xa3, 0x46, - 0xda, 0xe4, 0xe9, 0x37, 0xf4, 0xe0, 0xeb, 0x27, 0x8d, 0xb4, 0xa3, 0xf1, 0x53, 0x7a, 0xf0, 0xf7, 0xaf, 0x4d, 0xda, - 0xdf, 0x20, 0xdb, 0x37, 0x47, 0xf8, 0x9f, 0x49, 0x9b, 0x3c, 0xfd, 0x8a, 0x1e, 0x4c, 0xc6, 0x50, 0xc9, 0x53, 0x57, - 0xc9, 0x78, 0x02, 0x1f, 0x7f, 0x05, 0xff, 0xfd, 0x8d, 0x04, 0x0b, 0x5a, 0x49, 0x96, 0x0b, 0xd4, 0x9f, 0xa1, 0x88, - 0x13, 0x55, 0x13, 0x09, 0x0f, 0x31, 0xb3, 0xfa, 0x26, 0x0e, 0x03, 0xe2, 0xd2, 0xa1, 0x20, 0x7a, 0x30, 0x1e, 0x3d, - 0x25, 0x81, 0x0f, 0x4f, 0x77, 0xeb, 0x83, 0x8c, 0xe5, 0x62, 0x9e, 0x7d, 0x91, 0x9b, 0xd8, 0x0a, 0x1e, 0x80, 0xd5, - 0x47, 0x3f, 0x57, 0x25, 0xe7, 0xd9, 0x17, 0x95, 0xdc, 0xcd, 0xf5, 0x6b, 0x0b, 0x50, 0xde, 0x5f, 0xb5, 0xec, 0xb6, - 0x50, 0xa1, 0xd3, 0x5a, 0xa3, 0xcf, 0x3e, 0x62, 0xfa, 0x60, 0xe0, 0xdd, 0xb0, 0xff, 0xb1, 0x53, 0x4e, 0xeb, 0x1b, - 0x8d, 0x42, 0x8d, 0xca, 0x43, 0xc2, 0x4e, 0xa0, 0xe8, 0xc1, 0x00, 0x78, 0x02, 0x0f, 0xf7, 0xed, 0xdf, 0x2c, 0xe3, - 0x63, 0x47, 0x19, 0x3f, 0xa1, 0x0c, 0x01, 0x8d, 0x7a, 0x98, 0xdd, 0xf4, 0xb0, 0xd1, 0xad, 0x5e, 0xb2, 0x54, 0x27, - 0x53, 0xd3, 0x33, 0xd8, 0xd7, 0xba, 0x96, 0x07, 0x46, 0x14, 0x2d, 0x2f, 0x0f, 0x52, 0x3e, 0xab, 0xd8, 0x3f, 0x96, - 0xa8, 0xde, 0x8a, 0x1a, 0x6f, 0x64, 0x36, 0xab, 0xd8, 0x77, 0xe6, 0x0d, 0x70, 0x33, 0xec, 0x57, 0xf5, 0xe4, 0x07, - 0xce, 0xe0, 0xd2, 0xb6, 0x47, 0x99, 0x18, 0x01, 0x56, 0x40, 0x06, 0x0e, 0x3c, 0x00, 0x3a, 0xe8, 0x8f, 0xf6, 0x76, - 0xab, 0x52, 0x9a, 0x7d, 0xb6, 0x30, 0x80, 0x86, 0x79, 0x9b, 0xb8, 0xb2, 0x7f, 0x6b, 0xc8, 0x4b, 0x50, 0xb8, 0xd5, - 0x2c, 0x6f, 0xa7, 0x30, 0x84, 0x10, 0xfc, 0x61, 0xc9, 0x00, 0x70, 0x20, 0xc0, 0x60, 0xac, 0x65, 0x40, 0xcd, 0x96, - 0x8f, 0x36, 0x5c, 0xa9, 0x27, 0x81, 0x33, 0xb8, 0x94, 0x45, 0xc2, 0xdf, 0x6a, 0xb1, 0x3f, 0x5a, 0x3f, 0xfa, 0xbe, - 0x3d, 0x1e, 0xac, 0x7d, 0x8f, 0x8f, 0xf4, 0x67, 0x8d, 0xeb, 0xc0, 0xa6, 0xe5, 0x1b, 0x2f, 0x6a, 0x2b, 0xf1, 0x28, - 0x81, 0x37, 0x30, 0x11, 0x29, 0x0c, 0x52, 0x2d, 0x70, 0x0c, 0xca, 0x1b, 0x0b, 0xb1, 0x54, 0x5d, 0xdd, 0x60, 0x0b, - 0x22, 0x43, 0xf0, 0x70, 0xfb, 0x6d, 0xa9, 0x02, 0x47, 0xf5, 0xfb, 0x5c, 0xfa, 0x6e, 0x4f, 0xc6, 0x8e, 0x1c, 0xa7, - 0x7e, 0x2a, 0x1c, 0xfc, 0x37, 0xa9, 0x6b, 0x63, 0xb9, 0x92, 0x32, 0xcb, 0xb2, 0xb0, 0x93, 0x50, 0xcb, 0x3d, 0x2a, - 0x0f, 0x92, 0x2f, 0xe4, 0x10, 0xc9, 0x02, 0xa3, 0x50, 0x90, 0xe1, 0x84, 0x8a, 0xd1, 0x5a, 0x94, 0xcb, 0xec, 0xb2, - 0x0a, 0x37, 0x4a, 0xa1, 0xcc, 0x29, 0xfa, 0x76, 0x83, 0x03, 0x09, 0x89, 0xb2, 0xf2, 0x4d, 0xfc, 0x26, 0x44, 0xb0, - 0x3a, 0xae, 0x6d, 0xa1, 0xb8, 0xb7, 0x3f, 0x79, 0xda, 0xc5, 0x1f, 0x19, 0x17, 0x50, 0x17, 0x8b, 0x69, 0x38, 0xb1, - 0xb1, 0x6f, 0xdc, 0x17, 0x56, 0xd3, 0x03, 0x50, 0xdf, 0xa5, 0x12, 0x23, 0xa8, 0xaf, 0x8c, 0x7d, 0x6c, 0x8f, 0x31, - 0x39, 0x83, 0x58, 0xc3, 0x2a, 0x67, 0xa6, 0xfa, 0x46, 0xd8, 0x09, 0x00, 0x37, 0x42, 0x6b, 0x74, 0x64, 0x92, 0x2a, - 0xc4, 0xf3, 0x52, 0x85, 0x6f, 0xcd, 0x08, 0x1d, 0x83, 0x37, 0x95, 0x6d, 0x64, 0x26, 0x7d, 0xc1, 0xa0, 0x39, 0xb6, - 0x75, 0x14, 0x56, 0x5b, 0x59, 0x76, 0x02, 0x70, 0x03, 0xd9, 0xb1, 0xb9, 0x78, 0xce, 0xaa, 0x79, 0xb6, 0x88, 0x4c, - 0x50, 0xc0, 0xa5, 0xb0, 0x0c, 0xda, 0x9b, 0x3d, 0xb2, 0x1d, 0x87, 0xd0, 0x0d, 0xf7, 0x11, 0x8c, 0xa7, 0xdd, 0x14, - 0xac, 0x20, 0x1a, 0x21, 0x1e, 0x66, 0xcc, 0xe2, 0x7b, 0xa5, 0x29, 0x4f, 0x55, 0x4b, 0x20, 0x70, 0x14, 0x42, 0x5d, - 0xec, 0x1a, 0x25, 0xb8, 0x4c, 0x8d, 0x60, 0x06, 0x3b, 0x76, 0xa4, 0xb6, 0x4b, 0xce, 0xe9, 0x50, 0x4d, 0x69, 0xa9, - 0xa7, 0x54, 0xfb, 0x1a, 0x8a, 0x79, 0x89, 0x1e, 0x7a, 0xe0, 0x7a, 0xa0, 0x1d, 0xf2, 0x4a, 0x3a, 0x31, 0x11, 0x74, - 0x5a, 0x6d, 0xc2, 0xce, 0x8d, 0x74, 0xcb, 0x6a, 0xe4, 0x1d, 0x43, 0xb3, 0x23, 0x5e, 0xf8, 0x81, 0xba, 0x00, 0x22, - 0x64, 0x6f, 0x8b, 0xcc, 0x11, 0xcd, 0xb2, 0xf2, 0x25, 0x94, 0xc5, 0x11, 0x5b, 0x57, 0xc0, 0xb5, 0x14, 0x4c, 0x2e, - 0x79, 0xc4, 0x53, 0x44, 0x04, 0x3c, 0x55, 0xda, 0xf5, 0x9d, 0x96, 0x10, 0x9a, 0xa5, 0x40, 0xdc, 0x5c, 0x14, 0xe7, - 0xda, 0x06, 0xb2, 0x00, 0xfa, 0xf6, 0x63, 0x76, 0xed, 0x85, 0x83, 0xdd, 0x5c, 0x67, 0xe2, 0x39, 0xbf, 0xcc, 0x04, - 0x4f, 0x11, 0xec, 0xea, 0xce, 0x3c, 0x70, 0xc7, 0xb6, 0x81, 0xe5, 0xdb, 0xb7, 0xb0, 0x60, 0xca, 0x50, 0x2b, 0x25, - 0x32, 0x11, 0x09, 0xc8, 0xec, 0x33, 0x77, 0xaf, 0x33, 0xf1, 0x3a, 0xbe, 0x03, 0x6f, 0x8a, 0x06, 0x3f, 0x3d, 0xba, - 0xc0, 0x2f, 0x11, 0x49, 0x14, 0x62, 0xd8, 0x62, 0x44, 0x2c, 0x44, 0x8e, 0x1d, 0x13, 0xca, 0x95, 0xa0, 0xb5, 0x35, - 0x04, 0x5e, 0xfc, 0x69, 0xd5, 0xbd, 0xeb, 0x4c, 0x18, 0xfb, 0x8c, 0xeb, 0xf8, 0x8e, 0x95, 0x0a, 0xcc, 0x02, 0xe3, - 0xdc, 0xb7, 0xa5, 0x24, 0xd7, 0x99, 0x30, 0x02, 0x92, 0xeb, 0xf8, 0x8e, 0x36, 0x65, 0x1c, 0xda, 0x8a, 0xce, 0x8b, - 0xf3, 0xbb, 0x3b, 0xfc, 0x12, 0x43, 0xad, 0x8c, 0xfb, 0x7d, 0x90, 0x98, 0x49, 0xdb, 0x94, 0x99, 0x8c, 0xa4, 0x46, - 0x0b, 0xa9, 0x28, 0x1f, 0x4c, 0xc8, 0xee, 0x4a, 0xb5, 0x8c, 0xa8, 0xfd, 0x2a, 0x14, 0xb3, 0x71, 0x34, 0x21, 0x74, - 0xd2, 0xb1, 0xde, 0x4d, 0x6b, 0x21, 0xd3, 0xe8, 0x69, 0xe4, 0xf9, 0x74, 0x16, 0xac, 0x9a, 0x16, 0xc7, 0x8c, 0x4f, - 0x8b, 0xc1, 0x80, 0x68, 0x97, 0xc2, 0x0d, 0xd6, 0x03, 0xa6, 0x34, 0x2e, 0xde, 0x9a, 0x69, 0xf5, 0x4b, 0xa9, 0x42, - 0xd2, 0x7b, 0x06, 0x24, 0x99, 0x74, 0xc1, 0x6e, 0x41, 0xa2, 0xe8, 0xf9, 0xdf, 0xa9, 0x2d, 0xb8, 0xeb, 0xc1, 0xd8, - 0x8c, 0xee, 0xeb, 0x19, 0xff, 0xa1, 0xb6, 0x05, 0x51, 0x9f, 0x4a, 0xd6, 0xeb, 0x48, 0x54, 0x21, 0x17, 0xe1, 0x67, - 0x47, 0x43, 0x0c, 0x51, 0xed, 0xb1, 0x40, 0xac, 0xaf, 0x2f, 0x78, 0x81, 0xd3, 0xcf, 0xdc, 0xe5, 0x0a, 0xb6, 0x05, - 0xad, 0x0c, 0x8d, 0x7a, 0x13, 0xbf, 0x89, 0xec, 0x65, 0x41, 0x17, 0xf9, 0x1c, 0x85, 0xac, 0x79, 0x18, 0x56, 0xc3, - 0xf6, 0x20, 0x92, 0xc3, 0xf6, 0x24, 0x34, 0x1a, 0x03, 0x0b, 0x64, 0x87, 0x46, 0xe0, 0x22, 0xb4, 0xf2, 0xb7, 0x63, - 0x70, 0xe1, 0xb2, 0x88, 0x2c, 0x43, 0x1d, 0xbf, 0xa9, 0xdd, 0x04, 0xd5, 0x2b, 0x74, 0x9a, 0xc2, 0xaa, 0x94, 0x49, - 0x3e, 0xfc, 0x7a, 0x29, 0x0b, 0xcc, 0xe4, 0x75, 0xd9, 0xa3, 0xaf, 0xed, 0xf6, 0x0e, 0x4c, 0xc1, 0xba, 0x4f, 0xde, - 0xd7, 0x8f, 0x3b, 0x7b, 0x02, 0x46, 0xb1, 0x2a, 0x47, 0x53, 0x48, 0xa9, 0x7d, 0x50, 0xea, 0x8f, 0xe1, 0x52, 0x68, - 0x8e, 0xdd, 0x02, 0x26, 0x01, 0xfb, 0x0c, 0xa9, 0x1e, 0xd3, 0x8e, 0x7d, 0x8e, 0x36, 0xb0, 0x24, 0xe0, 0xf0, 0x8f, - 0x32, 0x59, 0xfb, 0x57, 0x77, 0x91, 0x36, 0x43, 0xb6, 0xcc, 0x17, 0xc0, 0xe7, 0xc3, 0xae, 0x8d, 0x4a, 0x94, 0x4d, - 0x44, 0x92, 0xc2, 0x96, 0xc7, 0x20, 0xed, 0x51, 0x4c, 0x57, 0x05, 0x4f, 0x32, 0x94, 0x52, 0x24, 0xda, 0x27, 0x38, - 0x87, 0x37, 0xb8, 0x1f, 0x55, 0x40, 0x78, 0x15, 0x72, 0x3a, 0x4a, 0xa9, 0xb6, 0x80, 0x51, 0xd4, 0x03, 0x44, 0x79, - 0x19, 0xc8, 0xf1, 0xb6, 0xdb, 0x09, 0x5d, 0xb1, 0xe5, 0x70, 0x42, 0x91, 0x94, 0x5c, 0x61, 0xb9, 0xd7, 0xa0, 0xf3, - 0xb8, 0x60, 0xbd, 0x17, 0x80, 0x45, 0x70, 0x0e, 0x7f, 0x63, 0x42, 0x6f, 0xe0, 0x6f, 0x4e, 0xe8, 0x6b, 0x16, 0x5e, - 0x0f, 0xaf, 0xc8, 0x61, 0x98, 0x0e, 0x26, 0x4a, 0x30, 0x76, 0xcf, 0x96, 0x65, 0xa8, 0x12, 0x57, 0x87, 0x97, 0xe4, - 0xf1, 0x25, 0xbd, 0xa3, 0xb7, 0xf4, 0x8c, 0xbe, 0x05, 0xc2, 0x7f, 0x7f, 0x3c, 0xe1, 0xc3, 0xc9, 0x93, 0x7e, 0xbf, - 0x77, 0xd1, 0xef, 0xf7, 0xce, 0x8d, 0x01, 0x85, 0xde, 0x45, 0x57, 0x35, 0xd5, 0xbf, 0xae, 0xeb, 0xc5, 0xf4, 0xad, - 0xda, 0xb8, 0x09, 0xcf, 0xf2, 0xf0, 0xfa, 0xf0, 0x9e, 0x0c, 0xf1, 0xf1, 0x32, 0x97, 0xb2, 0x08, 0xaf, 0x0e, 0xef, - 0x09, 0x7d, 0x7b, 0x02, 0x7a, 0x53, 0xac, 0xef, 0xed, 0xe3, 0x7b, 0x5d, 0x1b, 0xa1, 0x2f, 0xc2, 0x04, 0xb6, 0xc9, - 0x1d, 0xb3, 0x77, 0xed, 0xc9, 0x18, 0x62, 0x99, 0xdc, 0x7b, 0xe5, 0xdd, 0x3f, 0xbe, 0x23, 0x87, 0x77, 0xe0, 0x29, - 0x6a, 0xc9, 0xdf, 0x2c, 0xbc, 0x65, 0xad, 0x1a, 0x1e, 0xdf, 0xd3, 0xb3, 0x56, 0x23, 0x1e, 0xdf, 0x93, 0x28, 0xbc, - 0x65, 0x57, 0xf4, 0x8c, 0x5d, 0x13, 0x7a, 0xd1, 0xef, 0x9f, 0xf7, 0xfb, 0xb2, 0xdf, 0xff, 0x47, 0x1c, 0x86, 0xf1, - 0xb0, 0x20, 0x87, 0x92, 0xde, 0x1f, 0x4e, 0xf8, 0x57, 0x64, 0x16, 0xea, 0xe6, 0xab, 0x05, 0x67, 0x55, 0xde, 0x2a, - 0xd7, 0x3d, 0x05, 0x6b, 0x85, 0x7b, 0xa6, 0x9e, 0xde, 0xd2, 0x5b, 0x56, 0xd0, 0x33, 0x16, 0x93, 0xe8, 0x06, 0x5a, - 0x71, 0x31, 0x2b, 0xa2, 0x5b, 0x7a, 0xc6, 0xce, 0x67, 0x71, 0x74, 0x46, 0xdf, 0xb2, 0x7c, 0x38, 0x81, 0xbc, 0x67, - 0xc3, 0x5b, 0x72, 0xf8, 0x96, 0x44, 0xe1, 0x5b, 0xfd, 0xfb, 0x9e, 0x5e, 0xf1, 0xf0, 0x2d, 0xf5, 0xaa, 0x79, 0x4b, - 0x4c, 0xf5, 0x8d, 0xda, 0xdf, 0x92, 0xc8, 0x1f, 0xcc, 0xb7, 0xd6, 0x9e, 0xe6, 0x91, 0xa3, 0x8d, 0x69, 0x19, 0x82, - 0xbe, 0xb9, 0x0c, 0x6f, 0x09, 0x99, 0x36, 0xc7, 0x0e, 0x06, 0x74, 0xf6, 0x28, 0x4a, 0x08, 0xbd, 0xf5, 0x4b, 0xbd, - 0xc5, 0x31, 0x34, 0x23, 0xa4, 0xd2, 0xce, 0x30, 0x0d, 0xd7, 0xc1, 0x2b, 0x0d, 0xd6, 0x71, 0xd1, 0xef, 0x87, 0xeb, - 0x7e, 0x1f, 0x22, 0xdd, 0x17, 0x33, 0x13, 0xdb, 0xcd, 0x91, 0x4d, 0x7a, 0x0b, 0xda, 0xff, 0x57, 0x83, 0x01, 0x74, - 0xc6, 0x2b, 0x29, 0xbc, 0x1d, 0xbc, 0x7a, 0x7c, 0x4f, 0x54, 0x1d, 0x05, 0x15, 0x32, 0x2c, 0xe8, 0x6b, 0x9a, 0x01, - 0xe0, 0xd7, 0xab, 0xc1, 0x80, 0x44, 0xe6, 0x33, 0x32, 0x7d, 0x75, 0xfc, 0x76, 0x3a, 0x18, 0xbc, 0x32, 0xdb, 0xe4, - 0x2f, 0xb6, 0xa7, 0x14, 0x58, 0x7f, 0xe7, 0xfd, 0xfe, 0x5f, 0x27, 0x31, 0xb9, 0x28, 0x78, 0xfc, 0x71, 0xda, 0x6c, - 0xcb, 0x5f, 0x2e, 0xaa, 0xda, 0x79, 0xbf, 0xbf, 0xee, 0xf7, 0xcf, 0x00, 0xbb, 0x68, 0xe6, 0x7c, 0x3d, 0x41, 0xda, - 0x32, 0x77, 0x14, 0x49, 0x93, 0x1c, 0x1a, 0x43, 0xdb, 0x62, 0xd5, 0xb6, 0x59, 0x47, 0x06, 0x16, 0x47, 0xcd, 0x8a, - 0xe2, 0x9a, 0x44, 0x61, 0xef, 0x7c, 0xbb, 0x3d, 0x63, 0x8c, 0xc5, 0x04, 0xa4, 0x1f, 0xfe, 0xeb, 0xb3, 0xba, 0x11, - 0x43, 0x4c, 0x48, 0x64, 0x36, 0x37, 0x4b, 0x7b, 0x08, 0x44, 0x1c, 0x36, 0xfd, 0x7b, 0x73, 0x2f, 0x17, 0xb5, 0xe3, - 0x5b, 0x7f, 0x03, 0x10, 0x22, 0xc9, 0x42, 0x3e, 0xc3, 0x31, 0x28, 0x33, 0x00, 0x32, 0x8f, 0xd4, 0xcc, 0x4b, 0x00, - 0x01, 0x26, 0xdb, 0xed, 0x68, 0x3c, 0x9e, 0xd0, 0x82, 0x8d, 0xfe, 0xf6, 0xf4, 0x71, 0xf5, 0x38, 0x0c, 0x82, 0x41, - 0x46, 0x5a, 0x7a, 0x0a, 0xbb, 0x58, 0xab, 0x43, 0x30, 0x82, 0xd7, 0xec, 0xe3, 0x4d, 0xf6, 0xd9, 0xec, 0x23, 0x12, - 0xd6, 0x06, 0xe3, 0xc8, 0x45, 0xda, 0xd2, 0xdb, 0xed, 0x61, 0x30, 0xb9, 0x48, 0x3f, 0xc1, 0x76, 0xfa, 0xfc, 0x9b, - 0x07, 0xe3, 0x09, 0x07, 0xa3, 0xbb, 0x28, 0xe8, 0x33, 0x6d, 0xbb, 0xad, 0xfc, 0x4b, 0xe0, 0x1b, 0x4c, 0x05, 0x1d, - 0x9b, 0x65, 0xe1, 0x06, 0x15, 0x51, 0x47, 0xcb, 0xa0, 0xaa, 0x95, 0xed, 0x1c, 0x50, 0x4b, 0xac, 0xca, 0xc4, 0x2d, - 0x30, 0x0c, 0x19, 0xea, 0x72, 0x4f, 0xab, 0xdf, 0x78, 0x21, 0x0d, 0x7c, 0x86, 0x13, 0x11, 0x7a, 0xdc, 0x1a, 0xf7, - 0xb9, 0x35, 0xf1, 0x09, 0x6e, 0xad, 0x44, 0x12, 0x6b, 0x60, 0x49, 0xcd, 0xe5, 0x28, 0x61, 0x27, 0x25, 0xe3, 0xb3, - 0x32, 0x4a, 0x68, 0x0c, 0x0f, 0x92, 0x89, 0x99, 0x8c, 0x12, 0xb4, 0x4f, 0x74, 0x11, 0x06, 0xff, 0x04, 0xcc, 0x7e, - 0x9a, 0xc3, 0x5f, 0x49, 0xa6, 0xc9, 0x31, 0x04, 0x84, 0x38, 0x1e, 0xcf, 0xe2, 0x70, 0x4c, 0xa2, 0xe4, 0x04, 0x9e, - 0xe0, 0xbf, 0x22, 0x1c, 0x93, 0x5a, 0xdf, 0x61, 0xa4, 0xba, 0xdc, 0x26, 0x0c, 0xe0, 0xca, 0xc6, 0xb3, 0x49, 0x64, - 0xa5, 0xbb, 0xf2, 0xf1, 0x68, 0xfc, 0x94, 0x4c, 0xe3, 0x50, 0x0e, 0x12, 0x42, 0xc1, 0xbb, 0x37, 0x2c, 0x87, 0x89, - 0x86, 0x67, 0x03, 0x36, 0xaf, 0x74, 0x6c, 0x9e, 0x84, 0x13, 0x10, 0x86, 0x09, 0x39, 0xd6, 0x3d, 0x48, 0x29, 0xfa, - 0x3c, 0xc7, 0x7e, 0xea, 0x23, 0x08, 0xb3, 0xa3, 0x96, 0x8a, 0xaf, 0x00, 0xe8, 0x12, 0x07, 0x87, 0xda, 0x33, 0x5f, - 0xcc, 0xc2, 0xd2, 0xa3, 0x52, 0xa6, 0xba, 0x43, 0xd1, 0xa0, 0xfc, 0xa6, 0x41, 0x87, 0x82, 0x0c, 0x26, 0xb4, 0x3c, - 0x99, 0xf0, 0xaf, 0x20, 0x80, 0x47, 0x23, 0xe2, 0x97, 0xc2, 0x89, 0x81, 0xf0, 0x2a, 0xc8, 0x40, 0xa5, 0xb5, 0x6a, - 0xcc, 0xc8, 0x56, 0x7c, 0x00, 0x61, 0x52, 0x0e, 0x6e, 0xe5, 0x3a, 0x4f, 0x21, 0x2a, 0xd8, 0x3a, 0xaf, 0x0e, 0xae, - 0xc0, 0x92, 0x3d, 0xae, 0x20, 0x4e, 0xd8, 0x7a, 0x05, 0xd8, 0xb9, 0x8f, 0x36, 0x65, 0x7d, 0xa0, 0xbe, 0x3b, 0xc0, - 0x96, 0xc3, 0xab, 0x4a, 0x1e, 0x4c, 0xc6, 0xe3, 0xf1, 0xe8, 0x77, 0x38, 0x3a, 0x80, 0xd0, 0x92, 0xc8, 0xf0, 0xc9, - 0x00, 0x8d, 0xbb, 0xae, 0xb8, 0x37, 0x2e, 0x14, 0x65, 0xa5, 0x93, 0x09, 0x01, 0xf1, 0xb3, 0xe9, 0x1b, 0xec, 0x2b, - 0xae, 0xe3, 0x9f, 0xec, 0x7e, 0x62, 0x56, 0xb4, 0x5a, 0xa9, 0xa3, 0x77, 0x6f, 0xcf, 0x5e, 0x7d, 0x78, 0xf5, 0xcb, - 0x8b, 0xf3, 0x57, 0x6f, 0x5e, 0xbe, 0x7a, 0xf3, 0xea, 0xc3, 0xbf, 0x1e, 0x60, 0xb0, 0x7d, 0x5b, 0x11, 0x3b, 0xf6, - 0xde, 0x3d, 0xc6, 0xab, 0xc5, 0x17, 0xce, 0x1e, 0xb9, 0x5b, 0x2c, 0xc0, 0x26, 0x18, 0x6e, 0x41, 0x50, 0xcd, 0x68, - 0x54, 0xfa, 0x9e, 0x80, 0x8c, 0x46, 0x85, 0x6c, 0x3c, 0xac, 0xd8, 0x0a, 0xb9, 0x78, 0xc7, 0x70, 0xf0, 0x91, 0xfd, - 0xad, 0x38, 0x13, 0x6e, 0x47, 0x5b, 0xb3, 0x22, 0xe0, 0xf3, 0xb5, 0x16, 0x95, 0xc7, 0x85, 0xa8, 0xbd, 0x6d, 0x9f, - 0x43, 0x42, 0x3d, 0x22, 0xd7, 0xc1, 0xfb, 0x36, 0xc8, 0x1e, 0x1f, 0x79, 0x4f, 0xca, 0x33, 0xd4, 0xe7, 0x68, 0xf8, - 0xa8, 0xf1, 0x8c, 0x4e, 0xcc, 0xb5, 0xd1, 0xa1, 0x9e, 0x17, 0xb0, 0xbf, 0x95, 0x18, 0x1b, 0xa2, 0x3d, 0xa4, 0x88, - 0xf5, 0xe1, 0x74, 0xbf, 0xbb, 0x37, 0xa3, 0xef, 0xe0, 0xf8, 0x51, 0xaa, 0x09, 0xa4, 0x45, 0x81, 0xd2, 0x95, 0x21, - 0xb7, 0x3d, 0x0b, 0x0b, 0xf3, 0x33, 0x6c, 0x10, 0x40, 0x7b, 0xd9, 0xb1, 0x24, 0xd0, 0x2c, 0x5e, 0xeb, 0xfa, 0xe7, - 0xe5, 0xcb, 0x44, 0x3b, 0x5f, 0x7c, 0x07, 0x21, 0x86, 0xfd, 0x2b, 0x42, 0x63, 0xc2, 0xdd, 0x24, 0xbb, 0x4b, 0x8b, - 0xb9, 0x57, 0x5d, 0xc7, 0x78, 0xdc, 0xed, 0xb9, 0x52, 0x34, 0x6f, 0x5d, 0x60, 0x0f, 0xd4, 0xbc, 0x8e, 0x97, 0x2c, - 0x04, 0x6c, 0xc6, 0x43, 0xbb, 0x48, 0x9c, 0xdf, 0x3b, 0x9d, 0x90, 0xc3, 0xa3, 0x29, 0x1f, 0xb2, 0x92, 0x8a, 0x01, - 0x2b, 0xeb, 0x1d, 0x6a, 0xce, 0xdb, 0x84, 0x5c, 0xec, 0xd2, 0x70, 0x31, 0xe4, 0x0f, 0x5d, 0x92, 0x3e, 0xf0, 0x86, - 0x43, 0xb5, 0x6d, 0x2e, 0x86, 0x34, 0xe5, 0x74, 0x97, 0xca, 0x80, 0x10, 0xe9, 0x3a, 0xae, 0x48, 0xad, 0x8f, 0xaa, - 0xd4, 0x49, 0x3a, 0x6e, 0xb2, 0xcd, 0x27, 0x2e, 0xd9, 0xea, 0x76, 0xed, 0x5f, 0xab, 0xdb, 0x17, 0x66, 0x20, 0x7f, - 0x7f, 0x20, 0xaa, 0x89, 0x81, 0xe8, 0x02, 0x2a, 0xf8, 0x07, 0x78, 0x79, 0xf2, 0x48, 0x2b, 0x40, 0xf7, 0x9d, 0x1d, - 0x5d, 0x7b, 0xbc, 0x31, 0x8b, 0xad, 0x25, 0xce, 0x59, 0xe5, 0x3b, 0xcb, 0xab, 0xb2, 0x15, 0xba, 0x8e, 0x60, 0xbf, - 0x85, 0x1d, 0x7d, 0xf7, 0xb6, 0x01, 0x10, 0xa5, 0xb0, 0x72, 0x67, 0xbf, 0xf0, 0xce, 0x7e, 0x61, 0xcf, 0x7e, 0xbb, - 0x09, 0x94, 0x0f, 0x2b, 0xb4, 0xec, 0xa5, 0x14, 0x95, 0x69, 0xf2, 0xb8, 0xa9, 0xcb, 0x42, 0x5a, 0xcc, 0x0f, 0x2d, - 0xed, 0x7a, 0x32, 0xa6, 0x12, 0xd5, 0x23, 0xdf, 0x63, 0xab, 0x0e, 0x4b, 0xf2, 0xf0, 0x3d, 0xf3, 0x7f, 0xf6, 0x06, - 0xb9, 0xef, 0x6e, 0xf7, 0x7f, 0x73, 0xa1, 0x83, 0xdb, 0x5a, 0x2a, 0x3c, 0x75, 0x75, 0x5c, 0xe0, 0x5d, 0x2d, 0x7d, - 0xf8, 0xae, 0xf6, 0x2e, 0xd3, 0xcb, 0xae, 0x02, 0xd4, 0x20, 0xb1, 0xbe, 0xe6, 0x45, 0x96, 0xd4, 0x56, 0xa1, 0xf1, - 0x96, 0x43, 0x68, 0x0f, 0xef, 0xe0, 0x02, 0x39, 0x2c, 0x21, 0xf4, 0x63, 0x65, 0x04, 0x80, 0x3e, 0x8b, 0xfd, 0x96, - 0x87, 0x19, 0x19, 0xf8, 0x12, 0xbf, 0x52, 0xfa, 0xe2, 0xe2, 0xc3, 0x9d, 0xcc, 0x04, 0xbd, 0x4a, 0x6c, 0x76, 0x29, - 0xdb, 0x31, 0x3f, 0xfc, 0x2f, 0x30, 0x1a, 0x84, 0xd7, 0x96, 0xec, 0x50, 0x74, 0xcc, 0x72, 0x05, 0x47, 0x6d, 0xe9, - 0xca, 0x2c, 0x5b, 0xd7, 0xcf, 0x6a, 0x98, 0xe9, 0x33, 0xe5, 0x2d, 0xc8, 0xbe, 0x90, 0xbb, 0x9f, 0xea, 0x8a, 0x05, - 0x39, 0x99, 0x8c, 0xa7, 0x44, 0x0c, 0x06, 0xad, 0xe4, 0x63, 0x4c, 0x1e, 0x0e, 0x77, 0x98, 0x4b, 0xa1, 0xfb, 0xe1, - 0xf5, 0x01, 0xea, 0x6b, 0x6c, 0x49, 0xb2, 0xa9, 0xd8, 0x9f, 0x60, 0x16, 0x0b, 0xc4, 0xd1, 0xc1, 0x2f, 0xce, 0x17, - 0x00, 0xb2, 0x0c, 0xcb, 0x4c, 0x0b, 0x8b, 0xca, 0x54, 0xf9, 0xc8, 0x16, 0x4c, 0x1e, 0x8f, 0x67, 0x7e, 0xcf, 0x1d, - 0x83, 0x43, 0x48, 0x34, 0xb1, 0xc6, 0x2f, 0x7e, 0x16, 0x8c, 0xe3, 0x50, 0x9e, 0xc8, 0xc6, 0x77, 0x25, 0x89, 0xc6, - 0xc6, 0x54, 0x59, 0x5f, 0x25, 0xaa, 0x61, 0x42, 0x1e, 0x17, 0xe4, 0xb0, 0xa0, 0x4b, 0x7f, 0x2c, 0x31, 0xfd, 0x30, - 0x3e, 0x9c, 0x8c, 0xc9, 0xe3, 0xf8, 0xf1, 0xc4, 0xc0, 0x0d, 0xfb, 0x39, 0xf2, 0xe1, 0x92, 0x1c, 0x36, 0xab, 0x04, - 0x53, 0x54, 0xd3, 0x33, 0xbf, 0x92, 0x64, 0xb0, 0x1c, 0xa4, 0x8f, 0x5b, 0x79, 0xb1, 0x56, 0x3d, 0xde, 0xeb, 0x63, - 0x3e, 0x25, 0xa2, 0x71, 0x63, 0x58, 0xd3, 0xeb, 0xf8, 0x0f, 0x59, 0x44, 0xa5, 0x04, 0x44, 0x42, 0x50, 0x6f, 0x67, - 0x97, 0x59, 0x12, 0x8b, 0x34, 0x4a, 0x6b, 0x42, 0xd3, 0x13, 0x36, 0x19, 0xcf, 0x52, 0x96, 0x1e, 0x4f, 0x9e, 0xce, - 0x26, 0x4f, 0xa3, 0xa3, 0x71, 0x94, 0x0e, 0x06, 0x90, 0x7c, 0x34, 0x06, 0x17, 0x3b, 0xf8, 0xcd, 0x8e, 0x60, 0xe8, - 0x4e, 0x90, 0x25, 0x2c, 0xa0, 0x69, 0x9f, 0xd7, 0x24, 0x3d, 0x9c, 0x97, 0xaa, 0x27, 0xf1, 0x1d, 0x5d, 0x7b, 0x0e, - 0x2e, 0x7e, 0x0b, 0x2f, 0x5d, 0x0b, 0x2f, 0x77, 0x5b, 0x28, 0x4c, 0xdc, 0x14, 0xf9, 0xff, 0xe3, 0x86, 0xb1, 0xef, - 0x2e, 0x61, 0x16, 0xd7, 0x4d, 0x36, 0x5a, 0x15, 0xb2, 0x92, 0x70, 0x9b, 0x50, 0xa2, 0xb0, 0x51, 0xbc, 0x5a, 0xe5, - 0xda, 0x45, 0x6c, 0x5e, 0x51, 0x00, 0x77, 0x81, 0x38, 0xc5, 0xc0, 0x42, 0x1b, 0x03, 0xb9, 0xbf, 0x78, 0x21, 0x99, - 0x55, 0xfb, 0x98, 0x7b, 0xe4, 0x1f, 0x21, 0x18, 0xa3, 0x8a, 0x93, 0xf1, 0x4c, 0x61, 0x5d, 0x7c, 0x4a, 0xde, 0xfb, - 0x6f, 0x1c, 0x45, 0xf6, 0x68, 0x06, 0x3d, 0x41, 0xe4, 0x3c, 0xe2, 0xec, 0xc9, 0xe4, 0x65, 0xe0, 0x7e, 0x06, 0x2b, - 0xfd, 0x75, 0xb7, 0x19, 0x6b, 0xdb, 0xa3, 0x7b, 0x61, 0x84, 0xa2, 0x7f, 0xe1, 0x3b, 0x53, 0x2f, 0xe0, 0x12, 0xaa, - 0x81, 0x5d, 0x5f, 0x5d, 0xf1, 0x12, 0x40, 0x84, 0x32, 0xd1, 0xef, 0xf7, 0xfe, 0x30, 0xd0, 0xa4, 0x25, 0x2f, 0x5e, - 0x67, 0xc2, 0x3a, 0xe3, 0x40, 0x53, 0x81, 0xfa, 0x7f, 0xac, 0xec, 0x33, 0x1d, 0x93, 0x99, 0xff, 0x38, 0x9c, 0x90, - 0xa8, 0xf9, 0x9a, 0x7c, 0xe2, 0x34, 0xfd, 0xc4, 0x15, 0xed, 0x3f, 0x90, 0x99, 0x1b, 0x0e, 0x19, 0xea, 0x2f, 0x1d, - 0xf3, 0x64, 0xf4, 0x3a, 0x31, 0x3b, 0x11, 0xac, 0x9a, 0x41, 0x14, 0xf6, 0x02, 0x1e, 0xd4, 0xb5, 0x2c, 0x9e, 0xc2, - 0xec, 0x83, 0x1a, 0x51, 0x1c, 0xb3, 0xf1, 0x2c, 0x94, 0xe1, 0x04, 0xec, 0x7b, 0x27, 0x63, 0xb8, 0x0f, 0xc8, 0xf0, - 0x63, 0x15, 0x62, 0xe7, 0x20, 0xed, 0x63, 0x85, 0x8a, 0x09, 0x80, 0x08, 0x84, 0xbc, 0xfd, 0xbe, 0x54, 0x49, 0xf8, - 0xba, 0xc4, 0x94, 0x42, 0x7d, 0xf0, 0x9f, 0x48, 0xd5, 0x1d, 0xd3, 0xaf, 0xd6, 0x8f, 0x3f, 0x13, 0x8a, 0x4f, 0x77, - 0x29, 0xf1, 0x1d, 0x04, 0x77, 0x96, 0xa0, 0x83, 0xa8, 0xd0, 0x8c, 0xed, 0x61, 0x7e, 0x57, 0xec, 0xe7, 0x77, 0xc5, - 0xff, 0x3b, 0x7e, 0x57, 0x3c, 0xc4, 0x18, 0x56, 0x16, 0x1a, 0x7e, 0x16, 0x8c, 0x83, 0xe8, 0x3f, 0xe7, 0x13, 0xf7, - 0xf2, 0xd4, 0xd7, 0x99, 0x98, 0xee, 0x61, 0x9a, 0x7d, 0x82, 0x82, 0xb0, 0x8a, 0xbb, 0xf4, 0x64, 0x5d, 0xd9, 0x5b, - 0x2b, 0x19, 0x62, 0x9e, 0x07, 0x58, 0xa3, 0xb0, 0xf2, 0x80, 0xee, 0x51, 0xb5, 0x41, 0x9c, 0x08, 0x1e, 0xc6, 0xcc, - 0x4a, 0xdf, 0xb7, 0x5b, 0xa3, 0xc2, 0x7c, 0x90, 0x8b, 0x82, 0xec, 0xe6, 0xe3, 0xd9, 0x38, 0x0a, 0xb1, 0x01, 0xff, - 0x31, 0x63, 0xd5, 0x90, 0xcd, 0x77, 0x32, 0x52, 0x3b, 0x26, 0x4f, 0x93, 0x5d, 0xd2, 0x3b, 0xe0, 0x1d, 0xf2, 0x73, - 0x70, 0x67, 0x93, 0x86, 0xdf, 0x92, 0x57, 0x71, 0x91, 0x55, 0xcb, 0xeb, 0x2c, 0x41, 0xa6, 0x0b, 0x5e, 0x7c, 0x36, - 0xd3, 0xe5, 0x7d, 0xac, 0x0f, 0x18, 0x4f, 0x29, 0x5e, 0x37, 0x44, 0xe9, 0xeb, 0x96, 0x67, 0x85, 0xba, 0x3c, 0xa9, - 0x98, 0xed, 0x59, 0x09, 0x4e, 0xa7, 0x60, 0x82, 0xaf, 0x7f, 0xba, 0xde, 0x27, 0x80, 0x0b, 0x0a, 0x35, 0xa7, 0x85, - 0x5c, 0x19, 0x2c, 0x27, 0x0b, 0xdd, 0x09, 0x98, 0xa1, 0x52, 0xe0, 0x05, 0x0a, 0xfe, 0xa2, 0x81, 0x11, 0x7d, 0xe9, - 0x7e, 0x93, 0x81, 0x41, 0xba, 0x34, 0x27, 0xc2, 0xd8, 0x71, 0x3b, 0x45, 0xda, 0x8a, 0x72, 0xc6, 0xd9, 0x7b, 0x75, - 0xa5, 0x00, 0x03, 0xbc, 0xcd, 0x6d, 0x74, 0x91, 0xa0, 0xd7, 0x82, 0xd2, 0x79, 0x03, 0x77, 0xb3, 0x8c, 0x8c, 0x70, - 0xf1, 0x71, 0xe5, 0xb1, 0xe0, 0x9e, 0xfd, 0x42, 0x2c, 0x8d, 0x66, 0x1a, 0x8c, 0xd9, 0xbc, 0x60, 0x81, 0x42, 0x05, - 0x0a, 0x2c, 0x67, 0xda, 0xd2, 0xb4, 0x1a, 0xf2, 0xc3, 0x23, 0xb4, 0x36, 0xad, 0x06, 0xfc, 0xf0, 0xa8, 0x8e, 0xb2, - 0x63, 0xc8, 0x72, 0xe2, 0x67, 0x50, 0xaf, 0xeb, 0xc8, 0xa4, 0x98, 0xec, 0x7e, 0x7d, 0xa9, 0x3f, 0xaa, 0x1b, 0x70, - 0xfd, 0x00, 0x04, 0xb0, 0x01, 0x38, 0x04, 0xaa, 0xc1, 0xd2, 0x88, 0x60, 0x51, 0xa6, 0xd0, 0xbe, 0x86, 0xde, 0x1b, - 0x0d, 0xff, 0x05, 0xee, 0x22, 0x72, 0xe5, 0x7f, 0x82, 0xc0, 0x5f, 0x51, 0xa6, 0x95, 0x29, 0xfe, 0x27, 0x5a, 0xbd, - 0x42, 0x39, 0x6b, 0x5a, 0xf3, 0x41, 0xb4, 0x26, 0x42, 0x35, 0x63, 0x08, 0xfe, 0xad, 0x2c, 0xd3, 0x96, 0xaa, 0x4a, - 0x7d, 0x68, 0xbc, 0xd6, 0x0a, 0x67, 0xf9, 0x38, 0xf2, 0x5e, 0x63, 0xe8, 0xd8, 0xc4, 0x59, 0xca, 0xa9, 0xd4, 0xd9, - 0x9b, 0x43, 0x19, 0x39, 0xc0, 0xe9, 0x84, 0x8d, 0xa7, 0xc9, 0xb1, 0x9c, 0x26, 0x0e, 0x32, 0x3f, 0x67, 0x18, 0x59, - 0xd5, 0x80, 0xb0, 0x28, 0x1b, 0x4a, 0x5b, 0x80, 0x49, 0x4e, 0x08, 0x99, 0x62, 0x28, 0x8a, 0x7c, 0xa4, 0xfb, 0x61, - 0xbd, 0x59, 0xdd, 0x17, 0xef, 0x34, 0xc0, 0x69, 0x98, 0x40, 0x20, 0xf0, 0x22, 0xbe, 0xcd, 0xc4, 0x15, 0x78, 0x0c, - 0x0f, 0xe0, 0x4b, 0x70, 0x93, 0x4b, 0xd9, 0xaf, 0x55, 0x98, 0xe3, 0xda, 0x02, 0x06, 0x0d, 0x56, 0x0f, 0xa2, 0xc3, - 0xa5, 0xb4, 0xd9, 0x55, 0x80, 0xd8, 0x98, 0x42, 0x2c, 0x0b, 0xb6, 0xb6, 0xec, 0xd9, 0x4f, 0xaa, 0x69, 0x68, 0x9d, - 0x70, 0x2a, 0xae, 0x72, 0x88, 0xa2, 0x32, 0x88, 0xc1, 0x1d, 0xc9, 0xe3, 0xf3, 0x1e, 0x89, 0xf0, 0x92, 0x80, 0x5b, - 0x59, 0x2c, 0xc3, 0x15, 0x5d, 0x8e, 0xee, 0xe8, 0x7a, 0x74, 0x4b, 0xc7, 0x74, 0xf2, 0xf7, 0x31, 0x58, 0x64, 0xeb, - 0xd4, 0x7b, 0xba, 0x1e, 0x2d, 0xe9, 0x37, 0x63, 0x7a, 0xf4, 0x37, 0x30, 0xe1, 0xc3, 0xc3, 0x84, 0x5e, 0x82, 0x63, - 0x17, 0xa9, 0xd1, 0x53, 0xd3, 0x37, 0x38, 0xac, 0x46, 0xf9, 0x90, 0x8f, 0x72, 0xca, 0x47, 0xc5, 0xb0, 0x1a, 0x81, - 0xa7, 0x63, 0x35, 0xe4, 0xa3, 0x8a, 0xf2, 0xd1, 0xc5, 0xb0, 0x1a, 0x5d, 0x90, 0x66, 0xd3, 0x5f, 0x55, 0xfc, 0xba, - 0x64, 0x29, 0x6c, 0x0b, 0x58, 0xbe, 0x9e, 0x57, 0x54, 0xea, 0xaf, 0x6a, 0x73, 0x32, 0x5b, 0xce, 0xde, 0x5e, 0x77, - 0x39, 0xb1, 0x78, 0xdc, 0x36, 0x1d, 0xae, 0xbe, 0x9c, 0xa8, 0x93, 0x5e, 0x21, 0x3f, 0x8c, 0xa7, 0x42, 0x9d, 0x43, - 0x60, 0x26, 0x31, 0x0b, 0x63, 0x86, 0xcd, 0xd4, 0x69, 0xa0, 0xc0, 0xc9, 0x46, 0x9e, 0x8b, 0x62, 0x36, 0xca, 0x29, - 0xbc, 0x8f, 0x09, 0x89, 0x04, 0x9c, 0x55, 0x27, 0xd5, 0xa8, 0x80, 0x98, 0x23, 0x2c, 0xc4, 0x47, 0xe8, 0x97, 0xfa, - 0xc8, 0x43, 0x02, 0xcf, 0xb0, 0xaf, 0xc5, 0x20, 0x86, 0x23, 0xde, 0x56, 0x56, 0xcd, 0xc2, 0x04, 0x2a, 0xab, 0x86, - 0xa5, 0xa9, 0xac, 0xa0, 0xd9, 0xa8, 0xf2, 0x2b, 0xab, 0x70, 0x8c, 0x12, 0x42, 0xa2, 0x52, 0x57, 0x06, 0xea, 0x93, - 0x84, 0x85, 0xa5, 0xae, 0xec, 0x42, 0x7d, 0x74, 0xe1, 0x57, 0x76, 0x01, 0x2e, 0xa4, 0x83, 0xc4, 0xbf, 0x4a, 0xe5, - 0x69, 0xfb, 0x3a, 0xd8, 0x58, 0x55, 0x74, 0xc3, 0xef, 0xaa, 0x22, 0x8e, 0x4a, 0xea, 0x62, 0x40, 0xe3, 0xc2, 0x88, - 0x24, 0xd5, 0x6b, 0x14, 0xfc, 0x21, 0x41, 0x54, 0x1a, 0x83, 0x57, 0x67, 0xd2, 0xb5, 0x52, 0x2b, 0x2a, 0x06, 0xe5, - 0xa0, 0x80, 0xfb, 0x53, 0xde, 0x5a, 0x48, 0x3f, 0x41, 0x44, 0x65, 0x28, 0x6f, 0xf0, 0x4f, 0x0c, 0x9e, 0xcc, 0x56, - 0x69, 0x98, 0x8c, 0xee, 0x69, 0x3c, 0x5a, 0x22, 0x1c, 0x0c, 0x5b, 0xa7, 0x0a, 0x6f, 0xfd, 0x12, 0xd2, 0xef, 0x68, - 0x3c, 0xba, 0xa5, 0xa9, 0xb5, 0x39, 0x35, 0x50, 0x57, 0xbd, 0x31, 0xbd, 0x8b, 0xe0, 0xf5, 0x7d, 0xb4, 0xa4, 0xb0, - 0x95, 0x4e, 0xf3, 0xec, 0x4a, 0x44, 0x29, 0x45, 0x04, 0xc2, 0x35, 0x22, 0x07, 0x2e, 0x35, 0xda, 0xe0, 0x7a, 0x00, - 0x65, 0x68, 0xb8, 0xc0, 0xe5, 0x20, 0x1e, 0x2d, 0x3d, 0x32, 0xb5, 0xd4, 0x17, 0x59, 0x84, 0x8f, 0x76, 0x36, 0x5a, - 0x8a, 0x67, 0xc4, 0xc2, 0xb8, 0x82, 0x21, 0xd4, 0x85, 0x95, 0xa6, 0x20, 0xe9, 0x02, 0x47, 0xf6, 0xc2, 0xb8, 0x0a, - 0x37, 0x60, 0x5a, 0x74, 0x0f, 0xe6, 0x51, 0xa0, 0x70, 0x70, 0x09, 0xd2, 0x4f, 0x28, 0xdb, 0x39, 0x4a, 0x93, 0xc3, - 0x9b, 0xa0, 0x74, 0x67, 0x82, 0x90, 0x76, 0x75, 0x93, 0x2d, 0xe9, 0x1b, 0x6c, 0xef, 0xd0, 0xa9, 0xa8, 0xa0, 0xfa, - 0xdc, 0x82, 0xc9, 0x92, 0x0d, 0xc2, 0x96, 0x30, 0x3d, 0xd3, 0x6b, 0xc0, 0x9e, 0x3e, 0x3c, 0xda, 0x99, 0xef, 0x62, - 0xf6, 0xe6, 0xb0, 0x8c, 0xc6, 0xca, 0x82, 0x37, 0xb7, 0xc4, 0x6e, 0xc9, 0xc6, 0xd3, 0xe5, 0x71, 0x39, 0x5d, 0x22, - 0xb1, 0x33, 0x74, 0x8b, 0xf1, 0xf9, 0x72, 0x41, 0x13, 0x3c, 0xdb, 0x58, 0x35, 0x5f, 0x1a, 0xb4, 0x94, 0x94, 0xe1, - 0x7a, 0x5b, 0xa2, 0xff, 0xbf, 0xba, 0xf8, 0xa5, 0x00, 0x2f, 0xc1, 0x58, 0x00, 0x08, 0xf7, 0x60, 0x5a, 0x90, 0xda, - 0x28, 0x1b, 0xcb, 0x34, 0x4c, 0x71, 0x11, 0x98, 0x94, 0x7e, 0x3f, 0xcc, 0x59, 0x4a, 0x3c, 0xe8, 0x50, 0x77, 0x6a, - 0xa7, 0xbe, 0x10, 0x04, 0x78, 0x24, 0x75, 0x8e, 0x4d, 0xfe, 0x3e, 0x9e, 0x05, 0x6a, 0x20, 0x82, 0x28, 0x3b, 0xc6, - 0x47, 0x0c, 0x5c, 0x14, 0xe9, 0xb8, 0x9d, 0xae, 0x88, 0xcb, 0xdd, 0x63, 0x16, 0xe2, 0x24, 0x61, 0xae, 0x59, 0x36, - 0x64, 0x55, 0x84, 0x09, 0xba, 0x30, 0x30, 0xcb, 0x1b, 0xb2, 0xea, 0xf0, 0x08, 0x22, 0xb5, 0xda, 0x32, 0x56, 0x5d, - 0x65, 0x7c, 0x03, 0x40, 0xd6, 0x8c, 0xb1, 0xa3, 0xbf, 0x8d, 0x67, 0xea, 0x9b, 0x28, 0xe4, 0x27, 0x47, 0x7f, 0x83, - 0xe4, 0xe3, 0x6f, 0x90, 0x99, 0x83, 0xe4, 0x46, 0x41, 0x57, 0xcd, 0x59, 0xd7, 0x50, 0x9a, 0xb8, 0xf6, 0x4a, 0xbd, - 0xf6, 0xa4, 0x59, 0x7b, 0x05, 0xba, 0x53, 0x1b, 0xde, 0x43, 0xd9, 0xce, 0x82, 0x09, 0x3a, 0x9a, 0xdd, 0x81, 0x0e, - 0xde, 0x29, 0x82, 0x5e, 0x24, 0xa1, 0xf1, 0x08, 0x55, 0x46, 0xbd, 0x18, 0x0f, 0xaa, 0x93, 0x75, 0xc9, 0x3c, 0x03, - 0xe6, 0xd8, 0x9e, 0x43, 0x62, 0x98, 0xab, 0x83, 0x3a, 0x65, 0xe5, 0x30, 0xc7, 0x03, 0x78, 0xcd, 0xe4, 0x50, 0x0c, - 0x72, 0x8d, 0xf2, 0x7d, 0xc9, 0x8a, 0x61, 0x39, 0xc8, 0x35, 0x37, 0x33, 0x6d, 0xc6, 0xa6, 0x4d, 0x74, 0x78, 0xe6, - 0x15, 0x3b, 0x59, 0xf5, 0x80, 0x8f, 0x05, 0x4f, 0x66, 0xdf, 0xf3, 0xf1, 0x35, 0x70, 0x32, 0x9b, 0xbb, 0x68, 0x49, - 0xef, 0xa3, 0x94, 0xde, 0x46, 0x6b, 0xba, 0x8c, 0x2e, 0x8d, 0x89, 0x71, 0x52, 0xc3, 0x39, 0x00, 0xad, 0x02, 0x48, - 0x3c, 0xf5, 0xeb, 0x3d, 0x4f, 0xaa, 0x70, 0x49, 0x53, 0x70, 0x1b, 0xf6, 0xed, 0x33, 0xaf, 0x7d, 0x89, 0xd4, 0x06, - 0x31, 0xd6, 0xac, 0xa1, 0xe2, 0xc6, 0x5b, 0xf7, 0x91, 0xa8, 0x61, 0xe7, 0xba, 0xd8, 0x44, 0xd5, 0x70, 0x32, 0x2d, - 0x01, 0xb1, 0xb5, 0x1c, 0x0e, 0xdd, 0x11, 0xb2, 0x7b, 0xfc, 0xe8, 0x40, 0xcf, 0x3d, 0x69, 0xb1, 0x6d, 0x5b, 0xfe, - 0xc0, 0x10, 0xa6, 0xf4, 0xd3, 0x47, 0x3e, 0x20, 0x56, 0x5c, 0xc1, 0xd9, 0x08, 0xd4, 0xd1, 0x0a, 0x9d, 0x7e, 0xad, - 0xc2, 0x42, 0x1f, 0xe0, 0x9b, 0xbb, 0x28, 0xa1, 0xf7, 0x51, 0xee, 0x91, 0xb5, 0x65, 0xcd, 0xe4, 0xf4, 0x3c, 0x0b, - 0x79, 0xfb, 0x40, 0x2f, 0x17, 0x00, 0xa2, 0x35, 0x88, 0x7d, 0xa9, 0xeb, 0x11, 0x38, 0x0d, 0xa1, 0x49, 0x68, 0x04, - 0x57, 0x15, 0x84, 0x11, 0x70, 0x25, 0xe1, 0x6f, 0x30, 0x51, 0x81, 0x2f, 0xc0, 0x45, 0x26, 0x4d, 0x73, 0x1e, 0xd4, - 0xfe, 0x48, 0x9e, 0x15, 0x6d, 0x6f, 0x57, 0x18, 0x4d, 0x30, 0xf6, 0x44, 0xfb, 0x3c, 0x52, 0x8e, 0xe2, 0x22, 0x09, - 0xb3, 0xd1, 0x9d, 0x3a, 0xcf, 0x69, 0x36, 0xba, 0xd7, 0xbf, 0x2a, 0x3a, 0xa6, 0xbf, 0xe8, 0x80, 0x36, 0x4a, 0xfa, - 0xd6, 0x71, 0x36, 0xa0, 0xf5, 0x62, 0x69, 0xfc, 0xaf, 0xe5, 0xe8, 0x8e, 0xca, 0xd1, 0xbd, 0x6f, 0x49, 0x35, 0x99, - 0x16, 0xc7, 0x02, 0x0d, 0xa9, 0x3a, 0xbf, 0x2f, 0x80, 0x9f, 0x2b, 0x8d, 0xef, 0xb4, 0xf9, 0xde, 0x6b, 0xff, 0x45, - 0x27, 0x4f, 0xa0, 0x58, 0xa2, 0x82, 0x55, 0x23, 0xb0, 0x63, 0x5f, 0xe7, 0x71, 0x61, 0x46, 0x29, 0xa6, 0xd6, 0xa4, - 0x1f, 0x03, 0x57, 0x4c, 0x7b, 0x05, 0xb8, 0x5a, 0x82, 0x93, 0x00, 0xc4, 0xd0, 0x84, 0x3d, 0x3b, 0x86, 0xa8, 0xe7, - 0xc6, 0x31, 0x4a, 0x36, 0xdc, 0x03, 0x62, 0x2d, 0xf3, 0x56, 0x2e, 0x01, 0x09, 0xbc, 0xf5, 0x30, 0x29, 0x00, 0x63, - 0xb0, 0x5c, 0x12, 0x9d, 0xc7, 0x43, 0x9f, 0x50, 0x2f, 0x34, 0xea, 0x84, 0x6c, 0x6c, 0x09, 0x1c, 0x7f, 0x58, 0x1f, - 0x02, 0xc1, 0xab, 0x3c, 0xd7, 0x5f, 0x69, 0x5d, 0x7f, 0xa9, 0xf4, 0xdc, 0xb1, 0x5c, 0xd7, 0xcf, 0xdb, 0xd4, 0xe8, - 0x25, 0x58, 0xf8, 0x6e, 0x94, 0x79, 0x24, 0xb7, 0x08, 0xa9, 0x0a, 0xac, 0xd4, 0x2d, 0x24, 0x98, 0x7f, 0x25, 0x67, - 0xab, 0x32, 0x5f, 0x3d, 0xf2, 0xa0, 0x9c, 0x4d, 0x4f, 0x7f, 0x43, 0x82, 0x76, 0xdf, 0x91, 0xe6, 0xf1, 0x16, 0x1d, - 0x3e, 0xbb, 0xd6, 0x12, 0x73, 0x27, 0x51, 0xf1, 0x7c, 0x0a, 0xd8, 0xea, 0x79, 0x76, 0xad, 0x7c, 0xac, 0x76, 0x71, - 0xfc, 0xcc, 0xf9, 0x93, 0x54, 0xe1, 0x5a, 0x34, 0x94, 0x20, 0xe0, 0xcd, 0x61, 0xec, 0x0a, 0x55, 0x40, 0x43, 0x73, - 0x03, 0xc7, 0xb9, 0x1a, 0x56, 0x9a, 0x80, 0x69, 0x29, 0x8f, 0x0e, 0x70, 0x68, 0xf2, 0xa8, 0xdd, 0x34, 0xac, 0x0c, - 0x5d, 0x6b, 0xf4, 0xb9, 0xad, 0x74, 0xc6, 0x9b, 0x0d, 0x3f, 0x3c, 0x1a, 0x54, 0xf8, 0x93, 0x34, 0x47, 0xa3, 0x9d, - 0x1b, 0xee, 0x34, 0x02, 0x33, 0x57, 0x72, 0x45, 0x76, 0x47, 0xc9, 0xcb, 0xef, 0xe9, 0x85, 0x05, 0xf4, 0xe7, 0x3f, - 0x17, 0x13, 0x4e, 0x5a, 0x62, 0x42, 0xb4, 0x74, 0xd0, 0xa2, 0x83, 0x1d, 0xe5, 0x95, 0x7d, 0x89, 0x97, 0xce, 0xf1, - 0xbf, 0xaf, 0xc7, 0xda, 0x55, 0x20, 0xb4, 0x3a, 0x79, 0xd8, 0x9e, 0x2c, 0x10, 0x35, 0xa0, 0x9a, 0x5d, 0x95, 0xa3, - 0x4c, 0x3b, 0x2b, 0xb2, 0x69, 0xc8, 0x5c, 0x77, 0xb3, 0x34, 0x6c, 0x26, 0x3b, 0x16, 0x96, 0x19, 0x06, 0x6b, 0xa7, - 0x8a, 0x3e, 0x07, 0x2d, 0x3f, 0x82, 0xe7, 0x4d, 0xe5, 0x99, 0xcf, 0x66, 0x19, 0xf1, 0x02, 0x9d, 0x73, 0x2a, 0x16, - 0x4d, 0xe9, 0x58, 0xb9, 0xdd, 0x96, 0x68, 0x2c, 0x51, 0x46, 0x41, 0x50, 0xdb, 0x20, 0xec, 0xba, 0x74, 0x4f, 0xfa, - 0xb4, 0x8b, 0x4f, 0x2b, 0xd0, 0xf7, 0x78, 0x9f, 0x81, 0xc4, 0xd4, 0x93, 0x3c, 0x54, 0x8d, 0xe6, 0xe8, 0xe4, 0x59, - 0x9c, 0x6a, 0x7c, 0x7e, 0x25, 0x3b, 0x6b, 0xde, 0xad, 0xc6, 0x14, 0xff, 0x91, 0xba, 0x7d, 0xe7, 0x32, 0x34, 0xd1, - 0x5f, 0xcb, 0x83, 0x96, 0xc2, 0x82, 0xe3, 0xb6, 0xf1, 0xd7, 0x6f, 0x33, 0x87, 0x18, 0x96, 0x2e, 0x87, 0x37, 0xa1, - 0x43, 0x77, 0x57, 0xd9, 0x99, 0xeb, 0x23, 0xea, 0xd4, 0xc5, 0xba, 0x0d, 0x28, 0x59, 0xf2, 0x6e, 0x9d, 0x9e, 0x58, - 0xe9, 0x97, 0xc3, 0x70, 0x67, 0x1e, 0x35, 0xbb, 0xbb, 0xdd, 0x4e, 0x48, 0xdb, 0x3e, 0x18, 0xef, 0x4b, 0x58, 0x88, - 0xf3, 0x0e, 0x3b, 0xf8, 0x29, 0xac, 0x1e, 0xf3, 0xc1, 0x6f, 0x38, 0xce, 0x30, 0xfa, 0x99, 0x32, 0xf4, 0x79, 0x59, - 0xc8, 0x6b, 0xd5, 0x29, 0x5f, 0xe8, 0xd6, 0x32, 0xf5, 0x7e, 0x13, 0xbf, 0x69, 0x05, 0x88, 0xf1, 0xba, 0x62, 0xa5, - 0x78, 0x43, 0x2b, 0x8c, 0x6b, 0xe0, 0x36, 0x39, 0xd4, 0x52, 0x2d, 0x10, 0x75, 0xf9, 0xc9, 0x63, 0x1e, 0x19, 0x75, - 0x26, 0x7c, 0xf7, 0x98, 0xfb, 0xd2, 0xb5, 0xdd, 0x26, 0x7e, 0xaa, 0x69, 0x87, 0xbb, 0x03, 0xdd, 0xd1, 0xba, 0x87, - 0x9b, 0x67, 0xf3, 0xf3, 0xc8, 0x7c, 0x31, 0xc0, 0x66, 0xed, 0x32, 0x2e, 0x3b, 0x86, 0xfb, 0xde, 0xf4, 0x60, 0x2c, - 0x20, 0x90, 0x98, 0xa1, 0x97, 0x81, 0x0b, 0x5c, 0xe0, 0xae, 0x30, 0x60, 0x88, 0x6b, 0x5a, 0x72, 0xae, 0xad, 0x6c, - 0x7d, 0xe4, 0x6d, 0x54, 0x08, 0xd6, 0x75, 0xc7, 0x4d, 0x92, 0x43, 0x70, 0xc2, 0x96, 0x7b, 0x5f, 0x7b, 0xed, 0x0c, - 0xff, 0x39, 0x10, 0xce, 0x2d, 0xd1, 0x33, 0x6a, 0x7b, 0xac, 0xd5, 0xbd, 0x86, 0x57, 0xb9, 0x8f, 0x3c, 0xeb, 0x37, - 0xf3, 0xd2, 0xb0, 0x2f, 0x78, 0x2d, 0x05, 0x87, 0xc6, 0x76, 0x2b, 0xdc, 0x62, 0xf1, 0x8e, 0x56, 0x2b, 0x6b, 0x6d, - 0xb5, 0xd7, 0x4a, 0x45, 0xf7, 0xaf, 0x39, 0x4e, 0x9c, 0xa5, 0xb0, 0xfd, 0xf0, 0xe1, 0x82, 0x5d, 0x13, 0xc0, 0xa0, - 0xc5, 0x64, 0x81, 0x12, 0x54, 0xb2, 0x56, 0xb5, 0xdb, 0x29, 0xf1, 0xcb, 0xfd, 0xac, 0xcb, 0x6c, 0xe7, 0xf1, 0xeb, - 0x26, 0xed, 0x13, 0x9f, 0xa3, 0x1f, 0xe6, 0xb7, 0xd6, 0x49, 0xc9, 0x19, 0xc6, 0xb5, 0xfc, 0xff, 0x2a, 0x7a, 0x55, - 0x64, 0x69, 0xb4, 0x31, 0x3c, 0x98, 0x0d, 0xb5, 0xe9, 0x43, 0x63, 0x54, 0x6e, 0xd9, 0x28, 0x22, 0x5a, 0xdd, 0x81, - 0x60, 0x46, 0x71, 0x5f, 0xa2, 0xcd, 0x2b, 0x55, 0x16, 0xde, 0xe1, 0x13, 0x1b, 0xbd, 0x61, 0x7b, 0x42, 0x28, 0xdf, - 0x3d, 0x2d, 0xcc, 0xaa, 0xa5, 0xa2, 0xc1, 0x76, 0x09, 0xef, 0x62, 0x54, 0xe9, 0x27, 0x4c, 0xb6, 0x2c, 0x98, 0xea, - 0xff, 0x77, 0x45, 0x96, 0xb6, 0x29, 0x3a, 0x30, 0x9d, 0x4d, 0x9f, 0x4e, 0xba, 0xc1, 0x75, 0x06, 0x2c, 0x22, 0xd8, - 0x52, 0xe1, 0x78, 0x94, 0xda, 0x0d, 0x12, 0x26, 0x82, 0x9b, 0xa8, 0x97, 0x1d, 0x2d, 0x53, 0xb2, 0x2a, 0xe0, 0xf9, - 0x95, 0xab, 0x4c, 0xc7, 0xd1, 0xd0, 0xef, 0x5f, 0xa7, 0x26, 0xf4, 0x2b, 0xf5, 0x52, 0x15, 0xe7, 0x61, 0x54, 0x1d, - 0x2a, 0x8c, 0xd1, 0x92, 0xa6, 0x70, 0x0c, 0x66, 0x97, 0x61, 0x8a, 0x97, 0xb3, 0x4d, 0xc2, 0x3e, 0x63, 0x20, 0x97, - 0xda, 0xa0, 0x5e, 0x53, 0xa2, 0x35, 0x6b, 0x6f, 0xe6, 0x94, 0xd0, 0x4b, 0x56, 0xfa, 0x77, 0xa1, 0x35, 0x08, 0x14, - 0x65, 0x33, 0x65, 0x7a, 0xa1, 0xdb, 0x79, 0x49, 0x13, 0x5a, 0xd0, 0x15, 0xa9, 0x41, 0xdf, 0xeb, 0xe4, 0xec, 0xe8, - 0x64, 0x67, 0x66, 0x3d, 0x66, 0xc5, 0x70, 0x32, 0x8d, 0xe1, 0x9a, 0x16, 0xbb, 0x6b, 0xda, 0xb2, 0x79, 0xe3, 0x6a, - 0x6c, 0x9c, 0x06, 0xed, 0x02, 0x69, 0x9b, 0xe6, 0xf6, 0x53, 0x8f, 0xdb, 0x5f, 0xd7, 0x6c, 0x39, 0xed, 0xad, 0xb7, - 0xdb, 0x5e, 0x0a, 0x36, 0xa2, 0x1e, 0x1f, 0xbf, 0x56, 0xd2, 0x75, 0xcb, 0xe5, 0xa7, 0xf0, 0xec, 0xf1, 0xf5, 0x4b, - 0x1f, 0x5c, 0x8e, 0x56, 0x6d, 0xee, 0x7e, 0xb9, 0x8b, 0x2c, 0xf7, 0x59, 0x43, 0xcb, 0xf5, 0x0c, 0x35, 0xc9, 0xb3, - 0xd1, 0xde, 0xa1, 0x16, 0x2c, 0x67, 0xdd, 0x84, 0x27, 0x06, 0x3b, 0xf6, 0xaa, 0xb1, 0x39, 0x2a, 0x73, 0xc9, 0x6a, - 0x90, 0x40, 0x9f, 0xe4, 0x99, 0xa6, 0x7f, 0x90, 0x61, 0x3e, 0xba, 0xa3, 0x39, 0xe0, 0x8a, 0x55, 0xf6, 0x92, 0x41, - 0xea, 0xaa, 0xbd, 0xc4, 0x95, 0xaf, 0x70, 0x48, 0x36, 0xf8, 0x64, 0x98, 0xaa, 0x4f, 0x2e, 0x79, 0xf0, 0xff, 0xb6, - 0x6a, 0x95, 0x9e, 0x9b, 0xe4, 0x86, 0xe3, 0x5f, 0x27, 0x6d, 0x1f, 0x13, 0x83, 0x04, 0x3c, 0xb5, 0x8b, 0xa1, 0x1a, - 0x55, 0x45, 0x2c, 0xca, 0xdc, 0xc4, 0x1c, 0xdb, 0xdb, 0x35, 0x74, 0x50, 0x06, 0xbf, 0x6e, 0xf8, 0xc4, 0xdc, 0x81, - 0xad, 0x40, 0x47, 0x27, 0x9a, 0xcb, 0x30, 0x33, 0x97, 0x61, 0xda, 0xb5, 0x55, 0x60, 0x78, 0xd5, 0x56, 0x49, 0x94, - 0xab, 0x51, 0x8f, 0x9b, 0x59, 0x6a, 0xf6, 0x22, 0xef, 0x5e, 0x93, 0x9e, 0xc4, 0x9f, 0x2e, 0x3d, 0x79, 0x3d, 0x0c, - 0x88, 0xfc, 0x9c, 0xa5, 0xe1, 0x1a, 0x05, 0xc1, 0xa9, 0xd5, 0x0e, 0xa4, 0xf9, 0x08, 0x90, 0xf9, 0x71, 0x1a, 0xbe, - 0xd5, 0xe2, 0x1c, 0xb2, 0x51, 0x1a, 0x27, 0xb6, 0x34, 0xea, 0x21, 0xb8, 0xf3, 0x5e, 0xf3, 0x18, 0x02, 0x1f, 0x7e, - 0xc0, 0xcd, 0xa0, 0xa2, 0xdb, 0x12, 0x13, 0xa5, 0xcd, 0xa3, 0x6e, 0xf9, 0xa8, 0x21, 0x54, 0xb2, 0x32, 0xbc, 0x04, - 0xda, 0xbb, 0x23, 0x30, 0xaa, 0x9c, 0x40, 0x66, 0x58, 0x1c, 0x1e, 0x0d, 0x53, 0x25, 0x28, 0x1a, 0xca, 0xe1, 0x12, - 0xe5, 0x80, 0x98, 0x04, 0x02, 0xa3, 0x62, 0x90, 0xea, 0xca, 0xd4, 0x8b, 0x41, 0xaa, 0x6f, 0x55, 0xa4, 0x3e, 0xcf, - 0xc2, 0x8a, 0xea, 0x16, 0xd1, 0x31, 0x1d, 0x4a, 0xba, 0x34, 0x3b, 0x35, 0xd7, 0xd2, 0x0b, 0xb5, 0x1c, 0x9f, 0xe9, - 0x34, 0x18, 0xc5, 0x33, 0x97, 0xa2, 0xdf, 0xaa, 0xfd, 0xec, 0xbf, 0xc5, 0x94, 0x1a, 0xb1, 0xa9, 0xbd, 0x45, 0x0c, - 0xab, 0xf6, 0x43, 0x56, 0xe5, 0xa0, 0xdd, 0x05, 0x65, 0x63, 0x65, 0x9c, 0xe7, 0x1b, 0xc1, 0xcc, 0x41, 0xdb, 0x58, - 0x35, 0x7d, 0xe8, 0x8d, 0x18, 0xb5, 0x37, 0xa6, 0x1a, 0xf7, 0x04, 0x7e, 0xda, 0xa0, 0xe9, 0x5e, 0xe4, 0x39, 0xea, - 0x91, 0x77, 0xff, 0x33, 0x47, 0x76, 0x26, 0x9f, 0xc4, 0x32, 0xa9, 0xdb, 0xc7, 0x24, 0x58, 0xa8, 0x3a, 0x46, 0x17, - 0x6e, 0x64, 0x4a, 0xfb, 0xb9, 0x33, 0xfd, 0x88, 0x67, 0xf2, 0xb0, 0x1d, 0x1a, 0xf5, 0xa5, 0x61, 0x2d, 0x29, 0xa2, - 0xbe, 0xa0, 0xb7, 0xa6, 0x3a, 0x3a, 0xa2, 0x5e, 0x47, 0x60, 0x75, 0x45, 0x1b, 0xd4, 0x00, 0x4c, 0xc6, 0xb5, 0xad, - 0xcd, 0xe7, 0x60, 0x6a, 0xab, 0x2a, 0x78, 0x4a, 0x77, 0x85, 0xd2, 0xbd, 0x49, 0x5d, 0xb7, 0x86, 0xd8, 0x02, 0x06, - 0x04, 0x6e, 0xf4, 0xd4, 0xf4, 0x07, 0x4d, 0x54, 0x00, 0x1a, 0x34, 0x6e, 0x67, 0x3a, 0x47, 0xa2, 0xdf, 0xa9, 0x4d, - 0xdb, 0x4c, 0xf5, 0xaa, 0xf2, 0x01, 0x54, 0xfc, 0x59, 0x3a, 0xbf, 0x34, 0x23, 0x16, 0xc0, 0xb8, 0x07, 0xce, 0x54, - 0xef, 0x34, 0x03, 0xeb, 0x89, 0x3c, 0xcf, 0x4a, 0x9e, 0x48, 0x01, 0x33, 0x22, 0xaf, 0xaf, 0xa5, 0x80, 0x61, 0x50, - 0x03, 0x80, 0x16, 0xcd, 0x65, 0x34, 0xe1, 0x5f, 0xd5, 0x74, 0x5f, 0x1e, 0xfe, 0x95, 0xce, 0xf5, 0xf5, 0xb8, 0x06, - 0x43, 0xe5, 0x75, 0xc5, 0x77, 0x32, 0x7d, 0xcd, 0x9f, 0x78, 0x99, 0x96, 0x72, 0x5d, 0xec, 0x64, 0xf9, 0xea, 0x6b, - 0xfe, 0x54, 0xe7, 0x39, 0x7a, 0x52, 0xd3, 0x34, 0xbe, 0xdf, 0xc9, 0xf2, 0xf7, 0xaf, 0x9f, 0xd8, 0x3c, 0x5f, 0x8d, - 0x6b, 0x7a, 0xcb, 0xf9, 0x47, 0x97, 0x69, 0xa2, 0xab, 0x1a, 0x3f, 0xf9, 0xbb, 0xcd, 0xf5, 0xa4, 0xa6, 0xd7, 0x52, - 0x54, 0xcb, 0x9d, 0xa2, 0x8e, 0xbe, 0x3e, 0xfa, 0x3b, 0xff, 0xda, 0x74, 0xef, 0xa8, 0xa6, 0x7f, 0xae, 0xe3, 0xa2, - 0xe2, 0xc5, 0x4e, 0x71, 0x7f, 0xfb, 0xfb, 0xdf, 0x9f, 0xd8, 0x8c, 0x4f, 0x6a, 0x7a, 0xcf, 0xe3, 0x8e, 0xb6, 0x4f, - 0x9e, 0x3e, 0xe1, 0x7f, 0xab, 0x6b, 0xfa, 0x33, 0xf3, 0x83, 0xa3, 0x9e, 0x66, 0x9e, 0x1e, 0x3e, 0x91, 0x4d, 0xd4, - 0x80, 0xa1, 0x87, 0x06, 0x90, 0x4b, 0xab, 0xa6, 0xd9, 0xe3, 0x95, 0x0b, 0x6e, 0xdf, 0xe7, 0x71, 0x1a, 0xaf, 0xe0, - 0x20, 0xd8, 0xa0, 0x71, 0x56, 0x01, 0x9c, 0x2a, 0xf0, 0x9e, 0x51, 0x49, 0xb3, 0x52, 0xfe, 0x93, 0xf3, 0x8f, 0x30, - 0x68, 0x08, 0x69, 0xa3, 0x22, 0x03, 0xbd, 0x5d, 0xe9, 0xc8, 0x46, 0xe8, 0xbf, 0xd9, 0x8c, 0x83, 0xe3, 0xc3, 0xe8, - 0xf5, 0xfb, 0x61, 0xc1, 0x44, 0x58, 0x10, 0x42, 0xff, 0x08, 0x0b, 0x70, 0x28, 0x29, 0x98, 0x97, 0xcf, 0xf8, 0x9e, - 0x6b, 0xa3, 0xb0, 0x10, 0x44, 0x77, 0x91, 0x7d, 0x40, 0xd5, 0xa3, 0xef, 0xd0, 0x0d, 0xf1, 0xb2, 0xc2, 0x82, 0xa1, - 0x55, 0x0d, 0xcc, 0x10, 0x14, 0xff, 0x9a, 0x87, 0x12, 0x7c, 0xe2, 0x01, 0x3e, 0x7a, 0x4c, 0x66, 0x5c, 0x5d, 0x6b, - 0xdf, 0x5e, 0x86, 0x05, 0x0d, 0x74, 0xdb, 0x21, 0xe8, 0x40, 0xe4, 0xbf, 0x00, 0x4f, 0x81, 0x81, 0x0f, 0x0b, 0xbb, - 0x94, 0xbb, 0xfe, 0xea, 0x3f, 0x1b, 0xd6, 0xd1, 0x85, 0x1f, 0xfd, 0xd9, 0xba, 0xb0, 0x67, 0x64, 0x2a, 0x8f, 0xcb, - 0xe1, 0x64, 0x3a, 0x18, 0x48, 0x17, 0xc7, 0xed, 0x34, 0x9b, 0xff, 0x3c, 0x97, 0x8b, 0x05, 0xea, 0xbe, 0x71, 0x5e, - 0x67, 0xfa, 0x6f, 0xa4, 0x9d, 0x0f, 0x5e, 0x9f, 0xfe, 0x7a, 0x7e, 0x76, 0xfa, 0x12, 0x9c, 0x0f, 0x3e, 0xbc, 0xf8, - 0xee, 0xc5, 0x7b, 0x15, 0xdc, 0x5d, 0xcd, 0x79, 0xbf, 0xef, 0xa4, 0x3e, 0x21, 0x1f, 0x56, 0xe4, 0x30, 0x8c, 0x1f, - 0x17, 0xca, 0xe8, 0x81, 0x1c, 0x33, 0x0b, 0x85, 0x0c, 0x55, 0xd4, 0xf6, 0x77, 0x39, 0x9c, 0x78, 0x60, 0x16, 0xf7, - 0x0d, 0x11, 0xae, 0xdf, 0x72, 0x1b, 0x64, 0x4d, 0x9e, 0x78, 0xfd, 0xe0, 0x64, 0x2a, 0x1d, 0x5b, 0x58, 0x30, 0x28, - 0x1b, 0xda, 0x74, 0x9a, 0xcd, 0x8b, 0x85, 0x6d, 0x97, 0x5b, 0x20, 0xa3, 0x34, 0xbb, 0xbc, 0x0c, 0x15, 0x74, 0xf5, - 0x09, 0x68, 0x00, 0x4c, 0xa3, 0x0a, 0xd7, 0x22, 0x3e, 0xf3, 0xcb, 0x8f, 0xc6, 0x5e, 0xf3, 0xee, 0x50, 0xf7, 0x64, - 0x9a, 0x55, 0x35, 0x06, 0x74, 0x30, 0xa1, 0xdc, 0x0d, 0xba, 0x09, 0x26, 0xa3, 0xda, 0xf2, 0xf3, 0xbc, 0x5a, 0x98, - 0xe6, 0xb8, 0x61, 0xa8, 0xbc, 0x92, 0xd7, 0xb2, 0x81, 0xc8, 0x40, 0x32, 0x0c, 0x7b, 0x34, 0x46, 0x91, 0xfa, 0xc1, - 0xae, 0x77, 0xfc, 0x26, 0x97, 0x10, 0x4d, 0x31, 0x03, 0xe9, 0xfc, 0xa9, 0x50, 0xce, 0xe5, 0x92, 0xf1, 0xb9, 0x58, - 0x9c, 0x80, 0xdb, 0xf9, 0x5c, 0x2c, 0x22, 0x0c, 0xca, 0x97, 0x41, 0xac, 0x12, 0xb0, 0x7b, 0x71, 0x10, 0xbe, 0x9d, - 0xd0, 0x06, 0x76, 0x03, 0x49, 0x36, 0x28, 0xed, 0x4a, 0x43, 0x94, 0x3b, 0xe5, 0xd1, 0x06, 0x91, 0x87, 0x58, 0x35, - 0xaf, 0xda, 0x9e, 0x6c, 0xe6, 0x62, 0x82, 0xab, 0x2c, 0x66, 0x72, 0x1a, 0x1f, 0xb3, 0x62, 0x1a, 0x43, 0x29, 0x71, - 0x9a, 0x86, 0x31, 0x9d, 0x50, 0x41, 0x48, 0xc2, 0xf8, 0x3c, 0x5e, 0xd0, 0x04, 0xa5, 0x04, 0x21, 0x84, 0xfc, 0x18, - 0xa1, 0x6d, 0x0e, 0x2c, 0x79, 0xbb, 0xfd, 0x3c, 0xfd, 0xdc, 0x8e, 0xe1, 0x32, 0x2a, 0x42, 0x37, 0xe8, 0xac, 0xe1, - 0xdf, 0x88, 0x0a, 0x1a, 0x63, 0xc5, 0x10, 0x04, 0xbc, 0xc0, 0xa8, 0x84, 0x05, 0x89, 0x59, 0x05, 0x51, 0x04, 0xca, - 0x79, 0xbc, 0x60, 0x05, 0x6d, 0xda, 0x9c, 0xc6, 0xda, 0x24, 0xa8, 0xe7, 0xb0, 0xd4, 0x0e, 0xa4, 0x52, 0x21, 0xf6, - 0xf8, 0x4c, 0x44, 0x37, 0xda, 0xd0, 0x00, 0x50, 0xa0, 0x94, 0x5c, 0xfc, 0xf6, 0xf3, 0x3d, 0xdc, 0x14, 0xf4, 0x3f, - 0xdb, 0x98, 0x68, 0x67, 0xb9, 0x3a, 0xf4, 0xe6, 0x0b, 0x1a, 0xe7, 0x39, 0x84, 0x62, 0x33, 0x08, 0xe4, 0x22, 0xab, - 0x20, 0xa2, 0xc5, 0x7d, 0x60, 0x42, 0xc2, 0x41, 0x9b, 0x7e, 0x86, 0xd4, 0x86, 0x98, 0x5c, 0x79, 0x62, 0x60, 0xb7, - 0x55, 0x82, 0x80, 0x23, 0x3d, 0xcf, 0xfe, 0x6a, 0x62, 0xac, 0x69, 0x6a, 0x66, 0xe2, 0x6d, 0x28, 0x44, 0x83, 0x16, - 0x44, 0x33, 0x78, 0xff, 0x5c, 0x73, 0xbc, 0xea, 0xc0, 0x0f, 0x78, 0xe7, 0xe2, 0xcc, 0xab, 0x99, 0x47, 0xe4, 0xd4, - 0x47, 0x39, 0xa2, 0x5f, 0xf2, 0xb0, 0x1a, 0xe9, 0x64, 0x8c, 0x95, 0xc4, 0x41, 0x6f, 0x83, 0x05, 0x73, 0x42, 0x57, - 0x3c, 0xb4, 0x7c, 0xfc, 0x4b, 0x64, 0x32, 0x4a, 0x6a, 0xac, 0xe8, 0x4a, 0x8b, 0x11, 0xe7, 0x35, 0xcc, 0xd2, 0x64, - 0x45, 0x17, 0x0b, 0x4d, 0x9a, 0x85, 0x32, 0x0d, 0xf0, 0x09, 0xb4, 0x18, 0xb9, 0x87, 0x9a, 0x36, 0x10, 0x1a, 0x76, - 0x87, 0x80, 0x8f, 0xdc, 0x43, 0x87, 0xff, 0x9f, 0x67, 0x17, 0x88, 0xb4, 0x37, 0x37, 0x91, 0xf1, 0x48, 0xdd, 0xc0, - 0x41, 0x31, 0x3e, 0xf6, 0xcd, 0xc4, 0xcf, 0x9c, 0xd1, 0x87, 0xa4, 0xf2, 0x1d, 0x3e, 0x58, 0xfe, 0x78, 0x53, 0x33, - 0x2b, 0x23, 0x58, 0x0f, 0xdb, 0x2d, 0x2e, 0x88, 0xb6, 0x0b, 0x20, 0xf5, 0x8c, 0x57, 0x0b, 0xdf, 0x78, 0x35, 0xde, - 0x63, 0xbc, 0xea, 0xce, 0xd4, 0x30, 0x27, 0x1b, 0xd4, 0x67, 0x29, 0x79, 0x7e, 0x8e, 0x32, 0xc1, 0xa6, 0xcb, 0x59, - 0x49, 0x55, 0x2a, 0xa1, 0xbd, 0xd8, 0xcf, 0x18, 0xdf, 0x11, 0x8c, 0xb3, 0xe2, 0x30, 0x12, 0xa8, 0x4a, 0x25, 0x75, - 0xd8, 0x2b, 0x40, 0x3d, 0x06, 0xef, 0x0d, 0x86, 0xa8, 0x91, 0xb1, 0x9b, 0x36, 0x10, 0x1a, 0x1a, 0xeb, 0xd1, 0x9e, - 0xb5, 0x1e, 0xdd, 0x6e, 0x2b, 0xe3, 0x6f, 0x27, 0xd7, 0x45, 0x82, 0xa8, 0xc2, 0x6a, 0x34, 0x01, 0xde, 0x34, 0xb1, - 0xb7, 0x25, 0xa7, 0xb4, 0xc0, 0xf0, 0xd9, 0x7f, 0x84, 0xa5, 0x53, 0x49, 0x94, 0x64, 0x56, 0x46, 0x03, 0x77, 0x0e, - 0x3e, 0x8f, 0x2b, 0x58, 0x03, 0x10, 0xc9, 0x11, 0x3d, 0x5c, 0xff, 0x08, 0xa5, 0xcb, 0x2c, 0xc9, 0x4c, 0x42, 0x66, - 0x2e, 0xd2, 0x76, 0xd6, 0xc1, 0xc4, 0x99, 0xd4, 0x7a, 0x63, 0x21, 0x87, 0x06, 0xf9, 0x01, 0x94, 0x21, 0x0e, 0x9f, - 0x7c, 0x30, 0xa1, 0x52, 0x85, 0x52, 0x6d, 0x74, 0xb3, 0x1b, 0x78, 0xe5, 0x43, 0x76, 0xcd, 0xcb, 0x2a, 0xbe, 0x5e, - 0x19, 0x4b, 0x62, 0xce, 0xf6, 0xb9, 0xed, 0x51, 0x61, 0x5e, 0xbd, 0x79, 0xf1, 0xdd, 0x69, 0xe3, 0xd5, 0x2e, 0xe2, - 0x68, 0x08, 0xb6, 0x15, 0x63, 0x8c, 0xde, 0xe2, 0xd3, 0x60, 0xa2, 0x5c, 0x23, 0xd0, 0xbb, 0x14, 0xf4, 0xdb, 0x9f, - 0xeb, 0x09, 0x78, 0xcd, 0xf5, 0xf2, 0x4b, 0x3e, 0x02, 0x96, 0xa8, 0xd0, 0xb3, 0xc2, 0xdc, 0xac, 0xcc, 0xf6, 0x76, - 0x2b, 0x32, 0xd3, 0xae, 0x34, 0x32, 0x10, 0xaf, 0xb6, 0xc3, 0x58, 0xb8, 0x74, 0x4d, 0xb7, 0x83, 0x5d, 0x2d, 0x3d, - 0x4b, 0xe4, 0xed, 0xb6, 0x84, 0x0e, 0xd9, 0x01, 0xf7, 0x5e, 0xc6, 0x77, 0xf0, 0xb2, 0xf4, 0xba, 0xd9, 0x0c, 0x9e, - 0x00, 0x66, 0xc2, 0x85, 0xb3, 0x2c, 0x8e, 0x19, 0x4f, 0x42, 0x15, 0x9b, 0xab, 0x21, 0xf2, 0x56, 0x84, 0xd6, 0xec, - 0xaf, 0x50, 0x8c, 0xc0, 0xee, 0xe4, 0xec, 0x63, 0xb6, 0x9a, 0x2d, 0x01, 0x35, 0xff, 0x3a, 0x13, 0x40, 0x73, 0xed, - 0x5a, 0xb0, 0x4d, 0xa1, 0xcd, 0x75, 0xfd, 0x2c, 0x5e, 0xc5, 0x09, 0xa8, 0x6e, 0xc0, 0x5b, 0xe4, 0x5e, 0x8b, 0xae, - 0x0c, 0xba, 0x28, 0x7d, 0xa0, 0x1c, 0x4b, 0x0a, 0x1d, 0x7d, 0xef, 0x09, 0x75, 0xee, 0x19, 0xc0, 0x25, 0x8d, 0x9a, - 0xa7, 0x5a, 0xca, 0x58, 0x00, 0x2c, 0x74, 0x30, 0x53, 0x64, 0x2b, 0xba, 0x33, 0x98, 0x14, 0xf0, 0xd6, 0x00, 0x7f, - 0x88, 0xac, 0x52, 0x77, 0xc5, 0x32, 0x2c, 0x3d, 0xfb, 0xeb, 0x7e, 0x3f, 0xf6, 0xec, 0xaf, 0x2f, 0x35, 0xad, 0x8b, - 0xdb, 0x0d, 0x20, 0x35, 0x06, 0x10, 0x39, 0xd5, 0x03, 0x61, 0x22, 0x8a, 0x35, 0x7d, 0xff, 0x4e, 0x4d, 0x16, 0x05, - 0x42, 0xbf, 0x53, 0xaf, 0x27, 0x25, 0x01, 0x9d, 0x5a, 0xc5, 0x4e, 0x06, 0xda, 0xec, 0x03, 0x02, 0xa2, 0xfa, 0x19, - 0xd9, 0x7c, 0xa1, 0x9c, 0x8b, 0x55, 0xf8, 0xf0, 0x31, 0x85, 0x80, 0xc2, 0x1d, 0x35, 0x3a, 0x6f, 0x43, 0x24, 0x50, - 0x56, 0x28, 0x62, 0xcd, 0x8b, 0xb5, 0x24, 0x64, 0x3e, 0x5e, 0xa0, 0xe0, 0xca, 0x01, 0xbb, 0x72, 0x36, 0x19, 0x96, - 0x11, 0x67, 0xe1, 0xfe, 0x6f, 0x26, 0x0b, 0x82, 0x9a, 0x2b, 0x3f, 0x90, 0xe3, 0x4e, 0xa6, 0xc6, 0x9e, 0x6a, 0xd4, - 0x20, 0x98, 0x8c, 0x20, 0x30, 0xdc, 0xf0, 0x33, 0x3e, 0x3e, 0x5a, 0x10, 0x50, 0x91, 0x59, 0xb3, 0x10, 0xf3, 0xe2, - 0xf8, 0x2b, 0x40, 0x8d, 0x19, 0x1d, 0x3d, 0x9d, 0x72, 0x06, 0x87, 0x28, 0x1d, 0x83, 0x8c, 0x56, 0xc0, 0x6f, 0xa1, - 0x7e, 0xb7, 0x4e, 0x7c, 0x1f, 0xfa, 0x55, 0xd0, 0xcb, 0x18, 0x18, 0x8e, 0x68, 0x72, 0x18, 0xf2, 0xc1, 0x64, 0x00, - 0xda, 0x12, 0x6f, 0xf7, 0xb5, 0xb4, 0xe2, 0xe6, 0x74, 0xe9, 0x74, 0xff, 0xa4, 0x4d, 0x90, 0x44, 0x2a, 0x59, 0xa9, - 0x88, 0x01, 0x84, 0xb2, 0x54, 0xdb, 0x64, 0x09, 0x96, 0x15, 0x66, 0x49, 0x73, 0x83, 0x92, 0xb8, 0xbb, 0x19, 0x38, - 0x46, 0xcd, 0x3a, 0x0d, 0xcb, 0x96, 0x1b, 0x35, 0xc0, 0xe7, 0x24, 0xac, 0xb0, 0x37, 0x9c, 0x99, 0xf4, 0xce, 0x74, - 0xb8, 0x3a, 0xe6, 0xec, 0x35, 0x47, 0x30, 0x8e, 0x04, 0x6f, 0x3c, 0x74, 0xc9, 0x34, 0x54, 0x64, 0xca, 0x38, 0x98, - 0xf6, 0x00, 0xf7, 0x9e, 0x83, 0x71, 0x18, 0x1b, 0x54, 0x96, 0xd4, 0xa7, 0xde, 0x5d, 0x08, 0x04, 0x69, 0xad, 0x97, - 0xf9, 0x0c, 0x4f, 0xcf, 0x08, 0x65, 0x7f, 0xc8, 0xe1, 0x0b, 0xb0, 0xa3, 0x20, 0x27, 0x13, 0xfe, 0xf4, 0xf1, 0x6e, - 0xa0, 0x2a, 0x3e, 0x08, 0x0e, 0x62, 0x91, 0x1e, 0x04, 0x03, 0x01, 0xbf, 0x0a, 0x7e, 0x50, 0x49, 0x79, 0x70, 0x19, - 0x17, 0x07, 0xf1, 0x2a, 0x2e, 0xaa, 0x83, 0xdb, 0xac, 0x5a, 0x1e, 0x98, 0x0e, 0x01, 0x34, 0x6f, 0x30, 0x88, 0x07, - 0xc1, 0x41, 0x30, 0x28, 0xcc, 0xd4, 0xae, 0x58, 0xd9, 0x38, 0xce, 0x4c, 0x88, 0xb2, 0xa0, 0x19, 0x20, 0xac, 0x71, - 0x1a, 0x00, 0x9f, 0xba, 0x66, 0x29, 0xbd, 0xc4, 0x70, 0x03, 0x62, 0xba, 0x86, 0x3e, 0x00, 0x8f, 0xbc, 0xa6, 0x31, - 0x2c, 0x81, 0xcb, 0xc1, 0x80, 0xac, 0x21, 0x72, 0xc1, 0x9a, 0xda, 0x20, 0x0e, 0xe1, 0x5a, 0xd9, 0x69, 0xef, 0x02, - 0x33, 0x6d, 0xb7, 0x80, 0xa8, 0x3c, 0x21, 0xfd, 0xbe, 0xfd, 0x86, 0xfa, 0x17, 0xec, 0x25, 0xd8, 0x5f, 0x15, 0x55, - 0x98, 0x48, 0xa5, 0xf9, 0xbe, 0x62, 0x27, 0x03, 0x15, 0x71, 0x78, 0xc7, 0x91, 0xa2, 0x8d, 0xca, 0x65, 0xd9, 0x93, - 0x65, 0xc3, 0x57, 0xe2, 0x9a, 0x3b, 0x3f, 0xae, 0x4a, 0xca, 0xbc, 0xca, 0x56, 0x8a, 0xfd, 0x9b, 0x71, 0xcd, 0xfd, - 0x81, 0xf5, 0x67, 0xf3, 0x15, 0x5c, 0x5b, 0xbd, 0x77, 0x4d, 0xae, 0x11, 0x39, 0x4b, 0x28, 0x97, 0xd4, 0x36, 0x0f, - 0x6f, 0xe9, 0xfb, 0xfc, 0xea, 0xdb, 0x4c, 0xa7, 0xf1, 0x59, 0x85, 0x85, 0x0b, 0xd1, 0x8a, 0xe0, 0xd0, 0x90, 0x8b, - 0xe6, 0x11, 0x60, 0xae, 0x7d, 0xb6, 0x82, 0x82, 0xd4, 0xe7, 0x15, 0x7a, 0xb7, 0x42, 0xc2, 0x4b, 0xcd, 0x2e, 0x3d, - 0x0c, 0xa4, 0x8c, 0xdb, 0x43, 0x4b, 0x98, 0xb4, 0xbc, 0x08, 0xef, 0xbd, 0xe6, 0x26, 0xf7, 0x3c, 0xc4, 0xe8, 0x45, - 0x9e, 0x9d, 0x80, 0xb1, 0xee, 0x92, 0x9d, 0x0d, 0x4f, 0xfc, 0x86, 0xe7, 0xac, 0x45, 0xa3, 0xe9, 0x92, 0x25, 0xfd, - 0x7e, 0x0c, 0x26, 0xde, 0x29, 0xcb, 0xe1, 0x57, 0xbe, 0xa0, 0x6b, 0x06, 0x98, 0x62, 0xf4, 0x12, 0x12, 0x52, 0x44, - 0x22, 0x59, 0xab, 0x93, 0xe4, 0x13, 0xdd, 0x05, 0x60, 0xf4, 0xcb, 0x59, 0x1a, 0x2d, 0xf7, 0x9a, 0x59, 0x20, 0x79, - 0x86, 0xbe, 0xeb, 0x60, 0x7b, 0x63, 0x1f, 0xa4, 0x9c, 0x1f, 0x8b, 0xe9, 0x60, 0xc0, 0x89, 0x86, 0x1b, 0x2f, 0x95, - 0xb8, 0x56, 0xb7, 0xb8, 0x63, 0x18, 0x4b, 0x7d, 0x5b, 0xc4, 0xe0, 0x80, 0x5d, 0xb4, 0xb2, 0xdb, 0x07, 0xd8, 0x57, - 0x8e, 0x77, 0xa9, 0xb2, 0x3b, 0x3d, 0x66, 0x9a, 0xcb, 0x56, 0x93, 0x4e, 0x2a, 0xf6, 0x13, 0xf9, 0x26, 0x77, 0xd0, - 0xe5, 0x72, 0xac, 0x79, 0xcb, 0x01, 0xa8, 0xe8, 0x47, 0x8a, 0xea, 0x7e, 0x86, 0x23, 0xcc, 0x83, 0x75, 0x9b, 0x4f, - 0x0e, 0x4d, 0x81, 0x43, 0xe4, 0x49, 0x1b, 0x4d, 0x01, 0xdd, 0xbb, 0x78, 0xdc, 0xd5, 0x6f, 0x4b, 0x77, 0x81, 0x12, - 0xed, 0x54, 0xdc, 0xf0, 0x63, 0xa2, 0x4e, 0x67, 0xda, 0x10, 0xfa, 0x57, 0x46, 0xdc, 0x5f, 0x1a, 0x57, 0xf1, 0xa6, - 0x77, 0xf9, 0x8c, 0x43, 0x9d, 0xdd, 0x10, 0x0a, 0xc0, 0x55, 0x7b, 0x3a, 0x75, 0x63, 0x48, 0xaf, 0x94, 0xe8, 0x36, - 0x38, 0xd8, 0x5e, 0x9f, 0x71, 0x14, 0xfd, 0x18, 0x35, 0xf2, 0x6d, 0x24, 0x1e, 0xcb, 0x41, 0xfc, 0xb8, 0xa0, 0xcb, - 0x48, 0x3c, 0x2e, 0x06, 0xf1, 0x63, 0x59, 0xd7, 0xbb, 0xe7, 0xca, 0xfe, 0x3e, 0x22, 0xcf, 0xba, 0xb3, 0x97, 0x4a, - 0xd8, 0x18, 0x78, 0x76, 0x2d, 0x20, 0x9c, 0x82, 0x27, 0xb2, 0xb5, 0xf4, 0xa1, 0x73, 0xbb, 0x8f, 0x2d, 0x93, 0x04, - 0x41, 0xcf, 0xdb, 0x6c, 0x12, 0xc5, 0xce, 0x36, 0x8f, 0x3e, 0x9c, 0x02, 0x09, 0xdd, 0x6e, 0x9b, 0x75, 0xb5, 0x06, - 0x14, 0xd3, 0x70, 0xcc, 0x0f, 0x8b, 0xd1, 0xad, 0xef, 0xae, 0x7f, 0x58, 0x8c, 0x96, 0x64, 0x38, 0x31, 0x93, 0x1f, - 0x9f, 0x8c, 0x67, 0x71, 0x34, 0xa9, 0x3b, 0x4e, 0x0b, 0x8d, 0x7f, 0xea, 0xdd, 0x42, 0x11, 0x38, 0x15, 0x23, 0x38, - 0x72, 0x2a, 0x94, 0x93, 0x52, 0x03, 0xc3, 0xff, 0xa0, 0xda, 0xd1, 0xa6, 0xbd, 0x8e, 0xab, 0x64, 0x99, 0x89, 0x2b, - 0x1d, 0x3e, 0x5c, 0x47, 0x17, 0xb7, 0x01, 0xed, 0xbc, 0xcb, 0xb4, 0xe3, 0xd7, 0x49, 0x83, 0x9e, 0xb8, 0x9a, 0x19, - 0x70, 0xeb, 0x7e, 0x84, 0x66, 0x08, 0x8c, 0x96, 0xe7, 0xef, 0x10, 0x73, 0xfb, 0x17, 0x65, 0xf3, 0xab, 0x68, 0x9f, - 0x23, 0x23, 0x65, 0x9b, 0x8c, 0x54, 0x60, 0x84, 0x29, 0x45, 0x12, 0x57, 0x21, 0x04, 0xb2, 0xff, 0x9c, 0xe2, 0x5a, - 0x2c, 0xbd, 0xd7, 0x20, 0x4c, 0xb0, 0x5d, 0xd0, 0x7e, 0x75, 0x3b, 0xb7, 0x95, 0x16, 0x7b, 0xa4, 0xbe, 0xcf, 0x9d, - 0xed, 0x8a, 0x26, 0x7f, 0x9f, 0x37, 0xa0, 0x0d, 0x20, 0xca, 0x7d, 0x7d, 0x54, 0x02, 0x27, 0x23, 0x6e, 0x28, 0x31, - 0x7a, 0x41, 0x57, 0x27, 0x72, 0xcf, 0x4e, 0xcd, 0x9b, 0x8a, 0x99, 0x8a, 0x2b, 0xdf, 0xec, 0x99, 0xff, 0x60, 0x28, - 0xa8, 0x00, 0x03, 0x6f, 0x73, 0xc6, 0xa3, 0x03, 0xdd, 0xad, 0xd1, 0x69, 0xc1, 0x66, 0x41, 0x5d, 0xd6, 0x6d, 0x1b, - 0x0f, 0x1a, 0x71, 0x50, 0x14, 0xab, 0x42, 0x8d, 0x84, 0x27, 0x02, 0x01, 0x53, 0x76, 0xcd, 0x23, 0x23, 0xa8, 0xe9, - 0x4d, 0x28, 0x6c, 0x28, 0xf8, 0xab, 0x44, 0x35, 0xbd, 0x09, 0x6d, 0x32, 0x71, 0x9a, 0x41, 0x04, 0x33, 0x62, 0xbb, - 0xdf, 0x02, 0xda, 0xdc, 0x9a, 0xd1, 0xa6, 0xae, 0xad, 0xb6, 0x0a, 0xb9, 0xa4, 0x48, 0x59, 0xfe, 0x3b, 0x35, 0x15, - 0x94, 0xd4, 0x72, 0xd1, 0x9b, 0x34, 0x5d, 0xf4, 0x78, 0x66, 0x24, 0x81, 0xca, 0x2d, 0x77, 0x8c, 0xfe, 0x10, 0x16, - 0x78, 0xc4, 0xc4, 0x89, 0x05, 0x73, 0xab, 0x13, 0x96, 0xcd, 0xc5, 0x62, 0xb4, 0x92, 0x10, 0x36, 0xf8, 0x98, 0x65, - 0xf3, 0x52, 0x3f, 0x84, 0xbe, 0xb0, 0xf4, 0x2d, 0xd8, 0xc5, 0x06, 0x2b, 0x59, 0x06, 0xe0, 0x7b, 0x41, 0x37, 0x2b, - 0x59, 0x46, 0x52, 0x75, 0x3f, 0xae, 0xb1, 0x04, 0x95, 0x56, 0xa8, 0xb4, 0xa4, 0xc6, 0x82, 0xc0, 0x57, 0x55, 0x97, - 0x0f, 0xc9, 0xae, 0x02, 0xf5, 0xd4, 0x51, 0x03, 0x4e, 0x81, 0xaa, 0x02, 0x0b, 0x92, 0xa0, 0x32, 0x74, 0x55, 0x60, - 0x5a, 0x81, 0x69, 0xa6, 0x0a, 0x17, 0x65, 0x76, 0x28, 0xcd, 0x7a, 0xc9, 0x67, 0xf1, 0x20, 0x4c, 0x86, 0x31, 0x79, - 0x8c, 0x50, 0xfb, 0x87, 0x79, 0x14, 0x6b, 0xb9, 0xe4, 0xca, 0xf9, 0xc5, 0xdf, 0x7e, 0xc2, 0x5e, 0xf7, 0x1c, 0x83, - 0x05, 0x38, 0x4b, 0xdb, 0xeb, 0x4c, 0xbc, 0x93, 0xad, 0xe0, 0x38, 0x98, 0x45, 0x39, 0xac, 0x7a, 0x72, 0x44, 0x73, - 0x91, 0x6b, 0xef, 0x22, 0x44, 0x0e, 0x32, 0x7b, 0x0c, 0xb0, 0x1b, 0xe1, 0xeb, 0xd0, 0xda, 0xdc, 0xea, 0x0a, 0xf1, - 0x37, 0x4a, 0x24, 0x7e, 0x94, 0xf2, 0xe3, 0x7a, 0xa5, 0x72, 0x55, 0x06, 0x8f, 0x55, 0x37, 0x83, 0x67, 0xda, 0xf7, - 0x58, 0xfb, 0xb7, 0xb6, 0x9b, 0xe3, 0xbd, 0x07, 0x0f, 0x5a, 0xff, 0x5b, 0x4f, 0x42, 0x68, 0xaf, 0x9c, 0xa4, 0xee, - 0xa8, 0xd1, 0x33, 0x93, 0x35, 0xa2, 0x12, 0xa6, 0x76, 0xa7, 0x72, 0x0c, 0xd4, 0x74, 0x00, 0xd7, 0x12, 0x35, 0x41, - 0x4f, 0x0a, 0x36, 0x86, 0x23, 0xce, 0xe2, 0xa0, 0x1d, 0xc7, 0x28, 0x5e, 0xce, 0x95, 0x78, 0x39, 0x3f, 0x61, 0x1c, - 0xa0, 0xb5, 0x00, 0xa9, 0x5e, 0xc3, 0x7e, 0xe6, 0x0a, 0x16, 0xd8, 0xdc, 0xf9, 0x8e, 0x2c, 0x90, 0x21, 0x4e, 0x36, - 0xc7, 0xc9, 0x1e, 0xd7, 0x7a, 0xee, 0x05, 0x3e, 0x4e, 0xea, 0x85, 0x57, 0x57, 0xd9, 0xae, 0x6b, 0xc9, 0xca, 0x79, - 0x31, 0x98, 0x40, 0x50, 0x96, 0x72, 0x5e, 0x0c, 0x27, 0x0b, 0x9a, 0xc3, 0x8f, 0x45, 0x03, 0x1d, 0x62, 0x39, 0x48, - 0xe0, 0xd2, 0xd9, 0x63, 0xc0, 0x1b, 0x4a, 0x2d, 0xee, 0xc6, 0x3a, 0x72, 0xac, 0xa3, 0x38, 0x0c, 0x63, 0xc0, 0x95, - 0x75, 0x02, 0xef, 0xfd, 0xd7, 0xc7, 0x26, 0x20, 0xab, 0x76, 0x85, 0x57, 0xa3, 0xdc, 0x75, 0xa5, 0xd1, 0x97, 0x94, - 0x9e, 0xf0, 0x82, 0xa7, 0x92, 0xed, 0xb6, 0x67, 0xe0, 0x6c, 0x89, 0x87, 0xc4, 0x3b, 0x46, 0xf4, 0x62, 0xda, 0xc8, - 0xcc, 0x09, 0x9c, 0xd9, 0xee, 0xb2, 0x8d, 0xf9, 0xb1, 0x03, 0x1c, 0x2c, 0x82, 0x90, 0xb8, 0x21, 0x0c, 0x13, 0x3b, - 0x29, 0x87, 0x5a, 0x08, 0xd7, 0xb5, 0xf0, 0x3a, 0x4e, 0xcb, 0x18, 0x5c, 0xa4, 0xb5, 0x6d, 0xe2, 0x1e, 0xba, 0xee, - 0xf9, 0x31, 0xb7, 0x3a, 0x46, 0x5b, 0x48, 0xbf, 0x1d, 0x9d, 0x3e, 0x70, 0x18, 0x80, 0xa6, 0x07, 0xb3, 0xaa, 0x7d, - 0x26, 0x71, 0x73, 0xda, 0x09, 0x42, 0x22, 0x10, 0x45, 0xe9, 0x8c, 0x30, 0xfd, 0x3b, 0xcd, 0x65, 0x15, 0xad, 0x1e, - 0xe4, 0x99, 0x43, 0x9e, 0x85, 0xde, 0xf6, 0xa0, 0x55, 0x73, 0x37, 0x18, 0x27, 0x6e, 0xb7, 0x77, 0xfe, 0xdf, 0xb2, - 0xae, 0xad, 0xd6, 0x88, 0xc7, 0xed, 0xea, 0x07, 0x8d, 0xbd, 0xda, 0x53, 0x31, 0x60, 0x56, 0xd2, 0x3b, 0xa3, 0x4a, - 0x5e, 0x64, 0xbc, 0xc4, 0x93, 0x6a, 0xd5, 0xf0, 0xf1, 0xbe, 0xcd, 0x46, 0xe6, 0x81, 0x4c, 0x01, 0xf1, 0xfc, 0x36, - 0x35, 0xea, 0xe3, 0x14, 0x25, 0xe0, 0xef, 0x74, 0x7c, 0x23, 0xfa, 0xd1, 0xbe, 0xb8, 0xe2, 0xd5, 0xdb, 0x5b, 0x61, - 0x5e, 0x3c, 0xb7, 0x3a, 0x7f, 0xfa, 0xba, 0xf0, 0xa1, 0xc3, 0x51, 0x7b, 0x07, 0x45, 0x96, 0x4c, 0x9c, 0x4c, 0x8c, - 0xac, 0x4d, 0xcc, 0x3e, 0x2a, 0xb8, 0x98, 0xa8, 0x42, 0xcf, 0x3a, 0x7b, 0xc2, 0x14, 0xa0, 0x6f, 0x1c, 0xa3, 0x92, - 0x31, 0x2c, 0x18, 0xa8, 0xd3, 0x94, 0x10, 0x3d, 0x14, 0x33, 0x8c, 0x57, 0x0c, 0xa0, 0x30, 0x85, 0x02, 0x51, 0x74, - 0xf6, 0xe1, 0x40, 0x13, 0xfa, 0xfd, 0xdb, 0x54, 0x67, 0xa0, 0x65, 0x3d, 0x2d, 0x40, 0x54, 0x07, 0xd1, 0x56, 0x79, - 0x11, 0xfe, 0xb0, 0xa4, 0x65, 0x46, 0x97, 0x82, 0xa6, 0x82, 0x26, 0x19, 0xbd, 0xe4, 0x4a, 0x54, 0x7c, 0x29, 0x98, - 0xa2, 0xed, 0x86, 0xb0, 0xff, 0xd0, 0xa0, 0xeb, 0xad, 0x58, 0x6b, 0x68, 0x77, 0x82, 0x8c, 0xd0, 0x7c, 0xa1, 0x83, - 0x90, 0xa1, 0x72, 0x12, 0xba, 0x56, 0x69, 0xbc, 0x02, 0x97, 0x4c, 0xb3, 0xd1, 0x32, 0x2e, 0xc3, 0xc0, 0x7e, 0x15, - 0x58, 0x4c, 0x0e, 0x4c, 0x3a, 0x5b, 0x5f, 0x3c, 0x93, 0xd7, 0x2b, 0x29, 0xb8, 0xa8, 0x14, 0x44, 0xbf, 0xc1, 0x7d, - 0x37, 0x71, 0xd5, 0x59, 0xb3, 0x56, 0xfa, 0xd0, 0xb7, 0x3e, 0x6b, 0xe3, 0xbe, 0x30, 0x38, 0x06, 0x3b, 0x1f, 0x11, - 0x03, 0x69, 0x50, 0xe9, 0x16, 0x87, 0x26, 0x40, 0x97, 0x0e, 0x29, 0x64, 0xc9, 0x54, 0xa6, 0x4a, 0x50, 0xf1, 0x8d, - 0xdf, 0x4b, 0x59, 0x8d, 0xfe, 0x5c, 0xf3, 0xe2, 0xfe, 0x8c, 0xe7, 0x1c, 0xc7, 0x28, 0x48, 0x62, 0x71, 0x13, 0x97, - 0x01, 0xf1, 0x2d, 0xaf, 0x82, 0xa3, 0xd4, 0x84, 0x8d, 0xd9, 0xa9, 0x1a, 0xb5, 0x5e, 0x05, 0xfa, 0xca, 0x28, 0xdf, - 0x18, 0x0c, 0x4d, 0x44, 0x15, 0xf4, 0xbd, 0x56, 0xf7, 0xb4, 0xba, 0x61, 0x01, 0xf1, 0xe7, 0x4a, 0x2f, 0xd4, 0x7a, - 0xdd, 0x8c, 0xb9, 0x61, 0x22, 0x04, 0x8d, 0xbe, 0xaa, 0x17, 0x0e, 0x3f, 0x7f, 0xa3, 0x2c, 0x89, 0xe0, 0xc5, 0x26, - 0x5d, 0x17, 0x26, 0x96, 0x06, 0xd5, 0x01, 0x73, 0xa3, 0x4d, 0xce, 0xaf, 0x40, 0xf4, 0xe7, 0xac, 0x88, 0x26, 0x75, - 0x4d, 0x15, 0x82, 0x61, 0xb4, 0xb9, 0x6b, 0xa4, 0xd3, 0x7b, 0xf0, 0x72, 0x33, 0xd6, 0x48, 0xda, 0xd3, 0xb1, 0xa6, - 0x05, 0x2f, 0x57, 0x52, 0x94, 0x10, 0xdd, 0xb9, 0x37, 0xa6, 0xd7, 0x71, 0x26, 0xaa, 0x38, 0x13, 0xa7, 0xe5, 0x8a, - 0x27, 0xd5, 0x7b, 0xa8, 0x50, 0x1b, 0xe3, 0x60, 0xeb, 0xd5, 0xa8, 0xab, 0x70, 0xc8, 0xaf, 0x2e, 0x5f, 0xdc, 0xad, - 0x62, 0x91, 0xc2, 0xa8, 0xd7, 0xfb, 0x5e, 0x34, 0xa7, 0x63, 0x15, 0x17, 0x5c, 0x98, 0xa8, 0xc5, 0xb4, 0x62, 0x01, - 0xd7, 0x19, 0x03, 0xca, 0x55, 0xec, 0xce, 0x4c, 0xc5, 0x32, 0x8c, 0xcb, 0xf2, 0xc7, 0xac, 0xc4, 0x3b, 0x00, 0xb4, - 0x06, 0x4e, 0x8b, 0x99, 0x01, 0x01, 0xb9, 0xcf, 0x0d, 0x2e, 0x02, 0x0b, 0x8e, 0x9e, 0x8c, 0x57, 0x77, 0x01, 0xf5, - 0xde, 0x48, 0x75, 0x3d, 0x64, 0xc1, 0x78, 0xf4, 0x34, 0x70, 0xc8, 0x21, 0xfe, 0x47, 0x4f, 0x8e, 0xf6, 0x7f, 0x33, - 0x09, 0x48, 0x3d, 0x05, 0x55, 0x85, 0x51, 0x88, 0xc2, 0xb4, 0xbf, 0x5e, 0xab, 0x5b, 0xee, 0xdb, 0x8b, 0x92, 0x17, - 0x37, 0x10, 0xad, 0x9d, 0x4c, 0x33, 0x20, 0xe7, 0x52, 0x25, 0xc0, 0xa2, 0x88, 0xab, 0xaa, 0xc8, 0x2e, 0xc0, 0x44, - 0x09, 0x0d, 0xc0, 0xcc, 0xd3, 0x4b, 0x74, 0xf8, 0x88, 0xe6, 0x01, 0xf6, 0x29, 0x58, 0xd4, 0xa4, 0x2e, 0xa1, 0xb0, - 0xe4, 0x00, 0x83, 0xd5, 0xa9, 0xb8, 0xd2, 0x8e, 0x53, 0xaf, 0x7e, 0x8f, 0x96, 0x12, 0x63, 0xcd, 0xea, 0x79, 0x8a, - 0x2f, 0x4a, 0x99, 0xaf, 0x2b, 0xd0, 0x9e, 0x5f, 0x56, 0xd1, 0xd1, 0x93, 0xd5, 0xdd, 0x54, 0x75, 0x23, 0x82, 0x5e, - 0x4c, 0x15, 0xce, 0x5b, 0x12, 0xe7, 0x49, 0x38, 0x19, 0x8f, 0xbf, 0x38, 0x18, 0x1e, 0x40, 0x32, 0x99, 0xfe, 0x35, - 0x54, 0x8e, 0x5c, 0xc3, 0xc9, 0x78, 0x5c, 0xff, 0x5e, 0x9b, 0x30, 0xdf, 0xa6, 0x9e, 0x67, 0xbf, 0x1f, 0xab, 0xf5, - 0x7f, 0x72, 0x7c, 0xa8, 0x7f, 0xfc, 0x5e, 0xd7, 0xd3, 0xd7, 0x45, 0x38, 0xff, 0x57, 0xa8, 0xd6, 0xf7, 0x69, 0x51, - 0xc4, 0xf7, 0x35, 0x44, 0x36, 0x15, 0xce, 0xbb, 0x86, 0x7a, 0x64, 0x81, 0x1e, 0x91, 0xe9, 0xa5, 0x60, 0xf0, 0xcd, - 0xfb, 0x2a, 0x0c, 0x78, 0xb9, 0x1a, 0x72, 0x51, 0x65, 0xd5, 0xfd, 0x10, 0xf3, 0x04, 0xf8, 0xa9, 0x19, 0xc7, 0x67, - 0x85, 0x21, 0xbe, 0x97, 0x05, 0xe7, 0x7f, 0xf1, 0x50, 0x19, 0x8b, 0x8f, 0xd1, 0x58, 0x7c, 0x4c, 0x55, 0x37, 0x26, - 0x5f, 0x53, 0xdd, 0xb7, 0xc9, 0xd7, 0x60, 0x92, 0x95, 0xb5, 0xbf, 0x51, 0xc6, 0x9a, 0xd1, 0x98, 0xde, 0xbc, 0xcc, - 0xb3, 0x15, 0x5c, 0x0a, 0x96, 0xfa, 0x47, 0x4d, 0xe8, 0x7b, 0xde, 0xce, 0x3e, 0x1a, 0x8d, 0x9e, 0x15, 0x74, 0x34, - 0x1a, 0x7d, 0xcc, 0x6a, 0x42, 0x57, 0xa2, 0xe3, 0xfd, 0x7b, 0x4e, 0x2f, 0x64, 0x7a, 0x1f, 0x05, 0x01, 0x5d, 0x66, - 0x69, 0xca, 0x85, 0x2a, 0xeb, 0x2c, 0x6d, 0xe7, 0x55, 0x2d, 0x44, 0x20, 0x24, 0xdd, 0x46, 0x84, 0x64, 0x22, 0xf4, - 0xed, 0x4e, 0xcf, 0x46, 0xa3, 0xd1, 0x59, 0x6a, 0xaa, 0x75, 0x17, 0x94, 0xd7, 0x68, 0x4e, 0xe1, 0xfc, 0x14, 0xc0, - 0x1a, 0xc9, 0x44, 0x7f, 0x39, 0xfc, 0xef, 0xe1, 0x6c, 0x3e, 0x1e, 0x7e, 0x33, 0x5a, 0x3c, 0x3e, 0xa4, 0x41, 0xe0, - 0x83, 0x78, 0x87, 0xda, 0xba, 0x65, 0x5a, 0x1e, 0x8f, 0xa7, 0xa4, 0x1c, 0xb0, 0x27, 0xd6, 0xb7, 0xe8, 0x8b, 0x27, - 0x80, 0xcc, 0x8a, 0x22, 0xe5, 0xc0, 0x49, 0x43, 0xf1, 0x6a, 0xf6, 0x4a, 0x00, 0x5e, 0x9c, 0x8d, 0xec, 0x60, 0xb4, - 0xa2, 0xe3, 0x08, 0xca, 0xab, 0xad, 0xa9, 0x48, 0x8f, 0xb1, 0xcc, 0x44, 0x49, 0x1d, 0x4f, 0xcb, 0xdb, 0xac, 0x4a, - 0x96, 0x18, 0xe8, 0x29, 0x2e, 0x79, 0xf0, 0x45, 0x10, 0x95, 0xec, 0xe8, 0xe9, 0x54, 0xc1, 0x1d, 0x63, 0x52, 0xca, - 0xaf, 0x20, 0xf1, 0x9b, 0x31, 0x42, 0xc2, 0x12, 0xed, 0xc1, 0x89, 0x35, 0xbe, 0xcc, 0x65, 0x0c, 0x1e, 0xad, 0xa5, - 0xe6, 0xe1, 0xec, 0xc9, 0x68, 0xed, 0x51, 0x5a, 0xcd, 0x91, 0xd0, 0x9c, 0x50, 0x32, 0x79, 0x58, 0x52, 0xf9, 0xc5, - 0x04, 0xbd, 0xa4, 0xc0, 0xcd, 0x3c, 0x82, 0xe3, 0xdf, 0x5a, 0x7a, 0xe8, 0xe5, 0x93, 0xb2, 0xc3, 0xf9, 0xff, 0x2e, - 0xe9, 0x62, 0x70, 0xe8, 0x86, 0xe6, 0xad, 0x76, 0xe7, 0xad, 0x90, 0x71, 0xac, 0xc2, 0x67, 0x29, 0xb1, 0xc6, 0xb8, - 0x9c, 0x9d, 0x6c, 0x4c, 0x77, 0x46, 0x55, 0x91, 0x5d, 0x87, 0x44, 0xf7, 0xca, 0x81, 0x84, 0x06, 0x51, 0x36, 0xc2, - 0xf5, 0x03, 0xd6, 0x33, 0x5e, 0x27, 0x6f, 0x78, 0x51, 0x65, 0x89, 0x7a, 0x7f, 0xd3, 0x78, 0x5f, 0xd7, 0x26, 0xa0, - 0xea, 0xbb, 0x82, 0xc1, 0x3c, 0xbf, 0x2d, 0x00, 0xc4, 0x14, 0x69, 0x80, 0x4f, 0x30, 0x83, 0xa0, 0x76, 0xcd, 0xbc, - 0x6a, 0x04, 0xdf, 0x80, 0xaf, 0xde, 0x15, 0x80, 0x41, 0x12, 0x82, 0x14, 0x19, 0x42, 0x03, 0x81, 0x40, 0xc3, 0x90, - 0x0b, 0x0c, 0x7e, 0xe2, 0xc5, 0x91, 0x54, 0x4e, 0x89, 0x3c, 0x0c, 0xf0, 0x47, 0x40, 0x55, 0x00, 0x12, 0xe3, 0x71, - 0x08, 0x2f, 0xd4, 0x2f, 0xf7, 0x46, 0xed, 0x11, 0xf6, 0x3a, 0x0d, 0x21, 0xd8, 0x10, 0x3e, 0x04, 0xb0, 0xa4, 0x08, - 0x7d, 0x8b, 0x5c, 0x46, 0x18, 0x5c, 0xe6, 0xd9, 0x4a, 0x27, 0x55, 0xa3, 0x8e, 0xe6, 0x43, 0xa9, 0x1d, 0xc9, 0x01, - 0xf5, 0xd2, 0x63, 0x4c, 0x2f, 0x54, 0xba, 0x2a, 0xca, 0x19, 0xe5, 0xbc, 0xd3, 0x13, 0xe3, 0xc2, 0x16, 0x72, 0x88, - 0x84, 0xf3, 0xae, 0x50, 0xa1, 0x70, 0xf8, 0x02, 0xc0, 0xc0, 0x40, 0xda, 0xb1, 0x1b, 0xef, 0x46, 0x65, 0x3f, 0xe7, - 0xec, 0xf0, 0xbf, 0xe7, 0xf1, 0xf0, 0xaf, 0xf1, 0xf0, 0x9b, 0xc5, 0x20, 0x1c, 0xda, 0x9f, 0xe4, 0xf1, 0xa3, 0x43, - 0xfa, 0x92, 0x5b, 0x2e, 0x0d, 0x16, 0x7e, 0x23, 0xd8, 0x8f, 0x5a, 0x09, 0x41, 0x14, 0xe0, 0x0d, 0xcb, 0xad, 0xc6, - 0x09, 0x00, 0x1e, 0x06, 0xff, 0x15, 0xa0, 0xd1, 0x94, 0xbb, 0x78, 0x81, 0xbe, 0x44, 0xfd, 0x3e, 0xf9, 0xaa, 0x61, - 0x30, 0x08, 0xe2, 0x1a, 0x15, 0x13, 0x86, 0xe8, 0x32, 0x26, 0x0a, 0x06, 0xd9, 0x66, 0xdf, 0x6e, 0x7b, 0x6d, 0x49, - 0x18, 0x7e, 0xe9, 0x67, 0x9a, 0x98, 0x79, 0x87, 0x1b, 0xdb, 0x4a, 0xae, 0x42, 0xc4, 0x0a, 0xd4, 0xbf, 0x72, 0x06, - 0xb1, 0x37, 0x6f, 0x32, 0xf0, 0xe9, 0xb0, 0x5f, 0x8c, 0x67, 0xc0, 0x46, 0xc1, 0x9d, 0xaf, 0xe0, 0x97, 0x19, 0xb8, - 0x79, 0x8b, 0x18, 0x05, 0x0e, 0x76, 0x49, 0xf4, 0xfb, 0xbd, 0x3c, 0x0b, 0x73, 0x8d, 0x3b, 0x9d, 0xd7, 0x46, 0x0d, - 0x81, 0x3a, 0x72, 0x50, 0x3f, 0xe8, 0x21, 0x18, 0xaa, 0x21, 0x28, 0x3a, 0xda, 0xe2, 0xea, 0xb5, 0xf5, 0x14, 0xa6, - 0xb7, 0xaa, 0xbe, 0x62, 0xf4, 0x87, 0xcc, 0x04, 0x16, 0xd2, 0xae, 0x39, 0xd6, 0x35, 0xc7, 0x48, 0x7b, 0xfa, 0x7d, - 0xd1, 0x20, 0x3f, 0x9d, 0x85, 0x07, 0x81, 0x2a, 0x55, 0xee, 0x94, 0x45, 0xb9, 0x2d, 0xcd, 0x1b, 0xc3, 0x9a, 0xe6, - 0x99, 0x8d, 0x73, 0x33, 0xeb, 0xf5, 0xc2, 0x10, 0x1d, 0x3c, 0xb1, 0x54, 0xac, 0x0d, 0xc2, 0x1d, 0x99, 0x84, 0xd1, - 0x35, 0xc8, 0x2e, 0xc3, 0x73, 0x4e, 0x90, 0x4f, 0x05, 0xf6, 0x41, 0x55, 0xeb, 0xe5, 0x84, 0xc7, 0x46, 0xbe, 0x6c, - 0x04, 0x0d, 0xf2, 0x92, 0xa2, 0xde, 0xc4, 0xed, 0xd8, 0x47, 0x2d, 0xe4, 0xca, 0x4d, 0x3d, 0xed, 0x69, 0x52, 0xd1, - 0x63, 0xbd, 0x4a, 0xfd, 0x02, 0x4b, 0x0b, 0x4b, 0x3e, 0x08, 0xed, 0x69, 0x5a, 0x81, 0x19, 0x6e, 0x6c, 0x06, 0x43, - 0x3f, 0x1c, 0x3f, 0x01, 0x9d, 0x51, 0xdb, 0x12, 0xc2, 0xd8, 0x0d, 0xc2, 0xca, 0x7b, 0x22, 0x5f, 0x3c, 0xf1, 0x2e, - 0x06, 0x21, 0x37, 0x9b, 0x59, 0x34, 0x30, 0xdd, 0xaf, 0x65, 0xb3, 0x79, 0xba, 0xb9, 0x5e, 0x94, 0x50, 0x01, 0xdb, - 0x6d, 0x25, 0x08, 0xfe, 0xfd, 0x98, 0xcd, 0xf0, 0x6f, 0xd6, 0xef, 0xf7, 0x42, 0xfc, 0xc5, 0x31, 0x98, 0xd1, 0x5c, - 0x2c, 0xd8, 0x47, 0x90, 0x31, 0x91, 0x08, 0x53, 0x95, 0x31, 0x20, 0xab, 0xc0, 0x22, 0xd0, 0x7c, 0xa0, 0x72, 0x61, - 0x26, 0x7b, 0x99, 0x73, 0x0d, 0x39, 0x6d, 0x8d, 0x53, 0x36, 0xca, 0x12, 0xe5, 0xca, 0x91, 0x8d, 0xe2, 0x3c, 0x8b, - 0x4b, 0x5e, 0x6e, 0xb7, 0xfa, 0x70, 0x4c, 0x0a, 0x0e, 0xec, 0xba, 0xa2, 0x52, 0x25, 0xeb, 0x48, 0x75, 0xe3, 0x2f, - 0xc3, 0x02, 0xf7, 0x29, 0x9f, 0x17, 0x86, 0x46, 0x1c, 0x80, 0x30, 0x83, 0xa9, 0x5b, 0x7a, 0x2f, 0x2c, 0xa0, 0x79, - 0x25, 0x21, 0x1b, 0x4c, 0xf5, 0x2c, 0x7c, 0x63, 0x26, 0xe6, 0xc5, 0x02, 0xc2, 0xea, 0x14, 0x0b, 0xcd, 0x6c, 0xd2, - 0x84, 0xc5, 0x00, 0x9b, 0x17, 0x93, 0x29, 0xc4, 0x77, 0x57, 0xe5, 0xc4, 0x0b, 0x73, 0xdf, 0x4e, 0x1c, 0x72, 0x08, - 0xbc, 0xaa, 0x0d, 0xba, 0x9a, 0x6d, 0x38, 0xea, 0x48, 0x39, 0x31, 0xf9, 0xfd, 0x54, 0x41, 0x88, 0x3b, 0x71, 0x24, - 0x5c, 0xde, 0x6c, 0x17, 0x5e, 0x74, 0x20, 0xe8, 0xa8, 0xc1, 0x29, 0x3f, 0x31, 0x38, 0x1a, 0x93, 0x74, 0xe3, 0x9d, - 0x20, 0x45, 0x18, 0x93, 0x8d, 0x64, 0xd7, 0x32, 0x14, 0xf3, 0x78, 0x01, 0xca, 0xcb, 0x78, 0x01, 0x96, 0x46, 0xc6, - 0x20, 0x15, 0xe4, 0x77, 0xdc, 0x0b, 0x85, 0x45, 0x71, 0x85, 0x48, 0xcf, 0xea, 0xf7, 0x51, 0xd1, 0x0e, 0x05, 0x82, - 0xe2, 0x0e, 0x65, 0x9e, 0x9c, 0xf5, 0x58, 0x20, 0xb1, 0x21, 0x60, 0x7c, 0xa5, 0xd3, 0x54, 0x6b, 0xdd, 0x1b, 0x33, - 0x0f, 0x7c, 0x9a, 0x8d, 0x84, 0xac, 0xce, 0x2f, 0x41, 0xa4, 0xe4, 0xa3, 0xe3, 0x23, 0xbf, 0x88, 0x3b, 0xcb, 0xbc, - 0xb5, 0x2d, 0x2a, 0xd9, 0xc9, 0x06, 0x40, 0x0b, 0x75, 0xf4, 0x2c, 0x25, 0xb7, 0x29, 0x49, 0xed, 0x36, 0x05, 0xac, - 0x24, 0x7f, 0x01, 0x43, 0xf0, 0xb5, 0x03, 0xe1, 0x74, 0xac, 0x10, 0xaf, 0x69, 0x8a, 0x48, 0x93, 0x61, 0x49, 0x71, - 0x6c, 0x4b, 0x44, 0x41, 0xb5, 0x65, 0xd9, 0xc1, 0x30, 0x51, 0x82, 0x9f, 0xa7, 0x1e, 0x25, 0x0a, 0x02, 0xaa, 0x87, - 0x1c, 0x24, 0xd8, 0xb6, 0x81, 0xf0, 0x80, 0x3c, 0xa2, 0x37, 0xd6, 0xdf, 0x65, 0x9d, 0x67, 0x17, 0x9a, 0xe7, 0x72, - 0xbd, 0x2b, 0xcc, 0x18, 0xe1, 0x49, 0x66, 0xc2, 0x06, 0x78, 0xe7, 0x99, 0x51, 0xdb, 0xf4, 0x3c, 0xbc, 0xb6, 0x53, - 0x8c, 0xd0, 0xb7, 0x67, 0xd0, 0x4d, 0x30, 0xaf, 0x0e, 0x9b, 0xf5, 0x4a, 0x41, 0x6a, 0x98, 0x5a, 0x34, 0x31, 0xeb, - 0x59, 0x83, 0xf2, 0xed, 0xb6, 0xa7, 0xe7, 0x6a, 0xff, 0xdc, 0x6d, 0xb7, 0x3d, 0xec, 0xd6, 0xf3, 0xb4, 0xdb, 0x2a, - 0xbe, 0x52, 0x1f, 0xb4, 0xc7, 0x9f, 0xbb, 0xf1, 0xe7, 0x06, 0xd9, 0xa4, 0x74, 0x34, 0xd3, 0xd6, 0x07, 0xe1, 0x81, - 0xd3, 0xfb, 0x46, 0x93, 0xbe, 0xcb, 0x42, 0x49, 0x57, 0xa2, 0x51, 0x5d, 0xed, 0x4c, 0x4c, 0x1f, 0x5c, 0xff, 0x0f, - 0xaf, 0x02, 0x3c, 0xe2, 0xd4, 0xce, 0xde, 0xdb, 0xa0, 0xa2, 0xd1, 0x16, 0x8e, 0x14, 0xa1, 0x07, 0x24, 0x61, 0x5f, - 0xcb, 0x5a, 0xdc, 0xe6, 0x59, 0xf6, 0x30, 0x7d, 0x7a, 0x95, 0xfa, 0x5e, 0x08, 0x6e, 0x99, 0x65, 0xe6, 0xc0, 0xab, - 0x28, 0x0e, 0x68, 0xd4, 0x45, 0xfb, 0xae, 0xb3, 0xb2, 0x04, 0xaf, 0x17, 0xb8, 0x57, 0x9e, 0x71, 0x1f, 0x7e, 0xef, - 0xaa, 0x6a, 0x6e, 0xd2, 0xb3, 0x6c, 0x9e, 0x2d, 0xb6, 0xdb, 0x10, 0xff, 0x76, 0xb5, 0xc8, 0xd1, 0xe4, 0x39, 0xe8, - 0x34, 0x31, 0x92, 0x11, 0xd3, 0x8d, 0xf3, 0x36, 0xff, 0x1b, 0xd1, 0x70, 0x9a, 0x38, 0x05, 0x7a, 0x31, 0x7b, 0x04, - 0x32, 0x29, 0x03, 0x72, 0x20, 0x66, 0x7a, 0xcd, 0x40, 0x34, 0x32, 0x11, 0x01, 0xae, 0x30, 0x36, 0x12, 0x8d, 0x4e, - 0x38, 0xa9, 0x09, 0x58, 0xb0, 0xda, 0xf2, 0x3e, 0x58, 0xda, 0x56, 0x15, 0xf7, 0xde, 0x92, 0xe6, 0xb8, 0x0e, 0x9c, - 0xaf, 0x83, 0x19, 0x62, 0x53, 0x76, 0xb5, 0x40, 0xee, 0x97, 0xd7, 0xb4, 0x37, 0xae, 0x13, 0x98, 0xb5, 0x4d, 0x6d, - 0x19, 0x3f, 0x5b, 0xfa, 0x8f, 0x7a, 0x70, 0x95, 0x31, 0xd8, 0xdc, 0x58, 0x69, 0xd8, 0x7d, 0xe3, 0xf9, 0x52, 0x40, - 0x78, 0x3a, 0x9f, 0x1e, 0x9f, 0x65, 0x1e, 0x3d, 0x06, 0xa2, 0x63, 0x3e, 0x2a, 0xdd, 0x47, 0x76, 0xf7, 0xfa, 0x01, - 0x01, 0xe7, 0x55, 0xbb, 0xa0, 0x79, 0xb9, 0x80, 0xc0, 0xaa, 0x5e, 0x79, 0x85, 0xe5, 0x33, 0x63, 0x76, 0x05, 0x64, - 0xa8, 0x20, 0x10, 0xb8, 0xbb, 0xeb, 0x5c, 0x88, 0x55, 0x87, 0x95, 0x39, 0x4d, 0xc2, 0x4e, 0x42, 0x34, 0x6f, 0x0d, - 0x66, 0xc1, 0x7f, 0x05, 0x83, 0x72, 0x10, 0x44, 0x41, 0x14, 0x04, 0x64, 0x50, 0xc0, 0x2f, 0xc4, 0x5d, 0x23, 0x18, - 0xb3, 0x05, 0x3a, 0xfc, 0x8e, 0x33, 0x9f, 0x11, 0x79, 0xd1, 0x08, 0xeb, 0xe9, 0x06, 0xe0, 0x42, 0xca, 0x9c, 0xc7, - 0xe8, 0x73, 0xf2, 0x8e, 0xb3, 0x8c, 0xd0, 0x77, 0xde, 0xa9, 0xfc, 0x88, 0x37, 0x82, 0xfd, 0xed, 0x0e, 0xdb, 0x4b, - 0x90, 0x57, 0xf4, 0xc6, 0xf4, 0x1d, 0x27, 0x51, 0xd6, 0x70, 0xa6, 0xe6, 0xd0, 0xb3, 0xca, 0xb2, 0x56, 0xd4, 0x90, - 0x1b, 0x14, 0x73, 0x23, 0xcb, 0xe4, 0x64, 0xda, 0x6a, 0x4e, 0x05, 0xae, 0x3b, 0xbb, 0x5e, 0x40, 0x72, 0x28, 0x34, - 0x4b, 0x67, 0xc3, 0x79, 0xdb, 0x96, 0x3d, 0x6f, 0x9d, 0x42, 0x5e, 0x43, 0x54, 0x34, 0x48, 0x47, 0x40, 0x0d, 0xad, - 0xb8, 0xaa, 0xc0, 0x85, 0xd9, 0xb4, 0x87, 0x9b, 0xf6, 0x98, 0x66, 0x7c, 0x80, 0x98, 0x79, 0x1c, 0x5b, 0x06, 0x76, - 0x24, 0x0e, 0xdf, 0xc7, 0xf9, 0x02, 0xed, 0xd2, 0x5b, 0x57, 0x8b, 0x47, 0x58, 0x7b, 0xde, 0x0a, 0x09, 0x01, 0xe2, - 0xd3, 0x54, 0xba, 0xdd, 0x06, 0x01, 0x0c, 0x70, 0xbf, 0xdf, 0x03, 0xae, 0xd5, 0xb0, 0x93, 0xe6, 0xd6, 0x6c, 0x89, - 0xbd, 0xa2, 0xf0, 0x18, 0x98, 0x53, 0xf3, 0x9f, 0x41, 0x40, 0xf1, 0xdc, 0x0d, 0xc1, 0xde, 0x94, 0x9d, 0x6c, 0x8a, - 0x7e, 0xff, 0x79, 0x81, 0x0f, 0x28, 0x17, 0x06, 0x31, 0xb7, 0x8e, 0xe3, 0x61, 0xd8, 0x27, 0xf5, 0x21, 0x8e, 0x45, - 0x9e, 0x85, 0x8e, 0xb0, 0x54, 0x86, 0xb0, 0x70, 0xc5, 0x48, 0x07, 0x71, 0x50, 0x93, 0xce, 0xc1, 0xaa, 0x5c, 0xf0, - 0xe5, 0x5e, 0xef, 0x0d, 0xc0, 0xa4, 0x67, 0xde, 0xb0, 0xbc, 0xf7, 0x00, 0xd1, 0x7a, 0x3d, 0x5c, 0x28, 0xee, 0xe5, - 0xcb, 0x06, 0x1a, 0x27, 0xbe, 0xb4, 0xec, 0xfa, 0x4c, 0xcb, 0x4a, 0x46, 0xa3, 0x51, 0x55, 0x2b, 0xc9, 0x87, 0x23, - 0x2f, 0x2d, 0x14, 0x4f, 0x19, 0xa7, 0x3c, 0x05, 0xcb, 0x77, 0x43, 0xe9, 0xe6, 0x0b, 0xba, 0xe2, 0x22, 0x55, 0x3f, - 0x3d, 0xf4, 0xcd, 0x06, 0x71, 0xcd, 0x9a, 0x3a, 0x1c, 0x3b, 0xfc, 0x10, 0x00, 0xd3, 0x3e, 0xcc, 0x5c, 0xba, 0x86, - 0xe9, 0x05, 0xf1, 0x6c, 0x5c, 0xf0, 0xd0, 0xe5, 0x01, 0xec, 0x43, 0x73, 0x48, 0xe2, 0xa7, 0xf0, 0x73, 0x66, 0xd2, - 0x3a, 0x3e, 0xc3, 0xd9, 0x8c, 0x4a, 0x75, 0x23, 0x68, 0xbf, 0x86, 0x44, 0x62, 0x90, 0x9e, 0x1b, 0x0c, 0x45, 0xeb, - 0x6e, 0x03, 0x57, 0x7e, 0x4b, 0xef, 0x7c, 0x1a, 0x04, 0x58, 0xdf, 0x58, 0x0c, 0x00, 0xa8, 0xe2, 0x0f, 0x54, 0x5d, - 0x99, 0x2b, 0x8a, 0x69, 0x98, 0x4a, 0xb4, 0x77, 0x1c, 0xd7, 0x51, 0xe3, 0x3a, 0x2c, 0x58, 0x69, 0x6d, 0x9b, 0xdd, - 0x5b, 0x5a, 0xd8, 0x12, 0x50, 0x2d, 0x88, 0x3b, 0x01, 0x7c, 0x68, 0xa4, 0x3a, 0x10, 0x64, 0xf7, 0xc1, 0x01, 0x00, - 0x6f, 0x78, 0x1e, 0x86, 0xf0, 0x07, 0x16, 0x0e, 0x2c, 0x4b, 0xd5, 0xcf, 0xe5, 0x34, 0x86, 0x73, 0x37, 0x57, 0x3b, - 0x7c, 0xb6, 0x04, 0xc5, 0xa6, 0x9a, 0x53, 0x73, 0xf9, 0xca, 0x1b, 0xfb, 0x3d, 0x26, 0x98, 0xc7, 0xcc, 0x36, 0xfc, - 0xd6, 0xd3, 0x6d, 0x7d, 0x83, 0xdd, 0xc0, 0x49, 0x7b, 0xe1, 0xb4, 0x17, 0xdb, 0xa5, 0x81, 0xfc, 0xab, 0x1b, 0x42, - 0x84, 0x57, 0x9a, 0x58, 0x64, 0x0d, 0x99, 0x8e, 0xc5, 0x0a, 0x51, 0x6d, 0x2a, 0x9e, 0x69, 0x03, 0x81, 0x72, 0xaa, - 0x2e, 0x4c, 0xad, 0x54, 0x26, 0x0c, 0xe2, 0x4e, 0x09, 0x8b, 0x2a, 0x03, 0x0c, 0x83, 0x0a, 0x29, 0xae, 0xad, 0xe7, - 0x2f, 0x5c, 0xbe, 0x99, 0x69, 0xb3, 0xfd, 0xf4, 0x65, 0x1e, 0x5f, 0x6d, 0xb7, 0x61, 0xf7, 0x0b, 0x30, 0x47, 0x2d, - 0x95, 0x86, 0x11, 0x9c, 0x40, 0x94, 0xe4, 0x7a, 0x4f, 0xce, 0x89, 0xe3, 0xe4, 0xda, 0xcd, 0x9b, 0xed, 0xa4, 0x18, - 0x81, 0x05, 0x9c, 0xb8, 0x48, 0x07, 0x5a, 0x2a, 0x49, 0xed, 0x29, 0xe0, 0x6d, 0x7a, 0x47, 0xa9, 0xf0, 0x6a, 0xa1, - 0x49, 0x48, 0xe5, 0xee, 0x25, 0x76, 0xd4, 0x80, 0x73, 0x52, 0x77, 0x10, 0x70, 0xda, 0xd3, 0x8d, 0xb5, 0x8a, 0x64, - 0x93, 0xe0, 0xbd, 0xd2, 0x43, 0x97, 0x68, 0xa7, 0x76, 0xb7, 0xad, 0xca, 0x16, 0x0a, 0xe6, 0x41, 0xce, 0x12, 0x75, - 0x3c, 0xa0, 0xd0, 0x45, 0x1d, 0x0d, 0xf9, 0x82, 0x14, 0x7a, 0xe5, 0x68, 0x55, 0xf3, 0xae, 0x64, 0xa0, 0x54, 0xab, - 0x20, 0xaf, 0x89, 0x75, 0x5f, 0xcb, 0x1a, 0x8b, 0x2b, 0x27, 0xa4, 0xb0, 0x09, 0x9f, 0x5b, 0x8a, 0x85, 0x59, 0xec, - 0x8d, 0xa9, 0x2f, 0x5c, 0x22, 0xb4, 0xdd, 0x6d, 0x88, 0xd1, 0x06, 0xeb, 0x66, 0xbb, 0x7d, 0x55, 0x84, 0xf3, 0x6c, - 0x41, 0xe5, 0x28, 0x4b, 0x11, 0x52, 0xcd, 0x78, 0x2c, 0xdb, 0x2e, 0x98, 0x89, 0xa1, 0xae, 0x3d, 0x5e, 0x92, 0x29, - 0xd6, 0x26, 0xc9, 0x51, 0x7c, 0x21, 0x0b, 0xb5, 0xd6, 0x08, 0xc1, 0xc3, 0xfd, 0x8f, 0x14, 0x62, 0xda, 0x99, 0x75, - 0xf7, 0xed, 0xce, 0x0d, 0xf1, 0x0f, 0x08, 0xac, 0x50, 0xb2, 0x57, 0xc5, 0xe8, 0x22, 0x13, 0x29, 0xee, 0x54, 0x15, - 0x25, 0x58, 0xad, 0x83, 0x66, 0xcb, 0xed, 0xbd, 0xd8, 0x12, 0x05, 0x88, 0xf3, 0x2c, 0x34, 0xe3, 0x59, 0x39, 0xcb, - 0x99, 0x8c, 0x62, 0x43, 0xa2, 0xd2, 0x8b, 0x12, 0xef, 0xf3, 0x34, 0xa6, 0x87, 0x6e, 0x0d, 0x82, 0xeb, 0xea, 0xce, - 0x46, 0x9a, 0x2f, 0x08, 0x51, 0x13, 0x20, 0x61, 0xa3, 0x9a, 0x53, 0xeb, 0x4a, 0x3c, 0xcc, 0x2a, 0x9f, 0xeb, 0x83, - 0xf8, 0x4a, 0x00, 0x0f, 0xeb, 0x6d, 0xef, 0x6b, 0xe1, 0xb1, 0x36, 0xf8, 0x76, 0xbb, 0xbd, 0x12, 0xf3, 0x20, 0xf0, - 0x18, 0xcd, 0x5f, 0x94, 0xc4, 0xbc, 0x37, 0xa6, 0xb0, 0xe2, 0x7d, 0x17, 0xbf, 0x6e, 0x52, 0x6b, 0x2d, 0x72, 0x77, - 0xb8, 0x3e, 0xe0, 0x79, 0x4a, 0x1c, 0xed, 0xa8, 0x9c, 0x4a, 0x6b, 0x3b, 0x80, 0x5d, 0x11, 0x18, 0x28, 0xfb, 0xfb, - 0x94, 0x6d, 0xc0, 0x3c, 0x11, 0xac, 0x8f, 0xd0, 0x6f, 0x4b, 0xe9, 0x4f, 0xc6, 0x68, 0xdc, 0x23, 0xd7, 0x55, 0x74, - 0xc4, 0x75, 0x34, 0x7b, 0x1e, 0xfd, 0xed, 0xe9, 0x98, 0x16, 0xb1, 0x48, 0xe5, 0x35, 0xa8, 0x20, 0x40, 0x19, 0x82, - 0x8e, 0x10, 0x9a, 0x1a, 0x80, 0x06, 0xc1, 0x0d, 0xc0, 0x3f, 0x3b, 0x9d, 0x28, 0x6d, 0x4d, 0x3e, 0x46, 0xab, 0x2a, - 0x72, 0xd6, 0x86, 0x76, 0x53, 0xc9, 0x21, 0x79, 0x5c, 0x02, 0xbe, 0x25, 0x36, 0x4b, 0xd9, 0xa0, 0xa8, 0xcd, 0xa6, - 0x5e, 0x2b, 0x76, 0xe4, 0xae, 0x51, 0xb4, 0x59, 0x8b, 0xda, 0x6e, 0x64, 0xbe, 0x98, 0xde, 0x59, 0x61, 0xe0, 0xd4, - 0xb4, 0xe6, 0x76, 0x07, 0x4a, 0xce, 0xd6, 0x67, 0x72, 0x13, 0x20, 0x0e, 0x30, 0x5c, 0x77, 0xf3, 0xdb, 0x05, 0xa1, - 0x77, 0xec, 0xce, 0x8a, 0x55, 0x6f, 0xad, 0x5c, 0xc4, 0xa4, 0xdd, 0x0e, 0x26, 0x70, 0x19, 0x67, 0x85, 0x7d, 0xa1, - 0xd5, 0x0d, 0x45, 0x47, 0xdb, 0xa4, 0xfd, 0xbc, 0xa3, 0xdd, 0x70, 0xc1, 0xb7, 0x62, 0x1d, 0xe7, 0x96, 0x35, 0x55, - 0x68, 0xda, 0x81, 0xde, 0x0e, 0x01, 0xcd, 0xd9, 0x98, 0x2e, 0x69, 0x8a, 0x17, 0x68, 0xba, 0x06, 0x33, 0x9d, 0x4b, - 0xe8, 0x6b, 0xb7, 0x8f, 0xf6, 0xa5, 0xea, 0x89, 0xf0, 0x96, 0x28, 0xf8, 0xb6, 0xa4, 0xe0, 0xa5, 0x96, 0xf3, 0xd8, - 0xcc, 0x21, 0xe0, 0xd3, 0xa8, 0x12, 0xbd, 0x93, 0xe2, 0x0a, 0xb4, 0x99, 0x70, 0x04, 0x9a, 0xaa, 0x11, 0x5b, 0x39, - 0xc0, 0xed, 0xc5, 0xd3, 0x80, 0x50, 0x90, 0xea, 0xae, 0xed, 0x8a, 0xbc, 0x63, 0x27, 0x9b, 0x3b, 0x30, 0x13, 0xae, - 0xd6, 0x65, 0xeb, 0x2b, 0x9b, 0xec, 0x3e, 0xae, 0x09, 0xb6, 0xdd, 0xdb, 0x20, 0xe1, 0x1d, 0xbd, 0x25, 0x9b, 0xdb, - 0x7e, 0x3f, 0x84, 0xfe, 0x10, 0xaa, 0x3b, 0x74, 0xd7, 0xd9, 0xa1, 0x3b, 0x9f, 0xf9, 0xb5, 0x7a, 0x3e, 0xe5, 0x1d, - 0xf2, 0x01, 0x4d, 0xd6, 0xe8, 0x2a, 0xbe, 0x87, 0x4d, 0x1d, 0x55, 0x54, 0x55, 0x1e, 0x25, 0x14, 0x54, 0xe2, 0x19, - 0x2f, 0xcf, 0x38, 0xc6, 0x7a, 0xd5, 0x4f, 0xef, 0x34, 0xaf, 0xb6, 0x36, 0x6b, 0xb3, 0x5c, 0x5f, 0x80, 0x85, 0xc4, - 0x05, 0x8f, 0xae, 0x35, 0x2d, 0xb9, 0xf2, 0x98, 0xfa, 0x73, 0x1c, 0x95, 0xe0, 0x32, 0xce, 0x72, 0x50, 0xe3, 0x5e, - 0x36, 0xfb, 0x1f, 0x6a, 0xdb, 0xb1, 0x65, 0xe3, 0xcc, 0xbd, 0x09, 0xc9, 0xe6, 0x7f, 0x6c, 0xa0, 0x5e, 0x87, 0x18, - 0x21, 0xd6, 0x2c, 0xe8, 0xb7, 0x0c, 0x62, 0x85, 0x06, 0xe5, 0x3a, 0x49, 0x78, 0x59, 0x06, 0x46, 0xa9, 0xb5, 0x66, - 0x6b, 0x73, 0x9e, 0x3d, 0x62, 0x27, 0x8f, 0x7a, 0x8c, 0xdd, 0x11, 0x9a, 0x68, 0x9d, 0x90, 0xa9, 0x31, 0xf2, 0xb4, - 0x40, 0xba, 0x43, 0x51, 0x76, 0x19, 0xbe, 0x45, 0x21, 0x4b, 0x7b, 0x9f, 0x9b, 0x13, 0x59, 0x7d, 0xa3, 0x8d, 0x50, - 0x22, 0x95, 0x08, 0xb2, 0xf1, 0x5b, 0x04, 0x30, 0x86, 0x66, 0x07, 0x64, 0xb3, 0x64, 0x67, 0xf4, 0xdc, 0x9a, 0x04, - 0xc1, 0xeb, 0xb7, 0x2a, 0xd1, 0x8c, 0xb2, 0x22, 0xba, 0xca, 0xe8, 0xe7, 0x3e, 0x24, 0xd1, 0x79, 0x48, 0xfc, 0xdc, - 0xb0, 0xb4, 0x6e, 0x42, 0x14, 0x33, 0x9b, 0x0d, 0xaf, 0xba, 0xfb, 0xa8, 0xb1, 0xad, 0x8c, 0x8f, 0xf9, 0x9d, 0x4d, - 0x23, 0x53, 0xe8, 0xeb, 0x70, 0xd2, 0xef, 0xc3, 0x5f, 0x4d, 0x3f, 0xf0, 0x96, 0x82, 0xbf, 0xd8, 0x23, 0x52, 0x27, - 0x2c, 0x00, 0x78, 0xc6, 0x9c, 0x57, 0xcd, 0x09, 0x7c, 0xc4, 0x4e, 0x36, 0x8f, 0xc2, 0xb3, 0xc6, 0xcc, 0xdd, 0x87, - 0x78, 0xa9, 0x4a, 0x7a, 0xde, 0x3c, 0x99, 0x81, 0x58, 0x59, 0xad, 0xf9, 0x1d, 0xb3, 0xfa, 0x04, 0x20, 0x52, 0x77, - 0xd6, 0xc1, 0x16, 0x3f, 0x36, 0x5d, 0x26, 0x9b, 0x94, 0xb5, 0x99, 0x28, 0xa5, 0x22, 0x69, 0x2e, 0x02, 0xe8, 0x37, - 0x0c, 0x47, 0x0d, 0x70, 0xe7, 0x7a, 0xec, 0xcd, 0xd0, 0x78, 0x63, 0x6a, 0xe8, 0xd9, 0x46, 0x2f, 0x6f, 0x47, 0x21, - 0xcc, 0x58, 0x44, 0x77, 0xee, 0x58, 0x0c, 0xcf, 0xe8, 0x5b, 0xa8, 0xf0, 0x75, 0x88, 0xd1, 0x85, 0x49, 0x5d, 0x4f, - 0xd7, 0x6a, 0x2b, 0xdd, 0x12, 0x9a, 0x63, 0x54, 0x23, 0xaf, 0x6d, 0xf7, 0xd4, 0x08, 0xed, 0x09, 0xe5, 0xe1, 0x1d, - 0xad, 0xe8, 0xad, 0x65, 0x11, 0x9c, 0xfc, 0xd8, 0xcb, 0x4f, 0xe8, 0x85, 0x27, 0x30, 0x29, 0xda, 0x1a, 0xc0, 0xef, - 0x51, 0x3f, 0x9c, 0xd5, 0x53, 0x2b, 0xe5, 0xf0, 0x14, 0xbe, 0x64, 0x03, 0x72, 0x05, 0xbd, 0x58, 0x63, 0x76, 0x12, - 0x83, 0x0e, 0x6a, 0x67, 0x77, 0x78, 0x93, 0x52, 0x86, 0x68, 0x8d, 0xe8, 0x20, 0xaf, 0xfe, 0x09, 0x9a, 0x3e, 0x48, - 0x0b, 0x53, 0xba, 0x46, 0x01, 0x0f, 0xe8, 0x9b, 0xfa, 0xfd, 0x1c, 0x9f, 0x6b, 0xcf, 0x32, 0x0d, 0x7b, 0xbc, 0x24, - 0x74, 0xe9, 0xc5, 0xd1, 0x02, 0x69, 0xb3, 0x63, 0x15, 0x80, 0x15, 0x49, 0xa0, 0x11, 0x09, 0x58, 0x2e, 0x79, 0xe2, - 0xb2, 0x0d, 0x1a, 0xd4, 0x44, 0x25, 0x85, 0x2c, 0x91, 0x04, 0x7e, 0x18, 0x41, 0x99, 0xa2, 0x18, 0xc4, 0xbd, 0x7a, - 0x79, 0xc5, 0x35, 0x35, 0x60, 0x4d, 0x11, 0x4c, 0xb0, 0x4e, 0xa7, 0x40, 0x6c, 0xc5, 0x7a, 0x05, 0x9e, 0xa8, 0x8e, - 0x13, 0x47, 0x96, 0x00, 0x0d, 0xf4, 0x7c, 0xe9, 0xb4, 0x5b, 0xde, 0x9e, 0x68, 0xa9, 0x62, 0x73, 0xef, 0xc5, 0xc2, - 0x72, 0x8f, 0x95, 0xbf, 0x1d, 0x68, 0x2f, 0xac, 0x76, 0x44, 0xd4, 0x60, 0x75, 0xd8, 0xb6, 0xf3, 0x43, 0x69, 0xa8, - 0xee, 0x95, 0x63, 0x02, 0x2a, 0xba, 0x8a, 0xab, 0x65, 0x94, 0x8d, 0xe0, 0xcf, 0x76, 0x1b, 0x1c, 0x06, 0x60, 0x11, - 0xfa, 0xf3, 0xfb, 0x1f, 0x23, 0x0c, 0x57, 0xf5, 0xf3, 0xfb, 0x1f, 0xb7, 0xdb, 0xa7, 0xe3, 0xb1, 0xe1, 0x0a, 0x9c, - 0x5a, 0x07, 0xf8, 0x03, 0xc3, 0x36, 0xd8, 0x25, 0xbb, 0xdd, 0x3e, 0x05, 0x0e, 0x42, 0xb1, 0x0d, 0x66, 0x17, 0x2b, - 0xc7, 0x36, 0xc5, 0x6a, 0xe8, 0x1d, 0x09, 0xd8, 0x7d, 0x3b, 0x2c, 0xc5, 0x2e, 0xf5, 0x51, 0x21, 0x29, 0xf5, 0xa2, - 0x7f, 0xd1, 0x29, 0xb0, 0xa4, 0x60, 0xca, 0x1b, 0x2c, 0xab, 0x6a, 0x55, 0x46, 0x87, 0x87, 0xf1, 0x2a, 0x1b, 0x95, - 0x19, 0x6c, 0xf3, 0xf2, 0xe6, 0x0a, 0x00, 0x26, 0x02, 0xda, 0x78, 0xb7, 0x16, 0x99, 0x79, 0xb1, 0xa0, 0xcb, 0x0c, - 0xd7, 0x24, 0x98, 0x1d, 0xe4, 0xdc, 0xea, 0x26, 0xa7, 0xc4, 0x3e, 0x80, 0x0d, 0xe6, 0x76, 0xdb, 0xe0, 0x17, 0x4e, - 0x46, 0x4f, 0x67, 0xcb, 0x4c, 0x1b, 0xb8, 0x72, 0xb3, 0xff, 0x49, 0xe4, 0xa5, 0xa1, 0xe2, 0x93, 0x4c, 0x5f, 0x64, - 0xc0, 0xe7, 0xb1, 0xbf, 0x44, 0xe8, 0xb3, 0x5c, 0x8d, 0xd6, 0x00, 0x1b, 0x9b, 0x5d, 0xde, 0x8f, 0x52, 0x0e, 0x11, - 0x3a, 0x02, 0xab, 0xae, 0x59, 0x66, 0xc4, 0xb7, 0xa9, 0xb8, 0x6f, 0xa9, 0xc2, 0xfe, 0x12, 0x9e, 0xf3, 0x0e, 0x37, - 0x8e, 0x43, 0xbd, 0x49, 0x14, 0xbe, 0x40, 0x21, 0x2a, 0x47, 0xe3, 0x42, 0x27, 0x90, 0xca, 0x3c, 0x26, 0x14, 0x73, - 0xb8, 0x77, 0x3f, 0xa7, 0xce, 0x5c, 0xc6, 0x17, 0xee, 0xbd, 0xf0, 0x65, 0x26, 0x77, 0x12, 0x40, 0xa2, 0x54, 0xed, - 0x3f, 0x7d, 0x42, 0x6a, 0xfc, 0xaf, 0x54, 0x6b, 0x00, 0x7a, 0x3f, 0x41, 0x4d, 0x8e, 0x20, 0x60, 0x2b, 0xa6, 0x7e, - 0x74, 0x01, 0x2b, 0x99, 0xff, 0x80, 0xba, 0x1d, 0xc1, 0x36, 0x2a, 0x9e, 0x50, 0x54, 0xd1, 0x82, 0xa7, 0x6b, 0x91, - 0xc6, 0x22, 0xb9, 0x8f, 0x78, 0x3d, 0xc5, 0x92, 0x98, 0x8d, 0x18, 0xf6, 0x53, 0xb3, 0x0b, 0x3f, 0x16, 0x0d, 0x93, - 0x78, 0x5a, 0xfa, 0xdb, 0xca, 0xdb, 0x4c, 0x96, 0x71, 0x46, 0xa6, 0x5c, 0x21, 0x98, 0x5b, 0x7d, 0x8f, 0x39, 0xc1, - 0x9f, 0x1c, 0x3d, 0x21, 0xf4, 0x4e, 0x4e, 0x4b, 0x04, 0xe9, 0x13, 0xa9, 0x75, 0x5d, 0xc5, 0x7e, 0x4d, 0x21, 0xaa, - 0x85, 0x60, 0x10, 0xca, 0xd4, 0xb4, 0x4f, 0xf1, 0x7d, 0xb6, 0xec, 0xbf, 0x4c, 0xd9, 0x92, 0x6c, 0x04, 0x74, 0x4c, - 0x3a, 0xef, 0x57, 0x6f, 0xcf, 0xce, 0xbc, 0xdf, 0xa0, 0x09, 0x07, 0xd5, 0x0d, 0xb4, 0xab, 0x20, 0xd3, 0x18, 0xc5, - 0x66, 0x31, 0xd6, 0x6e, 0x4d, 0x44, 0x10, 0x84, 0xbb, 0x9c, 0x85, 0xed, 0x76, 0x42, 0xbc, 0x0d, 0x24, 0x50, 0xe0, - 0xda, 0x46, 0x39, 0x09, 0x89, 0xba, 0x90, 0xe9, 0xc9, 0xba, 0x91, 0x2c, 0xd0, 0x6b, 0xec, 0x28, 0xa0, 0xa7, 0xdc, - 0x3e, 0x05, 0xf4, 0x7d, 0xc1, 0x4e, 0xf9, 0x20, 0x18, 0x62, 0xbc, 0xd9, 0x80, 0xde, 0x4a, 0xf5, 0x08, 0x1e, 0xd3, - 0xc0, 0x72, 0xd1, 0x97, 0x05, 0x43, 0x98, 0xa5, 0x3f, 0x53, 0x36, 0xf9, 0xfa, 0xef, 0x6e, 0x7e, 0x2f, 0xb4, 0x98, - 0x1d, 0x84, 0xe2, 0xf6, 0x7a, 0x02, 0xc4, 0xaf, 0xe2, 0xd7, 0x60, 0x6d, 0xae, 0x25, 0xde, 0x6e, 0x7a, 0xfe, 0x10, - 0xbe, 0x1c, 0xdd, 0x7e, 0x52, 0x9a, 0x4f, 0x20, 0x68, 0x8f, 0x93, 0x94, 0xbb, 0xef, 0x3e, 0x4a, 0x57, 0x11, 0x8c, - 0x16, 0x20, 0xf8, 0xed, 0xad, 0xe4, 0xbc, 0x29, 0xfc, 0xc7, 0x3a, 0xdf, 0x63, 0x2c, 0x15, 0x79, 0x86, 0xd3, 0xdf, - 0x00, 0x07, 0xbf, 0xf7, 0x6f, 0x65, 0xd6, 0x90, 0xe8, 0x42, 0x7d, 0x04, 0xf4, 0x7f, 0xac, 0xc7, 0xef, 0x14, 0x25, - 0x7d, 0x49, 0x9c, 0x23, 0x7c, 0x13, 0x2f, 0xd1, 0x74, 0xb1, 0x37, 0xae, 0xe9, 0x9b, 0xc2, 0xbc, 0xd0, 0x0a, 0x0e, - 0xfb, 0xd6, 0x28, 0x3c, 0xf0, 0xcc, 0xfb, 0x56, 0x34, 0x04, 0xdd, 0xbf, 0xe2, 0xde, 0xf8, 0x56, 0xb0, 0x0c, 0x6f, - 0xca, 0x59, 0x66, 0xee, 0x70, 0xb7, 0x99, 0x48, 0xe5, 0x2d, 0x63, 0xc1, 0x5a, 0x28, 0x73, 0xde, 0x34, 0x98, 0x6d, - 0xea, 0x48, 0x25, 0xbb, 0xef, 0xff, 0x6a, 0x9c, 0xb0, 0xd9, 0x20, 0x38, 0xab, 0x64, 0x11, 0x5f, 0xf1, 0x60, 0xaa, - 0x55, 0x14, 0x19, 0xd8, 0x15, 0x02, 0x52, 0x8e, 0xd3, 0xde, 0xc1, 0x93, 0xa5, 0x66, 0x26, 0xe4, 0xb7, 0xd5, 0x59, - 0xc0, 0x5b, 0x33, 0x9a, 0xa7, 0x15, 0xec, 0x32, 0x5f, 0x49, 0xf1, 0x47, 0x4b, 0x92, 0x8d, 0xf5, 0x37, 0x64, 0xd8, - 0x56, 0x3e, 0x73, 0x01, 0x98, 0x3b, 0xb7, 0x52, 0x05, 0xfd, 0xeb, 0x01, 0x23, 0x84, 0x44, 0x40, 0x38, 0x8b, 0x89, - 0x7b, 0x61, 0xc2, 0x61, 0xba, 0x40, 0x41, 0x31, 0x06, 0x0a, 0xfa, 0x28, 0x43, 0x4e, 0x4f, 0xf9, 0x20, 0x69, 0xcc, - 0xd6, 0x1f, 0xaa, 0x44, 0x7a, 0x23, 0x09, 0x3d, 0x87, 0xdf, 0xe3, 0x16, 0x0f, 0xd4, 0x08, 0xd6, 0xe9, 0x6e, 0x4e, - 0x87, 0x2f, 0x0b, 0x32, 0xfc, 0x13, 0xbc, 0xdd, 0x62, 0x7b, 0x59, 0x4e, 0x60, 0x71, 0xc7, 0x5e, 0xf1, 0x34, 0x57, - 0x2d, 0x4e, 0x88, 0x47, 0x2c, 0x72, 0x9f, 0x58, 0xc0, 0x88, 0x1a, 0x46, 0xe3, 0x87, 0xb3, 0xb7, 0x6f, 0x34, 0x86, - 0x55, 0xee, 0x7f, 0x00, 0x23, 0xaa, 0xa5, 0xed, 0x76, 0xc0, 0x97, 0x23, 0x34, 0x60, 0x4f, 0xdd, 0x60, 0xf7, 0xfb, - 0x26, 0xed, 0xa4, 0xf4, 0xb2, 0x39, 0x31, 0xe8, 0x8e, 0xd2, 0x66, 0xa9, 0x0c, 0x8c, 0xbb, 0x0a, 0x47, 0x73, 0x62, - 0x23, 0x56, 0xf5, 0x3e, 0x0c, 0x97, 0x34, 0xb6, 0xb2, 0x72, 0xbb, 0x9b, 0x70, 0x64, 0x13, 0xe0, 0xfa, 0x14, 0xb4, - 0x57, 0x73, 0x0e, 0x5a, 0x50, 0xa2, 0xc0, 0x11, 0x6d, 0xb7, 0x21, 0x44, 0x24, 0x29, 0x86, 0x93, 0x59, 0x58, 0x0c, - 0x87, 0x6a, 0xe0, 0x0b, 0x42, 0xa2, 0x37, 0xc5, 0x3c, 0x5b, 0x28, 0x04, 0x23, 0x7f, 0x27, 0x7d, 0x5b, 0x28, 0x4e, - 0xb9, 0xf7, 0xad, 0x20, 0x9b, 0x5f, 0x53, 0x8c, 0xc1, 0xe8, 0x34, 0x9b, 0x19, 0x48, 0x58, 0x4f, 0x2b, 0xa2, 0xd6, - 0x91, 0x9d, 0x0d, 0x50, 0xc5, 0xa2, 0x69, 0x30, 0xa8, 0x5b, 0x3c, 0xb1, 0x9e, 0xd1, 0x7b, 0x50, 0x09, 0xa2, 0x5a, - 0xb0, 0x1b, 0xc3, 0xb5, 0xf6, 0x46, 0x84, 0x92, 0x72, 0xd2, 0x64, 0x66, 0xac, 0x68, 0xb0, 0x00, 0x21, 0x69, 0x5c, - 0x56, 0xaf, 0x65, 0x9a, 0x5d, 0x66, 0x80, 0x20, 0xe1, 0xfc, 0x09, 0x65, 0xe3, 0xcd, 0x33, 0x35, 0x2f, 0x5d, 0x89, - 0x33, 0x0b, 0x7b, 0xd2, 0xf5, 0x96, 0x16, 0x24, 0x2a, 0x80, 0x46, 0xf9, 0x5a, 0x9e, 0x7f, 0xec, 0x58, 0x85, 0xec, - 0x7e, 0x38, 0x55, 0xb6, 0x43, 0xfc, 0x84, 0x55, 0xc4, 0x3b, 0xad, 0x2b, 0x25, 0xd2, 0xe8, 0x68, 0x1b, 0x10, 0xc3, - 0x96, 0x7d, 0x8b, 0x1a, 0x3e, 0x08, 0xbb, 0xe8, 0x24, 0x3f, 0xe8, 0x29, 0x1e, 0x5b, 0x03, 0x49, 0x5f, 0x8b, 0xe0, - 0x6b, 0x74, 0xa4, 0x13, 0x65, 0x1a, 0x89, 0x29, 0x24, 0xfa, 0xf5, 0x42, 0x6b, 0x2c, 0xa3, 0xec, 0x2b, 0xf2, 0xbf, - 0xd3, 0xdd, 0xfb, 0x56, 0x6c, 0xb7, 0x30, 0xc9, 0x9e, 0x07, 0x1a, 0x6c, 0x6a, 0xd4, 0x0a, 0xe1, 0xec, 0x9c, 0x56, - 0xa8, 0x1d, 0xeb, 0x85, 0x25, 0x90, 0x07, 0xb0, 0x15, 0x69, 0x50, 0x06, 0xc9, 0xde, 0x14, 0x73, 0xb1, 0x70, 0xa2, - 0x1c, 0xa9, 0xf0, 0xcf, 0xe4, 0x28, 0xe5, 0x70, 0x15, 0x0b, 0x0b, 0x86, 0xfc, 0xea, 0xe8, 0xb2, 0x90, 0xd7, 0x20, - 0x29, 0x31, 0x0c, 0x95, 0xe5, 0x75, 0x71, 0xd5, 0x96, 0x84, 0xf6, 0xce, 0x01, 0x94, 0xa6, 0x00, 0xc1, 0x4b, 0xa3, - 0x86, 0x98, 0x6d, 0xd4, 0xee, 0x8a, 0xf6, 0x92, 0x03, 0xea, 0x74, 0xd7, 0x6e, 0xbd, 0x29, 0x5b, 0x75, 0x2b, 0x2e, - 0xfc, 0x03, 0x4a, 0x3f, 0xe5, 0x83, 0xc2, 0xa7, 0x12, 0xb8, 0xf1, 0xd5, 0x26, 0xcb, 0x2e, 0xef, 0x71, 0xe9, 0x57, - 0x8d, 0xf1, 0xeb, 0xf7, 0x7b, 0x6a, 0x21, 0x34, 0x52, 0x81, 0xf9, 0xf6, 0x99, 0xa9, 0xca, 0x68, 0x4a, 0xed, 0x25, - 0xb8, 0x72, 0xf6, 0x23, 0xa8, 0x88, 0xeb, 0x8a, 0xd4, 0xa6, 0x06, 0xe8, 0xc0, 0xcb, 0x0a, 0xb7, 0xb2, 0x00, 0x8f, - 0x9d, 0x80, 0x6c, 0xb7, 0x3c, 0x0c, 0xf4, 0xa1, 0x13, 0xf8, 0x5b, 0xf2, 0x0c, 0x99, 0x35, 0xfb, 0xf8, 0x93, 0x16, - 0xfc, 0x63, 0x0b, 0x7e, 0x44, 0x71, 0xa7, 0x95, 0xf9, 0xb7, 0xd2, 0xba, 0xc5, 0xfd, 0x3b, 0x99, 0x26, 0x14, 0x95, - 0x09, 0xb5, 0x5f, 0xe9, 0x6f, 0x26, 0x78, 0x94, 0xca, 0xfe, 0x41, 0xc2, 0x07, 0xb3, 0xc6, 0x13, 0x6b, 0x3c, 0x19, - 0x4e, 0xb7, 0xd2, 0xb0, 0x0c, 0x28, 0xf4, 0xf3, 0x32, 0x57, 0x54, 0x3f, 0xff, 0xb4, 0xe6, 0x6b, 0xde, 0x6c, 0xb1, - 0x4d, 0x7a, 0xa0, 0xc1, 0x5e, 0x1e, 0x4d, 0x29, 0x9c, 0x44, 0x9d, 0x1b, 0x89, 0xba, 0xa8, 0x59, 0x86, 0xea, 0x04, - 0xaf, 0xe6, 0xa9, 0x1e, 0xf6, 0x66, 0x22, 0x5a, 0x2b, 0x29, 0x4b, 0x0c, 0x58, 0xeb, 0xc8, 0x43, 0x72, 0xb7, 0xd6, - 0x71, 0xa7, 0xa1, 0x2e, 0x4d, 0xa1, 0x26, 0x58, 0xe1, 0x02, 0x1c, 0x41, 0x3f, 0x16, 0x21, 0x87, 0x6b, 0xaa, 0xd2, - 0x2f, 0x68, 0x4a, 0x9e, 0x78, 0x8a, 0x5a, 0xad, 0x48, 0xb7, 0x1f, 0xe5, 0xd8, 0x0d, 0xdf, 0x38, 0x21, 0x27, 0x46, - 0xe8, 0xef, 0x8e, 0xa5, 0x9c, 0xa1, 0xc5, 0x83, 0x3a, 0xc1, 0x7a, 0x79, 0x4b, 0x81, 0x62, 0x8e, 0x2e, 0xab, 0xae, - 0x79, 0x85, 0xb6, 0x2f, 0xcb, 0x7e, 0x3f, 0xb7, 0xf5, 0xa4, 0xec, 0x64, 0xb3, 0x34, 0xfb, 0x10, 0x15, 0x53, 0xb8, - 0xeb, 0x13, 0xcd, 0x5f, 0x85, 0xfa, 0xaa, 0x2d, 0x73, 0x3e, 0xe2, 0x88, 0x13, 0x92, 0x93, 0xfa, 0x27, 0x35, 0xf5, - 0x4a, 0xdc, 0xaf, 0x2a, 0xf9, 0x45, 0x18, 0x2b, 0x46, 0x17, 0xb8, 0x20, 0x55, 0x2a, 0xef, 0x17, 0x05, 0xc0, 0x5f, - 0x09, 0xf6, 0x26, 0x0d, 0xb5, 0xf2, 0x5b, 0xb4, 0x05, 0xfc, 0x1b, 0xc5, 0x0d, 0x58, 0x05, 0x06, 0x18, 0x4d, 0xb6, - 0xe7, 0x34, 0x81, 0x03, 0x4e, 0x68, 0x15, 0x05, 0x15, 0x66, 0x68, 0xa8, 0x2d, 0x8c, 0x9e, 0xa1, 0x8c, 0x5b, 0x65, - 0xf6, 0x6e, 0x8c, 0x9d, 0x16, 0x78, 0x0d, 0xff, 0x46, 0x2f, 0x14, 0xb3, 0x51, 0x07, 0xe9, 0xd1, 0x49, 0x4c, 0x7f, - 0xdc, 0xc2, 0xc9, 0xcd, 0xc2, 0x59, 0xd6, 0x2c, 0x81, 0xee, 0xc0, 0x05, 0x31, 0xee, 0xf7, 0x73, 0x38, 0x32, 0xcd, - 0xc8, 0x17, 0x2c, 0xa7, 0x31, 0x5b, 0x52, 0xed, 0x79, 0x78, 0x55, 0x85, 0x39, 0x5d, 0x5a, 0x19, 0x6f, 0xca, 0x40, - 0x65, 0xb4, 0xdd, 0x86, 0xf0, 0xa7, 0xdb, 0xda, 0x25, 0x9d, 0x2f, 0x21, 0x03, 0xfc, 0x01, 0x89, 0x28, 0x62, 0x81, - 0xff, 0x5b, 0x8d, 0x53, 0x7a, 0xa2, 0xb4, 0x66, 0x09, 0x5d, 0x33, 0x5d, 0x3f, 0xbd, 0x64, 0xeb, 0xc6, 0x52, 0xd8, - 0x6e, 0xc3, 0x66, 0x02, 0xd3, 0x9c, 0x2b, 0x99, 0x5e, 0xa2, 0x4e, 0x0a, 0xa8, 0x58, 0x78, 0x89, 0xcb, 0x2f, 0x25, - 0x14, 0x9a, 0x3b, 0x5f, 0x2e, 0x8c, 0x12, 0x13, 0x5a, 0x25, 0x3f, 0x7f, 0xa8, 0xcc, 0xd7, 0xc6, 0x43, 0xf0, 0xb7, - 0x34, 0x4c, 0x4c, 0x91, 0xa8, 0x10, 0x9d, 0x7d, 0x0b, 0xb2, 0x1c, 0x01, 0xb8, 0x9e, 0x67, 0xb2, 0xa6, 0x3f, 0xa4, - 0x10, 0x17, 0x1e, 0x1a, 0xf4, 0xae, 0x90, 0xd7, 0x59, 0xc9, 0x43, 0xbc, 0x27, 0x78, 0x9a, 0xd1, 0xfd, 0x06, 0x1f, - 0xda, 0xda, 0xa3, 0x27, 0xc8, 0xc6, 0x53, 0xee, 0xd7, 0xbf, 0x88, 0x70, 0x0e, 0xd1, 0x3b, 0x17, 0x54, 0xab, 0xab, - 0x1d, 0x20, 0x97, 0x67, 0x7b, 0xf5, 0x08, 0x4e, 0x37, 0x7d, 0x7d, 0xab, 0x42, 0x67, 0x0e, 0x20, 0xed, 0x21, 0x59, - 0xd7, 0x5c, 0xef, 0x00, 0x77, 0x24, 0x56, 0x6b, 0xa0, 0xb1, 0x6e, 0x6b, 0x76, 0xda, 0xa3, 0x78, 0x4c, 0x64, 0x66, - 0x2c, 0x52, 0x8c, 0xb9, 0x5b, 0xa7, 0x45, 0xd1, 0x06, 0xcd, 0x10, 0x76, 0xef, 0x3a, 0x7c, 0xdd, 0x8a, 0x38, 0xbf, - 0xdf, 0xf6, 0x05, 0x46, 0xc3, 0x98, 0x6b, 0xf7, 0x3c, 0x43, 0x37, 0x6c, 0xb0, 0x8d, 0x24, 0x88, 0x48, 0x90, 0x99, - 0x3a, 0x10, 0x65, 0x6d, 0x0d, 0xd8, 0x1e, 0x71, 0xbd, 0x69, 0x15, 0x3f, 0xaf, 0x62, 0xf0, 0xf6, 0xac, 0x71, 0x4a, - 0xeb, 0x6b, 0x5c, 0x73, 0x5c, 0x15, 0x22, 0x6a, 0x8b, 0x14, 0x00, 0xc3, 0xce, 0x17, 0xb8, 0x33, 0x2b, 0x0c, 0xe6, - 0x84, 0xa5, 0x92, 0x9d, 0xca, 0xf5, 0xe7, 0xb0, 0xc5, 0x41, 0x2a, 0x5f, 0x7a, 0xfd, 0xfd, 0xcd, 0x17, 0x5f, 0xa0, - 0xdb, 0x9e, 0xf3, 0x23, 0x08, 0x32, 0x81, 0x0e, 0x6a, 0x4a, 0xf5, 0xf8, 0x4b, 0x01, 0xd4, 0x1e, 0xe6, 0xe1, 0x97, - 0x82, 0x89, 0xf8, 0x26, 0xbb, 0x8a, 0x2b, 0x59, 0x8c, 0x6e, 0xb8, 0x48, 0x65, 0x61, 0xa5, 0xc6, 0xc1, 0xe9, 0x6a, - 0x95, 0xf3, 0x00, 0x4c, 0xe5, 0x2d, 0xa3, 0x6c, 0x2b, 0xcb, 0xf4, 0xe0, 0x6a, 0x79, 0x7a, 0xa5, 0x45, 0xe7, 0xe5, - 0xcd, 0x55, 0x10, 0xe1, 0xaf, 0x0b, 0xf3, 0xe3, 0x3a, 0x2e, 0x3f, 0x06, 0x91, 0xb5, 0xa9, 0x33, 0x3f, 0x50, 0x2a, - 0x0f, 0xfe, 0x4e, 0x20, 0xd3, 0xfd, 0xa5, 0x00, 0xcb, 0x6c, 0x5b, 0xf1, 0x71, 0x8c, 0xb5, 0x0e, 0x27, 0x64, 0xa6, - 0x4a, 0xf4, 0xde, 0x25, 0xeb, 0x02, 0xac, 0xfd, 0x14, 0xb6, 0xb3, 0xca, 0x35, 0xc3, 0xca, 0x54, 0x45, 0x66, 0x56, - 0xd6, 0xec, 0x30, 0xb4, 0x4e, 0x34, 0x73, 0xf4, 0x16, 0xd0, 0x0f, 0xe4, 0xf0, 0x8a, 0x96, 0x6b, 0xe6, 0xf9, 0xd8, - 0x34, 0x5e, 0x3f, 0x3a, 0xbc, 0x72, 0x0b, 0xf6, 0xce, 0xde, 0xc9, 0x51, 0x98, 0x08, 0x9e, 0xc6, 0x66, 0x7c, 0x91, - 0x67, 0x05, 0xec, 0xa0, 0xc9, 0x78, 0x4c, 0xbd, 0xa5, 0xd5, 0xba, 0x39, 0x3a, 0x64, 0xdb, 0xec, 0x71, 0xf5, 0x98, - 0x93, 0x43, 0xde, 0x32, 0xb5, 0x6d, 0x5b, 0xc7, 0x79, 0x9a, 0x7c, 0x65, 0xba, 0x2f, 0xd6, 0x36, 0x42, 0xbc, 0x72, - 0x76, 0x74, 0x5e, 0xd2, 0xad, 0x6f, 0x4a, 0x43, 0xaf, 0x25, 0x00, 0xf3, 0x69, 0x03, 0xfe, 0x82, 0x95, 0xeb, 0x51, - 0xc5, 0xcb, 0x0a, 0x24, 0x2c, 0x28, 0xc2, 0x9b, 0x62, 0x6f, 0x0a, 0x77, 0xe3, 0xf4, 0x1c, 0x76, 0xe0, 0x62, 0x8a, - 0xee, 0x38, 0x31, 0x99, 0x95, 0x46, 0x2b, 0x1a, 0xe9, 0x5f, 0xae, 0x2f, 0xb1, 0xee, 0x8b, 0x56, 0xe6, 0xd9, 0x9c, - 0x0a, 0x9b, 0xde, 0x55, 0x2e, 0x9d, 0xa8, 0xdf, 0x32, 0xe1, 0xca, 0x95, 0x20, 0x20, 0xd3, 0x82, 0xf5, 0x0a, 0xb3, - 0x8b, 0xe4, 0x1a, 0x08, 0x19, 0x18, 0xbe, 0x06, 0x6b, 0x51, 0x72, 0x63, 0x05, 0xeb, 0xdd, 0xf3, 0x75, 0x82, 0x90, - 0x82, 0x07, 0x6e, 0x82, 0xbe, 0x6f, 0xdd, 0xbc, 0x1d, 0x25, 0xca, 0x20, 0x3e, 0xb9, 0x76, 0xca, 0x41, 0x02, 0x01, - 0x38, 0xb0, 0x2a, 0x24, 0x89, 0x02, 0x9d, 0x07, 0x57, 0x33, 0x8e, 0x60, 0xf3, 0xca, 0x99, 0x8b, 0x1b, 0xc0, 0x79, - 0xe5, 0xcf, 0x65, 0x83, 0x2d, 0xeb, 0x11, 0x55, 0xe6, 0x8c, 0x53, 0x0c, 0xea, 0x64, 0x09, 0xfa, 0xca, 0x52, 0xda, - 0x2b, 0xd0, 0x34, 0x5e, 0xb3, 0x95, 0xf2, 0x01, 0xa0, 0x17, 0x6c, 0xa5, 0x8c, 0xfd, 0xf1, 0xeb, 0x73, 0xb6, 0xd2, - 0xd2, 0xe0, 0xe9, 0xf5, 0xec, 0x62, 0x76, 0x3e, 0x60, 0x47, 0x51, 0xa8, 0x0d, 0x18, 0x02, 0x17, 0x99, 0x20, 0x18, - 0x84, 0x1a, 0xff, 0x65, 0xa0, 0x02, 0x84, 0x11, 0x8f, 0xc7, 0x46, 0x1c, 0xb1, 0x70, 0x3c, 0xc4, 0x60, 0x60, 0xcd, - 0x17, 0x24, 0x20, 0xd4, 0x94, 0x86, 0xbe, 0x9e, 0xe1, 0x70, 0x72, 0x30, 0x81, 0x54, 0xcc, 0xcc, 0x54, 0x61, 0x6c, - 0x4c, 0x22, 0x88, 0xff, 0xda, 0x59, 0x2f, 0x94, 0xdb, 0x5d, 0xa3, 0x81, 0xa0, 0x19, 0x7c, 0x56, 0xc5, 0x93, 0x83, - 0x61, 0x57, 0xc5, 0x38, 0x0a, 0x37, 0x46, 0xf9, 0x76, 0x7e, 0x0c, 0x60, 0xbe, 0xe7, 0x43, 0x5f, 0x2e, 0x71, 0x7e, - 0xf8, 0x84, 0x3c, 0x7e, 0x42, 0xe8, 0x39, 0x3b, 0xff, 0xe2, 0x09, 0x3d, 0x57, 0xe4, 0xe4, 0x60, 0x12, 0xdd, 0x30, - 0x8b, 0x81, 0x73, 0xa4, 0x9a, 0x40, 0xaf, 0x46, 0x6b, 0xa1, 0x16, 0x98, 0x76, 0x68, 0x0a, 0xbf, 0x19, 0x1f, 0x04, - 0x83, 0x9b, 0x76, 0xd3, 0x6f, 0xda, 0x6d, 0xf5, 0xbc, 0xba, 0x0e, 0x8e, 0xa2, 0xdd, 0x62, 0x26, 0x7f, 0x1f, 0x1f, - 0xb8, 0x39, 0xc0, 0xfa, 0x1e, 0x1e, 0x13, 0xd3, 0xa4, 0x9d, 0x51, 0xf1, 0x6b, 0xfa, 0x0a, 0xfb, 0xd0, 0x2c, 0xb2, - 0xa3, 0x0f, 0xc3, 0x7f, 0xab, 0x13, 0xf5, 0xf9, 0x17, 0x47, 0x40, 0x8e, 0x40, 0x06, 0x8a, 0x25, 0x82, 0x19, 0x0e, - 0x34, 0x05, 0x14, 0x64, 0x7a, 0xdc, 0xa9, 0x1e, 0x7e, 0x35, 0x6a, 0x6a, 0x46, 0x6e, 0x60, 0x6a, 0xb0, 0x2d, 0xf8, - 0x81, 0xea, 0x86, 0xfe, 0x46, 0xa3, 0x3d, 0x69, 0x27, 0x33, 0xf3, 0x92, 0xda, 0x38, 0x77, 0x37, 0x10, 0xd0, 0xd9, - 0xc1, 0x2d, 0x4a, 0xf6, 0xe5, 0xf1, 0xd5, 0x01, 0xae, 0x22, 0x40, 0x0d, 0x63, 0xc1, 0x97, 0x83, 0x2b, 0xbd, 0xb9, - 0x0f, 0x02, 0x32, 0xf8, 0x32, 0x38, 0xf9, 0x72, 0x20, 0x07, 0xc1, 0xf1, 0xe1, 0xd5, 0x49, 0xe0, 0x8c, 0xfb, 0x21, - 0xe4, 0xa5, 0xaa, 0x28, 0x66, 0xc2, 0x54, 0x91, 0xd8, 0xda, 0x73, 0x5b, 0xaf, 0x32, 0x3e, 0xa3, 0xe9, 0xd4, 0x22, - 0xa1, 0x87, 0x29, 0x8b, 0xcd, 0xef, 0x60, 0xc2, 0xaf, 0x83, 0xc8, 0x05, 0x85, 0x9d, 0xe5, 0x51, 0x4c, 0x97, 0xec, - 0x4e, 0x84, 0x29, 0x4d, 0x0e, 0x73, 0x42, 0xa2, 0x70, 0xa9, 0xc0, 0x04, 0xd5, 0xeb, 0x04, 0xe2, 0xda, 0xba, 0xcf, - 0xef, 0x44, 0xb8, 0xa4, 0xf9, 0x61, 0x42, 0x5a, 0x45, 0xb8, 0x08, 0x35, 0x9b, 0x9a, 0x5e, 0xb2, 0x70, 0x45, 0xaf, - 0x80, 0x99, 0x92, 0xeb, 0xf0, 0x0a, 0xb8, 0xbc, 0xf5, 0x7c, 0xb5, 0x60, 0x57, 0x0d, 0xe9, 0x9b, 0xe1, 0x8b, 0x2f, - 0xad, 0x4f, 0x1e, 0xf0, 0x90, 0xce, 0x0f, 0x2f, 0x05, 0x1b, 0x80, 0x9b, 0x8c, 0xdf, 0x7e, 0x2b, 0xef, 0xf4, 0xbc, - 0xb4, 0xa7, 0x18, 0x67, 0xa6, 0x9d, 0x98, 0xb4, 0x13, 0x72, 0xff, 0xbe, 0xed, 0xbb, 0x17, 0xaf, 0x95, 0xcb, 0xaa, - 0x65, 0x48, 0x8a, 0xb5, 0x72, 0x9d, 0x46, 0xc9, 0xa9, 0x15, 0x78, 0xb2, 0x4b, 0x5e, 0x25, 0x4b, 0xff, 0xa0, 0xb2, - 0x56, 0x03, 0xf6, 0x18, 0xb1, 0x2c, 0x14, 0x8e, 0xfd, 0xeb, 0x8c, 0x15, 0x6b, 0x5f, 0xa0, 0x11, 0x23, 0xf7, 0xf6, - 0x3a, 0x63, 0x5e, 0x0c, 0xda, 0x64, 0xed, 0x85, 0xee, 0xf3, 0xd2, 0xf3, 0x16, 0xef, 0xe5, 0x94, 0x1a, 0x46, 0x22, - 0x7a, 0x30, 0x56, 0x66, 0x94, 0x2a, 0x51, 0x6b, 0xd0, 0x88, 0x60, 0x63, 0x17, 0x0c, 0x14, 0x9c, 0x50, 0xb9, 0xa7, - 0xce, 0xf6, 0xed, 0x94, 0x4a, 0x0f, 0x68, 0x97, 0x1a, 0x55, 0xb9, 0x5b, 0x66, 0x92, 0x55, 0x83, 0x60, 0xf4, 0x47, - 0x29, 0xc5, 0x0c, 0xef, 0x8c, 0x2c, 0x98, 0x82, 0x95, 0xa0, 0xaa, 0x65, 0x58, 0x0e, 0x39, 0x6a, 0xf1, 0x8c, 0x4f, - 0xaa, 0xd4, 0x3f, 0x3a, 0x82, 0x06, 0x2f, 0xd7, 0xad, 0xa0, 0xc1, 0x4f, 0xc6, 0x4f, 0xf4, 0x40, 0xa7, 0x6b, 0xed, - 0x78, 0xe8, 0xf3, 0xdb, 0x88, 0x37, 0xae, 0x7b, 0x4f, 0xb5, 0x56, 0xa1, 0x0c, 0xb4, 0x58, 0x51, 0xb9, 0x52, 0x4b, - 0xba, 0xdf, 0x45, 0x00, 0x2c, 0x62, 0x63, 0x36, 0xde, 0xb5, 0xcd, 0x0a, 0x41, 0xa3, 0xcb, 0x4e, 0x36, 0xf1, 0x80, - 0x25, 0xba, 0xb5, 0x83, 0x09, 0x8d, 0x4f, 0x58, 0xd9, 0xef, 0xe7, 0x27, 0x40, 0x4f, 0xb5, 0x11, 0x53, 0x01, 0x47, - 0xfe, 0xe7, 0x56, 0x64, 0x8a, 0x02, 0x9b, 0x35, 0x75, 0xb7, 0xc6, 0x32, 0x12, 0x7d, 0x99, 0xd2, 0xe5, 0x09, 0xcf, - 0x80, 0x69, 0xbd, 0x6e, 0x39, 0xae, 0xec, 0x2a, 0x8e, 0x3c, 0x15, 0x96, 0x15, 0xe7, 0x55, 0x38, 0xde, 0x7a, 0x7c, - 0x83, 0x43, 0xc3, 0xa6, 0x5d, 0xfa, 0x43, 0x08, 0x0b, 0xe1, 0x75, 0x06, 0xb7, 0x11, 0x6d, 0x27, 0x81, 0xca, 0x1b, - 0x73, 0x9d, 0x50, 0x36, 0xb7, 0xeb, 0xb5, 0x67, 0x90, 0x4e, 0xcc, 0x81, 0x52, 0x8d, 0xa0, 0x35, 0x9a, 0x05, 0x55, - 0x23, 0x1e, 0x39, 0x1e, 0xde, 0x19, 0xc4, 0x6a, 0xf9, 0x92, 0xa6, 0x52, 0x34, 0x00, 0xe3, 0x02, 0xb8, 0x3c, 0xfd, - 0xfc, 0xfe, 0xc7, 0x33, 0x1e, 0x17, 0xc9, 0xf2, 0x5d, 0x5c, 0xc4, 0xd7, 0x65, 0xb8, 0x51, 0x63, 0x14, 0xd7, 0x64, - 0x2a, 0x06, 0x4c, 0x9a, 0x95, 0xd4, 0xdc, 0x95, 0x9a, 0x10, 0x63, 0x9d, 0xc9, 0xba, 0xac, 0xe4, 0x75, 0xa3, 0xd2, - 0x75, 0x91, 0xe1, 0xc7, 0x2d, 0x9f, 0xd3, 0x43, 0x00, 0x36, 0x35, 0x2e, 0xa4, 0x91, 0xd4, 0x85, 0x18, 0x73, 0x11, - 0xaf, 0xeb, 0xe3, 0x71, 0xa3, 0xeb, 0x25, 0x7b, 0x3a, 0xfe, 0x6a, 0xfa, 0x3a, 0x0b, 0xb3, 0x81, 0x20, 0xa3, 0x6a, - 0xc9, 0x45, 0xcb, 0x94, 0x53, 0x99, 0x04, 0xa0, 0x8f, 0x67, 0x8f, 0xb1, 0xa3, 0xf1, 0x98, 0x6c, 0xda, 0xe2, 0x01, - 0x1e, 0x2e, 0xd7, 0x61, 0x41, 0x66, 0xba, 0x8e, 0x28, 0x10, 0xfc, 0xae, 0x0a, 0x00, 0xd9, 0xd2, 0x56, 0x65, 0xb8, - 0x34, 0xf6, 0x74, 0x3c, 0xa1, 0x12, 0xbb, 0x1d, 0x92, 0xda, 0xab, 0xd0, 0xcd, 0xbc, 0xf4, 0x3d, 0x8a, 0xa4, 0x71, - 0x59, 0xda, 0xa9, 0x54, 0xaa, 0x3d, 0x33, 0x73, 0x5d, 0x83, 0x98, 0x14, 0xa1, 0xae, 0xbb, 0xf4, 0xea, 0xde, 0x6d, - 0xae, 0x35, 0xdb, 0x01, 0xef, 0x35, 0x68, 0x86, 0x92, 0xb7, 0x98, 0xb7, 0xae, 0x88, 0x9a, 0xae, 0xd6, 0x60, 0x56, - 0x8c, 0xb2, 0xa5, 0x28, 0x5d, 0x53, 0x50, 0x0a, 0x46, 0x97, 0x6b, 0x6f, 0xe1, 0xbe, 0x96, 0x8d, 0x0b, 0x4b, 0xa6, - 0x57, 0x8b, 0x92, 0x12, 0xaa, 0x9b, 0x8a, 0x91, 0x12, 0x46, 0x4a, 0xc3, 0x53, 0xf9, 0x5e, 0xe0, 0x71, 0x9e, 0x07, - 0x51, 0xcb, 0x0b, 0xec, 0xb4, 0x22, 0xa7, 0xe0, 0xe8, 0x65, 0x72, 0x1a, 0x0a, 0xfc, 0x43, 0xa6, 0x40, 0x5d, 0x87, - 0xea, 0x7e, 0x83, 0x9b, 0xff, 0x9f, 0x05, 0x0b, 0x3c, 0xbe, 0xf5, 0x0a, 0xb7, 0xd1, 0x3f, 0x0b, 0x9f, 0x96, 0x3e, - 0x93, 0xbe, 0xab, 0x8b, 0x27, 0xed, 0xcd, 0x46, 0xc9, 0x32, 0xcb, 0xd3, 0x37, 0x32, 0xe5, 0x20, 0x32, 0x43, 0x6b, - 0x50, 0x76, 0x22, 0x1a, 0x37, 0x3c, 0x30, 0x62, 0x6c, 0xdc, 0xf8, 0x7e, 0xc8, 0x40, 0x36, 0x0c, 0x56, 0xdf, 0x2c, - 0x95, 0xc9, 0x1a, 0x10, 0x36, 0xb4, 0xfc, 0x44, 0xe3, 0x6d, 0x84, 0xfa, 0xfa, 0x05, 0x6e, 0x73, 0xa5, 0xef, 0x73, - 0xfe, 0x43, 0x46, 0x7f, 0x40, 0xe0, 0x97, 0x78, 0x05, 0x72, 0x8f, 0x67, 0x50, 0x37, 0xc2, 0xf6, 0x72, 0x0c, 0x96, - 0x84, 0xe8, 0x28, 0xa2, 0x62, 0x81, 0x82, 0xa6, 0x30, 0x88, 0x22, 0xea, 0x82, 0x39, 0xbc, 0xc8, 0x65, 0xf2, 0x71, - 0x6a, 0x7c, 0xe6, 0x87, 0x31, 0xc6, 0x90, 0x0e, 0x06, 0x61, 0x35, 0x0b, 0x86, 0xe3, 0xd1, 0xe4, 0xe8, 0x29, 0x9c, - 0xdb, 0xc1, 0x38, 0x20, 0x83, 0xa0, 0x2e, 0x57, 0xb1, 0xa0, 0xe5, 0xcd, 0x95, 0x2d, 0x03, 0x3f, 0xae, 0x83, 0xc1, - 0x3f, 0x0b, 0x4f, 0xf1, 0x0e, 0x9a, 0x93, 0x73, 0x19, 0x82, 0x8d, 0xfd, 0x9a, 0x80, 0xa4, 0xac, 0xa7, 0xf9, 0x49, - 0x7d, 0xb8, 0x31, 0xa5, 0xfd, 0x33, 0x87, 0x17, 0x1c, 0x76, 0x48, 0xa0, 0x40, 0x1a, 0x4f, 0xb3, 0xd1, 0x2b, 0xa5, - 0xc8, 0x7d, 0x57, 0x70, 0xb8, 0x33, 0xf7, 0x9c, 0xe9, 0x91, 0x53, 0x48, 0x34, 0xb3, 0x80, 0x1b, 0xf9, 0x2b, 0x71, - 0x13, 0xe7, 0x59, 0x7a, 0xd0, 0x7c, 0x73, 0x50, 0xde, 0x8b, 0x2a, 0xbe, 0x1b, 0x05, 0xc6, 0x9a, 0x90, 0xfb, 0xaa, - 0x27, 0x40, 0x4f, 0x80, 0x2d, 0x00, 0x06, 0xc4, 0x3b, 0x66, 0x26, 0x33, 0x1e, 0x81, 0x47, 0x60, 0xd3, 0x07, 0xb2, - 0xb8, 0x77, 0x2e, 0x49, 0xfe, 0x66, 0x2a, 0xed, 0x55, 0xaf, 0xdc, 0x29, 0xc8, 0x7a, 0xb5, 0x95, 0xbb, 0x6e, 0x7d, - 0xf6, 0x4d, 0x87, 0x57, 0xe0, 0x85, 0x04, 0xb7, 0xc8, 0x7e, 0xbf, 0x29, 0xa8, 0x14, 0x46, 0x45, 0xbc, 0x93, 0x5c, - 0xa3, 0x7f, 0xbb, 0x37, 0x36, 0x8a, 0xe4, 0x96, 0x0f, 0x0f, 0xa0, 0xce, 0xe4, 0x5d, 0x71, 0x3b, 0x87, 0xa8, 0xad, - 0xbb, 0xf1, 0xc0, 0x7b, 0x83, 0x76, 0x59, 0x73, 0x04, 0x5b, 0x5e, 0x1c, 0x64, 0x30, 0x16, 0x38, 0x2b, 0x23, 0xa5, - 0xc6, 0x35, 0xa4, 0x16, 0x7c, 0x92, 0xa7, 0x7b, 0xc8, 0x52, 0x4f, 0x82, 0x22, 0xc7, 0xb3, 0x18, 0x32, 0x8d, 0xb7, - 0x81, 0xd8, 0xef, 0x65, 0x08, 0xd2, 0xb4, 0xed, 0xb6, 0x39, 0x02, 0x65, 0xf7, 0xc0, 0x94, 0xa4, 0xae, 0x8d, 0xa9, - 0x81, 0x86, 0x1e, 0x44, 0x8d, 0x54, 0xc4, 0xd9, 0xc9, 0x6b, 0xd0, 0x21, 0x82, 0xef, 0x77, 0x9a, 0x95, 0x1d, 0x2f, - 0x26, 0x04, 0x4f, 0xde, 0x17, 0x77, 0x59, 0x59, 0x95, 0xd1, 0xfb, 0x14, 0x0d, 0xa1, 0x12, 0x29, 0xa2, 0x97, 0x10, - 0x5f, 0xb0, 0xc4, 0xdf, 0x65, 0xf4, 0x63, 0x4a, 0xe3, 0x34, 0xc5, 0xf4, 0xe7, 0x05, 0xfc, 0x7c, 0x06, 0x28, 0x97, - 0xb8, 0x13, 0xa2, 0x0b, 0x09, 0xf6, 0x6a, 0x10, 0xdd, 0xab, 0xe2, 0x80, 0x29, 0x1a, 0xdd, 0x09, 0x8a, 0x98, 0x75, - 0x98, 0xfd, 0xfb, 0x02, 0x85, 0x42, 0xaa, 0x98, 0x5f, 0x84, 0x7d, 0x88, 0x7e, 0xc0, 0x22, 0x4f, 0xdf, 0xbd, 0x32, - 0x43, 0x1a, 0xdd, 0x4b, 0xaa, 0xb7, 0x36, 0x1e, 0x5b, 0x88, 0xd2, 0x13, 0x5d, 0xad, 0xe9, 0x79, 0xbc, 0xca, 0xa2, - 0x0d, 0xe0, 0x4f, 0xbc, 0x7b, 0xf5, 0x4c, 0x59, 0x98, 0x3c, 0xcf, 0x40, 0x71, 0x70, 0xfa, 0xee, 0xd5, 0x6b, 0x99, - 0xae, 0x73, 0x1e, 0x9d, 0x4b, 0x24, 0xad, 0xa7, 0xef, 0x5e, 0xfd, 0x84, 0xe6, 0x5e, 0x3f, 0x16, 0xf0, 0xfe, 0x25, - 0xf0, 0x96, 0x51, 0xbc, 0x86, 0x3e, 0xa9, 0xdf, 0xc9, 0x1a, 0x3b, 0xe5, 0xd5, 0x5a, 0x46, 0x3f, 0xa7, 0xb5, 0x27, - 0xad, 0xfa, 0x57, 0xe1, 0x53, 0x3b, 0x4f, 0xc0, 0x73, 0x97, 0x67, 0xe2, 0x63, 0x64, 0x45, 0x3b, 0x41, 0xf4, 0xe5, - 0xc1, 0xdd, 0x75, 0x2e, 0xca, 0x08, 0x5f, 0x30, 0xb4, 0x0b, 0x8a, 0x0e, 0x0f, 0x6f, 0x6f, 0x6f, 0x47, 0xb7, 0x5f, - 0x8d, 0x64, 0x71, 0x75, 0x38, 0xf9, 0xe6, 0x9b, 0x6f, 0x0e, 0xf1, 0x6d, 0xf0, 0x65, 0xdb, 0xed, 0xbd, 0x22, 0x7c, - 0xc0, 0x02, 0x44, 0xec, 0xfe, 0x12, 0xae, 0x28, 0xa0, 0x85, 0x1b, 0x7c, 0x19, 0x7c, 0xa9, 0x0f, 0x9d, 0x2f, 0x8f, - 0xcb, 0x9b, 0x2b, 0x55, 0x7e, 0x57, 0xc9, 0x47, 0xe3, 0xf1, 0xf8, 0x10, 0x24, 0x50, 0x5f, 0x0e, 0xf8, 0x20, 0x38, - 0x09, 0x06, 0x19, 0x5c, 0x68, 0xca, 0x9b, 0xab, 0x93, 0xc0, 0x33, 0xcd, 0x6d, 0xb0, 0x88, 0x0e, 0xc4, 0x25, 0x38, - 0xbc, 0xa2, 0xc1, 0x97, 0x01, 0x71, 0x29, 0x5f, 0x40, 0xca, 0x17, 0x47, 0x4f, 0xfd, 0xb4, 0xff, 0xa5, 0xd2, 0xbe, - 0xf2, 0xd3, 0x8e, 0x31, 0xed, 0xab, 0x67, 0x7e, 0xda, 0x89, 0x4a, 0x7b, 0xe1, 0xa7, 0xfd, 0xef, 0x72, 0x00, 0xa9, - 0x07, 0xbe, 0xf5, 0xdf, 0x85, 0xd7, 0x1a, 0x3c, 0x85, 0xa2, 0xec, 0x3a, 0xbe, 0xe2, 0xd0, 0xe8, 0xc1, 0xdd, 0x75, - 0x4e, 0x83, 0x01, 0xb6, 0xd7, 0x33, 0x09, 0xf1, 0x3e, 0xf8, 0x72, 0x5d, 0xe4, 0x61, 0xf0, 0xe5, 0x00, 0x0b, 0x19, - 0x7c, 0x19, 0x90, 0x2f, 0x8d, 0x81, 0x8c, 0x60, 0x9b, 0xc0, 0x85, 0x66, 0x1d, 0xda, 0x80, 0x69, 0xbe, 0x34, 0xae, - 0xa6, 0x7f, 0x16, 0xdd, 0xd9, 0xf0, 0x96, 0xa8, 0xdc, 0x74, 0x83, 0x9a, 0xbe, 0x05, 0xef, 0x04, 0x68, 0x54, 0x14, - 0xdc, 0xc4, 0x45, 0x38, 0x1c, 0x96, 0x37, 0x57, 0x04, 0xec, 0x32, 0x57, 0x3c, 0xae, 0xa2, 0x40, 0xc8, 0xa1, 0xfa, - 0x19, 0xa8, 0x48, 0x60, 0x01, 0x42, 0x19, 0xc1, 0x7f, 0x41, 0x4d, 0xdf, 0x49, 0xb6, 0x09, 0x86, 0xb7, 0xfc, 0xe2, - 0x63, 0x56, 0x0d, 0x95, 0x68, 0xf1, 0x46, 0x50, 0xf8, 0x01, 0x7f, 0x5d, 0xd5, 0xd1, 0x9f, 0xe0, 0xc6, 0xdd, 0xd4, - 0xb0, 0xbf, 0x93, 0x8e, 0x45, 0x7d, 0x27, 0xe7, 0xd9, 0x62, 0xda, 0x3a, 0xd0, 0xdf, 0x4a, 0x52, 0xcd, 0xb3, 0x41, - 0x30, 0x0c, 0x06, 0x7c, 0xc1, 0xde, 0xca, 0x39, 0xf7, 0xcc, 0xa7, 0x1e, 0x49, 0x7f, 0x9a, 0x67, 0xd9, 0x00, 0x7c, - 0x53, 0x90, 0x1f, 0x39, 0xfc, 0xef, 0xf9, 0x10, 0x85, 0x87, 0x83, 0x47, 0x87, 0x64, 0x16, 0xac, 0xee, 0xd0, 0xa3, - 0x33, 0x0a, 0x32, 0xb1, 0xe4, 0x45, 0x56, 0x79, 0x4b, 0xe5, 0x7e, 0xdd, 0xf6, 0xf2, 0xd8, 0x7b, 0x36, 0xaf, 0x62, - 0x11, 0xa8, 0x73, 0x0e, 0x14, 0x6f, 0x28, 0x7b, 0x2a, 0x9b, 0x12, 0x52, 0x6d, 0xc8, 0x1b, 0x96, 0x03, 0x16, 0x1c, - 0xf7, 0x86, 0xc3, 0x83, 0x60, 0xe0, 0xd4, 0xb9, 0x83, 0xe0, 0x60, 0x38, 0x3c, 0x09, 0xdc, 0x7d, 0x28, 0x1b, 0xb9, - 0x3b, 0x23, 0x2d, 0xd8, 0xbf, 0x8a, 0xb0, 0xa4, 0x20, 0x1e, 0x93, 0x5a, 0xfc, 0xa5, 0xc1, 0x65, 0x06, 0x00, 0x7d, - 0xa4, 0x24, 0x60, 0x06, 0x56, 0x66, 0x00, 0xa1, 0xca, 0x69, 0xcc, 0xce, 0x81, 0x79, 0x04, 0x8e, 0x59, 0xc1, 0x64, - 0x01, 0x62, 0x49, 0x80, 0x73, 0x17, 0x44, 0xb1, 0x2e, 0xe4, 0x11, 0x04, 0x01, 0xc0, 0x9f, 0xc4, 0x94, 0x82, 0x49, - 0x3a, 0x76, 0x23, 0x08, 0xe2, 0xf8, 0xec, 0x46, 0xb4, 0x26, 0x67, 0x89, 0x0e, 0x66, 0x24, 0x01, 0x36, 0xc4, 0xc0, - 0xf0, 0xc1, 0xfd, 0x1c, 0x94, 0x1e, 0x56, 0xef, 0x84, 0x5c, 0xf0, 0x3d, 0xf7, 0x64, 0xb3, 0x70, 0xf5, 0x84, 0x83, - 0xe0, 0x9e, 0x6b, 0x16, 0x60, 0x54, 0x15, 0xeb, 0xb2, 0xe2, 0xe9, 0x87, 0xfb, 0x15, 0xc4, 0x02, 0xc4, 0x01, 0x7d, - 0x27, 0xf3, 0x2c, 0xb9, 0x0f, 0x9d, 0x3d, 0xd7, 0x46, 0xa5, 0x7f, 0xff, 0xe1, 0xf5, 0x8f, 0x11, 0x88, 0x1c, 0x6b, - 0x43, 0xe9, 0xef, 0x39, 0x9e, 0x4d, 0x7e, 0xc4, 0x2b, 0x7f, 0x63, 0xdf, 0x73, 0x7b, 0x7a, 0xf4, 0xfb, 0x50, 0x37, - 0xbd, 0xe7, 0xb3, 0x7b, 0x3e, 0x72, 0xc5, 0xa1, 0xba, 0xc2, 0x7d, 0x7d, 0xbb, 0xf6, 0x8d, 0x90, 0x1e, 0x9e, 0x67, - 0xca, 0x1b, 0xf3, 0xa3, 0x1d, 0x0c, 0x83, 0x60, 0xaa, 0x85, 0x92, 0x10, 0x85, 0x84, 0x29, 0x01, 0x43, 0x74, 0xa0, - 0x97, 0xd5, 0x14, 0x39, 0x37, 0x35, 0xb2, 0xf0, 0x7e, 0xc0, 0xb4, 0xd0, 0xa1, 0x91, 0x43, 0xf9, 0xc1, 0xe1, 0x84, - 0x31, 0x0b, 0xbf, 0x55, 0xc2, 0xf4, 0xab, 0x45, 0xe5, 0x1c, 0x44, 0x0f, 0xc0, 0x18, 0x57, 0xf0, 0x02, 0xba, 0xc2, - 0x6e, 0xd6, 0x2a, 0x4a, 0x08, 0x82, 0xe9, 0x21, 0x07, 0xe8, 0x61, 0x17, 0xb4, 0xac, 0x2c, 0xd5, 0xad, 0xca, 0x59, - 0xaa, 0xa8, 0xcb, 0x50, 0x56, 0xc6, 0x0a, 0x03, 0xbf, 0x64, 0xdf, 0x17, 0xe8, 0x59, 0x3e, 0x15, 0x5d, 0xf0, 0x42, - 0x28, 0xc1, 0x72, 0x5d, 0xef, 0x44, 0x20, 0xea, 0xfc, 0xd0, 0xbb, 0xea, 0x6b, 0x5c, 0x3f, 0x9e, 0xbe, 0x96, 0x29, - 0xd7, 0x26, 0x14, 0x9a, 0xcf, 0x97, 0xbe, 0x62, 0xa2, 0x60, 0xb7, 0xd0, 0xaf, 0xb6, 0x8d, 0x3e, 0xbb, 0x5f, 0xeb, - 0xcd, 0xa0, 0x44, 0xc7, 0xbc, 0x46, 0xc1, 0xb5, 0x52, 0x28, 0x18, 0xed, 0x6d, 0xfc, 0x09, 0x8e, 0xdc, 0xea, 0xf6, - 0xd0, 0xfb, 0xad, 0x8a, 0xaf, 0xde, 0xa0, 0x6f, 0xa7, 0xfd, 0x39, 0xaa, 0xe4, 0xcf, 0xab, 0x15, 0xf8, 0x50, 0x41, - 0xa4, 0x15, 0x8b, 0xd3, 0x0b, 0xf5, 0x9c, 0xbd, 0x3b, 0x7d, 0x03, 0x7e, 0x94, 0xf8, 0xfb, 0x97, 0xef, 0x82, 0x9a, - 0x4c, 0xe3, 0x59, 0x61, 0x3e, 0xb4, 0x39, 0x20, 0x54, 0x8b, 0x4b, 0xb3, 0xef, 0x67, 0x71, 0x93, 0x7d, 0xd7, 0x6c, - 0x3d, 0x2d, 0x9a, 0x48, 0x52, 0x86, 0xdb, 0x07, 0x03, 0x02, 0x7d, 0x80, 0x28, 0xce, 0xbe, 0xa0, 0x31, 0xa4, 0xf9, - 0xcc, 0xbe, 0x1f, 0x21, 0xf0, 0xc5, 0x4e, 0x48, 0x35, 0xae, 0xb0, 0x68, 0xf4, 0x90, 0xcf, 0x78, 0xa4, 0x0c, 0x8b, - 0xde, 0x63, 0x02, 0x71, 0x86, 0xd3, 0xea, 0x3d, 0x62, 0x40, 0xe3, 0xdd, 0x40, 0xcb, 0x1e, 0xa2, 0x8c, 0xba, 0xec, - 0x0d, 0x8b, 0xef, 0x8f, 0xeb, 0x30, 0xb3, 0x96, 0x97, 0x43, 0xf8, 0x1b, 0x68, 0x03, 0x70, 0xca, 0x91, 0xe5, 0xab, - 0xcc, 0x46, 0x57, 0x4b, 0x4c, 0x6f, 0x22, 0x88, 0x4d, 0xa4, 0xd3, 0x61, 0xed, 0xea, 0x54, 0xbd, 0xab, 0x9d, 0xcf, - 0x44, 0xaf, 0x02, 0xad, 0x5c, 0xdb, 0x1e, 0x0f, 0xe1, 0x3f, 0xb5, 0xb4, 0xc2, 0x46, 0xd8, 0x73, 0xf1, 0x85, 0xe7, - 0xd8, 0x9c, 0x80, 0x06, 0xd7, 0x32, 0x05, 0xe0, 0x2c, 0xad, 0x46, 0xa3, 0x46, 0xd8, 0x67, 0xe5, 0x7c, 0x0e, 0x5b, - 0x0b, 0xf1, 0xb4, 0x00, 0x1c, 0xb8, 0x89, 0xc9, 0xc9, 0xbb, 0x31, 0x39, 0xa7, 0x1f, 0x15, 0xdc, 0x77, 0x70, 0x5e, - 0x2e, 0xe3, 0x54, 0xde, 0x02, 0x36, 0x65, 0xe0, 0xa7, 0x62, 0xa9, 0x5e, 0x42, 0xb2, 0xe4, 0xc9, 0x47, 0xb4, 0xda, - 0x48, 0x03, 0xe0, 0x2a, 0xa7, 0xc6, 0x72, 0x4f, 0x81, 0xa6, 0xba, 0x52, 0x54, 0x42, 0x5c, 0x55, 0x71, 0xb2, 0x3c, - 0xc3, 0xd4, 0x70, 0x03, 0xbd, 0x88, 0x02, 0xb9, 0xe2, 0x02, 0x48, 0x7a, 0xce, 0x7e, 0xcb, 0x34, 0xf6, 0xfa, 0x33, - 0x89, 0x02, 0x26, 0x8d, 0xa2, 0x8c, 0x95, 0xb2, 0x17, 0xd2, 0x44, 0xbf, 0x0b, 0x82, 0xda, 0xbd, 0xfc, 0x13, 0xea, - 0x7e, 0x06, 0xad, 0x08, 0x1b, 0xe0, 0x85, 0x1a, 0xfc, 0x30, 0xb5, 0x4b, 0xce, 0x03, 0x32, 0x74, 0xde, 0x67, 0xb5, - 0xdd, 0xea, 0xcf, 0x96, 0x80, 0xf5, 0x9a, 0x1a, 0x9f, 0xc2, 0x30, 0x21, 0x26, 0x56, 0xb2, 0x55, 0x56, 0xda, 0x0d, - 0x65, 0xda, 0x49, 0x97, 0xcc, 0x6b, 0xe1, 0x34, 0xef, 0x31, 0xb6, 0x1c, 0xa9, 0xdc, 0xfd, 0x7e, 0x68, 0x7e, 0xb2, - 0x9c, 0x3e, 0xd3, 0x21, 0xac, 0xbd, 0xf1, 0xa0, 0x39, 0xd1, 0xea, 0xaa, 0x8e, 0x7e, 0x40, 0x07, 0x60, 0xa6, 0x2d, - 0x42, 0xa5, 0x0b, 0xbe, 0xed, 0x2b, 0x51, 0x71, 0x49, 0xc2, 0x52, 0x49, 0x60, 0x67, 0x37, 0x25, 0x3b, 0x9b, 0x80, - 0x78, 0x86, 0xbb, 0x9e, 0x16, 0x3b, 0x21, 0x4d, 0x78, 0x8b, 0x83, 0x04, 0x44, 0x1d, 0xaa, 0xba, 0x84, 0x6c, 0x8c, - 0xa1, 0x8b, 0x7f, 0x51, 0x0a, 0x13, 0xd6, 0x32, 0xa9, 0x4a, 0x4c, 0x50, 0xa8, 0x72, 0xb7, 0x45, 0x60, 0x89, 0x82, - 0x1d, 0xc0, 0xde, 0xbb, 0x51, 0x37, 0xa3, 0xa6, 0xaa, 0x53, 0x2f, 0xc1, 0xc7, 0x69, 0xd6, 0x55, 0x90, 0x59, 0xd8, - 0x55, 0xb1, 0xe6, 0x81, 0x8e, 0xd5, 0xa5, 0x8c, 0x89, 0xbb, 0xb4, 0xc8, 0x10, 0x1f, 0x19, 0x63, 0x0b, 0x6b, 0x38, - 0xd2, 0xf6, 0xb8, 0xe9, 0x09, 0x42, 0x3f, 0x61, 0x43, 0x09, 0xdc, 0x74, 0xb6, 0xa7, 0xa6, 0x99, 0x0f, 0x88, 0x38, - 0x0c, 0x28, 0x90, 0x6c, 0x1c, 0xd2, 0x1c, 0xe9, 0x0b, 0x92, 0x26, 0x0c, 0x94, 0xad, 0x78, 0x4e, 0x90, 0x15, 0x85, - 0x9e, 0xad, 0xab, 0x36, 0xce, 0x95, 0x61, 0x8e, 0x96, 0x9c, 0x0a, 0x4f, 0x13, 0x64, 0x62, 0x7b, 0xda, 0x66, 0x26, - 0xc3, 0x51, 0xb2, 0xc0, 0xfc, 0x0a, 0xa2, 0xc4, 0x9d, 0x69, 0x56, 0xe5, 0x60, 0x5c, 0xc0, 0x02, 0xad, 0x7c, 0x0f, - 0xea, 0xc6, 0x1a, 0xda, 0x68, 0x58, 0x66, 0xb7, 0x3f, 0xc1, 0x7e, 0xad, 0x9d, 0xd6, 0x65, 0x8a, 0xe5, 0x65, 0x0a, - 0xd1, 0x5e, 0xc8, 0xfc, 0x46, 0x91, 0xe8, 0x4e, 0x11, 0x86, 0x84, 0x75, 0x94, 0x3d, 0x69, 0x53, 0x03, 0xe8, 0xa9, - 0x17, 0x00, 0xbe, 0x73, 0x2d, 0xc3, 0x2e, 0xd2, 0xfd, 0x55, 0xc1, 0xb8, 0x74, 0x83, 0x20, 0x45, 0x6f, 0x52, 0x30, - 0xe7, 0xf5, 0x28, 0xa9, 0x37, 0xa7, 0x2d, 0x33, 0xaa, 0x8e, 0x8a, 0x90, 0x72, 0x82, 0xff, 0xe4, 0x95, 0xd4, 0xc4, - 0x26, 0x4c, 0xf0, 0xc0, 0x87, 0x79, 0x86, 0x0d, 0xbc, 0xdd, 0xbe, 0x4b, 0xc3, 0xa4, 0xcd, 0x36, 0xa4, 0x20, 0xad, - 0x30, 0x71, 0x42, 0xa0, 0xb2, 0x57, 0xb8, 0x5f, 0xb0, 0x9d, 0x34, 0x05, 0x0f, 0xc2, 0x46, 0x03, 0x13, 0xb7, 0xba, - 0xf8, 0x3a, 0x4c, 0x68, 0xb8, 0xa4, 0xda, 0xd9, 0x49, 0x4b, 0x9a, 0xdb, 0xeb, 0xf2, 0xd2, 0xf6, 0x41, 0xc7, 0x52, - 0xeb, 0x1a, 0x1e, 0x68, 0x5e, 0xb3, 0x8b, 0x2b, 0xa6, 0x69, 0xa2, 0xb1, 0x1e, 0x52, 0x96, 0x1c, 0xeb, 0x7a, 0xba, - 0xc2, 0xd5, 0x32, 0xd3, 0x40, 0xf7, 0x12, 0x2f, 0xf4, 0x80, 0x0f, 0x1e, 0xae, 0x48, 0x74, 0x89, 0xcd, 0x66, 0xab, - 0x9a, 0x4c, 0xf3, 0x7d, 0xd9, 0x72, 0x13, 0x20, 0xcf, 0x52, 0xdf, 0xdc, 0x27, 0xc7, 0x9a, 0xb6, 0xf9, 0x49, 0x80, - 0x6b, 0xee, 0x15, 0x90, 0x74, 0x2c, 0x41, 0x17, 0xef, 0xd3, 0x1f, 0x44, 0x6a, 0xa6, 0x82, 0xee, 0x9d, 0x2f, 0x52, - 0x37, 0xbf, 0x00, 0xdb, 0xa8, 0x8d, 0x31, 0xcd, 0xca, 0xd6, 0x61, 0xa2, 0x2c, 0xac, 0x91, 0x85, 0x5c, 0x82, 0x0f, - 0xe6, 0x6e, 0x53, 0xa7, 0xa7, 0x1d, 0x44, 0xd8, 0xef, 0xa2, 0xc7, 0x23, 0x8c, 0x15, 0x6b, 0x90, 0x18, 0x56, 0x61, - 0x4d, 0x9b, 0xcb, 0x21, 0xca, 0xa9, 0x59, 0x32, 0xd1, 0x92, 0xfa, 0x94, 0x22, 0x4a, 0xc1, 0xdc, 0x78, 0x5a, 0x36, - 0x4c, 0x09, 0x11, 0xb2, 0x42, 0x3a, 0xa0, 0x5a, 0x0b, 0x2d, 0xd5, 0x04, 0x01, 0x0f, 0xbd, 0x2c, 0x34, 0xa6, 0x20, - 0xfa, 0x88, 0x0c, 0x37, 0xe2, 0xc8, 0xe8, 0xee, 0x18, 0xc5, 0x04, 0x42, 0x77, 0x7b, 0x79, 0x61, 0xf5, 0x69, 0xd9, - 0x56, 0x07, 0x71, 0x8d, 0x69, 0xb2, 0x87, 0xa0, 0xc6, 0x28, 0x68, 0x73, 0xba, 0xd1, 0x9f, 0x8b, 0xd0, 0xb7, 0x0b, - 0xc7, 0x6e, 0x14, 0x44, 0x42, 0x44, 0x5a, 0xaf, 0xa9, 0x18, 0xa0, 0x76, 0x1e, 0xbb, 0x88, 0x55, 0xba, 0x5b, 0x88, - 0xf2, 0x46, 0x65, 0xfd, 0x71, 0x1d, 0x92, 0xed, 0x16, 0xcb, 0x02, 0x5f, 0xf6, 0xb3, 0xf5, 0x1e, 0x08, 0xf4, 0xd7, - 0xeb, 0x4f, 0x42, 0xa0, 0xbf, 0xca, 0x3e, 0x07, 0x02, 0xfd, 0xf5, 0xfa, 0x7f, 0x1a, 0x02, 0xfd, 0x6c, 0xed, 0x41, - 0xa0, 0xab, 0xc1, 0xf8, 0xb5, 0x60, 0xc1, 0xdb, 0x37, 0x01, 0x7d, 0x2e, 0x59, 0xf0, 0xf6, 0xe5, 0x4b, 0xdf, 0x08, - 0x44, 0x68, 0x24, 0x7f, 0x23, 0x0b, 0x46, 0xdc, 0x16, 0x78, 0x85, 0x5a, 0x27, 0x1f, 0xa8, 0x28, 0x03, 0x20, 0xfa, - 0xf2, 0x9f, 0x59, 0xb5, 0x0c, 0x83, 0xc3, 0x80, 0xcc, 0x1c, 0x24, 0xe8, 0x70, 0x02, 0xb7, 0x37, 0x28, 0xe5, 0xbb, - 0xcf, 0x42, 0x53, 0x1f, 0x8d, 0x46, 0x71, 0x71, 0x85, 0x77, 0x3a, 0xb3, 0x8f, 0x10, 0xef, 0x38, 0xe3, 0xa5, 0x8d, - 0x98, 0xb1, 0x8c, 0xcb, 0x73, 0x1d, 0xaa, 0xa6, 0xb4, 0x3b, 0xb1, 0x5c, 0xca, 0xdb, 0x73, 0x80, 0xed, 0xb7, 0x5b, - 0x33, 0xc6, 0x6e, 0x28, 0x86, 0x58, 0xc7, 0xd3, 0x7d, 0xb6, 0xd6, 0xef, 0x2e, 0xe2, 0x92, 0xbf, 0x8b, 0xab, 0x25, - 0x83, 0x4e, 0xea, 0xed, 0x5a, 0xc8, 0xf5, 0xca, 0x55, 0x72, 0xbe, 0x16, 0x1f, 0x85, 0xbc, 0x15, 0x6a, 0x53, 0x9d, - 0xf3, 0x1b, 0x68, 0x11, 0xdb, 0xa0, 0x32, 0x42, 0xf0, 0xa4, 0xf2, 0x58, 0x2c, 0x05, 0xf2, 0x9e, 0x51, 0x03, 0xf3, - 0xde, 0x91, 0x83, 0x86, 0x76, 0x10, 0xb5, 0xc7, 0xb0, 0x91, 0x45, 0x67, 0x60, 0xe2, 0xf8, 0x02, 0x4a, 0x07, 0x28, - 0x6e, 0x88, 0x03, 0x01, 0x77, 0x0a, 0xe4, 0x79, 0x1b, 0x50, 0x2c, 0xb4, 0xf4, 0xfd, 0x40, 0xd4, 0x19, 0x6a, 0x60, - 0x0c, 0x1b, 0xc3, 0x84, 0xf7, 0x26, 0xf4, 0x05, 0x05, 0x8d, 0x6e, 0x01, 0x2e, 0x87, 0x7f, 0xae, 0xf9, 0x79, 0x96, - 0x22, 0xe0, 0x4d, 0x96, 0x2a, 0x6b, 0xa2, 0x1e, 0x0a, 0x39, 0xf0, 0xd9, 0x53, 0x3e, 0xe9, 0x78, 0x61, 0x9e, 0xbd, - 0xd5, 0x46, 0xa9, 0x58, 0xe7, 0x60, 0xeb, 0xe3, 0xd7, 0x32, 0x97, 0x3a, 0xe0, 0xf4, 0xb9, 0x58, 0x5f, 0xf3, 0x22, - 0x4b, 0xce, 0x97, 0x59, 0x59, 0xc9, 0xe2, 0x7e, 0x61, 0x70, 0x0c, 0x74, 0x59, 0xad, 0x49, 0xdc, 0xfb, 0x1d, 0x38, - 0x33, 0xab, 0xc8, 0x14, 0xc3, 0xa7, 0x63, 0x52, 0x6b, 0x33, 0x68, 0x68, 0x20, 0xb5, 0xbf, 0x53, 0x09, 0xc0, 0xe9, - 0xee, 0xd9, 0x76, 0x8d, 0x36, 0x0d, 0xd8, 0xdb, 0x35, 0x52, 0xb3, 0x94, 0x0a, 0xfe, 0xe7, 0x9a, 0x1b, 0x18, 0xfb, - 0xd0, 0x41, 0x34, 0x97, 0x3d, 0xad, 0x63, 0x50, 0xd8, 0x3e, 0x44, 0xf1, 0xf8, 0x69, 0xfa, 0x02, 0xa1, 0xb6, 0xe1, - 0x6e, 0x8b, 0xda, 0x73, 0x1b, 0xa9, 0xa9, 0x6b, 0x6d, 0xcc, 0xa1, 0xad, 0x8b, 0xd9, 0xa7, 0x32, 0x0c, 0x06, 0xd1, - 0xa7, 0xb2, 0xb0, 0xc9, 0x03, 0x4b, 0x50, 0x65, 0x39, 0x36, 0x16, 0x73, 0x5a, 0x05, 0x0e, 0x89, 0x1e, 0x26, 0x2d, - 0x60, 0xcf, 0x00, 0x52, 0x6d, 0x02, 0xa3, 0xaa, 0xb5, 0xa2, 0x0e, 0x6c, 0x76, 0x8a, 0x46, 0x0b, 0xe1, 0xef, 0x8f, - 0x36, 0xcd, 0xcd, 0x50, 0x1f, 0x3e, 0xda, 0xc4, 0xf0, 0x5f, 0x52, 0xcf, 0x52, 0x5e, 0xc5, 0x59, 0xce, 0xe2, 0x3c, - 0xff, 0x9d, 0x6e, 0xae, 0x79, 0xb5, 0x94, 0x69, 0x14, 0x7c, 0xf7, 0xe2, 0x43, 0x60, 0xb4, 0x96, 0xb9, 0xc6, 0xab, - 0xd1, 0x82, 0xfc, 0x5c, 0x5e, 0x85, 0x39, 0xa1, 0xbd, 0x7c, 0x24, 0x3f, 0xee, 0x04, 0x78, 0xfc, 0xfd, 0xfb, 0x0f, - 0x1f, 0xde, 0x1d, 0xa0, 0xac, 0xbf, 0x77, 0x70, 0xa6, 0x1c, 0xc7, 0x0f, 0x1e, 0x6d, 0x72, 0xad, 0x5d, 0xad, 0x7f, - 0x77, 0x17, 0xf7, 0x96, 0x6e, 0x34, 0xd7, 0x5b, 0xc0, 0xab, 0xa2, 0x35, 0x37, 0xb9, 0x53, 0x60, 0xfa, 0x99, 0x95, - 0x62, 0x21, 0x40, 0xb1, 0xb9, 0xaa, 0x39, 0x0a, 0x28, 0xe4, 0x05, 0x90, 0xfd, 0xb0, 0xda, 0xb3, 0x19, 0xab, 0xae, - 0xcd, 0x28, 0x8b, 0x2a, 0x13, 0x57, 0xe7, 0x48, 0x1f, 0x3e, 0x6b, 0x53, 0x9a, 0x65, 0xa2, 0x28, 0x4a, 0x7b, 0x3f, - 0x36, 0x50, 0xaa, 0xb4, 0x3d, 0xa6, 0xde, 0x65, 0x20, 0x2b, 0x29, 0xeb, 0xa9, 0xff, 0xb1, 0x31, 0x16, 0xf0, 0xd3, - 0x14, 0x86, 0x17, 0x1c, 0x7f, 0xec, 0x24, 0x1e, 0x99, 0xf6, 0xdd, 0xe2, 0x95, 0xf9, 0x38, 0x69, 0x25, 0xcc, 0x86, - 0x93, 0x68, 0x42, 0x6c, 0x68, 0x01, 0x4d, 0xe5, 0xbe, 0x1b, 0xbd, 0x78, 0xf3, 0xe1, 0xd5, 0x87, 0x7f, 0x9d, 0x3f, - 0x3b, 0xfd, 0xf0, 0xe2, 0xbb, 0xb7, 0xef, 0x5f, 0xbd, 0x38, 0x43, 0x1c, 0x3d, 0x8d, 0x55, 0x18, 0x6e, 0xb4, 0x41, - 0x6c, 0xb3, 0xac, 0x48, 0xd4, 0xa4, 0xd9, 0x14, 0x05, 0x16, 0x84, 0x99, 0x6d, 0x91, 0x3f, 0xbf, 0x79, 0xfe, 0xe2, - 0xe5, 0xab, 0x37, 0x2f, 0x9e, 0xb7, 0xbf, 0x1e, 0x4e, 0x6a, 0x52, 0xbb, 0x99, 0xd3, 0xc1, 0x31, 0xb8, 0x1d, 0xaf, - 0x0e, 0x0a, 0x86, 0x0a, 0x59, 0x9f, 0x82, 0x65, 0x40, 0xb1, 0x98, 0x12, 0xd1, 0xe2, 0x6f, 0x1d, 0x88, 0x2a, 0x6b, - 0x6d, 0x80, 0x12, 0x07, 0x33, 0xa3, 0x8a, 0x64, 0x44, 0x02, 0x76, 0x83, 0x2d, 0x07, 0x0c, 0x5f, 0x53, 0x0a, 0x48, - 0x3e, 0x1d, 0xbb, 0x83, 0x2a, 0x7c, 0xfd, 0xf3, 0x24, 0xae, 0xf8, 0x95, 0x2c, 0xee, 0xa3, 0x6c, 0xd4, 0x4a, 0xa1, - 0x8d, 0x25, 0x11, 0x85, 0x20, 0x65, 0x6c, 0x24, 0x11, 0x45, 0x4e, 0x66, 0xde, 0xa0, 0xb8, 0x71, 0x9e, 0x3b, 0xe8, - 0xf8, 0x76, 0xc1, 0x64, 0xb1, 0xdd, 0x76, 0x0c, 0x63, 0x27, 0xbd, 0x8c, 0xe6, 0x99, 0x22, 0xa4, 0x0b, 0xe0, 0xd2, - 0xe0, 0x48, 0x54, 0xe7, 0x1d, 0x33, 0x47, 0xe4, 0xa9, 0x0e, 0x01, 0x09, 0xa6, 0x69, 0xee, 0xb5, 0x89, 0x32, 0xd2, - 0x3c, 0x43, 0xc7, 0x2d, 0x2a, 0x6d, 0x00, 0x5f, 0x5b, 0xa9, 0x6a, 0xe1, 0x69, 0xa0, 0x3d, 0x98, 0x3b, 0x88, 0xcd, - 0x64, 0xe4, 0x78, 0x61, 0x0e, 0xe6, 0x12, 0x8d, 0x19, 0x37, 0xe3, 0x90, 0x47, 0xd2, 0x60, 0xa6, 0x81, 0xfd, 0xd8, - 0x9e, 0x5c, 0xcb, 0xa8, 0x68, 0xa0, 0x1f, 0xca, 0xe6, 0xa0, 0x1e, 0x17, 0xcd, 0x67, 0x58, 0xd8, 0xad, 0x2c, 0x28, - 0xbf, 0x6b, 0x66, 0x82, 0x7b, 0x66, 0x32, 0x53, 0xd5, 0x8f, 0x2a, 0xf9, 0xa3, 0xbc, 0x35, 0xb2, 0xc2, 0xe3, 0xa2, - 0x23, 0x11, 0x77, 0x4b, 0x14, 0x1f, 0x27, 0xea, 0xc7, 0xa4, 0xde, 0x73, 0x70, 0xd4, 0x6e, 0x80, 0xad, 0x2c, 0xfb, - 0x77, 0xc5, 0x3f, 0x9f, 0x3f, 0xda, 0x64, 0xfa, 0xa4, 0xaa, 0x7f, 0xcf, 0x6c, 0x24, 0xd0, 0x06, 0x33, 0x52, 0xeb, - 0xa1, 0xf7, 0x81, 0x27, 0x3b, 0xb2, 0xe9, 0xf5, 0xc1, 0xb2, 0x4e, 0x8e, 0x66, 0xa4, 0x1e, 0xb9, 0x0a, 0x8c, 0xd8, - 0x9d, 0x85, 0xdf, 0xf1, 0x24, 0xec, 0x6a, 0x98, 0x92, 0x35, 0x98, 0x2e, 0x20, 0x16, 0xef, 0xfe, 0x43, 0xc1, 0x7e, - 0x86, 0xbf, 0xb3, 0x14, 0xfe, 0x56, 0xb5, 0x77, 0x30, 0xbc, 0x7b, 0x7b, 0xf6, 0x01, 0x14, 0x1c, 0x31, 0x6a, 0x24, - 0x37, 0x81, 0x36, 0x66, 0x18, 0x82, 0xca, 0x20, 0x88, 0x82, 0x78, 0x05, 0x27, 0x3b, 0xb2, 0x8e, 0x87, 0x77, 0xc3, - 0xdb, 0xdb, 0xdb, 0xff, 0xd3, 0xdc, 0xb3, 0x6e, 0xb7, 0x6d, 0x23, 0xfd, 0xbf, 0x4f, 0xc1, 0x30, 0xd9, 0x94, 0x4c, - 0x48, 0x9a, 0x94, 0x2c, 0x5b, 0x91, 0x2c, 0xb9, 0xcd, 0xa5, 0x5b, 0x77, 0xdd, 0xa6, 0x27, 0x71, 0xfb, 0xed, 0xae, - 0xeb, 0x63, 0x51, 0x12, 0x24, 0x71, 0x43, 0x91, 0x3a, 0x24, 0xe5, 0x4b, 0x15, 0xee, 0xb3, 0xec, 0x23, 0x7c, 0xcf, - 0xd0, 0x27, 0xfb, 0xce, 0xcc, 0x00, 0x24, 0x78, 0x93, 0xe4, 0x4d, 0xda, 0x7e, 0xa7, 0x4d, 0x22, 0x82, 0x00, 0x08, - 0x0c, 0x80, 0xb9, 0x61, 0x2e, 0x26, 0x98, 0x36, 0x9a, 0xeb, 0xc8, 0x67, 0xc1, 0x24, 0x84, 0xc4, 0x24, 0xa9, 0x40, - 0xf8, 0xac, 0x84, 0xf0, 0x21, 0x2e, 0x2a, 0x4f, 0xac, 0xf1, 0x7e, 0x11, 0xde, 0x7e, 0xed, 0xfb, 0xb2, 0xfc, 0x2e, - 0x98, 0x3e, 0x2e, 0xd2, 0x16, 0x10, 0x88, 0x06, 0xd7, 0x10, 0x96, 0x17, 0x5f, 0xf3, 0x8b, 0xe3, 0xe9, 0xf5, 0xf8, - 0xfe, 0x9a, 0x2b, 0xa7, 0xb3, 0xc0, 0xb4, 0xaf, 0x46, 0x27, 0x53, 0xef, 0x46, 0x41, 0xce, 0x74, 0xa0, 0x82, 0x57, - 0x8f, 0xcf, 0xc6, 0xeb, 0x24, 0x09, 0x03, 0x33, 0x0a, 0x6f, 0xd5, 0xe1, 0x09, 0x3d, 0x88, 0x0a, 0x2e, 0x3d, 0xaa, - 0xca, 0x57, 0x13, 0xdf, 0x9b, 0x7c, 0x18, 0xa8, 0x4f, 0x36, 0xde, 0x60, 0x58, 0xe2, 0x3f, 0xed, 0x54, 0x1d, 0xc2, - 0x58, 0x95, 0xaf, 0x7d, 0xff, 0xe4, 0x80, 0x5a, 0x0c, 0x4f, 0x0e, 0xa6, 0xde, 0xcd, 0x50, 0xca, 0x11, 0xc2, 0x2f, - 0xd0, 0x06, 0x3c, 0x16, 0x63, 0x66, 0x72, 0x14, 0xa3, 0x73, 0xff, 0x84, 0x69, 0xb9, 0x14, 0x04, 0x41, 0x47, 0x68, - 0xbc, 0xda, 0x04, 0xf5, 0xaa, 0x3e, 0xf0, 0xfc, 0x1f, 0x3f, 0x6a, 0x99, 0x41, 0xe2, 0x42, 0x8a, 0xd6, 0x85, 0xf7, - 0x3d, 0x58, 0xc5, 0xc0, 0x90, 0x23, 0xba, 0x26, 0x62, 0x8a, 0xf9, 0xba, 0x31, 0x49, 0x0d, 0x4c, 0xb5, 0xe2, 0xae, - 0x80, 0x47, 0xe0, 0x3f, 0x25, 0xd1, 0x68, 0x02, 0xe9, 0x95, 0x25, 0x04, 0xaf, 0x4b, 0xca, 0x77, 0x3a, 0x9b, 0x3c, - 0x60, 0x1c, 0x68, 0xcd, 0xf1, 0x3b, 0xa4, 0x10, 0xd7, 0x7c, 0x1d, 0xd2, 0x7b, 0x65, 0x51, 0x5a, 0xdc, 0x54, 0x24, - 0xd4, 0x12, 0x70, 0x39, 0x2d, 0xac, 0x50, 0xaf, 0xbc, 0x5e, 0x22, 0x7c, 0xe0, 0xa3, 0xb8, 0x69, 0xc9, 0xe0, 0x32, - 0x47, 0x4b, 0x8c, 0x12, 0x3d, 0x06, 0xf7, 0x2e, 0xe9, 0x06, 0x81, 0x19, 0xda, 0x65, 0x6c, 0x84, 0x57, 0x39, 0x0d, - 0x8b, 0x09, 0x7d, 0xf6, 0xc2, 0x34, 0x8f, 0xe4, 0x4b, 0xab, 0x3e, 0x7c, 0xb2, 0x09, 0x90, 0xe8, 0xc5, 0x83, 0x61, - 0x71, 0x1f, 0x24, 0xee, 0xd8, 0xa4, 0xcd, 0xac, 0x2a, 0x5f, 0x4d, 0xc7, 0x7e, 0xb6, 0xd8, 0x74, 0x34, 0x16, 0x6e, - 0x30, 0xf5, 0xd9, 0x85, 0x3b, 0xfe, 0x16, 0xeb, 0xbc, 0x1e, 0xfb, 0xaf, 0xa0, 0x42, 0xaa, 0x0e, 0x9f, 0x6c, 0x88, - 0xac, 0xd7, 0xa1, 0xf1, 0x94, 0xb6, 0x40, 0xf9, 0x3b, 0x3c, 0xf7, 0x0e, 0x8b, 0xa8, 0x35, 0x0e, 0x96, 0x48, 0x31, - 0xe1, 0xd9, 0xe2, 0xc8, 0x78, 0xee, 0x17, 0xd8, 0x9b, 0x0a, 0x3f, 0x94, 0x30, 0xae, 0x50, 0x1c, 0x50, 0x79, 0x67, - 0xca, 0x83, 0x25, 0x92, 0xfb, 0x2e, 0xbc, 0x15, 0x23, 0xe5, 0x00, 0xa0, 0x58, 0x85, 0xa7, 0xaf, 0x46, 0x27, 0xf2, - 0xfd, 0x00, 0x2a, 0x51, 0xa9, 0x5f, 0xf8, 0x95, 0xaa, 0x4a, 0x9e, 0x09, 0x68, 0x75, 0xa7, 0x0e, 0x4f, 0x0e, 0xe4, - 0xda, 0xc3, 0x51, 0xef, 0x5c, 0x9a, 0x1c, 0xf6, 0x0a, 0x40, 0x28, 0x96, 0x55, 0xa8, 0x0e, 0x24, 0xc7, 0xcb, 0xe9, - 0x12, 0x6d, 0x0f, 0x81, 0x16, 0x43, 0xbd, 0x97, 0xad, 0x11, 0xd9, 0xe0, 0x89, 0xde, 0x46, 0xfc, 0xdf, 0x7c, 0xce, - 0xa8, 0xd3, 0x64, 0x41, 0x1c, 0x46, 0x2a, 0xcc, 0xa3, 0x9c, 0x21, 0x47, 0x91, 0x32, 0x73, 0xe1, 0x8c, 0x6a, 0xa9, - 0x29, 0x40, 0xe4, 0xa0, 0xdc, 0x54, 0x9a, 0xd8, 0x48, 0xcf, 0x7f, 0x28, 0x7c, 0x32, 0x25, 0xac, 0x94, 0x0d, 0xb0, - 0x39, 0xf3, 0xd0, 0xe5, 0x5b, 0xcf, 0xf8, 0x9f, 0xd0, 0x98, 0xbb, 0xc6, 0xd2, 0x35, 0xde, 0x07, 0x57, 0x69, 0xed, - 0xea, 0x64, 0x59, 0xc3, 0x0c, 0xd6, 0xd7, 0x20, 0xd6, 0x0e, 0xd7, 0x80, 0x70, 0xbd, 0x80, 0x67, 0x71, 0xeb, 0x80, - 0x0b, 0x37, 0x9a, 0x33, 0x91, 0xac, 0x4b, 0xbc, 0x4d, 0x38, 0x54, 0x74, 0x09, 0x2c, 0x10, 0x88, 0x4a, 0x08, 0x38, - 0x9e, 0x35, 0x49, 0x22, 0xff, 0x6f, 0xec, 0x1e, 0x24, 0xcf, 0x38, 0x09, 0x57, 0xa0, 0x9d, 0x70, 0xe7, 0x5c, 0xdb, - 0x6c, 0x00, 0x2f, 0xb3, 0xcf, 0xe7, 0x3e, 0x7e, 0x64, 0x52, 0xfe, 0xa8, 0x24, 0x9c, 0xcf, 0x7d, 0xa6, 0x49, 0x79, - 0xa6, 0xb2, 0xcf, 0x9c, 0x3e, 0xb2, 0x45, 0x8c, 0x62, 0x3d, 0x6d, 0x3a, 0x39, 0x39, 0x2b, 0x28, 0xee, 0x75, 0x49, - 0x58, 0xc7, 0xdb, 0xa8, 0x1b, 0xbc, 0xd0, 0xe5, 0xeb, 0x92, 0x9f, 0x4c, 0x73, 0x1a, 0xae, 0xc7, 0x3e, 0x33, 0x71, - 0xbb, 0xc3, 0x27, 0x37, 0xe3, 0xf5, 0x78, 0xec, 0x53, 0x62, 0x28, 0x88, 0xb4, 0x15, 0xc6, 0xa8, 0x01, 0x4b, 0xf5, - 0x3e, 0x32, 0x68, 0x49, 0x79, 0xf8, 0x60, 0x1d, 0x07, 0x62, 0x03, 0x7d, 0x20, 0x01, 0x6d, 0x57, 0xf5, 0xd0, 0x0e, - 0x54, 0x10, 0x57, 0x58, 0xac, 0xf6, 0x6b, 0x38, 0xb9, 0xc1, 0xa5, 0xfa, 0x1e, 0x21, 0x8c, 0xd9, 0xeb, 0x5f, 0xd1, - 0xde, 0x55, 0x0d, 0x95, 0x8c, 0x7c, 0x78, 0x1e, 0x31, 0xd5, 0x50, 0x5f, 0x7b, 0xee, 0x3c, 0x08, 0xe3, 0xc4, 0x9b, - 0xa8, 0x57, 0xfd, 0x33, 0x4f, 0xbb, 0x5c, 0x26, 0x9a, 0x7e, 0x65, 0xfc, 0x55, 0xce, 0xf8, 0x24, 0x50, 0x21, 0x26, - 0x7c, 0x6a, 0xa8, 0x23, 0x9f, 0x9e, 0x6d, 0xf5, 0x04, 0xca, 0xc5, 0x3a, 0x7f, 0x1d, 0x40, 0xad, 0x52, 0xee, 0x28, - 0x4c, 0x0a, 0x08, 0xb9, 0xa3, 0xfe, 0xaa, 0xf7, 0x49, 0x2b, 0xf3, 0x6a, 0xbd, 0x41, 0x5e, 0x21, 0xc9, 0xa9, 0x2b, - 0x86, 0x3b, 0x17, 0x3e, 0x82, 0xf4, 0xfc, 0x48, 0xb6, 0x6f, 0x2f, 0xd0, 0xe9, 0xd1, 0xd7, 0x45, 0xc6, 0x03, 0x18, - 0x04, 0x30, 0x2e, 0x0b, 0xc2, 0x44, 0x81, 0x18, 0x5e, 0xf0, 0xc1, 0x51, 0xd9, 0x1e, 0x96, 0xf7, 0xaa, 0xe9, 0x29, - 0xc7, 0x02, 0x2f, 0x91, 0x58, 0x8a, 0xec, 0xef, 0x18, 0x8e, 0xb2, 0x10, 0xb1, 0x87, 0x7b, 0x61, 0xc1, 0xf2, 0x15, - 0xd8, 0x36, 0x09, 0xb1, 0x17, 0x09, 0xf6, 0x93, 0x4d, 0x7c, 0x2a, 0xa8, 0xf6, 0x59, 0x8c, 0x6b, 0x09, 0xfc, 0x08, - 0x27, 0xe3, 0xa9, 0xaa, 0x9c, 0x0a, 0x52, 0x83, 0x75, 0x0b, 0xf8, 0x53, 0x13, 0x5c, 0xae, 0x48, 0xea, 0xae, 0xf1, - 0x14, 0xd4, 0x82, 0xef, 0x2a, 0x1d, 0x3d, 0x08, 0xcb, 0x93, 0xb1, 0x54, 0x09, 0xd8, 0xd6, 0x22, 0x45, 0x00, 0xcc, - 0xc5, 0x99, 0x80, 0x51, 0x7a, 0x0d, 0xfc, 0x23, 0xc4, 0xaa, 0x12, 0x73, 0x34, 0x42, 0x39, 0x5d, 0x98, 0x17, 0xac, - 0xd6, 0x09, 0xc6, 0x20, 0x87, 0x01, 0xb0, 0x54, 0x55, 0x50, 0x5a, 0x04, 0x64, 0x9e, 0x4b, 0x41, 0xa9, 0xaa, 0x78, - 0xd3, 0x6a, 0x19, 0x57, 0xdd, 0x00, 0x8e, 0xc3, 0x69, 0xa0, 0x06, 0x1f, 0x1e, 0x23, 0x3e, 0x8d, 0x89, 0x91, 0x27, - 0xf0, 0xd0, 0x26, 0x78, 0xd3, 0x5d, 0x83, 0x40, 0x26, 0xd4, 0x4f, 0x5f, 0xf3, 0x6b, 0x27, 0x0b, 0x71, 0x89, 0x0b, - 0xd3, 0x1c, 0x3d, 0xd9, 0x04, 0xe9, 0x29, 0xc0, 0x6e, 0xf0, 0x64, 0xe3, 0x66, 0x46, 0x54, 0xea, 0x85, 0x4a, 0x16, - 0x54, 0x23, 0x04, 0xc3, 0x28, 0xbd, 0xce, 0x5d, 0x1a, 0xf3, 0xf9, 0xc2, 0x96, 0xa4, 0x72, 0x05, 0x6d, 0x9a, 0x06, - 0xdc, 0x72, 0x69, 0x15, 0x79, 0x4b, 0x37, 0xba, 0x27, 0x43, 0x27, 0x43, 0xb6, 0x86, 0xd2, 0x55, 0x85, 0xe8, 0x01, - 0x01, 0x80, 0x48, 0x83, 0xaa, 0x7c, 0x95, 0x95, 0x31, 0x3e, 0xdb, 0xcc, 0xda, 0x03, 0xbe, 0x75, 0xad, 0x3e, 0x67, - 0x16, 0xa9, 0x34, 0xa8, 0x49, 0x5f, 0x8b, 0x1b, 0xa6, 0x17, 0x17, 0xa7, 0x17, 0x14, 0x37, 0x1a, 0x4e, 0x86, 0x28, - 0x05, 0x8d, 0x1b, 0x67, 0x86, 0xe9, 0x0e, 0xeb, 0x57, 0x94, 0xde, 0xfd, 0xa1, 0xcb, 0xc1, 0x60, 0x39, 0x02, 0x58, - 0x0e, 0xe2, 0xae, 0x7f, 0x7a, 0x77, 0x96, 0xe5, 0x57, 0x04, 0xd5, 0xf8, 0x88, 0x6f, 0xcc, 0x18, 0xd9, 0x8c, 0x08, - 0x59, 0x0c, 0xca, 0x84, 0xa8, 0x64, 0x5b, 0x28, 0x82, 0xa3, 0x41, 0x63, 0xa7, 0xa3, 0x11, 0x0d, 0x06, 0x21, 0xb6, - 0x8a, 0xd2, 0x93, 0x03, 0xaa, 0x4d, 0x44, 0x91, 0x2a, 0x01, 0x18, 0x22, 0x98, 0x61, 0x0e, 0x05, 0x48, 0x05, 0x3d, - 0x70, 0x72, 0xf9, 0xc6, 0x5a, 0xe2, 0x05, 0xa4, 0x73, 0x5a, 0xe4, 0x68, 0xb0, 0x95, 0x3a, 0x3c, 0xc1, 0xe4, 0x8e, - 0x40, 0xd6, 0x21, 0xfc, 0xd1, 0xc9, 0x01, 0x3d, 0x2a, 0xa5, 0x13, 0x91, 0x77, 0x22, 0x14, 0x94, 0x3d, 0xde, 0xc1, - 0x83, 0x8e, 0x4a, 0x9c, 0xb0, 0x15, 0x94, 0xba, 0xa9, 0xaa, 0x2c, 0x39, 0x07, 0xc5, 0xe3, 0xac, 0x41, 0x10, 0x16, - 0x1b, 0x8c, 0xdf, 0x55, 0x65, 0xe9, 0xde, 0xe1, 0xcc, 0xc5, 0x1b, 0xf7, 0x4e, 0x73, 0xf8, 0xab, 0xfc, 0xac, 0xc5, - 0xc5, 0xb3, 0x36, 0xe1, 0x8b, 0x0b, 0x1e, 0x56, 0x82, 0x73, 0xd6, 0x16, 0x68, 0xb9, 0x52, 0xb3, 0xb8, 0x0b, 0xb1, - 0xb8, 0xd3, 0x86, 0xc5, 0x9d, 0x6e, 0x59, 0x5c, 0x9f, 0x2f, 0xa4, 0x92, 0x81, 0x2e, 0x42, 0xaf, 0xd9, 0x0c, 0x78, - 0x9c, 0x1f, 0xe9, 0xf1, 0x73, 0x86, 0x70, 0x32, 0x63, 0x1f, 0xac, 0x46, 0x1b, 0x60, 0x55, 0x07, 0x17, 0x09, 0x10, - 0xd5, 0x89, 0x67, 0xa7, 0x6e, 0x22, 0x29, 0x04, 0x34, 0xbf, 0x3c, 0x5f, 0xd8, 0xa5, 0xd8, 0xd0, 0xd0, 0x16, 0x0d, - 0x33, 0x5d, 0x6c, 0x99, 0xe9, 0xa4, 0x70, 0x74, 0xf9, 0xb4, 0xe9, 0x10, 0xca, 0x93, 0x82, 0x3d, 0x08, 0x96, 0xf4, - 0xb8, 0x65, 0x8a, 0xfb, 0xb0, 0x19, 0xc7, 0x4a, 0x3b, 0x6a, 0xe5, 0xc6, 0xf1, 0x6d, 0x18, 0xc1, 0x55, 0x34, 0x74, - 0xf3, 0xb0, 0x2d, 0xb5, 0xf4, 0x02, 0x1e, 0xe5, 0xaa, 0x71, 0x33, 0xe5, 0xef, 0xe5, 0x2d, 0xd5, 0xea, 0x74, 0xa8, - 0xc6, 0xca, 0x4d, 0x12, 0x16, 0x21, 0xd0, 0x5d, 0x48, 0x87, 0xf0, 0xff, 0x64, 0x9b, 0xd5, 0xe0, 0x10, 0x5f, 0xc2, - 0xea, 0x88, 0xa1, 0x57, 0xc0, 0x82, 0xd1, 0xdd, 0x53, 0xa0, 0x6f, 0xa4, 0x88, 0x99, 0x51, 0x06, 0xf8, 0x1f, 0xf0, - 0xb8, 0x6a, 0x91, 0xe4, 0xd3, 0xe9, 0x1c, 0xe9, 0xd6, 0xca, 0x9d, 0xbe, 0x07, 0x8b, 0x07, 0xad, 0x65, 0x80, 0xf7, - 0x82, 0x1c, 0x1f, 0x33, 0x22, 0x9e, 0x70, 0x92, 0x23, 0x49, 0xc4, 0x92, 0xdc, 0x36, 0x14, 0xdc, 0xca, 0x5d, 0x73, - 0x76, 0xb5, 0x69, 0xa5, 0x07, 0x73, 0x4f, 0xaf, 0x60, 0x4d, 0x40, 0x6d, 0xfe, 0x60, 0x98, 0xe9, 0xda, 0x7c, 0xc3, - 0x39, 0xd2, 0xe1, 0x4a, 0xec, 0x12, 0x12, 0x5f, 0xdb, 0x42, 0x5a, 0x1e, 0x45, 0x40, 0xb5, 0x2e, 0xed, 0xab, 0xf4, - 0xe9, 0x1c, 0x7f, 0x39, 0x57, 0xe9, 0xd3, 0x31, 0xfe, 0x6a, 0x5d, 0x61, 0x4a, 0xcf, 0x1a, 0x35, 0x81, 0x34, 0x67, - 0x75, 0x58, 0xd8, 0x4f, 0x64, 0x98, 0xfb, 0x80, 0x6d, 0xc3, 0x17, 0xf8, 0xf1, 0x93, 0x4d, 0x0c, 0xae, 0xe8, 0xf2, - 0x1c, 0x02, 0x2b, 0xd2, 0xd3, 0xda, 0xf2, 0x79, 0x43, 0xf9, 0x58, 0xff, 0x83, 0x09, 0x3f, 0xee, 0x92, 0x30, 0xa7, - 0x29, 0x45, 0x25, 0xc7, 0xf5, 0xd8, 0x0b, 0xdc, 0xe8, 0xfe, 0x9a, 0xa4, 0x10, 0x4d, 0xd2, 0xf6, 0x3e, 0xca, 0xa5, - 0xff, 0xfb, 0xa2, 0x1d, 0x40, 0x22, 0xdd, 0x65, 0xdd, 0x73, 0x42, 0x3f, 0xf8, 0x7b, 0x24, 0xf1, 0x77, 0x05, 0x39, - 0x95, 0x2f, 0x48, 0xe1, 0x43, 0xd7, 0x4f, 0x36, 0x1a, 0xab, 0x76, 0x53, 0x9a, 0x6d, 0x89, 0x81, 0x84, 0xe5, 0x41, - 0x99, 0x77, 0x39, 0xf5, 0x7a, 0x78, 0xd1, 0x3f, 0x0e, 0xef, 0xcc, 0x27, 0x9b, 0xe4, 0x54, 0x5d, 0xba, 0xd1, 0x07, - 0x36, 0x35, 0x27, 0x5e, 0x34, 0xf1, 0x81, 0x79, 0x1c, 0xfb, 0x6e, 0xf0, 0x81, 0x3f, 0x9a, 0xe1, 0x3a, 0x41, 0xd3, - 0x9d, 0x9d, 0x22, 0xb2, 0x80, 0x09, 0xe9, 0x0f, 0x91, 0xab, 0xad, 0x81, 0x82, 0xf2, 0x2a, 0xd3, 0xbf, 0xe5, 0x8c, - 0x62, 0x5e, 0xcb, 0x00, 0xcb, 0x73, 0xb0, 0x26, 0x02, 0x57, 0x7e, 0x43, 0xc5, 0xf5, 0x52, 0x0d, 0x79, 0xaa, 0x74, - 0xe5, 0x96, 0xe5, 0xa2, 0xbd, 0xc6, 0x1e, 0xfe, 0xfb, 0xcf, 0x41, 0xc9, 0x43, 0x3e, 0x97, 0xf5, 0xf2, 0x69, 0x33, - 0x84, 0x52, 0x93, 0x5c, 0xc8, 0x1e, 0xf0, 0x71, 0xce, 0x60, 0x36, 0x7f, 0x5a, 0x6e, 0xec, 0xc6, 0xf1, 0x7a, 0xc9, - 0xa6, 0x74, 0xb5, 0x76, 0x9a, 0x0f, 0xaa, 0x28, 0x87, 0xc8, 0x03, 0xfb, 0x65, 0xdd, 0x3a, 0x3e, 0x7c, 0x05, 0xa6, - 0x5c, 0xc0, 0x50, 0x86, 0xb3, 0x99, 0x9a, 0xab, 0x02, 0x76, 0x34, 0x73, 0x0e, 0x7f, 0x59, 0x7f, 0xf3, 0xc6, 0xfe, - 0x26, 0x6b, 0x1c, 0x00, 0x63, 0x2c, 0xec, 0x52, 0x38, 0x5f, 0x2c, 0x8d, 0x57, 0xcc, 0x68, 0xe6, 0x06, 0xcd, 0xd3, - 0xb9, 0x2c, 0x6c, 0xf1, 0x15, 0x63, 0x53, 0x60, 0xb8, 0x8d, 0x4a, 0xe9, 0xb5, 0xcf, 0x6e, 0x58, 0x66, 0xf3, 0x52, - 0xfd, 0x58, 0x4d, 0x0b, 0x0c, 0xca, 0xc9, 0x6f, 0x32, 0x39, 0x57, 0x27, 0x4d, 0x69, 0x84, 0x73, 0xe0, 0x33, 0x97, - 0x8f, 0x58, 0xe9, 0x48, 0x8d, 0x0c, 0x55, 0x1a, 0x40, 0xe3, 0xc8, 0x4e, 0x1b, 0xca, 0x7b, 0x80, 0xa8, 0x1b, 0xc6, - 0x66, 0x38, 0x7a, 0x0f, 0x92, 0x18, 0x70, 0x38, 0xf9, 0x70, 0xf2, 0xb4, 0x5c, 0x6b, 0xd2, 0x04, 0xb1, 0x3a, 0x5d, - 0x9a, 0x4a, 0x4a, 0x1a, 0x61, 0x06, 0x8e, 0xfe, 0x10, 0x42, 0x5d, 0x55, 0xbb, 0x36, 0x4a, 0x71, 0xe6, 0x63, 0x4c, - 0xf1, 0x1d, 0xb0, 0x38, 0x6e, 0x04, 0x58, 0xb6, 0xe8, 0x86, 0x9a, 0xd7, 0x2e, 0xc2, 0x23, 0x2f, 0x37, 0x6c, 0x03, - 0x58, 0x02, 0x9c, 0x60, 0xf9, 0x5b, 0x48, 0x5e, 0xae, 0x97, 0xdc, 0x90, 0x2f, 0x9a, 0x8f, 0x55, 0x6e, 0x64, 0xd5, - 0xf4, 0xfe, 0x56, 0xe5, 0x83, 0x2a, 0x90, 0xe9, 0xda, 0xa1, 0x69, 0x05, 0xd4, 0x5b, 0xd1, 0x2a, 0x61, 0x07, 0x62, - 0x4c, 0x25, 0xfc, 0xca, 0x66, 0x33, 0x36, 0x49, 0x62, 0x5d, 0xe8, 0x98, 0xb2, 0xb0, 0xda, 0x70, 0x7b, 0xf7, 0x68, - 0xa0, 0xfe, 0x00, 0xc1, 0x45, 0x44, 0xf4, 0x39, 0x3e, 0x20, 0x21, 0x33, 0xd5, 0x83, 0x89, 0x7a, 0x2c, 0x82, 0x88, - 0x7f, 0x05, 0xd4, 0xcc, 0x35, 0xe5, 0x38, 0x34, 0x4e, 0x7f, 0xf2, 0x7d, 0x11, 0x66, 0xe6, 0x7e, 0xdb, 0x51, 0xd1, - 0xb6, 0xe3, 0xbb, 0x71, 0xbe, 0xe9, 0x38, 0x76, 0xaa, 0x1a, 0xe0, 0xd4, 0xfa, 0xa1, 0xb4, 0x8d, 0x89, 0x40, 0x0d, - 0xd4, 0xf3, 0xb7, 0xaf, 0xfe, 0xf6, 0xe6, 0xf5, 0xbe, 0x18, 0x01, 0xbb, 0x6c, 0x43, 0x97, 0xeb, 0x60, 0x4b, 0xa7, - 0x3f, 0xfd, 0xf0, 0xb0, 0x6e, 0x5b, 0xce, 0x0b, 0x47, 0x35, 0xc8, 0x0e, 0x59, 0xc2, 0x8b, 0x93, 0xf0, 0x86, 0x45, - 0x9f, 0x0c, 0x06, 0xb9, 0xf3, 0xfa, 0xe1, 0xbe, 0xfd, 0xf1, 0xcd, 0x0f, 0x7b, 0x0f, 0xf5, 0xc8, 0xb1, 0x01, 0xb7, - 0x27, 0xe1, 0xea, 0x01, 0xb3, 0x6b, 0xab, 0x86, 0x3a, 0xf1, 0xc3, 0x98, 0x35, 0x8c, 0xe0, 0xd5, 0xf9, 0xdb, 0xf7, - 0x08, 0xae, 0x9c, 0x05, 0xa1, 0xae, 0x3e, 0x6d, 0xf2, 0x3f, 0xbe, 0x7b, 0xf3, 0xfe, 0xbd, 0x6a, 0x60, 0x5a, 0xe6, - 0x58, 0xee, 0x9d, 0x6f, 0xe2, 0x1d, 0x14, 0xa7, 0x76, 0xaf, 0x13, 0x55, 0x23, 0x41, 0xba, 0x38, 0x1b, 0x2a, 0xab, - 0x6c, 0x73, 0x4e, 0xed, 0xf8, 0x97, 0x49, 0xfa, 0xdd, 0x6b, 0x5e, 0x35, 0xf8, 0x68, 0x3b, 0x49, 0x2d, 0x94, 0x2c, - 0xbd, 0xe0, 0xba, 0xa6, 0xd4, 0xbd, 0xab, 0x29, 0x05, 0xf1, 0xb1, 0x82, 0x1f, 0xd7, 0xe1, 0x52, 0x62, 0x47, 0xd8, - 0xdd, 0x6e, 0x70, 0x49, 0x32, 0xdc, 0x27, 0x0c, 0x9a, 0xa7, 0xd5, 0x28, 0x8f, 0xba, 0xa6, 0x98, 0x0b, 0x5e, 0x19, - 0x6c, 0x27, 0x3e, 0x58, 0x5f, 0x33, 0xf9, 0x9e, 0xb1, 0xc8, 0xaa, 0x72, 0xdf, 0x89, 0x41, 0x49, 0x2a, 0xa0, 0x66, - 0x74, 0x37, 0xc3, 0x69, 0xca, 0xca, 0x9d, 0x82, 0x49, 0xb3, 0x39, 0x0e, 0x93, 0x24, 0x5c, 0xf6, 0x1c, 0x7b, 0x75, - 0xa7, 0x2a, 0x7d, 0xa1, 0xec, 0xe0, 0x16, 0xd7, 0xbd, 0xdf, 0xfe, 0x53, 0x42, 0xf3, 0x54, 0x7e, 0x9d, 0xb0, 0xe5, - 0x8a, 0x45, 0x6e, 0xb2, 0x8e, 0x58, 0xaa, 0xfc, 0xf6, 0xbf, 0xaf, 0x4a, 0x82, 0x7d, 0x5f, 0x6e, 0x43, 0x2c, 0xbd, - 0xdc, 0xe4, 0xda, 0x0f, 0x6f, 0x1f, 0xe5, 0xbe, 0x55, 0x3b, 0x2a, 0x2f, 0xbc, 0xf9, 0x22, 0xab, 0x7d, 0x9a, 0x6c, - 0x99, 0x9b, 0x18, 0x3d, 0xdd, 0x07, 0x28, 0xe7, 0xe1, 0x6d, 0xef, 0xb7, 0xff, 0x64, 0x0a, 0x9b, 0x9d, 0xbb, 0xae, - 0x7e, 0xa0, 0xc5, 0x15, 0xad, 0xaf, 0x53, 0x59, 0x62, 0x78, 0x5f, 0x59, 0xe0, 0x4a, 0x21, 0xed, 0xca, 0xea, 0xe5, - 0xdb, 0x96, 0x39, 0x7d, 0xeb, 0xcd, 0x17, 0x9f, 0x3a, 0x29, 0x00, 0xe8, 0xce, 0x59, 0x41, 0xa5, 0xcf, 0x30, 0xad, - 0x51, 0x6f, 0xff, 0x05, 0xfb, 0xc4, 0x79, 0xed, 0x9a, 0xd2, 0xe7, 0x98, 0x0d, 0xd7, 0xdc, 0xbe, 0x1a, 0x8d, 0xb2, - 0xb4, 0xa4, 0x72, 0x7b, 0xf0, 0x0e, 0x3b, 0xad, 0x94, 0x70, 0xf6, 0xa2, 0x67, 0xeb, 0x14, 0xb6, 0x65, 0x0f, 0x80, - 0xa0, 0x9d, 0x73, 0x0d, 0x38, 0x9a, 0xf1, 0x35, 0xb9, 0x2b, 0x55, 0xbe, 0x5d, 0x41, 0xd6, 0x50, 0x8a, 0x29, 0x2d, - 0xb3, 0x5b, 0x43, 0xa3, 0x7e, 0x38, 0xb7, 0x91, 0xbb, 0xa2, 0x4b, 0x02, 0x05, 0x6f, 0x4c, 0x40, 0xe9, 0x52, 0x92, - 0xa2, 0x6f, 0x5c, 0xff, 0x66, 0x3f, 0x81, 0xaa, 0x99, 0x82, 0x21, 0x69, 0xfe, 0xf3, 0x88, 0x37, 0xd2, 0xe5, 0xfd, - 0x69, 0x37, 0xa6, 0x0a, 0x7b, 0xdb, 0x64, 0x5e, 0xfd, 0xe3, 0x6e, 0xf3, 0xea, 0x8b, 0xbd, 0xcc, 0xab, 0x7f, 0xfc, - 0xec, 0xe6, 0xd5, 0x6f, 0x65, 0xf3, 0x6a, 0xd8, 0xc4, 0x6f, 0xd8, 0x5e, 0x46, 0xcf, 0xc2, 0xc8, 0x28, 0xbc, 0x8d, - 0x07, 0x0e, 0x17, 0x7a, 0xe2, 0xc9, 0x82, 0x81, 0x16, 0x89, 0x83, 0xcb, 0x0f, 0xe7, 0x60, 0x9b, 0xdc, 0x6c, 0x7d, - 0xfc, 0xb9, 0x6c, 0x8f, 0xfd, 0x70, 0xae, 0x4a, 0xc1, 0xd2, 0x03, 0x11, 0x2c, 0x1d, 0x1c, 0xc4, 0x7f, 0xb9, 0x73, - 0x5e, 0x5e, 0x3a, 0xfd, 0xb6, 0x03, 0xc1, 0x46, 0x40, 0x31, 0x80, 0x05, 0x76, 0xbf, 0xdd, 0x86, 0x82, 0x5b, 0xa9, - 0xa0, 0x05, 0x05, 0x9e, 0x54, 0xd0, 0x81, 0x82, 0x89, 0x54, 0x70, 0x04, 0x05, 0x53, 0xa9, 0xe0, 0x18, 0x0a, 0x6e, - 0xd4, 0xf4, 0x32, 0xc8, 0x8c, 0xc7, 0x8f, 0xf5, 0xab, 0x42, 0x9e, 0x8c, 0x3c, 0xff, 0x3c, 0xaf, 0x72, 0x6c, 0x88, - 0xa0, 0x8d, 0xe6, 0xa1, 0xce, 0xcd, 0xff, 0x46, 0x5f, 0x8c, 0xc0, 0x9d, 0x1a, 0x94, 0x7a, 0x06, 0xa8, 0x44, 0xa9, - 0x66, 0x5b, 0xbc, 0x56, 0x7b, 0xaa, 0x9e, 0x7d, 0xa0, 0x25, 0xec, 0xfe, 0x7a, 0xe8, 0x4a, 0x23, 0x2a, 0x77, 0x9e, - 0x2f, 0xb2, 0x08, 0x4e, 0xeb, 0x41, 0xee, 0x91, 0xd6, 0x86, 0x38, 0xb6, 0x70, 0x35, 0xfd, 0x1a, 0xf9, 0x03, 0x2b, - 0x09, 0xc1, 0xe1, 0x48, 0x44, 0x2e, 0x12, 0x1f, 0x50, 0x54, 0xfd, 0xd2, 0xbe, 0xea, 0xbb, 0x79, 0x90, 0x29, 0x1e, - 0xef, 0x8c, 0x46, 0xbf, 0xcc, 0xc2, 0x48, 0x91, 0x98, 0xbb, 0x36, 0x12, 0x77, 0xde, 0x5b, 0x18, 0xa4, 0xe3, 0xee, - 0xcd, 0x21, 0x2e, 0xe8, 0xe9, 0xb4, 0xb7, 0x32, 0x6e, 0x17, 0x2c, 0xe8, 0xcd, 0xb8, 0x39, 0x28, 0xac, 0x3f, 0x59, - 0xf1, 0x2c, 0x75, 0x61, 0x94, 0x86, 0x7b, 0x22, 0x7f, 0x4b, 0xa3, 0x34, 0xb3, 0xad, 0x94, 0x5b, 0x4e, 0x69, 0xb2, - 0xfe, 0xfb, 0x73, 0xd8, 0xb9, 0xbc, 0x66, 0xe3, 0xf5, 0x5c, 0x39, 0x0f, 0xe7, 0x3b, 0x6d, 0x5a, 0xe4, 0x57, 0x30, - 0x4a, 0x95, 0x2e, 0xfa, 0x4c, 0xb1, 0xbd, 0xf9, 0xb7, 0xe8, 0x31, 0x2d, 0xd6, 0x4f, 0x60, 0x6c, 0x4a, 0x42, 0x28, - 0x1b, 0xbe, 0x03, 0xd0, 0x96, 0x8c, 0x4a, 0xce, 0x01, 0x7e, 0xd2, 0xf3, 0x85, 0x2b, 0x8d, 0x67, 0xf8, 0x3d, 0x8b, - 0x63, 0x77, 0x2e, 0xea, 0x57, 0xc7, 0x09, 0x3e, 0x36, 0x99, 0xa4, 0x8f, 0x00, 0x04, 0x9d, 0xb1, 0x57, 0xb1, 0x05, - 0x02, 0x53, 0x66, 0x30, 0x7b, 0x83, 0x45, 0xcb, 0x0d, 0x67, 0x3c, 0x0b, 0x96, 0xa7, 0x68, 0xe2, 0x02, 0x48, 0xe4, - 0x86, 0xf9, 0xe5, 0xc2, 0xc4, 0x9d, 0x97, 0x8b, 0x68, 0xad, 0x53, 0x79, 0x6c, 0x99, 0x85, 0x49, 0xa1, 0xf0, 0x53, - 0x4c, 0x26, 0xfc, 0x70, 0xfe, 0xbb, 0xda, 0x4b, 0x6c, 0xb1, 0x73, 0x79, 0x1f, 0x18, 0x41, 0x32, 0xb2, 0x10, 0xc6, - 0x8a, 0x05, 0x20, 0xec, 0x05, 0xc9, 0xc2, 0x44, 0xef, 0x6e, 0xad, 0x15, 0xe8, 0x86, 0x85, 0x6b, 0xbb, 0x29, 0xc7, - 0xb4, 0xe8, 0x45, 0xf3, 0xb1, 0xab, 0x39, 0xad, 0x63, 0x43, 0xfc, 0xb1, 0xec, 0x8e, 0x9e, 0x62, 0x0f, 0xca, 0xd4, - 0xbb, 0xd9, 0xcc, 0xc2, 0x20, 0x31, 0x67, 0xee, 0xd2, 0xf3, 0xef, 0x7b, 0xcb, 0x30, 0x08, 0xe3, 0x95, 0x3b, 0x61, - 0xfd, 0x5c, 0x75, 0xd3, 0xc7, 0x68, 0x49, 0xdc, 0x61, 0xdf, 0xb1, 0x5a, 0x11, 0x5b, 0x52, 0xeb, 0x2c, 0x18, 0xd2, - 0xcc, 0x67, 0x77, 0x29, 0xff, 0x7c, 0xa1, 0x32, 0x55, 0xc5, 0x2d, 0x47, 0x2d, 0x40, 0x0e, 0xe1, 0x91, 0x96, 0x20, - 0xbe, 0x60, 0x9f, 0x33, 0xf3, 0x3d, 0xab, 0xd5, 0x89, 0xd8, 0x52, 0xb1, 0x3a, 0x8d, 0x9d, 0x47, 0xe1, 0xed, 0x10, - 0x46, 0x8b, 0x8d, 0xcd, 0x98, 0xf9, 0x33, 0x7c, 0x63, 0xa2, 0x73, 0xa7, 0xe8, 0xc7, 0x44, 0x95, 0x0f, 0xf4, 0xc6, - 0x96, 0x7d, 0x78, 0xdd, 0x6b, 0x29, 0x76, 0x7f, 0xe9, 0x05, 0x26, 0x4d, 0xe7, 0xd8, 0x5e, 0x49, 0x7d, 0xc9, 0xf0, - 0xd3, 0x37, 0x58, 0xdd, 0x51, 0xec, 0x3e, 0x88, 0xf6, 0x33, 0x3f, 0xbc, 0xed, 0x2d, 0xbc, 0xe9, 0x94, 0x05, 0x7d, - 0x1c, 0x73, 0x56, 0xc8, 0x7c, 0xdf, 0x5b, 0xc5, 0x5e, 0xdc, 0x5f, 0xba, 0x77, 0xbc, 0xd7, 0xc3, 0xa6, 0x5e, 0xdb, - 0xbc, 0xd7, 0xf6, 0xde, 0xbd, 0x4a, 0xdd, 0x80, 0x23, 0x29, 0xf5, 0xc3, 0x87, 0xd6, 0x51, 0xec, 0xd2, 0x3c, 0xf7, - 0xee, 0x75, 0x15, 0xb1, 0xcd, 0xd2, 0x8d, 0xe6, 0x5e, 0xd0, 0xb3, 0x53, 0xeb, 0x66, 0x43, 0x1b, 0xe3, 0x71, 0xb7, - 0xdb, 0x4d, 0xad, 0xa9, 0x78, 0xb2, 0xa7, 0xd3, 0xd4, 0x9a, 0x88, 0xa7, 0xd9, 0xcc, 0xb6, 0x67, 0xb3, 0xd4, 0xf2, - 0x44, 0x41, 0xbb, 0x35, 0x99, 0xb6, 0x5b, 0xa9, 0x75, 0x2b, 0xd5, 0x48, 0x2d, 0xc6, 0x9f, 0x22, 0x36, 0xed, 0xe3, - 0x46, 0xe2, 0x76, 0xe9, 0xc7, 0xb6, 0x9d, 0x22, 0x06, 0xb8, 0x2c, 0xe0, 0x26, 0xd4, 0x2a, 0x5e, 0x6d, 0xf6, 0xae, - 0xa9, 0xe4, 0x9f, 0x9b, 0x4c, 0x6a, 0xeb, 0x4d, 0xdd, 0xe8, 0xc3, 0x95, 0x22, 0xcd, 0xc2, 0x75, 0xa9, 0xda, 0x46, - 0x80, 0xc1, 0xbc, 0xeb, 0x41, 0xd4, 0xcc, 0xfe, 0x38, 0x8c, 0xe0, 0xcc, 0x46, 0xee, 0xd4, 0x5b, 0xc7, 0x3d, 0xa7, - 0xb5, 0xba, 0x13, 0x45, 0x7c, 0xaf, 0xe7, 0x05, 0x78, 0xf6, 0x7a, 0x71, 0xe8, 0x7b, 0x53, 0x51, 0xd4, 0x74, 0x96, - 0x9c, 0x96, 0xde, 0xc7, 0x98, 0x31, 0x1e, 0x46, 0x3e, 0x72, 0x7d, 0x5f, 0xb1, 0xda, 0xb1, 0xc2, 0xdc, 0x18, 0x6f, - 0x32, 0x14, 0x3b, 0x26, 0xb8, 0x60, 0x7c, 0x18, 0xe7, 0x70, 0x75, 0x97, 0xed, 0x79, 0xe7, 0x68, 0x75, 0x97, 0x7e, - 0xb5, 0x64, 0x53, 0xcf, 0x55, 0xb4, 0x7c, 0x37, 0x39, 0x36, 0xdc, 0x76, 0xe8, 0x9b, 0x86, 0x6d, 0x2a, 0x8e, 0x05, - 0x44, 0x17, 0x7e, 0xe4, 0x2d, 0x57, 0x61, 0x94, 0xb8, 0x41, 0x92, 0xa6, 0xa3, 0xab, 0x34, 0xed, 0x5f, 0x78, 0xda, - 0xe5, 0x3f, 0x34, 0xa2, 0x85, 0x74, 0x3b, 0x98, 0xea, 0x57, 0xc6, 0x1b, 0x26, 0x5b, 0x32, 0x01, 0x19, 0x43, 0x2b, - 0x26, 0xb9, 0x32, 0xd1, 0xdb, 0x6a, 0x65, 0x02, 0x72, 0x56, 0x9d, 0x0c, 0xa3, 0x8a, 0x55, 0x90, 0x02, 0x41, 0x85, - 0x37, 0x6c, 0x70, 0x21, 0x99, 0x45, 0x01, 0xd3, 0x83, 0x95, 0xc9, 0xb5, 0xef, 0x49, 0x13, 0xef, 0xf9, 0xf5, 0x6e, - 0xde, 0xf3, 0x9f, 0xc9, 0x3e, 0xbc, 0xe7, 0xd7, 0x9f, 0x9d, 0xf7, 0x7c, 0x52, 0x75, 0xed, 0x3b, 0x0b, 0x07, 0x6a, - 0x76, 0x97, 0x05, 0xa4, 0x29, 0xa2, 0xa0, 0x79, 0x67, 0xc9, 0x7f, 0xeb, 0x8a, 0x27, 0x7a, 0xa3, 0x34, 0xb0, 0x44, - 0xb9, 0x81, 0x81, 0x7f, 0x1b, 0x0c, 0xfe, 0x1e, 0xc9, 0xcf, 0xb3, 0xd9, 0xe0, 0x75, 0x28, 0x15, 0x64, 0x4f, 0xdc, - 0xcc, 0xa7, 0x10, 0xe0, 0x88, 0xde, 0x64, 0x86, 0x58, 0x90, 0x02, 0x0a, 0xe2, 0xa3, 0x90, 0xb1, 0xfd, 0x34, 0x33, - 0x87, 0xec, 0x17, 0x87, 0xa0, 0x65, 0x06, 0xc6, 0xc2, 0x0b, 0xb6, 0xa2, 0xb4, 0x9e, 0xb3, 0x84, 0x87, 0xad, 0x78, - 0x79, 0x7f, 0x36, 0xd5, 0xce, 0x42, 0x3d, 0xf5, 0xe2, 0xb7, 0x65, 0x1f, 0x54, 0x21, 0x82, 0xc8, 0xd3, 0x49, 0xb9, - 0x49, 0xa3, 0x14, 0x6a, 0x06, 0x5f, 0x53, 0xf3, 0xd3, 0xc2, 0x4c, 0x7b, 0x72, 0x43, 0x9e, 0x6b, 0xb2, 0x42, 0x8c, - 0xb9, 0x4b, 0xdf, 0x86, 0x73, 0x79, 0x98, 0x3e, 0x13, 0x43, 0x77, 0x4c, 0xa9, 0xb9, 0x37, 0x4d, 0x53, 0xbd, 0x2f, - 0x00, 0x21, 0x11, 0x5a, 0xb6, 0x8b, 0x89, 0x8b, 0x73, 0x81, 0x96, 0xdf, 0x45, 0xd3, 0x45, 0xf3, 0x19, 0x98, 0x6e, - 0xf0, 0x6b, 0x69, 0x0e, 0x33, 0x55, 0x21, 0xf0, 0x91, 0x49, 0x8f, 0x34, 0x21, 0xb0, 0x35, 0x90, 0x0d, 0xe1, 0x0a, - 0x0b, 0x52, 0x35, 0x2a, 0x26, 0xe0, 0xa0, 0xed, 0x09, 0x04, 0xda, 0x11, 0xda, 0x2e, 0x42, 0x3b, 0xbc, 0x0e, 0x3e, - 0xa4, 0x6a, 0xc6, 0xfb, 0xe1, 0xf6, 0x1b, 0x9e, 0x1c, 0x40, 0x83, 0x61, 0x49, 0x93, 0xb5, 0xc3, 0x64, 0x16, 0x58, - 0x89, 0xf8, 0xd6, 0xb0, 0xe2, 0x5b, 0xe5, 0xd9, 0x46, 0x04, 0xa9, 0x4a, 0xdc, 0x95, 0x09, 0xea, 0x13, 0xc4, 0xbd, - 0x1c, 0xe3, 0x49, 0xf1, 0xb0, 0xfa, 0xeb, 0x18, 0x70, 0x23, 0x4a, 0xf2, 0x88, 0x7f, 0xfa, 0x93, 0x75, 0x14, 0x87, - 0x51, 0x6f, 0x15, 0x7a, 0x41, 0xc2, 0xa2, 0x14, 0x41, 0x75, 0x89, 0xf0, 0x11, 0xe0, 0xb9, 0xda, 0x84, 0x2b, 0x77, - 0xe2, 0x25, 0xf7, 0x3d, 0x9b, 0xb3, 0x14, 0x76, 0x9f, 0x73, 0x07, 0x76, 0x6d, 0xfd, 0x1e, 0x87, 0xe6, 0x73, 0x64, - 0xfc, 0xa2, 0x2a, 0x3b, 0x23, 0x6f, 0xf3, 0xbe, 0xf4, 0x96, 0xc2, 0x74, 0x01, 0xfb, 0xe1, 0x46, 0xe6, 0x1c, 0xb0, - 0x3c, 0x2c, 0xb5, 0x3d, 0x65, 0x73, 0x03, 0xb1, 0x36, 0xdc, 0x00, 0x89, 0x3f, 0x56, 0x47, 0x57, 0xec, 0xfa, 0x62, - 0xe0, 0x78, 0xf4, 0x7d, 0x46, 0xd6, 0x73, 0x21, 0xa9, 0xa5, 0xb1, 0x4f, 0xcd, 0x31, 0x9b, 0x85, 0x11, 0xa3, 0x90, - 0xee, 0x4e, 0x77, 0x75, 0xb7, 0x7f, 0xf7, 0xdb, 0xa7, 0x5f, 0xdf, 0x4f, 0x10, 0x26, 0x9a, 0xe8, 0x4c, 0xdf, 0xd1, - 0x5b, 0x95, 0x9e, 0x01, 0x6b, 0x48, 0x90, 0x9f, 0x90, 0xc3, 0x49, 0x4f, 0x55, 0xfb, 0xb5, 0x91, 0x33, 0x57, 0x21, - 0xa7, 0x79, 0x11, 0xf3, 0xdd, 0xc4, 0xbb, 0x11, 0x3c, 0x63, 0xfb, 0x68, 0x75, 0x27, 0xd6, 0x18, 0x09, 0xde, 0x03, - 0x16, 0xa9, 0x34, 0x14, 0xb1, 0x48, 0xe5, 0x62, 0x5c, 0xa4, 0x7e, 0x65, 0x36, 0x22, 0x98, 0x54, 0x89, 0xd2, 0x77, - 0x56, 0x77, 0x32, 0x89, 0xce, 0x9b, 0x65, 0x94, 0xba, 0x1c, 0x05, 0x74, 0xe9, 0x4d, 0xa7, 0x3e, 0x4b, 0x0b, 0x0b, - 0x5d, 0x5c, 0x4b, 0x09, 0x38, 0x19, 0x1c, 0xdc, 0x71, 0x1c, 0xfa, 0xeb, 0x84, 0xd5, 0x83, 0x8b, 0x80, 0xd3, 0xb2, - 0x73, 0xe0, 0xe0, 0xef, 0xe2, 0x58, 0x3b, 0xc0, 0x6e, 0xc3, 0x36, 0xb1, 0xfb, 0x10, 0xf4, 0xdf, 0x6c, 0x17, 0x87, - 0x0e, 0xaf, 0xb2, 0x41, 0x1b, 0x35, 0x13, 0x31, 0x80, 0x2c, 0x11, 0xf6, 0x56, 0x2c, 0x87, 0x97, 0x65, 0x81, 0xcf, - 0xb3, 0xa2, 0xb4, 0x38, 0x99, 0xdf, 0xe7, 0x8c, 0xbd, 0xa8, 0x3f, 0x63, 0x2f, 0xc4, 0x19, 0xdb, 0xbe, 0x33, 0x1f, - 0xcf, 0x1c, 0xf8, 0xaf, 0x9f, 0x4f, 0xa8, 0x67, 0x2b, 0xed, 0xd5, 0x9d, 0xe2, 0xac, 0xee, 0x14, 0xb3, 0xb5, 0xba, - 0x53, 0xb0, 0x6b, 0xb4, 0x3c, 0x32, 0xac, 0x96, 0x6e, 0xd8, 0x0a, 0x14, 0xc2, 0x1f, 0xbb, 0xf0, 0xca, 0x39, 0x84, - 0x77, 0xd0, 0xaa, 0x53, 0x7d, 0xd7, 0xda, 0x7e, 0xd4, 0xe9, 0x2c, 0x09, 0xa4, 0xad, 0x5b, 0x89, 0x3b, 0x1e, 0xb3, - 0x69, 0x6f, 0x16, 0x4e, 0xd6, 0xf1, 0xbf, 0xf9, 0xf8, 0x39, 0x10, 0xb7, 0x22, 0x82, 0x52, 0x3f, 0xa2, 0x29, 0x68, - 0xf7, 0x6e, 0x98, 0xe8, 0x61, 0x93, 0xad, 0x53, 0x8f, 0x32, 0x14, 0xb4, 0xac, 0xc3, 0x9a, 0x4d, 0x5e, 0x0f, 0xe8, - 0xdf, 0x6d, 0x95, 0x9a, 0x51, 0xcc, 0x27, 0x80, 0x65, 0x2b, 0x38, 0x1e, 0x0e, 0x0d, 0xbe, 0x9a, 0x76, 0xb7, 0x7e, - 0xb8, 0x97, 0xe2, 0x4b, 0x57, 0x82, 0xa8, 0x70, 0xba, 0xc5, 0xdd, 0xa0, 0xb6, 0xf7, 0xda, 0xb4, 0x47, 0x2a, 0xbd, - 0x6e, 0x21, 0x08, 0x79, 0xdd, 0x3d, 0xb1, 0xfc, 0xe3, 0x17, 0x87, 0xf0, 0x1f, 0x71, 0xf5, 0xff, 0x4c, 0xea, 0x18, - 0xf5, 0xb3, 0xa4, 0xc0, 0xa8, 0x13, 0xab, 0x84, 0x8c, 0xf8, 0xfe, 0xf5, 0x67, 0xb3, 0x87, 0x35, 0xd8, 0xbb, 0x36, - 0x19, 0xed, 0x95, 0x6b, 0xbf, 0x0c, 0x43, 0xc8, 0x9e, 0x5d, 0xad, 0x2e, 0xc0, 0x43, 0x1e, 0x18, 0xc9, 0x00, 0x1a, - 0x09, 0x39, 0x82, 0xec, 0x45, 0x54, 0x6c, 0x43, 0xa2, 0xc4, 0x9b, 0x26, 0x51, 0xe2, 0xf5, 0x6e, 0x51, 0xe2, 0xbb, - 0xbd, 0x44, 0x89, 0xd7, 0x9f, 0x5d, 0x94, 0x78, 0x53, 0x15, 0x25, 0x2e, 0x42, 0x61, 0xa9, 0x6d, 0x9c, 0xad, 0xf9, - 0xcf, 0x9f, 0xe9, 0x2a, 0xf6, 0x3c, 0x1c, 0x74, 0x6c, 0xca, 0x3a, 0x70, 0xf1, 0x5f, 0x0b, 0x16, 0xb8, 0x11, 0xdf, - 0xa1, 0xe1, 0x62, 0x2e, 0x5a, 0x70, 0xcc, 0x8e, 0xdf, 0x91, 0x8a, 0xfd, 0x30, 0x98, 0xff, 0x08, 0x57, 0xf1, 0xa0, - 0x0e, 0x8c, 0xa4, 0x17, 0x5e, 0xfc, 0x63, 0xb8, 0x5a, 0xaf, 0xce, 0xa0, 0xaf, 0x9f, 0xbd, 0xd8, 0x1b, 0xfb, 0x2c, - 0x8b, 0x06, 0x42, 0x86, 0x96, 0x5c, 0xb7, 0x0e, 0xb6, 0xcd, 0xe2, 0xa7, 0x7b, 0x27, 0x7e, 0xa2, 0xf5, 0x33, 0xff, - 0x4d, 0x16, 0x9c, 0x6a, 0xbd, 0x20, 0x02, 0x61, 0xf3, 0x4a, 0x83, 0x7e, 0xb8, 0x30, 0x72, 0x11, 0xea, 0x35, 0xb3, - 0x14, 0x96, 0x35, 0x8d, 0xfd, 0xb0, 0x8a, 0x50, 0xb3, 0xd6, 0x8d, 0x2c, 0x0a, 0x66, 0x55, 0x9d, 0xbf, 0x0c, 0xd7, - 0x31, 0x9b, 0x86, 0xb7, 0x81, 0x6a, 0x04, 0xdc, 0x1c, 0x94, 0x12, 0x09, 0x66, 0x6d, 0x30, 0x7f, 0xf3, 0x7b, 0x64, - 0x94, 0x21, 0x62, 0x02, 0xa4, 0x0f, 0x5f, 0xaf, 0x4c, 0x32, 0x30, 0x30, 0x71, 0x8a, 0x6a, 0x96, 0x68, 0xf0, 0x91, - 0xa6, 0x85, 0x83, 0x87, 0xb5, 0x14, 0x46, 0x41, 0xa1, 0xc5, 0xb5, 0xc2, 0xb1, 0x16, 0x08, 0xe5, 0xa2, 0x08, 0x45, - 0x55, 0xb3, 0x70, 0xfc, 0x0d, 0x85, 0xfa, 0xc8, 0xdf, 0x42, 0x64, 0x88, 0x74, 0xcd, 0xd7, 0x83, 0x07, 0x66, 0xa2, - 0xc7, 0x57, 0x12, 0x18, 0xdf, 0xde, 0xb0, 0xc8, 0x77, 0xef, 0x35, 0x3d, 0x0d, 0x83, 0xef, 0x01, 0x00, 0xaf, 0xc3, - 0xdb, 0x40, 0xae, 0x80, 0xf9, 0xd2, 0x6a, 0xf6, 0x52, 0x6d, 0x08, 0x31, 0x70, 0xa7, 0x92, 0x46, 0x00, 0x99, 0xea, - 0xe7, 0xec, 0xef, 0x06, 0xfd, 0xfb, 0x0f, 0x3d, 0x35, 0xce, 0xc3, 0xec, 0x43, 0x3f, 0xad, 0xf6, 0xf8, 0xcc, 0xd3, - 0xa7, 0x8f, 0x9a, 0xa7, 0xad, 0x4d, 0x7c, 0xe6, 0x8a, 0xfc, 0xf3, 0x5a, 0x4d, 0x6b, 0xbd, 0xf1, 0x14, 0xc0, 0x28, - 0x2e, 0xc2, 0xf5, 0x64, 0x81, 0x26, 0xd5, 0x9f, 0x6f, 0xbe, 0x09, 0xf4, 0x89, 0x89, 0xc2, 0xb3, 0xa9, 0x97, 0x8a, - 0x72, 0x28, 0xe0, 0xf7, 0xdf, 0x40, 0x0c, 0xec, 0x3f, 0x11, 0x0c, 0xd5, 0x5d, 0x93, 0xb9, 0x5b, 0x3f, 0x68, 0xf3, - 0xf6, 0x21, 0x9f, 0x35, 0x8f, 0x2e, 0x25, 0x2e, 0xe9, 0xea, 0x91, 0x4c, 0x5a, 0x06, 0x9a, 0x1c, 0xc9, 0xb5, 0x29, - 0x48, 0xad, 0xf8, 0x0a, 0xb3, 0x48, 0x4c, 0xe7, 0x2e, 0x2d, 0x06, 0xe3, 0xd8, 0xaa, 0x84, 0x64, 0xb8, 0xa1, 0x0b, - 0x43, 0xf4, 0x55, 0x7e, 0xb7, 0xf4, 0x02, 0x03, 0x13, 0xb1, 0x54, 0xdf, 0xb8, 0x77, 0x90, 0x8a, 0x00, 0x90, 0x5b, - 0xf9, 0x15, 0x14, 0x1a, 0xb2, 0x23, 0x27, 0x64, 0x5b, 0x54, 0x6b, 0x21, 0x21, 0x6e, 0x03, 0x47, 0x5f, 0x28, 0x8a, - 0xa2, 0x64, 0x62, 0x84, 0x92, 0xc9, 0x11, 0x58, 0x8e, 0xe2, 0x00, 0xdc, 0x96, 0xa4, 0xab, 0x3b, 0x2a, 0x01, 0xc9, - 0x00, 0xaf, 0xb6, 0x45, 0x01, 0x8f, 0xb6, 0xdb, 0xb1, 0x45, 0x81, 0x10, 0xe8, 0x21, 0x52, 0xaa, 0x1b, 0x41, 0x50, - 0xfe, 0x9e, 0x82, 0x02, 0x3b, 0xbe, 0xe5, 0x9a, 0x60, 0xc5, 0xa6, 0xc7, 0x51, 0x9f, 0xd5, 0x87, 0x65, 0x0d, 0x24, - 0x2c, 0x08, 0xb7, 0x0e, 0xa5, 0x2c, 0x0b, 0x06, 0xab, 0xc1, 0x8d, 0x28, 0x17, 0xdd, 0x25, 0x4b, 0x16, 0xac, 0x55, - 0x4c, 0xcb, 0x88, 0x61, 0x72, 0xa1, 0xce, 0x6b, 0x62, 0xb6, 0x00, 0xdb, 0xd4, 0xb7, 0x5c, 0x10, 0x2d, 0x8c, 0x39, - 0x4a, 0x75, 0x8d, 0x09, 0xf7, 0x4d, 0x8c, 0x39, 0x6e, 0x2b, 0x53, 0x08, 0xbe, 0xa4, 0x61, 0x11, 0x9b, 0x73, 0x6f, - 0x64, 0xe4, 0x14, 0x28, 0x42, 0x15, 0x57, 0x17, 0x09, 0xb0, 0x6b, 0x6e, 0x79, 0xd1, 0xb2, 0x1b, 0x19, 0xb7, 0xa4, - 0x28, 0x8a, 0xf4, 0x6a, 0x37, 0x7c, 0x9c, 0x10, 0x1b, 0xb0, 0xb1, 0x9f, 0x49, 0xa5, 0x9f, 0x86, 0x49, 0x7f, 0x60, - 0xf7, 0x44, 0x48, 0x08, 0x54, 0x1f, 0xd8, 0x3d, 0xdc, 0xdb, 0xbf, 0x01, 0x6d, 0x8a, 0xba, 0x05, 0x5d, 0x1b, 0x90, - 0x6d, 0x67, 0x02, 0xf1, 0x22, 0xb7, 0x1c, 0x20, 0x3b, 0xdd, 0x82, 0xc5, 0x11, 0xc4, 0x81, 0x11, 0xf7, 0xc5, 0x21, - 0xe6, 0xce, 0x24, 0x5a, 0x2d, 0x8c, 0xcd, 0x9a, 0xa3, 0xa1, 0x3f, 0x73, 0x6c, 0xfb, 0xa0, 0x52, 0x1f, 0x14, 0xd9, - 0x75, 0xb5, 0x75, 0x23, 0x19, 0x38, 0xb6, 0xe9, 0x3d, 0xb3, 0x5a, 0xfd, 0x0a, 0x8d, 0x96, 0xc2, 0x39, 0x8f, 0x50, - 0xfd, 0x35, 0x7c, 0xb2, 0xd1, 0x2a, 0x07, 0x52, 0x2f, 0x3b, 0x67, 0xe0, 0xd8, 0x52, 0xae, 0xff, 0x1a, 0x55, 0x49, - 0x3f, 0x05, 0x93, 0xa6, 0xd4, 0x62, 0x23, 0x48, 0x48, 0xa0, 0xc1, 0x31, 0xfa, 0x8b, 0xf2, 0x5c, 0xd1, 0xe8, 0xf8, - 0xe8, 0xfa, 0xa8, 0x2f, 0x30, 0x8a, 0xf0, 0x5e, 0x94, 0x3b, 0x28, 0x7d, 0x31, 0x2e, 0x63, 0x38, 0x1e, 0xfa, 0x9c, - 0xe5, 0x37, 0x7a, 0x5b, 0xb9, 0x05, 0xec, 0xbf, 0x81, 0x7c, 0x5a, 0x63, 0x88, 0xaf, 0x01, 0x35, 0x20, 0x7d, 0xc9, - 0xce, 0x0e, 0x21, 0x6c, 0x92, 0xdc, 0x5d, 0x91, 0x48, 0xee, 0xdf, 0x19, 0x12, 0x1d, 0xbc, 0x43, 0xcb, 0xfa, 0xab, - 0x27, 0x77, 0x0f, 0xec, 0x92, 0x05, 0xd3, 0x62, 0x87, 0x25, 0xfa, 0xb5, 0x7f, 0x77, 0x05, 0x8c, 0x02, 0x79, 0x7d, - 0xc2, 0x1a, 0x8c, 0x92, 0x86, 0x01, 0x6e, 0x7e, 0x3a, 0x6e, 0xde, 0x5e, 0x5c, 0x0c, 0x36, 0xa0, 0xa0, 0x9c, 0x59, - 0x33, 0x49, 0x29, 0x0e, 0xc9, 0x23, 0xd0, 0xb9, 0x59, 0x13, 0x8c, 0x68, 0xe3, 0x4e, 0x4c, 0x84, 0x25, 0x69, 0xde, - 0xc6, 0xe3, 0xe1, 0xa0, 0xf7, 0xd5, 0x5a, 0x7b, 0xbb, 0xb5, 0xd6, 0xc9, 0x2e, 0xad, 0x35, 0x39, 0xee, 0x91, 0xf9, - 0x53, 0xe6, 0xc0, 0x28, 0x98, 0x73, 0xd9, 0x05, 0xb4, 0xa0, 0xea, 0x46, 0x3f, 0x3f, 0xd1, 0xaa, 0xd2, 0x1b, 0xd9, - 0x86, 0xa2, 0xfa, 0x5b, 0x12, 0x50, 0xc4, 0x85, 0xba, 0xac, 0x1b, 0xbf, 0xc8, 0x75, 0xe3, 0x24, 0xd5, 0xe4, 0x2e, - 0x5b, 0x82, 0xfb, 0x97, 0xdc, 0x21, 0x33, 0xe9, 0x20, 0x77, 0x8b, 0xcc, 0x47, 0x2a, 0x39, 0xfa, 0xe5, 0x82, 0x86, - 0xe4, 0x3e, 0x2a, 0xa4, 0x8c, 0xa2, 0x17, 0x69, 0xb1, 0x6a, 0xee, 0xe7, 0x97, 0x97, 0x83, 0xd6, 0x1d, 0x87, 0x9c, - 0x15, 0xcb, 0xdb, 0xa6, 0xe8, 0xe8, 0x25, 0xbf, 0x96, 0x36, 0x49, 0xe6, 0x91, 0x45, 0x00, 0x16, 0x6a, 0xfa, 0xd2, - 0xbd, 0x76, 0x66, 0x03, 0x81, 0x83, 0xac, 0x71, 0x20, 0xdd, 0xad, 0x9d, 0xa7, 0x94, 0x45, 0xf9, 0xd5, 0xb5, 0x83, - 0xd4, 0x9d, 0x6e, 0x82, 0x65, 0x7d, 0x04, 0xc2, 0xfa, 0x4a, 0xd2, 0x20, 0xf4, 0x6c, 0xc5, 0xee, 0xd7, 0x30, 0x00, - 0x48, 0xff, 0xcb, 0xcf, 0x9c, 0x15, 0x00, 0x4d, 0xa4, 0x62, 0xcb, 0x77, 0xfe, 0x78, 0x88, 0x4d, 0x32, 0x3f, 0xc3, - 0xaa, 0xd5, 0x6f, 0x92, 0xbe, 0x67, 0xc3, 0xdd, 0xb5, 0x8a, 0xea, 0x7c, 0x5e, 0xa3, 0x27, 0xc6, 0xc1, 0x77, 0x59, - 0xb4, 0x0e, 0x30, 0x13, 0x8d, 0x99, 0x44, 0xee, 0xe4, 0xc3, 0x46, 0xfa, 0x1e, 0x57, 0x89, 0x82, 0xba, 0xb8, 0x78, - 0xa9, 0xd0, 0x77, 0x31, 0x70, 0x33, 0xeb, 0x59, 0xad, 0x58, 0x52, 0xd4, 0xf4, 0x1e, 0xdb, 0x6d, 0xf7, 0xc5, 0xec, - 0xb0, 0xa4, 0x3f, 0x6d, 0x75, 0x8a, 0xda, 0xf5, 0x6c, 0x1c, 0xcb, 0xf0, 0x57, 0xee, 0xd8, 0xfa, 0xc7, 0x7f, 0x3a, - 0xe6, 0xdf, 0x2c, 0xad, 0xd1, 0xa7, 0x0c, 0x01, 0xda, 0x17, 0x2e, 0xa6, 0xe5, 0x6b, 0x9a, 0x4a, 0x49, 0xd3, 0xb0, - 0x66, 0x9e, 0xef, 0x9b, 0x3e, 0xb8, 0x17, 0x6d, 0x3e, 0x69, 0x7a, 0xd8, 0xcf, 0x1a, 0x52, 0x06, 0x7c, 0x42, 0x3f, - 0xc5, 0x9d, 0x92, 0x2c, 0xd6, 0xcb, 0xf1, 0x46, 0x56, 0x94, 0x4b, 0xfa, 0xf3, 0xaa, 0xce, 0x5c, 0xfe, 0xec, 0x6c, - 0x36, 0x2b, 0x6a, 0x8d, 0x6d, 0xe5, 0x10, 0x35, 0xbf, 0x8f, 0x6d, 0xdb, 0x2e, 0xc3, 0xb7, 0xe9, 0xa0, 0xd0, 0xc1, - 0x30, 0x51, 0x09, 0xdf, 0xdd, 0xbd, 0xa7, 0xfe, 0xa0, 0xd1, 0x52, 0x57, 0x4d, 0xe7, 0x91, 0xb6, 0xda, 0xff, 0x8b, - 0xa1, 0x20, 0x6a, 0xd8, 0x75, 0xfc, 0xab, 0x7b, 0x65, 0x4b, 0x4f, 0xe5, 0x03, 0xfc, 0xb0, 0xc6, 0x3b, 0xf6, 0xfa, - 0x1e, 0x4d, 0x9b, 0xb6, 0x77, 0x6a, 0xe5, 0x64, 0xb7, 0x60, 0xb3, 0xd4, 0x27, 0x4b, 0x25, 0x2f, 0x61, 0xcb, 0xb8, - 0x37, 0x61, 0x78, 0x41, 0x6a, 0x49, 0xd4, 0x16, 0xad, 0x7a, 0xcc, 0x39, 0xd8, 0x71, 0x39, 0x02, 0x0f, 0xdb, 0x0a, - 0x5e, 0x56, 0x55, 0x6e, 0xd6, 0xc4, 0x47, 0x90, 0x8a, 0x6d, 0xaa, 0x17, 0x4e, 0xb8, 0x4d, 0x3b, 0xf6, 0x5f, 0x0a, - 0xf5, 0x14, 0xe0, 0x4e, 0x37, 0xc2, 0xda, 0x84, 0x2e, 0x4f, 0xf0, 0xef, 0xec, 0x72, 0xee, 0xc5, 0xea, 0xae, 0x68, - 0xdc, 0xd5, 0x85, 0xeb, 0xa6, 0x9c, 0x94, 0xd1, 0xa8, 0xeb, 0x50, 0x5f, 0x66, 0x02, 0x34, 0x93, 0xad, 0x5b, 0xc0, - 0x82, 0xa6, 0x90, 0x20, 0xaf, 0xe6, 0x6e, 0x0c, 0xc5, 0x59, 0xd8, 0x79, 0xb9, 0x7e, 0x3f, 0x4f, 0xef, 0x0c, 0x73, - 0x30, 0x9e, 0x77, 0xf1, 0x72, 0xaf, 0xb0, 0x55, 0xd1, 0x54, 0x06, 0xf7, 0x80, 0x90, 0x48, 0x95, 0x75, 0xe4, 0x9b, - 0x94, 0x3d, 0x4e, 0xd3, 0x37, 0xd5, 0x79, 0x37, 0x77, 0xef, 0x74, 0xe0, 0x5e, 0xa3, 0x0a, 0xaa, 0xbd, 0xae, 0xf6, - 0xca, 0x77, 0xd8, 0x62, 0x9c, 0xb0, 0x02, 0xe0, 0x8a, 0xa2, 0xa0, 0xd1, 0x90, 0x52, 0xc2, 0x7d, 0x34, 0xe9, 0xec, - 0xad, 0x8c, 0xac, 0xc5, 0x3c, 0xb1, 0xbb, 0xfa, 0x2a, 0xd4, 0xb7, 0xb8, 0x19, 0x04, 0xd8, 0x71, 0xec, 0x84, 0xcf, - 0x26, 0xec, 0x18, 0x19, 0x5d, 0x39, 0xb8, 0x83, 0xf0, 0x94, 0x9a, 0x14, 0xdf, 0x96, 0x4e, 0x29, 0xde, 0x25, 0x7c, - 0x57, 0xab, 0xbc, 0xbf, 0x28, 0x68, 0xe3, 0xb9, 0x3f, 0x50, 0x4b, 0xdf, 0xab, 0xf6, 0xd2, 0x0b, 0xf6, 0xaf, 0xeb, - 0xde, 0xed, 0x5d, 0x17, 0x98, 0xc3, 0xbd, 0x2b, 0x03, 0x77, 0x49, 0x56, 0x4a, 0xc9, 0xe0, 0x3b, 0xe9, 0xf2, 0x40, - 0x8e, 0x65, 0xa1, 0x62, 0x2b, 0x92, 0xe8, 0x2f, 0xd6, 0x83, 0xd1, 0xc9, 0xe9, 0xdd, 0xd2, 0x57, 0x6e, 0x58, 0x04, - 0x99, 0x34, 0x07, 0xaa, 0x63, 0xd9, 0xaa, 0x82, 0x91, 0x19, 0xbc, 0x60, 0x3e, 0x50, 0x7f, 0xba, 0xf8, 0xc6, 0xec, - 0xaa, 0xa7, 0x60, 0x8e, 0x71, 0x33, 0x47, 0x16, 0xf7, 0xdc, 0xbd, 0x67, 0xd1, 0x75, 0x4b, 0x55, 0x30, 0x61, 0x26, - 0x31, 0xb7, 0x58, 0xa6, 0xb4, 0xd4, 0x3d, 0xf2, 0xb2, 0x29, 0x22, 0xb5, 0xb2, 0x0a, 0x88, 0xd5, 0x69, 0x75, 0x15, - 0xa7, 0x75, 0x68, 0x1d, 0x75, 0xd5, 0xe1, 0x17, 0x8a, 0x72, 0x32, 0x65, 0xb3, 0x78, 0x88, 0xea, 0x98, 0x13, 0xe4, - 0x07, 0xe9, 0xb7, 0xa2, 0x58, 0x13, 0x3f, 0x36, 0x1d, 0x65, 0xc3, 0x1f, 0x15, 0x05, 0x90, 0x51, 0x4f, 0x79, 0x3c, - 0x6b, 0xcd, 0x0e, 0x67, 0x2f, 0xfa, 0xbc, 0x38, 0xfd, 0xa2, 0x50, 0xdd, 0xa0, 0x7f, 0x5b, 0x52, 0xb3, 0x38, 0x89, - 0xc2, 0x0f, 0x8c, 0xf3, 0x92, 0x4a, 0xa6, 0x28, 0x2a, 0x37, 0x6d, 0x55, 0xbf, 0xe4, 0x74, 0xc7, 0x93, 0x59, 0x2b, - 0xaf, 0x8e, 0x63, 0x3c, 0xc8, 0x06, 0x79, 0x72, 0x20, 0x86, 0x7e, 0x22, 0x83, 0xc9, 0x31, 0xeb, 0x00, 0xe5, 0xa8, - 0x7c, 0x8e, 0x73, 0x31, 0xbf, 0x13, 0x08, 0x7b, 0x9e, 0x7b, 0x70, 0xc4, 0xd8, 0x6c, 0xa0, 0x7e, 0xef, 0xb4, 0xba, - 0x86, 0xe3, 0x1c, 0x59, 0x47, 0xdd, 0x89, 0x6d, 0x1c, 0x5a, 0x87, 0x66, 0xdb, 0x3a, 0x32, 0xba, 0x66, 0xd7, 0xe8, - 0x7e, 0xdb, 0x9d, 0x98, 0x87, 0xd6, 0xa1, 0x61, 0x9b, 0x5d, 0x28, 0x34, 0xbb, 0x66, 0xf7, 0xc6, 0x3c, 0xec, 0x4e, - 0x6c, 0x2c, 0x6d, 0x59, 0x9d, 0x8e, 0xe9, 0xd8, 0x56, 0xa7, 0x63, 0x74, 0xac, 0xa3, 0x23, 0xd3, 0x69, 0x5b, 0x47, - 0x47, 0xe7, 0x9d, 0xae, 0xd5, 0x86, 0x77, 0xed, 0xf6, 0xa4, 0x6d, 0x39, 0x8e, 0x09, 0x7f, 0x19, 0x5d, 0xab, 0x45, - 0x3f, 0x1c, 0xc7, 0x6a, 0x3b, 0x86, 0xed, 0x77, 0x5a, 0xd6, 0xd1, 0x0b, 0x03, 0xff, 0xc6, 0x6a, 0x06, 0xfe, 0x05, - 0xdd, 0x18, 0x2f, 0xac, 0xd6, 0x11, 0xfd, 0xc2, 0x0e, 0x6f, 0x0e, 0xbb, 0xff, 0x54, 0x0f, 0x1a, 0xe7, 0xe0, 0xd0, - 0x1c, 0xba, 0x1d, 0xab, 0xdd, 0x36, 0x0e, 0x1d, 0xab, 0xdb, 0x5e, 0x98, 0x87, 0x2d, 0xeb, 0xe8, 0x78, 0x62, 0x3a, - 0xd6, 0xf1, 0xb1, 0x61, 0x9b, 0x6d, 0xab, 0x65, 0x38, 0xd6, 0x61, 0x1b, 0x7f, 0xb4, 0xad, 0xd6, 0xcd, 0xf1, 0x0b, - 0xeb, 0xa8, 0xb3, 0x38, 0xb2, 0x0e, 0x7f, 0x3e, 0xec, 0x5a, 0xad, 0xf6, 0xa2, 0x7d, 0x64, 0xb5, 0x8e, 0x6f, 0x8e, - 0xac, 0xc3, 0x85, 0xd9, 0x3a, 0xda, 0xda, 0xd2, 0x69, 0x59, 0x00, 0x23, 0x7c, 0x0d, 0x2f, 0x0c, 0xfe, 0x02, 0xfe, - 0x2c, 0xb0, 0xed, 0x1f, 0xd8, 0x4d, 0x5c, 0x6d, 0xfa, 0xc2, 0xea, 0x1e, 0x4f, 0xa8, 0x3a, 0x14, 0x98, 0xa2, 0x06, - 0x34, 0xb9, 0x31, 0xe9, 0xb3, 0xd8, 0x9d, 0x29, 0x3a, 0x12, 0x7f, 0xf8, 0xc7, 0x6e, 0x4c, 0xf8, 0x30, 0x7d, 0xf7, - 0x4f, 0xed, 0x27, 0x5b, 0x72, 0x48, 0x14, 0xff, 0x05, 0xff, 0x87, 0x72, 0x2c, 0x8e, 0x8c, 0xf3, 0xa6, 0x4b, 0xc9, - 0x77, 0xbb, 0x2f, 0x25, 0xbf, 0x59, 0xef, 0x73, 0x29, 0xf9, 0xee, 0xb3, 0x5f, 0x4a, 0x9e, 0x97, 0x7d, 0x6b, 0xde, - 0x95, 0x53, 0x41, 0x7d, 0xb7, 0x29, 0xab, 0x1c, 0x3c, 0x57, 0xbb, 0xbc, 0x58, 0x5f, 0x41, 0x68, 0xbf, 0x77, 0xe1, - 0xe0, 0x9b, 0x75, 0xc1, 0xe0, 0x33, 0x04, 0x1c, 0xfb, 0x2e, 0x24, 0x1c, 0xfb, 0xc3, 0x7a, 0x00, 0x56, 0x66, 0x9c, - 0xcd, 0xf1, 0xa6, 0xe6, 0xc2, 0xf5, 0x67, 0x19, 0x8b, 0x04, 0x25, 0x7d, 0x2c, 0x06, 0xc7, 0x35, 0x20, 0xcf, 0x20, - 0xc9, 0xac, 0x97, 0x41, 0x0c, 0x16, 0xc1, 0x60, 0xc9, 0x31, 0x8b, 0xd2, 0x52, 0x63, 0x4b, 0x04, 0x43, 0xbc, 0xe6, - 0x5e, 0x50, 0x8d, 0xef, 0xd1, 0x00, 0xb8, 0xbe, 0x77, 0xa7, 0xda, 0xaf, 0x02, 0x96, 0x75, 0xc2, 0x40, 0x1a, 0xb8, - 0xfd, 0xba, 0xf7, 0x45, 0x33, 0xdc, 0x92, 0xe1, 0x75, 0xf3, 0x48, 0x61, 0x24, 0xe5, 0xf6, 0x4e, 0xd1, 0x8c, 0x77, - 0xd7, 0x34, 0x6b, 0x3e, 0x5f, 0x68, 0xbe, 0xc5, 0x86, 0x38, 0xeb, 0xb8, 0x0c, 0xaa, 0x52, 0x22, 0xe3, 0x5a, 0x80, - 0xe4, 0x02, 0x6a, 0x6e, 0x68, 0x9c, 0x73, 0xaa, 0xb6, 0x82, 0xfc, 0x8e, 0x2d, 0xbd, 0x2b, 0xf4, 0x29, 0x1b, 0x27, - 0x3f, 0xdb, 0xa0, 0x5c, 0xe1, 0xfd, 0x0a, 0x9c, 0x28, 0xe7, 0x78, 0xc6, 0xa1, 0x0c, 0xe7, 0x8d, 0xd4, 0x2f, 0x69, - 0x23, 0xd2, 0x85, 0xb3, 0xa9, 0xf2, 0xa2, 0x8d, 0x6e, 0x09, 0x0e, 0x5b, 0x0a, 0x2e, 0x08, 0x3f, 0x4f, 0x4e, 0x00, - 0x29, 0x39, 0x6a, 0xa0, 0x9f, 0xc3, 0xb6, 0xce, 0x44, 0xbd, 0xc7, 0xb0, 0x89, 0x79, 0xd0, 0x65, 0x45, 0x8e, 0x36, - 0xb3, 0x99, 0xf9, 0xa1, 0x9b, 0xf4, 0x90, 0x4d, 0x93, 0x58, 0xde, 0x16, 0x7a, 0x2c, 0xf4, 0xb7, 0x18, 0xd3, 0xc9, - 0x1d, 0xf3, 0x4e, 0xd0, 0xf3, 0x61, 0x9b, 0xfd, 0x5d, 0xe6, 0x70, 0xb6, 0x29, 0x98, 0xa3, 0x38, 0x9d, 0x63, 0xc3, - 0x39, 0x32, 0xac, 0xe3, 0x8e, 0x9e, 0x8a, 0x03, 0x27, 0x77, 0x59, 0x00, 0x08, 0x38, 0x40, 0x64, 0xc3, 0xf4, 0x02, - 0x2f, 0xf1, 0x5c, 0x3f, 0x05, 0x7e, 0xb8, 0x28, 0xa4, 0xfc, 0x6b, 0x1d, 0x27, 0x30, 0x47, 0xc1, 0xf4, 0xa2, 0xf3, - 0x87, 0x39, 0x66, 0xc9, 0x2d, 0x63, 0x41, 0x83, 0x61, 0x4c, 0xd9, 0x97, 0xe4, 0xf7, 0xb3, 0xac, 0x4f, 0xc9, 0x6a, - 0x6d, 0x9c, 0x04, 0x7c, 0x7f, 0x08, 0xc7, 0x87, 0x74, 0x64, 0xfc, 0xda, 0x84, 0x70, 0xff, 0xb5, 0x1b, 0xe1, 0x26, - 0x6c, 0x1f, 0x84, 0xfb, 0xaf, 0xcf, 0x8e, 0x70, 0x7f, 0x95, 0x11, 0x6e, 0xc1, 0x7f, 0x30, 0xbf, 0x61, 0x7a, 0x8f, - 0xcf, 0x1a, 0x24, 0x51, 0x79, 0xae, 0x1e, 0x10, 0x03, 0x0f, 0xf9, 0x25, 0x44, 0x14, 0xaf, 0x97, 0x85, 0x64, 0x9d, - 0xa8, 0x00, 0xc5, 0x04, 0x1d, 0x94, 0x18, 0xd0, 0x03, 0x57, 0xb7, 0x2c, 0x39, 0x20, 0xbb, 0x55, 0xce, 0x82, 0xc4, - 0xb7, 0xde, 0x71, 0x39, 0x12, 0x2e, 0x74, 0xbf, 0x09, 0xa3, 0xa5, 0x8b, 0xd1, 0x5f, 0x55, 0x4c, 0xf2, 0x0d, 0x0f, - 0x36, 0x38, 0xe3, 0x4e, 0xc2, 0x60, 0x9a, 0xdd, 0x4a, 0xb2, 0xc1, 0x25, 0x71, 0xdc, 0xea, 0x3d, 0x73, 0x23, 0xd5, - 0xa0, 0xd7, 0xb0, 0xb8, 0xcf, 0xda, 0xf6, 0xb3, 0xd6, 0xe1, 0xb3, 0x23, 0x1b, 0xfe, 0x77, 0x58, 0x3b, 0x35, 0x78, - 0xc5, 0x65, 0x18, 0x40, 0x9e, 0x41, 0x51, 0xb3, 0xa9, 0xda, 0x2d, 0x63, 0x1f, 0xf2, 0x5a, 0xc7, 0xf5, 0x95, 0xa6, - 0xee, 0x7d, 0x5e, 0xa7, 0xb6, 0xc6, 0x22, 0x5c, 0x4b, 0xc3, 0xaa, 0x19, 0x8d, 0x17, 0xac, 0x41, 0xcf, 0x2e, 0xd5, - 0x90, 0x5f, 0xf3, 0xe9, 0xe6, 0xf3, 0x62, 0xed, 0xf4, 0x2a, 0x4f, 0x66, 0x2a, 0x92, 0x2a, 0xee, 0x84, 0x20, 0xbf, - 0xa2, 0xb4, 0x31, 0xde, 0x37, 0x66, 0x9c, 0x80, 0x68, 0xdf, 0x59, 0x0a, 0x4a, 0x97, 0x16, 0x28, 0x89, 0xd6, 0xc1, - 0x44, 0xc3, 0x9f, 0xee, 0x38, 0xd6, 0xbc, 0x83, 0xc8, 0xe2, 0x1f, 0xd6, 0x71, 0xd5, 0xdc, 0xa1, 0x9d, 0x67, 0x7e, - 0x8b, 0xc5, 0xaa, 0xb8, 0xcf, 0x12, 0x23, 0xc2, 0x7b, 0x6c, 0x5a, 0x5a, 0x73, 0xe0, 0x3e, 0xcb, 0x1a, 0x3e, 0x4b, - 0x8c, 0xe0, 0x39, 0xdc, 0x7d, 0x0e, 0xec, 0xa7, 0x4f, 0xa9, 0x16, 0x64, 0x51, 0xa7, 0x69, 0x9d, 0x4e, 0xf2, 0xa0, - 0xa1, 0x8a, 0x3b, 0x0f, 0x29, 0x6e, 0x68, 0x6f, 0x62, 0x84, 0xcf, 0x9f, 0x0f, 0x07, 0x8e, 0x8e, 0x59, 0x45, 0x45, - 0x76, 0x70, 0x9e, 0xb0, 0xf6, 0x7c, 0x3f, 0x43, 0x23, 0xbd, 0xd6, 0x95, 0x76, 0x05, 0x32, 0x93, 0x2d, 0xdc, 0x11, - 0x38, 0xf6, 0x82, 0x04, 0x72, 0x64, 0x50, 0xe0, 0x0a, 0x83, 0x1f, 0x51, 0x27, 0x93, 0xba, 0xda, 0x96, 0x6d, 0xd9, - 0x6a, 0xd6, 0x70, 0xe6, 0xcd, 0x07, 0x9b, 0x30, 0x71, 0x21, 0x15, 0xa7, 0x1f, 0xce, 0xc1, 0x8f, 0x2e, 0xf1, 0x12, - 0x1f, 0xf2, 0x3a, 0x82, 0x43, 0xdd, 0x92, 0xe4, 0xf2, 0x94, 0x7b, 0x37, 0xb8, 0xd1, 0x07, 0xcc, 0xed, 0x2d, 0x5c, - 0x71, 0x31, 0x8e, 0xdd, 0xf7, 0x40, 0x0c, 0x35, 0x55, 0x03, 0xdd, 0x00, 0x8b, 0x62, 0x53, 0xf6, 0x16, 0xea, 0x29, - 0xd0, 0x46, 0x57, 0xf9, 0x24, 0x66, 0x91, 0xbb, 0x84, 0x1c, 0x48, 0x9b, 0xd4, 0xe0, 0x98, 0x56, 0xe5, 0xa8, 0x56, - 0x71, 0x5e, 0x1c, 0x19, 0x4a, 0xcb, 0x31, 0x14, 0x1b, 0xd0, 0xad, 0x9a, 0x1a, 0x9b, 0xf4, 0xaa, 0xbf, 0xcb, 0xe0, - 0x81, 0xf0, 0xcb, 0x63, 0x9a, 0x07, 0x99, 0x3a, 0xf0, 0xab, 0xa4, 0x84, 0xe2, 0x17, 0x6b, 0x52, 0x66, 0x13, 0x8f, - 0x2e, 0x3d, 0x2f, 0xd8, 0x5d, 0xa2, 0x63, 0xde, 0x43, 0x5e, 0xc5, 0xd3, 0x37, 0xe8, 0x30, 0xec, 0x05, 0x8a, 0xf7, - 0xf1, 0xa3, 0xe6, 0x81, 0x33, 0xd3, 0x40, 0x82, 0x0f, 0x3c, 0xeb, 0x05, 0x80, 0x79, 0xf9, 0x35, 0x3d, 0x02, 0x0b, - 0x3c, 0x0d, 0xe1, 0xdf, 0xbc, 0x58, 0xfc, 0xe0, 0x66, 0x12, 0x96, 0xef, 0x06, 0x73, 0x40, 0x69, 0x6e, 0x30, 0xaf, - 0x98, 0x63, 0x91, 0xcf, 0x73, 0xa9, 0x34, 0xef, 0x2a, 0x37, 0x95, 0x8a, 0x5f, 0xde, 0x5f, 0x50, 0x5e, 0x57, 0x4d, - 0x05, 0x2a, 0x87, 0x2e, 0xba, 0xf9, 0x4d, 0xee, 0xf3, 0xc1, 0x97, 0x27, 0x4b, 0x96, 0xb8, 0x74, 0x0d, 0x04, 0xc2, - 0x2f, 0xb0, 0x03, 0x0a, 0x27, 0x34, 0x3c, 0x36, 0xd4, 0x60, 0xca, 0x6e, 0xbc, 0x09, 0x97, 0x4b, 0x0d, 0x85, 0xd3, - 0x29, 0x13, 0x2d, 0x3e, 0x07, 0x8e, 0x41, 0x0e, 0x07, 0x13, 0x17, 0x43, 0x1d, 0x0f, 0x82, 0x50, 0x1d, 0x7e, 0x99, - 0xf9, 0x66, 0x36, 0x2d, 0x02, 0x24, 0x57, 0xbf, 0x8c, 0x98, 0xff, 0xef, 0xc1, 0x97, 0x40, 0xb8, 0xbf, 0xbc, 0x52, - 0xf5, 0x7e, 0x62, 0x2d, 0x22, 0x36, 0x1b, 0x7c, 0x59, 0x93, 0x64, 0x1c, 0xc5, 0x7b, 0x1a, 0x8b, 0xda, 0x6e, 0xe5, - 0x21, 0xe7, 0xda, 0x7b, 0x09, 0xf5, 0x43, 0x2e, 0xad, 0x83, 0x04, 0xb8, 0x29, 0xc8, 0xd8, 0x4e, 0x1f, 0xe5, 0xe7, - 0xb1, 0xef, 0x4e, 0x3e, 0xf4, 0xe9, 0x4d, 0xe1, 0xc1, 0x04, 0x6a, 0x3d, 0x71, 0x57, 0x3d, 0x24, 0xaf, 0x72, 0x21, - 0x78, 0x4f, 0x53, 0x69, 0xc6, 0xd9, 0xd5, 0xee, 0x65, 0xdc, 0xca, 0x1b, 0xfc, 0x32, 0x7e, 0xea, 0x76, 0xe1, 0x25, - 0x4c, 0x7c, 0x0a, 0x1f, 0xd2, 0x54, 0x08, 0xea, 0x24, 0xa2, 0xa2, 0x60, 0x6d, 0xb5, 0x15, 0xa7, 0xfb, 0x6d, 0xe7, - 0xc6, 0xb1, 0x17, 0x2d, 0xc7, 0xea, 0xfe, 0xec, 0x74, 0x17, 0x6d, 0xeb, 0xd8, 0x37, 0xdb, 0xd6, 0x31, 0xfc, 0xf9, - 0xf9, 0xd8, 0xea, 0x2e, 0xcc, 0x96, 0x75, 0xf8, 0xb3, 0xd3, 0xf2, 0xcd, 0xae, 0x75, 0x0c, 0x7f, 0xce, 0xa9, 0x15, - 0x08, 0x40, 0x24, 0xef, 0x7c, 0x59, 0xc0, 0x02, 0xd2, 0xef, 0xec, 0x4e, 0xd6, 0x28, 0x90, 0xb7, 0x9a, 0x7b, 0x5d, - 0x40, 0x19, 0x94, 0xfa, 0x07, 0x4d, 0x11, 0xfa, 0x5a, 0x30, 0x60, 0x94, 0xec, 0x47, 0x98, 0xb7, 0x09, 0x3f, 0x74, - 0x91, 0x5f, 0xa5, 0xf6, 0x18, 0xf1, 0x36, 0xf5, 0x39, 0x45, 0x44, 0x22, 0x58, 0xba, 0x08, 0xfe, 0x69, 0x85, 0xa1, - 0xf1, 0x44, 0xfa, 0x2c, 0x09, 0x2b, 0xe5, 0xc9, 0xc8, 0xd3, 0xdd, 0x03, 0x47, 0x6f, 0x7e, 0x96, 0x25, 0xc3, 0xfc, - 0xac, 0x7d, 0x4b, 0x59, 0xca, 0x3e, 0xa9, 0x1f, 0xcc, 0xce, 0x94, 0x27, 0x56, 0x82, 0x88, 0xe2, 0x53, 0x2f, 0xca, - 0x86, 0x27, 0xa1, 0x68, 0xa7, 0x3e, 0x19, 0x8b, 0x0e, 0x59, 0x03, 0xcf, 0x80, 0x4b, 0xbe, 0x71, 0x7d, 0xc9, 0x90, - 0x4d, 0x6a, 0xf9, 0x28, 0xc3, 0xfc, 0x4f, 0x9f, 0xe6, 0x83, 0x33, 0x4b, 0xe3, 0x3e, 0x71, 0x3a, 0x40, 0x76, 0x3b, - 0xac, 0xbd, 0xd5, 0xa6, 0x72, 0x77, 0x2c, 0xfa, 0x3c, 0x08, 0xb5, 0xb0, 0x9b, 0x12, 0x16, 0x1b, 0x8d, 0x86, 0x9d, - 0x15, 0x7b, 0x0d, 0x88, 0xe2, 0x5f, 0x12, 0x75, 0x54, 0xbd, 0x1f, 0x08, 0xf3, 0x83, 0x60, 0x4b, 0xfc, 0x7d, 0x2e, - 0x8b, 0xa9, 0x00, 0x9a, 0x2d, 0xf3, 0xd8, 0xe1, 0x20, 0xfe, 0x67, 0x4f, 0x02, 0x9d, 0x35, 0xc1, 0x5e, 0xa2, 0x74, - 0x5a, 0x0b, 0xce, 0x7b, 0x19, 0x5d, 0x25, 0x82, 0xca, 0xe2, 0x53, 0x15, 0x8a, 0x20, 0x9d, 0x2c, 0x66, 0x90, 0xce, - 0x8c, 0x45, 0x33, 0x6a, 0x91, 0x17, 0x18, 0x1e, 0x26, 0x33, 0x11, 0x8e, 0xa3, 0xfa, 0xd3, 0xa7, 0x8d, 0x44, 0x88, - 0x8c, 0x73, 0x62, 0x96, 0x64, 0x39, 0x2e, 0x55, 0x19, 0xbf, 0xa9, 0x32, 0x8a, 0xc9, 0xfa, 0x45, 0xac, 0x21, 0x6c, - 0x5c, 0x69, 0xef, 0xe1, 0xcf, 0x31, 0x73, 0x13, 0x8b, 0x5f, 0x96, 0x6a, 0x12, 0x71, 0x37, 0x1c, 0xd6, 0x06, 0xeb, - 0x56, 0x1e, 0x41, 0x93, 0x47, 0xa8, 0x7d, 0xb2, 0x79, 0xb9, 0xe6, 0x51, 0x1d, 0xa0, 0x8f, 0x8f, 0x76, 0x1e, 0x80, - 0xec, 0x6d, 0xe2, 0x52, 0x60, 0x18, 0x99, 0xe4, 0x86, 0x89, 0x2b, 0xd2, 0x36, 0x02, 0x5f, 0xde, 0xaf, 0x35, 0xbf, - 0x90, 0x22, 0x3f, 0x0c, 0xdf, 0x5e, 0x7c, 0xad, 0xf0, 0xfd, 0x4f, 0xd6, 0x02, 0x28, 0xc8, 0x50, 0x6a, 0x9f, 0x01, - 0xa5, 0xf6, 0x51, 0x78, 0x6e, 0x29, 0xc8, 0x77, 0x93, 0x1e, 0x10, 0x04, 0x51, 0x01, 0x4d, 0x36, 0x14, 0xcb, 0xb5, - 0x9f, 0x78, 0x2b, 0x37, 0x4a, 0x0e, 0x30, 0xaf, 0x0f, 0x20, 0x39, 0xb5, 0x29, 0x1e, 0x04, 0x99, 0x61, 0x88, 0xc0, - 0xad, 0x49, 0x20, 0xec, 0x30, 0x66, 0x9e, 0x9f, 0x99, 0x61, 0x88, 0x0f, 0xb8, 0x93, 0x09, 0x5b, 0x25, 0x83, 0x42, - 0xfe, 0xa0, 0x70, 0x92, 0xb0, 0xc4, 0x8c, 0x93, 0x88, 0xb9, 0x4b, 0x35, 0x0b, 0x10, 0x5e, 0xed, 0x2f, 0x5e, 0x8f, - 0x97, 0x5e, 0x92, 0x45, 0xd8, 0xa5, 0x09, 0x82, 0x41, 0x04, 0x0c, 0x71, 0x38, 0x4a, 0x39, 0x08, 0xcf, 0xc3, 0x79, - 0x69, 0x47, 0xe5, 0x9c, 0xcb, 0x29, 0xc6, 0x6f, 0x27, 0x49, 0x06, 0xb4, 0xc5, 0x93, 0xd0, 0xbf, 0xe6, 0x31, 0x2c, - 0xb2, 0x40, 0xc0, 0xea, 0xf0, 0x84, 0x8b, 0xb7, 0x0a, 0x86, 0x6f, 0x51, 0x3b, 0x36, 0x44, 0xa8, 0x6f, 0x8a, 0x6e, - 0x71, 0xc0, 0x2b, 0x03, 0x69, 0xa2, 0x9e, 0x31, 0xc9, 0x08, 0x8d, 0xe5, 0x02, 0x18, 0xa1, 0x82, 0xc1, 0xcc, 0xc2, - 0x19, 0x66, 0xee, 0x94, 0x38, 0x2a, 0xe4, 0x95, 0x3e, 0x7e, 0x7c, 0x35, 0xfa, 0xed, 0x3f, 0x90, 0x09, 0x65, 0xe1, - 0x88, 0x98, 0x12, 0x97, 0x72, 0x2d, 0xce, 0x7d, 0x1a, 0x23, 0x34, 0x96, 0x62, 0x53, 0x11, 0xa2, 0x47, 0x6c, 0xad, - 0x74, 0x74, 0x25, 0x42, 0x34, 0x42, 0x92, 0x24, 0x5d, 0x44, 0xbe, 0x18, 0xc1, 0xf2, 0x8e, 0x44, 0x4c, 0x14, 0xe5, - 0x97, 0xbb, 0x97, 0xc7, 0x4a, 0x1e, 0xc3, 0xa8, 0xce, 0xa2, 0x87, 0xf6, 0xd0, 0xf0, 0xc4, 0x55, 0x90, 0x69, 0x41, - 0xf6, 0x23, 0xee, 0x1d, 0xc0, 0x34, 0x17, 0xe1, 0x92, 0x59, 0x5e, 0x78, 0x70, 0xcb, 0xc6, 0xa6, 0xbb, 0xf2, 0xc8, - 0x2e, 0x07, 0xf5, 0x6e, 0x0a, 0x71, 0x7e, 0x99, 0xb9, 0x0b, 0xf1, 0xd7, 0x69, 0x0e, 0xca, 0xb0, 0x18, 0x93, 0xb3, - 0xd3, 0xca, 0xef, 0x01, 0x21, 0x7e, 0x81, 0x04, 0xc7, 0x70, 0x78, 0x72, 0xe0, 0x0e, 0x8b, 0x41, 0x81, 0x2d, 0x91, - 0xbd, 0xa6, 0x48, 0x04, 0x4e, 0x29, 0xb6, 0xaf, 0x08, 0xe3, 0x9b, 0x3f, 0x98, 0xe1, 0x6c, 0x26, 0x07, 0xf2, 0xb5, - 0x8a, 0xc3, 0xcb, 0x80, 0x96, 0x6f, 0xe9, 0x70, 0x45, 0x5f, 0xaa, 0x7e, 0x22, 0xfb, 0xa9, 0xf6, 0x30, 0x82, 0x37, - 0xcc, 0x19, 0x8e, 0x7b, 0x25, 0x20, 0x70, 0x06, 0xb1, 0xc7, 0x54, 0x89, 0xe3, 0x91, 0x72, 0xfa, 0x89, 0x06, 0xce, - 0xe5, 0xd1, 0x60, 0x40, 0x68, 0xae, 0x8c, 0xed, 0x00, 0x88, 0x35, 0x99, 0x7c, 0x60, 0xb2, 0x09, 0x34, 0x34, 0xc9, - 0x5d, 0x16, 0x1b, 0x95, 0xa7, 0x53, 0x1d, 0xe3, 0x81, 0x2b, 0xb6, 0x5f, 0x61, 0x83, 0xc2, 0xc6, 0xe3, 0xeb, 0x0e, - 0xf8, 0x5d, 0xf4, 0x53, 0x42, 0xf3, 0xca, 0x57, 0x84, 0xd1, 0x4d, 0xdf, 0xbd, 0x0f, 0x25, 0x33, 0x26, 0x1e, 0xd1, - 0xe4, 0x1c, 0x4b, 0x2f, 0x84, 0x27, 0x71, 0xe5, 0xa0, 0x65, 0x09, 0x51, 0xaa, 0x87, 0x4d, 0x4e, 0x62, 0xb2, 0xeb, - 0xac, 0xc9, 0x75, 0x8b, 0x93, 0x41, 0xe4, 0x99, 0xe6, 0xe7, 0xb0, 0xf0, 0x12, 0xd1, 0x42, 0x7a, 0x72, 0x00, 0xf3, - 0x83, 0x28, 0x2c, 0x05, 0xc6, 0xc9, 0xd3, 0x21, 0xd4, 0x8b, 0x1b, 0x93, 0x29, 0xd6, 0xd9, 0x54, 0xf0, 0x7c, 0x28, - 0x58, 0x4a, 0xd9, 0xfd, 0xa4, 0x2a, 0x55, 0x5e, 0xc6, 0xae, 0x67, 0x02, 0x77, 0x67, 0x0f, 0xfa, 0x61, 0x8d, 0xa9, - 0x83, 0xd2, 0x7e, 0xc2, 0x44, 0x90, 0x83, 0xf3, 0xa4, 0x21, 0x0e, 0x42, 0x53, 0x15, 0xe2, 0x67, 0xb7, 0x54, 0xc8, - 0xf7, 0xf1, 0xb6, 0x5a, 0x39, 0xe7, 0x94, 0x55, 0x5b, 0xb9, 0x9a, 0xfa, 0x18, 0x77, 0x7c, 0xa5, 0x36, 0x96, 0x42, - 0xbd, 0xf3, 0x64, 0x00, 0x55, 0x85, 0x2e, 0xde, 0x5d, 0xad, 0xa8, 0xb2, 0xde, 0x3f, 0x39, 0x20, 0xb1, 0x74, 0x48, - 0x3b, 0x6c, 0x78, 0x02, 0xa6, 0xdc, 0xb4, 0xe8, 0xee, 0x6a, 0xc5, 0x97, 0x94, 0x7e, 0xd1, 0x9b, 0x83, 0x45, 0xb2, - 0xf4, 0x87, 0xff, 0x07, 0x52, 0xaf, 0x09, 0x6c, 0x30, 0x6a, 0x03, 0x00}; + 0x5e, 0x6e, 0x0b, 0x04, 0x92, 0x99, 0x22, 0xb2, 0xd9, 0xee, 0xa9, 0x2b, 0x90, 0xcb, 0x9a, 0x4d, 0xa4, 0x5d, 0xf0, + 0x72, 0xcc, 0x41, 0x26, 0x53, 0xd6, 0x93, 0xf6, 0xc0, 0x16, 0x04, 0xc9, 0x4d, 0x1a, 0x91, 0x6d, 0x7f, 0x29, 0x3e, + 0x89, 0x01, 0x8d, 0x90, 0x15, 0xf8, 0x42, 0x61, 0x91, 0x03, 0xd7, 0x59, 0xf8, 0x8e, 0xbf, 0xd1, 0x52, 0x31, 0x50, + 0xc3, 0x21, 0x2e, 0xcc, 0xf3, 0x18, 0xe5, 0x7c, 0xa8, 0x0a, 0x9e, 0x5b, 0x0a, 0x44, 0x14, 0xbe, 0x5e, 0x1f, 0xc2, + 0x6b, 0x46, 0xae, 0x4d, 0x70, 0xbd, 0x75, 0x3f, 0xab, 0x97, 0x4b, 0x60, 0x1c, 0x8c, 0xb4, 0xcc, 0x45, 0xa1, 0x93, + 0x37, 0xd9, 0xa5, 0xe8, 0x35, 0x1a, 0xcc, 0x04, 0x9a, 0x22, 0x10, 0x55, 0x0e, 0xfc, 0x22, 0xe1, 0x8f, 0x8d, 0x1d, + 0xa5, 0x98, 0x8d, 0xc0, 0x07, 0xa1, 0xc1, 0x6b, 0x09, 0xeb, 0xb5, 0xb2, 0x11, 0x5e, 0x4c, 0x8e, 0x8d, 0xf5, 0x52, + 0xf6, 0x53, 0x86, 0x92, 0xad, 0xcc, 0x38, 0xb8, 0xdb, 0xea, 0x6f, 0xab, 0xfd, 0x7c, 0xc0, 0xed, 0x35, 0x1e, 0x37, + 0x71, 0x13, 0x0c, 0xa0, 0x56, 0x5b, 0x1b, 0xdc, 0xda, 0xf9, 0xc7, 0xd6, 0x28, 0x99, 0x6d, 0x43, 0x50, 0x94, 0x71, + 0x02, 0xec, 0xcd, 0xad, 0x8f, 0x9b, 0xa8, 0xcc, 0x9c, 0x14, 0xd2, 0x03, 0x90, 0xa3, 0x87, 0x04, 0x3a, 0xb7, 0x3f, + 0x2b, 0xba, 0x50, 0xc9, 0xc4, 0xe5, 0x18, 0xff, 0x11, 0xdc, 0xe6, 0x0d, 0xa2, 0x4f, 0x9f, 0xcc, 0x26, 0xff, 0xf4, + 0x29, 0xc2, 0xa1, 0x71, 0x7d, 0x14, 0xf0, 0x82, 0xd1, 0xb0, 0x0c, 0xad, 0x65, 0x36, 0x7e, 0xb3, 0x5d, 0x35, 0xf6, + 0x81, 0x56, 0x78, 0x07, 0xcb, 0x63, 0x1a, 0xdf, 0x71, 0x46, 0x1d, 0x70, 0x80, 0x37, 0x1b, 0xf0, 0x61, 0xef, 0x4d, + 0xac, 0xd0, 0xd1, 0xd1, 0x9b, 0x58, 0xa2, 0xfe, 0x35, 0x33, 0x77, 0x6e, 0xe0, 0x8d, 0x3e, 0xe0, 0x66, 0xf8, 0x32, + 0x40, 0x80, 0x6b, 0xb6, 0x2d, 0xd9, 0xbc, 0x35, 0xb1, 0x3f, 0x52, 0x88, 0x2d, 0x0e, 0x11, 0x8e, 0x1d, 0x48, 0xa0, + 0xd7, 0x37, 0x21, 0xb4, 0x7b, 0x8c, 0x30, 0x60, 0xe1, 0x4b, 0x5f, 0x41, 0x96, 0xcc, 0x59, 0x31, 0x65, 0xc5, 0x7a, + 0xfd, 0x81, 0x5a, 0xff, 0xbf, 0xad, 0x50, 0x95, 0xaa, 0xd7, 0x68, 0x50, 0x33, 0x7e, 0x10, 0x1f, 0xe8, 0x10, 0x1f, + 0xbe, 0x89, 0x0b, 0x84, 0xc0, 0xc2, 0x88, 0x8b, 0xa5, 0xf7, 0x75, 0xcb, 0x6a, 0xeb, 0x52, 0xa0, 0xb2, 0x91, 0x9c, + 0xb4, 0xf0, 0x8c, 0x64, 0xe5, 0x1a, 0x5d, 0xce, 0x7a, 0x8d, 0x46, 0x8e, 0x64, 0x9c, 0x0d, 0xf2, 0x21, 0xe6, 0xb8, + 0x80, 0xcb, 0xd4, 0xdd, 0x75, 0x58, 0xb0, 0x1a, 0xe5, 0x72, 0xf3, 0x5d, 0xd9, 0xb1, 0xa6, 0xcf, 0xe9, 0x26, 0xdc, + 0xdd, 0x34, 0x20, 0x12, 0xfb, 0x80, 0x2c, 0x2c, 0x90, 0x95, 0x07, 0xb2, 0x30, 0x40, 0x56, 0xa8, 0xbf, 0x80, 0xa0, + 0x4d, 0x0a, 0xa5, 0x3b, 0x14, 0xbd, 0x1e, 0x5e, 0xd4, 0xb9, 0xae, 0x60, 0x6e, 0x22, 0x5c, 0xb8, 0xe5, 0x00, 0x37, + 0x16, 0x37, 0x77, 0x45, 0x56, 0x51, 0x64, 0x22, 0xed, 0xe2, 0x5b, 0xf3, 0x27, 0xb9, 0xc5, 0x77, 0xf6, 0xc7, 0x5d, + 0xa0, 0x4c, 0x7a, 0x5f, 0xd3, 0x36, 0x70, 0x17, 0x97, 0x2e, 0x4a, 0x22, 0x40, 0x6b, 0x17, 0x64, 0x51, 0xd4, 0xdf, + 0x9d, 0x53, 0x36, 0x1c, 0x86, 0x68, 0x10, 0x85, 0x45, 0x40, 0x3a, 0xff, 0xf8, 0x23, 0x42, 0x7d, 0x01, 0xd1, 0x8c, + 0xdc, 0xc9, 0xd6, 0x6c, 0xa3, 0x46, 0x94, 0x44, 0x69, 0xec, 0x83, 0x65, 0xc0, 0xce, 0x88, 0xa2, 0xe0, 0xcd, 0x99, + 0x2a, 0xca, 0x5a, 0x6d, 0x18, 0x66, 0x50, 0x55, 0xf8, 0x8f, 0xab, 0xd5, 0x76, 0xb0, 0x25, 0x03, 0x55, 0x61, 0x22, + 0xdd, 0x20, 0xfb, 0x10, 0x1b, 0x23, 0xec, 0xe8, 0x88, 0x0d, 0xc4, 0x30, 0x78, 0x59, 0xad, 0xb2, 0x20, 0xd1, 0xe1, + 0xc2, 0xc5, 0x19, 0x44, 0xbb, 0x5f, 0xaf, 0xed, 0x5f, 0xf2, 0x9b, 0x91, 0x66, 0xe0, 0x89, 0xbc, 0xe0, 0x8c, 0x15, + 0xfb, 0x65, 0xb1, 0x44, 0xcb, 0xf7, 0x60, 0xd9, 0xe7, 0x62, 0x17, 0x72, 0x37, 0xd5, 0x76, 0xe9, 0x82, 0x63, 0x34, + 0x0a, 0x41, 0xe4, 0xe0, 0xea, 0x48, 0xc3, 0x0b, 0x1d, 0xe6, 0xd5, 0x22, 0x00, 0xe7, 0xaa, 0x0c, 0xe4, 0x0a, 0x47, + 0x4a, 0x02, 0x96, 0xde, 0x86, 0x4e, 0xc2, 0x8f, 0x3a, 0x95, 0x74, 0x2c, 0x24, 0x40, 0x81, 0x23, 0x73, 0x39, 0x6f, + 0x02, 0xf5, 0x33, 0xb4, 0x87, 0xc8, 0x05, 0x26, 0x34, 0x75, 0xd9, 0xd2, 0x45, 0xd4, 0x8a, 0xe6, 0x72, 0xa9, 0xd8, + 0x72, 0x01, 0xe7, 0x7b, 0x99, 0x96, 0xe5, 0x3c, 0xfb, 0x52, 0x4f, 0x01, 0x83, 0xc8, 0x5b, 0x3d, 0x67, 0x62, 0x19, + 0xb9, 0x79, 0xbe, 0xb2, 0xe2, 0xfe, 0x9b, 0x17, 0xf8, 0x03, 0xe9, 0x1c, 0xbf, 0xc2, 0x7f, 0x51, 0xf2, 0xa1, 0xf1, + 0x0a, 0x4f, 0x39, 0xb1, 0xbc, 0x41, 0xf2, 0xe6, 0xf5, 0xf5, 0x8b, 0x77, 0x2f, 0x3e, 0x3c, 0xfd, 0xf4, 0xe2, 0xd5, + 0xb3, 0x17, 0xaf, 0x5e, 0xbc, 0xfb, 0x88, 0xff, 0x49, 0xc9, 0xab, 0x93, 0xf6, 0x45, 0x0b, 0xbf, 0x27, 0xaf, 0x4e, + 0x3a, 0xf8, 0x56, 0x93, 0x57, 0x27, 0x67, 0x78, 0xa6, 0xc8, 0xab, 0xe3, 0xce, 0xc9, 0x29, 0x5e, 0x6a, 0xdb, 0x64, + 0x2e, 0xa7, 0xed, 0x16, 0xfe, 0xcb, 0x7d, 0x81, 0x78, 0x1f, 0xb8, 0xe1, 0xb0, 0x2d, 0xe3, 0x07, 0x53, 0x86, 0x8e, + 0x94, 0x31, 0x44, 0xb9, 0x0c, 0xd0, 0x69, 0xac, 0x42, 0x74, 0xb2, 0xa1, 0xa4, 0xc1, 0x86, 0x11, 0xd0, 0x8a, 0x13, + 0xd7, 0x0e, 0x3f, 0x69, 0xb3, 0x53, 0xa0, 0x4f, 0xbc, 0x14, 0x8e, 0x4b, 0x15, 0x4e, 0xdb, 0x69, 0x31, 0x26, 0xb9, + 0x94, 0x45, 0xbc, 0x04, 0x46, 0xc0, 0x68, 0x2d, 0xf8, 0x49, 0x19, 0xb3, 0x4a, 0x5c, 0x92, 0x76, 0xbf, 0x9d, 0x8a, + 0x4b, 0xd2, 0xe9, 0x77, 0xe0, 0x4f, 0xb7, 0xdf, 0x4d, 0xdb, 0x2d, 0x74, 0x1c, 0x8c, 0xe3, 0xe7, 0x1a, 0x5a, 0x0f, + 0x86, 0xd8, 0x75, 0xa1, 0xfe, 0x2a, 0xb4, 0x57, 0xe9, 0x09, 0xa7, 0x8e, 0x6d, 0xf7, 0xc4, 0x25, 0x33, 0x7a, 0x58, + 0xfe, 0x03, 0xa0, 0xb6, 0x71, 0xab, 0x29, 0x37, 0x8e, 0xfb, 0xc5, 0x4f, 0x04, 0xaa, 0x05, 0xc6, 0x89, 0xd9, 0xba, + 0x85, 0x80, 0x69, 0x34, 0xd9, 0x60, 0x0e, 0x94, 0x28, 0x59, 0x68, 0x1f, 0xdc, 0x5f, 0x35, 0x25, 0x4a, 0x16, 0x72, + 0x11, 0xd7, 0x54, 0x0d, 0xbf, 0x04, 0x66, 0x8e, 0x87, 0x5c, 0xbd, 0xa2, 0xaf, 0xe2, 0x1a, 0xcf, 0x13, 0xb2, 0x76, + 0xe1, 0xb6, 0xf8, 0x87, 0xb3, 0xa2, 0xa8, 0x81, 0xab, 0x04, 0xac, 0x1f, 0x55, 0x53, 0x5f, 0xc2, 0x2b, 0x86, 0xac, + 0xa1, 0xaf, 0x48, 0x40, 0x3d, 0x7f, 0x2d, 0xcd, 0xb8, 0x4a, 0x65, 0xb4, 0x57, 0x44, 0x1b, 0xb3, 0x20, 0xaf, 0x88, + 0xbe, 0x54, 0x06, 0x08, 0x92, 0xf0, 0x81, 0x18, 0xc2, 0x81, 0x6f, 0x07, 0x28, 0x0d, 0x9d, 0x03, 0xb5, 0x52, 0x65, + 0x26, 0x64, 0x3e, 0x4d, 0x88, 0x06, 0xd0, 0x3c, 0x55, 0x2a, 0x28, 0xf3, 0x89, 0x25, 0x0a, 0x86, 0xfe, 0x7b, 0xb8, + 0x01, 0x8e, 0x63, 0x83, 0x8a, 0xa1, 0x5d, 0x8d, 0xa8, 0xe7, 0xb7, 0x2f, 0x5a, 0x27, 0xaf, 0x82, 0xfc, 0xa5, 0xf2, + 0xf6, 0x1e, 0x9f, 0x03, 0x4a, 0x6e, 0x83, 0x8a, 0xb5, 0xb1, 0x8f, 0x07, 0xd7, 0x0b, 0x01, 0x72, 0xac, 0xd1, 0x89, + 0x79, 0xd0, 0xb1, 0x87, 0xf4, 0x31, 0x69, 0xb7, 0x20, 0x88, 0xdb, 0x1e, 0xca, 0xf7, 0xeb, 0x16, 0x4c, 0x75, 0x72, + 0xdb, 0x04, 0x5a, 0x0d, 0x6f, 0x3c, 0xdd, 0x35, 0x79, 0x72, 0x87, 0x55, 0x80, 0x33, 0xec, 0x98, 0x35, 0xc4, 0xb1, + 0x40, 0x2e, 0xf8, 0xad, 0xdd, 0x00, 0x9a, 0x8a, 0x8e, 0x7d, 0x6b, 0xd0, 0x1b, 0x47, 0x5d, 0x36, 0x93, 0xee, 0xf1, + 0xab, 0xa3, 0xa3, 0x58, 0x36, 0xc8, 0x07, 0x84, 0x57, 0x14, 0x6c, 0xb6, 0xc1, 0xf7, 0x8e, 0x5b, 0x26, 0x3e, 0x55, + 0x01, 0x75, 0x9c, 0xa8, 0xda, 0xb1, 0x56, 0x75, 0x56, 0xee, 0x06, 0x3f, 0xa6, 0x0e, 0x6a, 0x04, 0x69, 0x76, 0x74, + 0x9d, 0x1a, 0x94, 0x6b, 0x8e, 0x72, 0xb0, 0x2d, 0x1b, 0x7f, 0x51, 0xf4, 0xc3, 0x87, 0xe6, 0xab, 0x60, 0xc2, 0x35, + 0xd3, 0xa4, 0x0f, 0x8d, 0x0f, 0xe8, 0x87, 0x0f, 0x81, 0xab, 0x23, 0xaf, 0xd8, 0x13, 0xcf, 0x8d, 0xfc, 0x6a, 0xb9, + 0xd2, 0x5f, 0x41, 0xb2, 0x2f, 0xc8, 0xaf, 0x80, 0xe5, 0x94, 0xfc, 0x1a, 0xcb, 0x26, 0x84, 0x80, 0x24, 0xbf, 0xc6, + 0x05, 0xfc, 0xc8, 0xc9, 0xaf, 0x31, 0x60, 0x3b, 0x9e, 0x99, 0x1f, 0x45, 0x09, 0x0c, 0x70, 0xaf, 0x93, 0xd6, 0xcb, + 0xae, 0x58, 0xaf, 0xc5, 0xd1, 0x91, 0xb4, 0xbf, 0xe8, 0x55, 0x76, 0x74, 0x94, 0x5f, 0xce, 0xaa, 0xbe, 0xb9, 0xde, + 0x47, 0x5f, 0x0c, 0x42, 0xe1, 0xc0, 0x34, 0x8d, 0x87, 0x33, 0xfe, 0xa9, 0x46, 0x59, 0xa1, 0x81, 0xe6, 0x69, 0xe7, + 0xfe, 0xf9, 0x05, 0x86, 0x7f, 0xef, 0x07, 0x05, 0x75, 0xe6, 0x27, 0x46, 0xda, 0xac, 0x79, 0x5e, 0xd5, 0xb9, 0x0a, + 0xf0, 0x19, 0x33, 0xd4, 0x14, 0x47, 0x47, 0xfc, 0x32, 0xc0, 0x65, 0xcc, 0x50, 0x23, 0xb0, 0xd8, 0x7b, 0x58, 0xda, + 0x93, 0x19, 0xae, 0x09, 0x1e, 0xf7, 0xe5, 0x83, 0x62, 0x78, 0xa9, 0x1d, 0x35, 0x09, 0x43, 0x80, 0x2b, 0xd2, 0x72, + 0x9b, 0xac, 0x27, 0x9a, 0xea, 0xaa, 0xdd, 0x43, 0x92, 0xa8, 0x86, 0xb8, 0xba, 0x6a, 0x63, 0x50, 0xc9, 0xf7, 0x15, + 0x91, 0xa9, 0x20, 0xde, 0x4d, 0x71, 0x95, 0xcb, 0x54, 0xe1, 0x19, 0x4f, 0x85, 0x97, 0xb3, 0x5f, 0x7b, 0xeb, 0x69, + 0xe3, 0x38, 0x6a, 0x7a, 0x66, 0x58, 0xf4, 0x55, 0xe9, 0xf0, 0x08, 0x9b, 0x54, 0x0d, 0xe1, 0xed, 0xc4, 0x12, 0xf3, + 0x98, 0xf5, 0xf2, 0x63, 0x10, 0x9b, 0x5a, 0x35, 0xda, 0x90, 0x09, 0x9f, 0x9b, 0x54, 0xc1, 0x40, 0x4d, 0xe1, 0x4b, + 0x08, 0x7b, 0x98, 0x55, 0x86, 0xd9, 0xbe, 0x61, 0x28, 0x20, 0xa0, 0xc0, 0x15, 0x61, 0x81, 0x04, 0xcf, 0xb3, 0x1a, + 0xe1, 0xa8, 0x93, 0x0b, 0x3b, 0xb9, 0x4b, 0x05, 0xdd, 0x89, 0xe1, 0xa5, 0xee, 0x21, 0xd1, 0x68, 0x38, 0x6e, 0xfb, + 0x4a, 0x98, 0x41, 0x34, 0xdb, 0xc3, 0x2b, 0xd6, 0x43, 0xaa, 0xd9, 0x2c, 0x0d, 0x20, 0xaf, 0x5a, 0xeb, 0xb5, 0xba, + 0xf4, 0x8d, 0xf4, 0xfd, 0x39, 0x6e, 0xf8, 0x2e, 0x2f, 0x78, 0xfe, 0x2e, 0xc9, 0x20, 0x02, 0xaa, 0x0a, 0x7c, 0xb6, + 0x5c, 0x44, 0x38, 0x32, 0xcf, 0xea, 0xc1, 0x5f, 0xf3, 0x1c, 0x5a, 0x84, 0x23, 0xf7, 0xd2, 0x5e, 0x34, 0xac, 0x06, + 0x2b, 0xb2, 0x32, 0x48, 0x3c, 0x4f, 0x3e, 0x01, 0xe3, 0xa0, 0x3f, 0x2b, 0xb4, 0xaa, 0x7e, 0x27, 0xb9, 0x0b, 0x97, + 0xa2, 0xfc, 0xe3, 0x6f, 0x6e, 0x54, 0x9b, 0xfd, 0x0e, 0xaa, 0x1c, 0x47, 0xbe, 0x2a, 0x3c, 0xa2, 0xf0, 0x9d, 0xd7, + 0x27, 0xdb, 0xee, 0xd1, 0xf3, 0x55, 0xd9, 0x03, 0x70, 0xde, 0x9b, 0x0d, 0xc2, 0xbf, 0xcb, 0xbd, 0x2f, 0x20, 0x47, + 0x9f, 0xa4, 0x78, 0x42, 0x35, 0x8d, 0x1a, 0x6f, 0x8c, 0xe1, 0x9b, 0x95, 0xb3, 0x7a, 0xdf, 0x1a, 0x07, 0xfb, 0xb7, + 0xba, 0x87, 0x00, 0x16, 0xb5, 0xc7, 0x9a, 0xac, 0xec, 0x6b, 0xc2, 0x96, 0xc8, 0xc0, 0xf4, 0x6d, 0x0f, 0x3c, 0xfc, + 0x18, 0x29, 0xb8, 0x55, 0x5b, 0x3e, 0x89, 0x42, 0x64, 0xd8, 0x9a, 0x33, 0x37, 0xa4, 0xd8, 0x3e, 0x8c, 0xe3, 0xef, + 0x06, 0x85, 0x5c, 0xf7, 0x42, 0xd5, 0x89, 0x69, 0xd5, 0x8d, 0x91, 0x3a, 0xd8, 0x36, 0x0b, 0xce, 0xaa, 0xde, 0x8d, + 0x84, 0x52, 0xbd, 0x6b, 0x67, 0xde, 0x26, 0x6d, 0xb6, 0xcd, 0x63, 0xcf, 0xf6, 0xf5, 0x3b, 0x05, 0x86, 0xbc, 0x87, + 0x65, 0xd0, 0xae, 0x2b, 0x38, 0x76, 0xe3, 0x00, 0xb2, 0x92, 0x5c, 0xad, 0xdc, 0xcb, 0x74, 0x7c, 0x20, 0x87, 0x9b, + 0xf2, 0x9d, 0xba, 0x00, 0x0f, 0xaa, 0x91, 0xaa, 0x2c, 0xe4, 0x0c, 0xfc, 0x23, 0x8f, 0x35, 0xfd, 0x10, 0xff, 0x1b, + 0x0e, 0xf8, 0x0a, 0x49, 0x53, 0xab, 0x7e, 0x82, 0xf7, 0xa3, 0x40, 0xe1, 0x6d, 0xeb, 0xfe, 0x24, 0x43, 0x47, 0xdd, + 0xba, 0x4e, 0xc5, 0xfa, 0xc2, 0xd6, 0x15, 0x2b, 0x65, 0xe1, 0x80, 0x6a, 0xc5, 0x68, 0x93, 0x3a, 0xbf, 0x59, 0xf7, + 0xe8, 0xd4, 0x43, 0x01, 0xbe, 0x31, 0x5c, 0x8a, 0x67, 0x05, 0x44, 0x11, 0x0b, 0xf5, 0x69, 0xba, 0x08, 0x5f, 0x55, + 0x1e, 0xc0, 0x3d, 0x61, 0xc9, 0x73, 0x96, 0x2f, 0x81, 0xc3, 0x02, 0x29, 0xa0, 0x50, 0x0a, 0x8b, 0xf5, 0x3a, 0x16, + 0x26, 0xb6, 0x84, 0x0b, 0x2d, 0xec, 0xde, 0x10, 0x31, 0xfa, 0x3b, 0xa8, 0x8b, 0xbd, 0x7a, 0xc4, 0x98, 0xb0, 0xa2, + 0xf0, 0xd2, 0x49, 0x66, 0x41, 0x5f, 0xfb, 0xfa, 0x10, 0xd5, 0x94, 0xfb, 0xb1, 0xd1, 0xf7, 0xbe, 0xe3, 0x73, 0x26, + 0x97, 0xf0, 0x78, 0x13, 0x66, 0x44, 0x31, 0xed, 0xbf, 0x81, 0x82, 0xc0, 0x0b, 0x40, 0x3c, 0xc4, 0x47, 0xe0, 0xab, + 0x3c, 0xad, 0x2b, 0x32, 0xff, 0x24, 0x48, 0x64, 0x42, 0x76, 0x46, 0xfd, 0x08, 0xbc, 0x88, 0x40, 0x84, 0x22, 0x24, + 0x62, 0x62, 0x1c, 0xf5, 0x23, 0xe3, 0x92, 0x15, 0x81, 0xd5, 0x18, 0x28, 0xb9, 0x23, 0x3c, 0x55, 0x15, 0x11, 0x0b, + 0x6b, 0xea, 0xa0, 0x12, 0x4b, 0x8d, 0x99, 0xf6, 0x49, 0xa7, 0x02, 0x21, 0xcd, 0xb6, 0x05, 0x65, 0xbd, 0xa5, 0x2e, + 0xc0, 0x92, 0x18, 0xd3, 0x5b, 0x9e, 0x7c, 0x02, 0x6e, 0x8e, 0x8d, 0x5d, 0xd1, 0x15, 0xbf, 0x06, 0xf5, 0x74, 0x5a, + 0xe0, 0x4f, 0x86, 0x61, 0x1b, 0xa7, 0x74, 0x43, 0x38, 0xce, 0x48, 0x91, 0xd0, 0x5b, 0x88, 0xad, 0x31, 0xe7, 0x22, + 0xcd, 0xf1, 0x9c, 0xde, 0xa6, 0x33, 0x3c, 0xe7, 0xe2, 0x89, 0x5d, 0xf6, 0x74, 0x0c, 0x49, 0xfe, 0x63, 0xb9, 0x21, + 0xe6, 0x69, 0xb0, 0xf7, 0x8a, 0x15, 0x8f, 0x80, 0x57, 0x51, 0x31, 0xea, 0x8d, 0x8d, 0x4d, 0x39, 0xd7, 0x95, 0xf1, + 0xfa, 0x6b, 0x1d, 0x53, 0x9c, 0xe1, 0x1c, 0x25, 0xb9, 0xc4, 0xac, 0x2f, 0xd2, 0xd7, 0x10, 0x57, 0x3b, 0xc3, 0xf6, + 0x59, 0x31, 0x7e, 0xcb, 0xf2, 0x67, 0xb2, 0xf8, 0x60, 0xb6, 0x7c, 0x8e, 0xa0, 0x10, 0xb8, 0xa8, 0x88, 0x26, 0xdc, + 0xee, 0x2d, 0xfb, 0xb2, 0x6a, 0x8a, 0xde, 0xda, 0xa6, 0xdc, 0x10, 0x67, 0x10, 0x90, 0x38, 0x99, 0xf1, 0x46, 0x1b, + 0xb3, 0x7e, 0xeb, 0x3b, 0x8d, 0xce, 0x50, 0x59, 0x12, 0x61, 0x58, 0xab, 0xa6, 0x4a, 0x25, 0x11, 0x4d, 0xe5, 0x24, + 0xbc, 0x95, 0x01, 0x76, 0xaa, 0x70, 0x26, 0x97, 0x42, 0xa7, 0x32, 0xc0, 0x9b, 0xac, 0xda, 0x5c, 0xab, 0x5b, 0x0b, + 0x31, 0x8d, 0xef, 0xec, 0x0f, 0x86, 0x3f, 0x19, 0x15, 0xff, 0x5b, 0x30, 0xec, 0x51, 0xa9, 0x00, 0xf8, 0x81, 0xe1, + 0x2c, 0x40, 0xce, 0xf2, 0x93, 0xb7, 0x00, 0x3e, 0xcb, 0x42, 0xde, 0x41, 0x2a, 0x33, 0xa9, 0x77, 0x90, 0xca, 0x20, + 0xd5, 0x78, 0xd4, 0x1f, 0x8a, 0x4a, 0x59, 0x14, 0x36, 0x48, 0x14, 0x2e, 0xd5, 0xc1, 0x92, 0x88, 0x04, 0xda, 0x35, + 0xa2, 0xdc, 0x9c, 0x0b, 0x08, 0xad, 0x08, 0x8d, 0xdb, 0x6f, 0x7a, 0x0b, 0xdf, 0x77, 0x36, 0x9f, 0xf9, 0xfc, 0x3b, + 0x9b, 0x6f, 0x3a, 0xf2, 0x18, 0x5f, 0xbf, 0xed, 0x34, 0x96, 0xf1, 0xd2, 0x61, 0xed, 0xfb, 0xf2, 0x21, 0x9b, 0x96, + 0x79, 0x30, 0x9c, 0xb4, 0xf1, 0x3c, 0x40, 0xca, 0x66, 0xc5, 0xc3, 0x75, 0x70, 0xbb, 0x75, 0x1c, 0xf3, 0x26, 0x69, + 0x23, 0x74, 0xec, 0x84, 0x2b, 0x11, 0x1b, 0xc9, 0xe9, 0xf8, 0xc3, 0x09, 0xdc, 0xbd, 0x8c, 0xd4, 0x96, 0xaf, 0x94, + 0xad, 0xd6, 0x6c, 0xb7, 0x8e, 0xf9, 0xde, 0x2a, 0x8d, 0x36, 0x9e, 0x33, 0xb2, 0x02, 0x0f, 0x34, 0x5a, 0x58, 0x55, + 0x03, 0xb8, 0xac, 0xbe, 0x10, 0xbf, 0x2e, 0xe9, 0xd8, 0x7c, 0x1f, 0xdb, 0x94, 0xd7, 0x4b, 0xed, 0x93, 0x9a, 0x1c, + 0x06, 0xd1, 0x41, 0xae, 0x64, 0x90, 0x13, 0xf3, 0x13, 0x92, 0x74, 0xd1, 0x65, 0xbb, 0x9f, 0x74, 0x8f, 0xf9, 0x31, + 0x4f, 0x81, 0x87, 0x8d, 0x9b, 0xbe, 0x42, 0xb3, 0xed, 0xeb, 0x3c, 0x5e, 0x8e, 0x78, 0xe6, 0x9a, 0xaf, 0x3a, 0x28, + 0x53, 0xed, 0x1c, 0x21, 0x0b, 0x50, 0xcc, 0xf7, 0x12, 0x64, 0xd7, 0xbb, 0x39, 0xe6, 0x29, 0xf4, 0x03, 0xb5, 0x3a, + 0xb6, 0x56, 0x39, 0xb8, 0x5f, 0x97, 0x80, 0x60, 0xbe, 0xa3, 0xda, 0x5c, 0x6c, 0x7a, 0x33, 0xae, 0x3a, 0x3b, 0xe6, + 0xd5, 0x08, 0xc3, 0x32, 0xbb, 0xfd, 0xf9, 0xa9, 0x55, 0x5d, 0x1e, 0x07, 0x10, 0xf9, 0x75, 0xc9, 0x45, 0xd8, 0x69, + 0xd8, 0xad, 0xcb, 0x09, 0x3b, 0xad, 0xcf, 0x32, 0x28, 0xb2, 0xdb, 0xeb, 0xce, 0x4c, 0xeb, 0xb3, 0xbd, 0x06, 0x47, + 0x42, 0x98, 0x94, 0x59, 0xe9, 0x4c, 0xaa, 0x98, 0x1f, 0xbf, 0x47, 0xae, 0xf5, 0xd7, 0x4b, 0xed, 0xf3, 0x4b, 0x44, + 0x80, 0xec, 0xaa, 0xeb, 0xb2, 0x3a, 0xf4, 0x51, 0x36, 0xf1, 0xea, 0x98, 0x07, 0x2b, 0xf7, 0xf4, 0x76, 0x21, 0x53, + 0x8f, 0xaf, 0xfd, 0x56, 0xba, 0x83, 0x9c, 0x40, 0x3c, 0x5c, 0x77, 0x61, 0x59, 0x90, 0xb3, 0x9b, 0x3b, 0x28, 0x19, + 0x4e, 0xdc, 0x97, 0x7e, 0xcf, 0xec, 0x75, 0x03, 0xbf, 0x4c, 0xba, 0x30, 0xf5, 0xed, 0x1e, 0x8e, 0x3b, 0xd0, 0x87, + 0x81, 0xc3, 0x76, 0x83, 0x3e, 0xb3, 0x82, 0xc8, 0x63, 0x5e, 0x58, 0x3c, 0xbb, 0x22, 0xed, 0x3e, 0x4f, 0xdd, 0x66, + 0x32, 0xa2, 0x51, 0xbb, 0xc9, 0x83, 0x99, 0x01, 0x7e, 0xb9, 0xb2, 0x61, 0x11, 0xbf, 0x4e, 0x01, 0x94, 0x7c, 0xb1, + 0x6a, 0x7d, 0x2a, 0x78, 0xd5, 0x1b, 0x4e, 0xb7, 0xd3, 0xfd, 0xba, 0xc1, 0xed, 0xae, 0x87, 0x27, 0x3c, 0x44, 0x63, + 0xd1, 0xda, 0x4f, 0x7c, 0x0e, 0x1c, 0x50, 0xd2, 0xba, 0xdf, 0x05, 0x17, 0xca, 0x12, 0x96, 0xbb, 0xe5, 0x46, 0x3b, + 0xe5, 0x2c, 0x1c, 0x6d, 0xc9, 0x80, 0x3b, 0xd8, 0x86, 0x28, 0x74, 0x70, 0xdc, 0xc1, 0x49, 0xbb, 0xdd, 0xe9, 0xe2, + 0xe4, 0xac, 0x0b, 0x03, 0x6d, 0x24, 0xdd, 0xe3, 0x91, 0xb2, 0x00, 0x0c, 0x72, 0x36, 0xae, 0xdd, 0x47, 0x10, 0xb4, + 0x2a, 0x14, 0xaf, 0xf9, 0x71, 0x1c, 0xb7, 0x93, 0xfb, 0xad, 0x76, 0xf7, 0xa2, 0x01, 0x00, 0x6a, 0xba, 0x0f, 0x57, + 0xe3, 0xf5, 0x52, 0xd7, 0xab, 0x94, 0x08, 0x5f, 0xaf, 0xd6, 0xf0, 0xd5, 0x1a, 0xed, 0x4d, 0x35, 0x05, 0x5f, 0xd5, + 0x09, 0xe7, 0xb6, 0x88, 0x57, 0xda, 0x84, 0xdb, 0x22, 0xb6, 0x03, 0x89, 0x41, 0x3a, 0x4f, 0xba, 0x9d, 0x2e, 0xb2, + 0x63, 0xd1, 0x0e, 0x3f, 0xca, 0x7d, 0xb2, 0x53, 0xa4, 0xa1, 0x01, 0x49, 0xca, 0xd9, 0xc9, 0x25, 0x48, 0xd4, 0x9c, + 0x5c, 0xb5, 0x9b, 0x73, 0x96, 0xf8, 0x09, 0x98, 0x54, 0x58, 0xce, 0x72, 0x15, 0x5c, 0x52, 0x00, 0x88, 0x4b, 0x30, + 0x2e, 0xba, 0xdf, 0xed, 0xdf, 0x4f, 0xba, 0xe7, 0x1d, 0x4b, 0xf4, 0xf8, 0x65, 0xa7, 0x96, 0x66, 0xa6, 0x9e, 0x74, + 0x4d, 0x1a, 0x74, 0x9d, 0xdc, 0xef, 0x42, 0x19, 0x97, 0x12, 0x96, 0x82, 0x60, 0x1b, 0x55, 0x31, 0x88, 0xb0, 0x91, + 0xd6, 0x72, 0xcf, 0x6b, 0xd9, 0x17, 0x67, 0xa7, 0xf7, 0xbb, 0x21, 0xd4, 0xca, 0x59, 0x98, 0x85, 0x76, 0x13, 0xf1, + 0xb3, 0x83, 0xa5, 0x45, 0xc7, 0x49, 0x37, 0xdd, 0x99, 0xa0, 0xdd, 0x34, 0xc7, 0x06, 0x07, 0x02, 0x85, 0xe3, 0x53, + 0xe1, 0xf4, 0x25, 0xc1, 0xfd, 0x58, 0x65, 0x68, 0x12, 0x2a, 0x9c, 0xfd, 0x3d, 0x65, 0xf0, 0x9e, 0x66, 0x78, 0x55, + 0xf9, 0x98, 0x8a, 0xaf, 0x54, 0xbd, 0xa1, 0x10, 0x41, 0x44, 0x0c, 0x23, 0x17, 0xdf, 0xbc, 0x9e, 0xfb, 0x0f, 0x70, + 0x11, 0x66, 0x02, 0x2e, 0x34, 0xbd, 0x12, 0xb4, 0xe2, 0x05, 0x3e, 0x85, 0x0e, 0xb5, 0x66, 0x58, 0x7d, 0x9e, 0x3a, + 0x93, 0x82, 0x50, 0xb7, 0xf5, 0x9c, 0x7f, 0xaf, 0x5c, 0x52, 0x5e, 0x65, 0x27, 0x5d, 0x94, 0xb8, 0xcb, 0xf2, 0xa4, + 0x8d, 0x92, 0xc0, 0x84, 0xc4, 0x1d, 0xc9, 0x79, 0x46, 0x06, 0xd1, 0x6d, 0x84, 0xa3, 0xbb, 0x08, 0x47, 0xd6, 0x87, + 0xf9, 0x37, 0xf0, 0xe3, 0x8e, 0x70, 0x64, 0x5d, 0x99, 0x23, 0x1c, 0x69, 0x26, 0x20, 0xb0, 0x58, 0x34, 0xc4, 0x33, + 0x28, 0x6d, 0x3c, 0xab, 0xcb, 0xd2, 0x8f, 0xfd, 0x57, 0xe9, 0x7a, 0x6d, 0x53, 0x02, 0x29, 0x73, 0x6c, 0x76, 0xa8, + 0x7d, 0x18, 0x3b, 0xa2, 0x9e, 0x59, 0x8f, 0x30, 0x08, 0x20, 0xf4, 0xce, 0x3f, 0xac, 0x57, 0xc5, 0x24, 0x61, 0xa7, + 0xb0, 0xd2, 0xe0, 0x8a, 0x1e, 0x85, 0x67, 0x58, 0x84, 0x27, 0xc2, 0x17, 0x06, 0xb1, 0xc2, 0xff, 0xce, 0xa5, 0x5c, + 0xf8, 0xdf, 0x5a, 0x96, 0xbf, 0xe0, 0x39, 0x16, 0x67, 0xd1, 0x02, 0x96, 0x5b, 0x36, 0x04, 0xd2, 0x88, 0xd5, 0x47, + 0xf0, 0x69, 0xe2, 0xc2, 0xd4, 0x81, 0x44, 0xf8, 0xc9, 0x08, 0x54, 0x5e, 0x3e, 0xfc, 0x64, 0x43, 0x26, 0x99, 0x4f, + 0x88, 0x99, 0x06, 0x61, 0x91, 0x25, 0x5c, 0x68, 0x4c, 0x0b, 0xa6, 0x54, 0x64, 0x63, 0x09, 0x46, 0x52, 0xf8, 0xc7, + 0x21, 0x7d, 0xca, 0x44, 0x44, 0xa6, 0xc3, 0xfa, 0x6c, 0xad, 0x38, 0x9c, 0xcb, 0x42, 0xa5, 0xf6, 0xa5, 0x18, 0x0f, + 0xc6, 0x45, 0xf9, 0x0c, 0x63, 0x3a, 0xcb, 0x36, 0xd8, 0xde, 0x61, 0x97, 0x85, 0xdc, 0x95, 0x76, 0x58, 0x2a, 0xcf, + 0x36, 0xdf, 0x9a, 0x90, 0xaa, 0xcd, 0x28, 0x98, 0x68, 0x35, 0xa0, 0x2a, 0x70, 0x07, 0x14, 0xb6, 0x41, 0x69, 0xd2, + 0x55, 0x59, 0x32, 0x5d, 0x95, 0xcb, 0x70, 0xd6, 0x6a, 0x6d, 0x36, 0xb8, 0x60, 0x26, 0x90, 0xcb, 0xde, 0x12, 0x90, + 0xaf, 0x66, 0xf2, 0x26, 0xc8, 0x55, 0x69, 0x39, 0x4b, 0xb3, 0x44, 0x51, 0x60, 0x04, 0x1b, 0x6d, 0xf0, 0x57, 0xae, + 0x38, 0xc0, 0xd3, 0xcd, 0x6e, 0x24, 0x65, 0xce, 0x28, 0xc4, 0x50, 0x0b, 0x9a, 0xdc, 0xe0, 0x19, 0x1f, 0xb3, 0xfd, + 0x6d, 0x82, 0x19, 0xf3, 0xbf, 0xd7, 0xa2, 0x47, 0x20, 0xcb, 0xee, 0x19, 0xd4, 0x81, 0x45, 0x5c, 0x43, 0x07, 0xa1, + 0x0c, 0xbe, 0x0c, 0x71, 0x33, 0xa7, 0x77, 0x72, 0xa9, 0x01, 0x2e, 0x4b, 0x2d, 0xdf, 0xb8, 0x70, 0x08, 0x87, 0x2d, + 0xec, 0x23, 0x23, 0xac, 0x20, 0x64, 0x40, 0x0b, 0xdb, 0x88, 0x18, 0x2d, 0xec, 0x02, 0x15, 0xb4, 0xb0, 0x09, 0x4f, + 0xd1, 0xda, 0x94, 0xb1, 0xcd, 0xee, 0xca, 0x27, 0x35, 0xab, 0x4d, 0x30, 0x71, 0xd2, 0xa1, 0x26, 0x3a, 0xb8, 0x3d, + 0x64, 0x84, 0x37, 0x7e, 0xba, 0x7e, 0xfd, 0xca, 0x45, 0xae, 0xe6, 0x13, 0x70, 0xd9, 0x74, 0xaa, 0xb1, 0x3b, 0x1b, + 0x62, 0xbe, 0x52, 0x94, 0x5a, 0xe1, 0xd4, 0x04, 0xfb, 0x14, 0x3a, 0x4f, 0xec, 0xe5, 0xc5, 0x33, 0x59, 0xcc, 0xa9, + 0xbd, 0x31, 0xc2, 0x77, 0xca, 0x3d, 0x3e, 0x6f, 0xde, 0xb7, 0xa9, 0x26, 0xf9, 0x6e, 0xfb, 0x2a, 0x62, 0x92, 0x19, + 0xf9, 0x15, 0xb4, 0x01, 0xa6, 0xb2, 0x1f, 0x38, 0x2b, 0x88, 0x8b, 0xff, 0x1f, 0x90, 0x97, 0xb7, 0x96, 0xba, 0x44, + 0x51, 0x83, 0x1b, 0xfc, 0x64, 0x45, 0xa5, 0xe3, 0xe2, 0xe6, 0xfd, 0x48, 0xd2, 0x72, 0xe2, 0x45, 0xd4, 0x8a, 0xea, + 0x6f, 0xef, 0x1a, 0x55, 0x82, 0x8f, 0x1d, 0x9b, 0xe4, 0x12, 0x44, 0x8f, 0xf2, 0x99, 0x3f, 0x0e, 0xa2, 0x89, 0xbf, + 0x7b, 0xbe, 0x6a, 0x7b, 0x3a, 0x9b, 0x57, 0xea, 0xc4, 0xf2, 0xca, 0x04, 0x3c, 0x1c, 0xed, 0x43, 0x3a, 0x08, 0x07, + 0x89, 0xac, 0xd4, 0x1e, 0xfa, 0x5c, 0xd4, 0x8b, 0xf3, 0xcb, 0x36, 0x6b, 0x9e, 0xad, 0xd7, 0xf9, 0x55, 0x9b, 0xb5, + 0xbb, 0xf6, 0xd9, 0xbd, 0x48, 0x65, 0x40, 0x73, 0xf9, 0x84, 0x67, 0x11, 0x68, 0x67, 0x17, 0x99, 0x09, 0xa7, 0xe0, + 0xa5, 0x69, 0xb2, 0xd4, 0x55, 0x5f, 0x12, 0x8c, 0x4b, 0x89, 0xd5, 0xe3, 0x17, 0xa8, 0xdf, 0x4e, 0x77, 0x5d, 0xa5, + 0x9b, 0xed, 0xe3, 0xe0, 0xc2, 0xa5, 0x40, 0xb8, 0x03, 0x21, 0x0f, 0x40, 0xbf, 0xbb, 0x12, 0x60, 0x1a, 0x04, 0xa8, + 0xac, 0x40, 0xa4, 0xe5, 0xf3, 0xe5, 0xfc, 0x59, 0x41, 0xcd, 0x32, 0x3c, 0xe1, 0x53, 0xae, 0x55, 0x4a, 0x41, 0xba, + 0xdd, 0x97, 0xbe, 0xd9, 0x2f, 0x41, 0x65, 0xb5, 0xf8, 0xbb, 0x89, 0xe6, 0xd9, 0x17, 0xe5, 0x16, 0x0e, 0x61, 0xb3, + 0xb2, 0x02, 0x67, 0x68, 0x83, 0x73, 0x39, 0xa5, 0x05, 0xd7, 0xb3, 0xf9, 0xbf, 0xb5, 0x3a, 0x6c, 0xa0, 0x87, 0xe6, + 0xc2, 0x0a, 0x40, 0x42, 0xc5, 0x78, 0xbd, 0xe6, 0x27, 0xdf, 0xbf, 0x4f, 0xf2, 0x3e, 0xe1, 0x6d, 0xdc, 0xc1, 0xa7, + 0xb8, 0x8b, 0xdb, 0x2d, 0xdc, 0xee, 0xc2, 0xd5, 0x7d, 0x96, 0x2f, 0xc7, 0x4c, 0xc5, 0xf0, 0xfe, 0x9a, 0xbe, 0x4a, + 0x2e, 0x8e, 0xab, 0x57, 0x07, 0x8a, 0xc4, 0xa1, 0x4b, 0x10, 0xfc, 0xde, 0x45, 0x0d, 0x8c, 0xa2, 0x30, 0x64, 0xdd, + 0x22, 0x54, 0x9d, 0x94, 0xfa, 0x85, 0xab, 0xd3, 0x3e, 0xd8, 0x73, 0xdb, 0x95, 0x6d, 0x82, 0xd9, 0xb7, 0xfd, 0x99, + 0x56, 0x3f, 0x9b, 0xba, 0x44, 0x0c, 0x0f, 0xbd, 0x0a, 0x3d, 0xd0, 0x15, 0x69, 0x1f, 0x1d, 0x81, 0xd5, 0x51, 0x30, + 0x1b, 0x6e, 0xa3, 0x1f, 0xf0, 0x66, 0x2d, 0x0d, 0x82, 0x15, 0x80, 0x71, 0xe7, 0x1b, 0x4e, 0x56, 0x16, 0xb6, 0x1a, + 0xa8, 0x30, 0x2b, 0xc2, 0xb8, 0x7a, 0x21, 0xa9, 0x30, 0x42, 0x34, 0x1c, 0x61, 0x2e, 0x18, 0xca, 0x61, 0x0b, 0xcb, + 0xc9, 0x44, 0x31, 0x0d, 0x47, 0x47, 0xc1, 0xbe, 0xb2, 0x42, 0x99, 0x53, 0x64, 0xc4, 0xa6, 0x5c, 0x3c, 0xd4, 0xbf, + 0xb3, 0x42, 0x9a, 0x4f, 0xa3, 0xc1, 0x48, 0x23, 0xb3, 0x8a, 0x11, 0xce, 0x72, 0xbe, 0x80, 0xaa, 0xd3, 0x02, 0x9c, + 0x7e, 0xe0, 0x2f, 0x1f, 0xa7, 0x61, 0x9b, 0x40, 0xbe, 0x7e, 0xb3, 0x31, 0x5d, 0xf0, 0xb8, 0xa0, 0x37, 0xaf, 0xc5, + 0x63, 0xd8, 0x51, 0x0f, 0x0b, 0x46, 0x21, 0x1b, 0x92, 0xde, 0x41, 0x53, 0xf0, 0x01, 0x6d, 0xbe, 0x34, 0x80, 0x4b, + 0x2f, 0xcc, 0x87, 0xad, 0xe8, 0x63, 0x37, 0x26, 0x65, 0x5b, 0x26, 0xd3, 0x9c, 0xd2, 0x55, 0xa6, 0x8d, 0x42, 0x55, + 0x4e, 0x61, 0x83, 0x5d, 0xd4, 0x93, 0x70, 0x30, 0x63, 0xaa, 0x66, 0xe9, 0x60, 0x68, 0xfe, 0xbe, 0xb6, 0x25, 0x5b, + 0xd8, 0x45, 0x9c, 0xd9, 0x60, 0xf3, 0x70, 0x6a, 0x50, 0xbe, 0x8d, 0xe1, 0x1e, 0x16, 0x5e, 0xef, 0xac, 0x91, 0xcf, + 0x33, 0x4f, 0x36, 0xcf, 0x36, 0x1b, 0x33, 0x10, 0x95, 0x82, 0x1e, 0xe8, 0xad, 0xdf, 0x36, 0x2d, 0xd8, 0x1e, 0xe5, + 0x57, 0xb7, 0x85, 0xe7, 0x1c, 0x1e, 0x23, 0xf5, 0xed, 0x5d, 0xeb, 0x42, 0x7e, 0x71, 0x20, 0x69, 0x05, 0x29, 0x76, + 0x3a, 0x41, 0x67, 0xa7, 0x38, 0x18, 0x39, 0xd0, 0xf3, 0xeb, 0x2f, 0x16, 0xd6, 0xfe, 0xf7, 0x9b, 0xb2, 0xa0, 0x89, + 0xa7, 0x53, 0x4e, 0x28, 0xf3, 0xe7, 0xe7, 0x1b, 0x9e, 0x54, 0xa8, 0xe0, 0x5e, 0xf1, 0x82, 0x3d, 0x6d, 0x03, 0x7d, + 0xce, 0xe9, 0x67, 0xfb, 0xc3, 0xc6, 0xf0, 0x29, 0xb5, 0x6c, 0x59, 0x21, 0x95, 0x7a, 0x68, 0xd3, 0xec, 0xd1, 0x03, + 0x47, 0xe4, 0x4b, 0xe8, 0x02, 0x78, 0xfd, 0x71, 0x21, 0x17, 0x06, 0x11, 0xdc, 0x6f, 0x37, 0x6e, 0xe3, 0x2b, 0x00, + 0xde, 0x0e, 0x07, 0xd5, 0x3f, 0x2d, 0x60, 0x7f, 0xa3, 0xb2, 0xa4, 0x1f, 0x6f, 0xc7, 0x1e, 0xff, 0x85, 0x84, 0xa8, + 0xf1, 0x16, 0x0f, 0x13, 0x87, 0x4e, 0x25, 0x6b, 0x56, 0xfe, 0xdc, 0x29, 0x09, 0x18, 0x56, 0x2f, 0x18, 0xb2, 0x71, + 0x3b, 0xc5, 0x6d, 0xe6, 0x7f, 0x50, 0xc1, 0x60, 0xc1, 0xb7, 0x46, 0x52, 0xb1, 0x2c, 0x7e, 0xfb, 0xd4, 0xf9, 0xaf, + 0x3a, 0xc7, 0x75, 0xa8, 0x6b, 0x2f, 0x85, 0x8e, 0x4c, 0x94, 0xe6, 0x08, 0x1d, 0x1d, 0x6d, 0x65, 0xd0, 0x09, 0x00, + 0x1e, 0x39, 0xf6, 0xcb, 0x2f, 0x9f, 0x67, 0xc7, 0x8c, 0xe6, 0xb1, 0x88, 0x42, 0xe6, 0xce, 0x73, 0x73, 0x76, 0x22, + 0x4f, 0xa8, 0x9a, 0xf9, 0xc2, 0x00, 0xc7, 0x47, 0x3b, 0xa9, 0x80, 0xef, 0xd1, 0x66, 0xcf, 0x04, 0xb6, 0xf8, 0x2d, + 0x3b, 0xa9, 0x7d, 0x05, 0xfd, 0x02, 0xad, 0xf6, 0x31, 0x95, 0x5b, 0x0b, 0x1c, 0x6d, 0x4f, 0x64, 0xef, 0xd0, 0xb7, + 0xea, 0x94, 0xac, 0xc7, 0x8b, 0xfd, 0x46, 0x5f, 0x52, 0xec, 0x4b, 0xae, 0x68, 0xdb, 0x88, 0x55, 0xaf, 0x05, 0xeb, + 0xca, 0xd4, 0xa9, 0xba, 0xe6, 0xad, 0x2c, 0x6d, 0x4a, 0xbb, 0x24, 0x7b, 0xb7, 0xc5, 0xc2, 0xab, 0xf0, 0x46, 0xa3, + 0xbc, 0x08, 0x05, 0x7b, 0x2c, 0x31, 0xec, 0x71, 0x02, 0xd7, 0x0b, 0xeb, 0x75, 0x0c, 0x7f, 0xf6, 0x8d, 0x61, 0x9f, + 0xe9, 0xd2, 0x7b, 0xbe, 0xc5, 0xaf, 0x04, 0x01, 0x8b, 0x9d, 0x1d, 0x24, 0x58, 0x77, 0xb9, 0x41, 0xc3, 0x71, 0xe2, + 0xbf, 0xe0, 0xb9, 0x6c, 0xed, 0x5d, 0x0e, 0xe6, 0xd9, 0x37, 0x9e, 0xd8, 0x2b, 0x59, 0xcb, 0x5a, 0xb4, 0xfb, 0x2d, + 0x09, 0x86, 0xd8, 0x4d, 0xe9, 0x1c, 0xb7, 0x92, 0x36, 0x8a, 0x5c, 0xb1, 0x0a, 0xfd, 0xbf, 0x55, 0x24, 0xb3, 0x99, + 0xff, 0x75, 0x7e, 0x7e, 0xee, 0x52, 0x9c, 0xcd, 0x9f, 0x32, 0x1e, 0x70, 0x26, 0x81, 0x7d, 0xe5, 0x19, 0x33, 0x3a, + 0xe4, 0xb7, 0x30, 0x14, 0x22, 0xc8, 0x95, 0x70, 0xec, 0x12, 0xbc, 0xf6, 0x08, 0x94, 0x07, 0xd8, 0xbf, 0x27, 0x5b, + 0xe5, 0xfc, 0x73, 0x51, 0x3e, 0x9c, 0x72, 0xd9, 0x20, 0xfb, 0x6a, 0x3e, 0x07, 0xd6, 0x4c, 0x06, 0x5e, 0x48, 0x88, + 0xb0, 0xfd, 0x6d, 0x58, 0x5a, 0x67, 0x29, 0x83, 0x23, 0x2d, 0x97, 0xd9, 0xcc, 0x6a, 0xfe, 0xdd, 0x87, 0x29, 0xeb, + 0x9e, 0x1a, 0x82, 0xc8, 0x5d, 0x64, 0xe5, 0xa2, 0x82, 0x46, 0x3f, 0x96, 0x01, 0x40, 0x0f, 0x5e, 0xb1, 0x25, 0xfb, + 0x11, 0x1f, 0x54, 0x29, 0xf0, 0xf1, 0xb0, 0xe0, 0x34, 0xff, 0x11, 0x1f, 0x54, 0x81, 0x40, 0xc1, 0x15, 0xd2, 0xc4, + 0xd2, 0xc4, 0xe6, 0x59, 0xed, 0x34, 0x12, 0x40, 0x41, 0xf3, 0xc8, 0x1c, 0x64, 0xcf, 0x5d, 0x8c, 0xc6, 0xa4, 0x83, + 0x5d, 0x70, 0x30, 0x1b, 0x11, 0xd6, 0x06, 0x52, 0x87, 0xb8, 0x75, 0xe5, 0x6c, 0xcc, 0xd7, 0xa3, 0xad, 0x05, 0x31, + 0xca, 0x64, 0x72, 0xf5, 0x9c, 0xc7, 0x3b, 0x8b, 0x85, 0xc2, 0x6a, 0xc1, 0x02, 0xd5, 0xaa, 0x54, 0xe9, 0x61, 0xf1, + 0xdd, 0x82, 0x59, 0x50, 0xc4, 0x6c, 0xbd, 0x87, 0xb7, 0x5c, 0x11, 0x90, 0x92, 0x5d, 0x12, 0xbc, 0x8c, 0x6e, 0x30, + 0x95, 0xac, 0xe6, 0x72, 0xcc, 0x2c, 0xa1, 0x67, 0x4a, 0x47, 0xd8, 0xe4, 0x29, 0x88, 0x24, 0x76, 0xd8, 0xc2, 0x8e, + 0x35, 0x7a, 0x21, 0xbc, 0x90, 0x02, 0xe7, 0xaa, 0x69, 0x62, 0x4e, 0xb9, 0x89, 0x2e, 0xf6, 0x50, 0x2d, 0x58, 0xa6, + 0x2d, 0x02, 0x1c, 0x3a, 0x34, 0x94, 0xe2, 0xb9, 0x01, 0x85, 0x79, 0xd2, 0xdb, 0xa5, 0x3c, 0x86, 0xc5, 0x0b, 0x52, + 0x80, 0xa8, 0x71, 0x31, 0x2d, 0xeb, 0x2c, 0xf2, 0xe5, 0x94, 0x8b, 0x0a, 0x19, 0x0a, 0xa6, 0x16, 0x52, 0xc0, 0x8b, + 0x1a, 0x65, 0x11, 0x43, 0x87, 0x6a, 0xf8, 0x6e, 0x49, 0x58, 0x59, 0xc7, 0x1c, 0x53, 0x5c, 0x54, 0x35, 0x80, 0xb9, + 0x78, 0x68, 0x04, 0x44, 0x1f, 0x5e, 0xf6, 0xb5, 0x78, 0x27, 0x17, 0x55, 0xbe, 0xa7, 0x71, 0x3e, 0x70, 0xbd, 0xb3, + 0x1b, 0x46, 0x1b, 0xf3, 0xe8, 0x55, 0xb0, 0x7d, 0xdf, 0xf3, 0xea, 0x21, 0xb8, 0x8d, 0x79, 0x36, 0xab, 0xcc, 0x1a, + 0xb1, 0xf2, 0x8d, 0x88, 0xaa, 0xbd, 0x7a, 0x55, 0x29, 0x6c, 0x45, 0x80, 0x4a, 0xc1, 0xc7, 0x3b, 0xf9, 0x2f, 0xb4, + 0xcd, 0xb7, 0xe7, 0x50, 0x19, 0x1e, 0xc8, 0x93, 0xa1, 0xaa, 0x07, 0x5c, 0x94, 0x1f, 0x02, 0x58, 0xfc, 0xc8, 0xc4, + 0x0f, 0xde, 0x77, 0x81, 0xcc, 0x99, 0x8a, 0x25, 0x5e, 0x0d, 0xe8, 0x30, 0xb5, 0xf2, 0x50, 0x2a, 0xc1, 0xb6, 0xe7, + 0xa6, 0xe0, 0xda, 0x07, 0x2a, 0xc6, 0x03, 0x36, 0x4c, 0x57, 0xf5, 0x60, 0xc6, 0x36, 0x9c, 0xb2, 0x37, 0xe7, 0x34, + 0xd1, 0x7f, 0xe9, 0x10, 0xe7, 0x04, 0x6c, 0x8f, 0x3d, 0x7b, 0xfa, 0x26, 0xce, 0x50, 0xbf, 0xce, 0xe1, 0xaf, 0x36, + 0x38, 0xc7, 0x19, 0x4a, 0x1f, 0xc6, 0x70, 0x81, 0xb5, 0xc1, 0x00, 0xbe, 0xcc, 0x92, 0x2a, 0xf0, 0x48, 0xcd, 0x8c, + 0xc4, 0xea, 0x2e, 0x02, 0xd1, 0x4a, 0x87, 0xb7, 0xe3, 0xcc, 0x87, 0x03, 0x37, 0xdc, 0xeb, 0x33, 0x23, 0x1c, 0xce, + 0xb3, 0xb8, 0x76, 0xce, 0x70, 0x72, 0x75, 0xc8, 0x6b, 0x27, 0x26, 0x58, 0x7b, 0x87, 0xa7, 0x0a, 0xe8, 0xd1, 0xe0, + 0x54, 0xb1, 0x34, 0x04, 0x62, 0x26, 0x80, 0x37, 0x73, 0x78, 0xb4, 0x05, 0x38, 0x1f, 0x6d, 0x70, 0xf0, 0x95, 0xd6, + 0xba, 0xda, 0x56, 0xa2, 0x6c, 0x36, 0x78, 0x30, 0xce, 0xf0, 0x32, 0xc3, 0xd3, 0x6c, 0x18, 0x1e, 0x37, 0x59, 0x68, + 0xd2, 0xb5, 0x5e, 0x3f, 0x75, 0x66, 0x84, 0xc8, 0xfe, 0xb4, 0xf4, 0x07, 0xf5, 0x01, 0xe1, 0x53, 0xc8, 0x02, 0x5a, + 0xd2, 0x77, 0x7f, 0x1b, 0xf6, 0xb5, 0x70, 0xd4, 0x88, 0x79, 0x62, 0xc9, 0x48, 0xdf, 0xff, 0x28, 0xb3, 0x6c, 0x6b, + 0x8d, 0x68, 0x71, 0x7b, 0x10, 0x35, 0x7c, 0x7b, 0xd5, 0xf9, 0x32, 0x2a, 0xcd, 0x76, 0x00, 0x51, 0xac, 0x71, 0x92, + 0x0e, 0xd6, 0x48, 0xae, 0xd7, 0xb1, 0x4d, 0x21, 0x3c, 0x99, 0x33, 0xaa, 0x96, 0x85, 0x79, 0x40, 0x2f, 0x56, 0x28, + 0x31, 0xfc, 0x2e, 0x76, 0x36, 0xa2, 0xf0, 0x5e, 0x9d, 0x04, 0xc3, 0x8d, 0x58, 0x10, 0x59, 0x13, 0xb9, 0x3f, 0x65, + 0x95, 0x65, 0x90, 0x20, 0xc2, 0x88, 0xfc, 0xf6, 0xba, 0x54, 0xd8, 0x27, 0xfa, 0xec, 0x1f, 0xe3, 0x0b, 0x08, 0x37, + 0x6f, 0x53, 0x5a, 0x8c, 0xe8, 0x14, 0xd8, 0x58, 0x88, 0x43, 0xb8, 0x93, 0xb0, 0x5e, 0x0f, 0x86, 0x3d, 0x61, 0xc8, + 0xb3, 0x7b, 0x40, 0xb0, 0x6c, 0x68, 0x7f, 0x03, 0x70, 0xd5, 0x6d, 0xa9, 0xb9, 0x36, 0xba, 0x1f, 0x6a, 0xde, 0x38, + 0xe3, 0x2e, 0xc9, 0x3d, 0x53, 0x52, 0xbd, 0x44, 0x5e, 0xb3, 0x00, 0x37, 0xa1, 0xab, 0xf0, 0x18, 0x2f, 0xad, 0x0d, + 0xa7, 0x79, 0xd0, 0x8a, 0x9a, 0x77, 0xac, 0xe0, 0xf9, 0x6c, 0xc2, 0x06, 0xd9, 0x10, 0x8f, 0x7d, 0xb8, 0xf3, 0xc3, + 0xb7, 0xf1, 0x18, 0xa1, 0x82, 0x18, 0x98, 0x5a, 0x97, 0xed, 0x71, 0x65, 0xb7, 0x6f, 0x32, 0x0d, 0xc3, 0x60, 0x8c, + 0x98, 0xc7, 0xa1, 0x11, 0x73, 0xde, 0x68, 0xa0, 0x25, 0x19, 0x83, 0x11, 0xf3, 0x32, 0x68, 0x6d, 0x69, 0x1f, 0x3b, + 0x0d, 0xda, 0x5b, 0x22, 0xd4, 0xe3, 0x40, 0xd3, 0x34, 0x3c, 0x6b, 0x52, 0x3d, 0x2b, 0xef, 0x1f, 0xd9, 0x3a, 0xe9, + 0x80, 0x22, 0x61, 0x72, 0xe5, 0x27, 0x61, 0x5d, 0xc3, 0xed, 0xb8, 0x27, 0x66, 0xdc, 0xce, 0xb6, 0x41, 0x0d, 0xe4, + 0x20, 0x1b, 0x0e, 0x7b, 0xd2, 0x5b, 0x49, 0xb4, 0xf0, 0xa4, 0x7a, 0x08, 0xa5, 0x5a, 0xbc, 0xaf, 0x7a, 0xfb, 0xca, + 0x9b, 0xfb, 0xf7, 0x55, 0xb7, 0xcf, 0x63, 0xe0, 0x80, 0x0e, 0xe1, 0x7e, 0xa8, 0x8a, 0x0f, 0x76, 0xd2, 0x81, 0x28, + 0x68, 0x69, 0xab, 0x26, 0x90, 0x5a, 0x33, 0xbb, 0x58, 0x37, 0x15, 0x3a, 0x16, 0x10, 0x86, 0x4c, 0x55, 0xdd, 0xdd, + 0xaa, 0x40, 0x35, 0xc4, 0xe1, 0xd4, 0x7f, 0x6c, 0x8d, 0x58, 0xe3, 0xa8, 0x33, 0x8e, 0x8c, 0x91, 0xa4, 0x5d, 0x3e, + 0x78, 0xfb, 0x08, 0xac, 0x04, 0x7c, 0x0c, 0x6a, 0x93, 0x64, 0x0c, 0x09, 0xde, 0xb2, 0x4c, 0x1b, 0x3e, 0x84, 0x3b, + 0x04, 0xe5, 0x89, 0x0d, 0x4a, 0xeb, 0x2a, 0x59, 0xc8, 0x55, 0x5d, 0xde, 0x05, 0xe8, 0x79, 0x5b, 0xfe, 0xc6, 0x86, + 0x23, 0x0b, 0x06, 0x96, 0xed, 0xec, 0x13, 0xf0, 0xc8, 0xc7, 0x15, 0x82, 0xf8, 0xa5, 0xd0, 0x89, 0x89, 0xd7, 0x7d, + 0x0d, 0x1b, 0x14, 0x2f, 0xc0, 0x41, 0xd0, 0x49, 0x70, 0x18, 0xbc, 0xcb, 0xac, 0x26, 0xd9, 0xe0, 0xd6, 0x9c, 0xc4, + 0x8b, 0xf5, 0xba, 0x85, 0x8e, 0xff, 0x69, 0x9e, 0xa4, 0x9e, 0x94, 0x0a, 0xf7, 0x49, 0xa5, 0x70, 0x07, 0x4b, 0x40, + 0x32, 0x09, 0x74, 0xed, 0x58, 0x86, 0x6a, 0x74, 0x88, 0x96, 0xfe, 0x02, 0x62, 0x67, 0xbb, 0x63, 0x09, 0xf4, 0xec, + 0x3b, 0x05, 0xac, 0xae, 0xbd, 0x2c, 0x81, 0x8c, 0xe0, 0xee, 0x37, 0x81, 0x51, 0x21, 0x1a, 0x9f, 0x3f, 0xf3, 0xaa, + 0x05, 0x4f, 0x9c, 0x3f, 0xd7, 0xdc, 0xb0, 0xee, 0x05, 0xbd, 0x31, 0xcd, 0xc7, 0x13, 0xdc, 0x9c, 0x58, 0x70, 0x9e, + 0x74, 0xe0, 0xa7, 0x85, 0xe8, 0x49, 0x07, 0xbb, 0x54, 0x3c, 0x29, 0x81, 0x1c, 0xa2, 0xa7, 0x33, 0x90, 0x02, 0x56, + 0x3a, 0xb6, 0x5a, 0xa4, 0x29, 0x5a, 0xaf, 0xa7, 0x97, 0xa4, 0x85, 0xd0, 0x4a, 0xdd, 0x70, 0x9d, 0xcd, 0xc0, 0x47, + 0x1a, 0x14, 0x03, 0x6f, 0xa8, 0x9e, 0xc5, 0x08, 0x4f, 0xd0, 0x6a, 0xcc, 0x26, 0x74, 0x99, 0xeb, 0x54, 0xf5, 0x79, + 0x62, 0x03, 0xf7, 0x32, 0x1b, 0x09, 0xee, 0xa4, 0x83, 0xa7, 0x86, 0xbf, 0xfc, 0x60, 0xcc, 0x41, 0x8a, 0xcc, 0x24, + 0x4f, 0x4d, 0x02, 0xe6, 0x49, 0x96, 0x4b, 0xc5, 0x6c, 0x33, 0x3d, 0x6b, 0x5b, 0x0e, 0x21, 0xc9, 0x23, 0x5d, 0x70, + 0x63, 0x45, 0x19, 0xa5, 0x33, 0xa2, 0xfa, 0xea, 0xa4, 0x93, 0x4e, 0x31, 0x4f, 0x80, 0xd3, 0x7b, 0x27, 0x63, 0xd6, + 0x28, 0x6f, 0x45, 0xe7, 0xe8, 0x78, 0x86, 0x45, 0x75, 0x89, 0x3a, 0x47, 0xc7, 0x53, 0x84, 0xe7, 0x0d, 0x32, 0x53, + 0xe0, 0x31, 0xcc, 0xc5, 0xff, 0x91, 0xf2, 0xdf, 0x1c, 0x36, 0x84, 0x98, 0x7e, 0x0b, 0x3b, 0x85, 0x8d, 0xa3, 0x34, + 0x27, 0xe0, 0xb5, 0xd8, 0x3e, 0xc7, 0x19, 0x99, 0x36, 0x73, 0x1f, 0x70, 0xcf, 0xb4, 0xd2, 0xb8, 0xd5, 0xe8, 0x38, + 0xc3, 0xe3, 0xed, 0xa4, 0xd8, 0xcc, 0xb5, 0x99, 0xa7, 0x19, 0x9c, 0xef, 0xd5, 0x28, 0x5c, 0xf9, 0xe5, 0x76, 0x52, + 0x58, 0xde, 0x01, 0xb7, 0x39, 0xc6, 0xa2, 0x49, 0x71, 0x8e, 0xe7, 0xcd, 0x57, 0x78, 0xde, 0x7c, 0x5f, 0x66, 0x34, + 0x96, 0x58, 0x40, 0xf0, 0x3e, 0x48, 0xc4, 0xf3, 0x2a, 0x79, 0x8c, 0x45, 0xc3, 0x94, 0xc7, 0xf3, 0x46, 0x55, 0xba, + 0xb9, 0xc4, 0xa2, 0x61, 0x4a, 0x37, 0xde, 0xe3, 0x79, 0xe3, 0xd5, 0xbf, 0x98, 0x74, 0x94, 0x02, 0xba, 0x2c, 0xd0, + 0x2a, 0xb3, 0x43, 0xbc, 0xfe, 0xf5, 0xed, 0xbb, 0xf6, 0xa7, 0xce, 0xf1, 0x14, 0xfb, 0xf5, 0xcb, 0x0c, 0x8e, 0x65, + 0x3a, 0x66, 0x4d, 0x80, 0x68, 0x86, 0x3b, 0xc7, 0x33, 0xdc, 0x39, 0xce, 0x5c, 0x53, 0x9b, 0x79, 0x83, 0xdc, 0xea, + 0x10, 0x8a, 0x3a, 0x4a, 0x43, 0xf8, 0xf8, 0xc9, 0xa6, 0x53, 0x54, 0x03, 0x25, 0x3a, 0x9e, 0xd6, 0x40, 0x05, 0xdf, + 0xcb, 0xda, 0x77, 0x55, 0xaf, 0xc2, 0x20, 0x0b, 0x25, 0x14, 0xae, 0xb9, 0x01, 0x4f, 0x2d, 0xc5, 0x40, 0x26, 0x4c, + 0xb1, 0x40, 0xf9, 0x0e, 0x28, 0x8c, 0xf2, 0xc4, 0x0c, 0x3d, 0x98, 0x8e, 0x49, 0xfc, 0xff, 0x79, 0x32, 0xe5, 0xd0, + 0xcb, 0x2d, 0xb3, 0x33, 0x3d, 0x37, 0x99, 0x70, 0xf8, 0xc0, 0x63, 0xfd, 0x5f, 0x3b, 0x50, 0x6c, 0x40, 0x8a, 0xff, + 0x2f, 0x1d, 0x5d, 0x08, 0x46, 0xc8, 0x8a, 0xd2, 0xc2, 0x21, 0xfe, 0xf7, 0x87, 0x15, 0x74, 0x5f, 0xec, 0x74, 0x5f, + 0x98, 0xee, 0xc3, 0xa6, 0x8d, 0x2a, 0x27, 0xad, 0x2a, 0x59, 0xf2, 0x5f, 0xa7, 0x5b, 0x3b, 0xa0, 0x11, 0x35, 0x7a, + 0x36, 0x0d, 0x1b, 0x3c, 0x6c, 0xa7, 0x7b, 0x90, 0x79, 0xc3, 0xed, 0x0b, 0xa9, 0x70, 0xf8, 0x06, 0x77, 0xaa, 0x57, + 0x2d, 0xf0, 0xde, 0x54, 0x46, 0x5f, 0x19, 0x87, 0x96, 0x83, 0x74, 0xdb, 0x94, 0xdb, 0x18, 0x4b, 0x27, 0x5d, 0x6c, + 0x5c, 0x11, 0xa1, 0xd2, 0xed, 0x15, 0x28, 0xc5, 0x27, 0xba, 0xc9, 0xcc, 0xd7, 0xa5, 0x4e, 0xcc, 0x25, 0x54, 0xc3, + 0x7c, 0xde, 0x5d, 0xe9, 0x44, 0xcb, 0x85, 0xcd, 0xbb, 0xbb, 0x84, 0x3e, 0x41, 0xc3, 0xda, 0x08, 0xec, 0xf6, 0xb9, + 0xb3, 0x83, 0x0c, 0x0e, 0xc1, 0xf0, 0x00, 0x72, 0xa4, 0xc5, 0xf6, 0x81, 0x4d, 0x6b, 0xd8, 0x75, 0xd1, 0x2c, 0x13, + 0x6d, 0xab, 0x4d, 0x93, 0x6b, 0xf7, 0x30, 0x5f, 0x84, 0x3c, 0x85, 0x28, 0xac, 0x7e, 0x7c, 0x0f, 0xbb, 0xf1, 0xb5, + 0xc6, 0x48, 0xd4, 0x95, 0x4c, 0x25, 0xf4, 0x93, 0x5b, 0xcc, 0x92, 0x3b, 0xe3, 0xc5, 0xa8, 0x8c, 0xbf, 0x8f, 0x89, + 0xcb, 0x1f, 0x55, 0x92, 0x1c, 0x58, 0xf6, 0x37, 0x58, 0x72, 0x0b, 0xe6, 0x89, 0x65, 0x35, 0x89, 0x75, 0x72, 0x17, + 0x2c, 0xa2, 0x34, 0x8d, 0x6c, 0x0c, 0x03, 0x6a, 0x9a, 0xb1, 0xea, 0xc1, 0x43, 0x08, 0xf4, 0xd0, 0x2f, 0x4b, 0x69, + 0xd7, 0x59, 0x5a, 0xeb, 0x5e, 0x9b, 0xee, 0xb7, 0x07, 0x54, 0x4d, 0xe3, 0x26, 0xe0, 0x9a, 0xfe, 0xd5, 0x24, 0x92, + 0x11, 0xfb, 0x9b, 0xb3, 0xe2, 0xf1, 0xb2, 0x30, 0x98, 0x26, 0xfa, 0x3a, 0xc9, 0x16, 0x6d, 0x30, 0xd5, 0xcb, 0x16, + 0x9d, 0x5b, 0xec, 0xbe, 0xef, 0xec, 0xf7, 0x1d, 0x16, 0x7d, 0x66, 0x32, 0x52, 0x66, 0x8a, 0xf9, 0xef, 0x3b, 0xfb, + 0x7d, 0x87, 0x77, 0x07, 0xf3, 0xc5, 0x5f, 0x28, 0x96, 0xec, 0x0c, 0x97, 0x60, 0x42, 0x1e, 0x70, 0x37, 0xb5, 0x2c, + 0x13, 0x04, 0xb6, 0x96, 0x00, 0x71, 0x3e, 0x9f, 0xc6, 0x15, 0xaf, 0x86, 0x80, 0xfb, 0xf4, 0xae, 0xed, 0x55, 0x2a, + 0xf0, 0x98, 0xa0, 0x11, 0x31, 0xb1, 0x6d, 0xcc, 0xeb, 0x66, 0xc0, 0xe5, 0x11, 0x5d, 0xea, 0x49, 0x12, 0xe0, 0x55, + 0x8d, 0xca, 0xdb, 0x14, 0x29, 0xbf, 0x48, 0x90, 0xe3, 0x8b, 0x3d, 0xa2, 0x8a, 0x01, 0xac, 0xca, 0x92, 0x3e, 0x81, + 0xd4, 0xf3, 0x43, 0x4f, 0xcd, 0x6d, 0xe4, 0xb1, 0xef, 0xfc, 0x7e, 0x61, 0x7a, 0x56, 0xc8, 0xe5, 0x74, 0x06, 0x3e, + 0xb4, 0xc0, 0x32, 0x14, 0xa6, 0x5e, 0x65, 0xeb, 0x5f, 0x93, 0xdc, 0x04, 0x50, 0x38, 0xdd, 0x94, 0x09, 0xcd, 0xf4, + 0x92, 0xe6, 0xc6, 0x92, 0x94, 0x8b, 0xe9, 0x23, 0x79, 0xfb, 0x12, 0xb0, 0x9b, 0x12, 0xdd, 0xd8, 0x93, 0xf7, 0x16, + 0x76, 0x00, 0xce, 0x08, 0xdb, 0x57, 0xf1, 0xa1, 0x02, 0x9d, 0x3f, 0xce, 0x09, 0xdb, 0x57, 0xf5, 0x09, 0xb3, 0xd9, + 0x33, 0xb2, 0x35, 0xdc, 0x7e, 0x9c, 0x35, 0x72, 0x74, 0xd2, 0x49, 0xf3, 0x9e, 0x27, 0x06, 0x16, 0xa0, 0x01, 0x70, + 0x77, 0xb6, 0x67, 0x79, 0x77, 0x43, 0x40, 0xef, 0x92, 0x49, 0x7b, 0x5d, 0x6e, 0x52, 0xd6, 0xeb, 0x4e, 0x45, 0x05, + 0x0b, 0x3c, 0x0b, 0xf6, 0x02, 0xb5, 0x5f, 0x7b, 0x28, 0xce, 0x2f, 0xd9, 0xb6, 0xe9, 0x79, 0xd9, 0x77, 0x6f, 0xcf, + 0x22, 0x63, 0x9b, 0xf6, 0x76, 0x0f, 0x91, 0xb0, 0x9c, 0xb0, 0x0e, 0x38, 0xe1, 0xaa, 0x76, 0x40, 0x80, 0x3e, 0x05, + 0x22, 0x37, 0x96, 0x64, 0xb5, 0xa9, 0x8c, 0xee, 0x03, 0xbf, 0x5b, 0x4a, 0xa4, 0x1b, 0x6d, 0x49, 0x30, 0x7d, 0x82, + 0x51, 0xd3, 0x99, 0xa7, 0xa9, 0x6b, 0xaf, 0x2e, 0x6f, 0x8b, 0xb6, 0xfe, 0x0d, 0x68, 0x6c, 0xb6, 0x87, 0x89, 0xa1, + 0x0c, 0x62, 0xa0, 0xf7, 0x11, 0xef, 0x35, 0x1a, 0x19, 0x02, 0x85, 0x4c, 0x36, 0xc4, 0x32, 0xf1, 0x5a, 0xf4, 0xa3, + 0x23, 0x03, 0x8f, 0x2a, 0x01, 0x61, 0x0a, 0x42, 0x48, 0xd8, 0xb5, 0x41, 0xd8, 0x70, 0xb9, 0x6a, 0xb9, 0xb0, 0x91, + 0x6a, 0x43, 0x07, 0xff, 0xaf, 0x70, 0xd9, 0xea, 0x99, 0xe5, 0xa2, 0x18, 0xdc, 0xcc, 0x0d, 0x58, 0x24, 0x48, 0x8f, + 0x36, 0xdb, 0x43, 0x71, 0x7f, 0x2e, 0x36, 0x1b, 0x02, 0x12, 0x73, 0x98, 0xa0, 0x68, 0x38, 0x37, 0xc6, 0x58, 0x25, + 0x95, 0x96, 0xb5, 0x26, 0x31, 0x07, 0x01, 0xa3, 0xc3, 0x75, 0x5f, 0xdd, 0xa6, 0x0c, 0xdf, 0xa5, 0x02, 0xdf, 0x80, + 0x27, 0x4d, 0x2a, 0xb1, 0x7b, 0xbc, 0xa0, 0xd8, 0x10, 0xdd, 0xf3, 0xec, 0x6d, 0x01, 0xeb, 0x6c, 0xf6, 0x88, 0x08, + 0x7e, 0x57, 0xbf, 0xda, 0xe0, 0xbb, 0x85, 0x5f, 0x81, 0xf5, 0x73, 0x70, 0x92, 0x62, 0xd1, 0x90, 0xcd, 0xc2, 0x1d, + 0x19, 0x50, 0xae, 0xe2, 0x97, 0xc3, 0xd4, 0x9d, 0x62, 0xb8, 0xf6, 0xf1, 0x0a, 0xbf, 0xdf, 0x6a, 0xb7, 0xa1, 0xca, + 0xe2, 0x76, 0x6f, 0x8a, 0x86, 0xac, 0x9a, 0xde, 0x93, 0xb9, 0x95, 0x52, 0xff, 0x7a, 0x8f, 0x5b, 0x3b, 0xed, 0xfb, + 0x69, 0xbe, 0xf5, 0xe8, 0x5c, 0x35, 0xed, 0x53, 0x6b, 0x45, 0x70, 0xf0, 0xb3, 0x85, 0x9b, 0x3b, 0x03, 0x0e, 0xe0, + 0xe7, 0xef, 0x68, 0x5e, 0x67, 0x10, 0x9d, 0xde, 0x6a, 0xc6, 0xd7, 0xf1, 0x1f, 0xe3, 0x46, 0xdc, 0x4f, 0xff, 0x48, + 0xfe, 0x18, 0x37, 0x50, 0x1f, 0xc5, 0x8b, 0xdb, 0x35, 0x9b, 0xaf, 0x21, 0xd8, 0xda, 0xbd, 0x13, 0xfc, 0x26, 0x2c, + 0xc9, 0x35, 0xcd, 0x79, 0xb6, 0x76, 0x0f, 0x02, 0xae, 0xdd, 0xab, 0x44, 0x6b, 0xf3, 0xc6, 0xd5, 0x3a, 0x96, 0xa3, + 0x1c, 0x02, 0x0b, 0xc7, 0x07, 0xcd, 0xfe, 0xa0, 0xd5, 0x7c, 0x30, 0xb4, 0xff, 0x9a, 0x08, 0xf7, 0xa8, 0x16, 0xb1, + 0xed, 0xde, 0xd6, 0xd6, 0x8f, 0xc1, 0xb0, 0x03, 0x42, 0x81, 0x83, 0x5c, 0xfa, 0x3a, 0x43, 0xd6, 0xf7, 0x64, 0xbd, + 0x66, 0x2e, 0x9a, 0xb5, 0xd3, 0xe0, 0x97, 0xb1, 0x99, 0x8e, 0xdb, 0x49, 0xa7, 0xe7, 0xc5, 0x58, 0xd2, 0x80, 0x48, + 0xd3, 0x98, 0x41, 0x20, 0xa9, 0x95, 0xe1, 0xb0, 0x16, 0xb7, 0x51, 0x5a, 0xdd, 0x1f, 0x41, 0xca, 0x0f, 0x51, 0xca, + 0x4f, 0x08, 0x04, 0xd0, 0xb6, 0xcc, 0x51, 0xd9, 0x90, 0xf7, 0x5d, 0x7a, 0x68, 0x9c, 0x19, 0x1a, 0x7c, 0xbd, 0x6e, + 0x55, 0xc3, 0x54, 0x45, 0x7d, 0x98, 0xab, 0x0d, 0x16, 0xe4, 0x0d, 0xe8, 0x9a, 0x15, 0x11, 0xfd, 0xd0, 0x55, 0x1e, + 0xde, 0x43, 0xc6, 0x92, 0x80, 0x93, 0x7e, 0x5f, 0xf4, 0x0b, 0x72, 0xf5, 0x30, 0x06, 0x1f, 0x33, 0xcc, 0x07, 0x7a, + 0x50, 0x0c, 0x87, 0x28, 0x75, 0x4e, 0x67, 0xa9, 0x89, 0xb8, 0x12, 0xf8, 0x25, 0x17, 0xe0, 0x97, 0xac, 0x10, 0x1b, + 0x14, 0x43, 0xf2, 0x30, 0x8b, 0x25, 0x38, 0xe5, 0xef, 0xf1, 0x79, 0x7c, 0x1a, 0x1a, 0x98, 0x9a, 0x61, 0x99, 0x8b, + 0x6c, 0xb0, 0x98, 0xb3, 0x96, 0x40, 0x70, 0x33, 0xe0, 0x2e, 0xb5, 0x21, 0xd1, 0x58, 0x03, 0x45, 0xb7, 0x51, 0x68, + 0x66, 0xf4, 0x62, 0xa7, 0x8d, 0x41, 0xe4, 0xf0, 0xc2, 0x5c, 0xc3, 0x58, 0x04, 0x32, 0x97, 0xab, 0x1e, 0xfb, 0xcb, + 0x0f, 0x9b, 0x15, 0x06, 0xaf, 0xc8, 0x74, 0xe8, 0x8e, 0x63, 0xc6, 0x57, 0x79, 0xe2, 0x18, 0x82, 0x4c, 0x2c, 0x95, + 0x6e, 0x38, 0x26, 0xae, 0xa4, 0xcf, 0xc4, 0x90, 0xed, 0x86, 0x67, 0xe6, 0x42, 0x37, 0xdb, 0x7f, 0x3a, 0xb7, 0x73, + 0x4e, 0xb8, 0xd1, 0x4a, 0x1a, 0x6d, 0xd4, 0x33, 0x43, 0x55, 0x5d, 0x30, 0xbf, 0x87, 0x4e, 0x4b, 0x8b, 0x9d, 0xab, + 0x77, 0x2f, 0x7c, 0x9d, 0xaf, 0x8c, 0xbf, 0xc5, 0xaa, 0xd0, 0x8a, 0x0c, 0xb7, 0x5b, 0xc8, 0x9b, 0x33, 0x3d, 0xf4, + 0x8a, 0x5c, 0xa8, 0x0e, 0x7f, 0x51, 0x4f, 0x98, 0x07, 0x3b, 0xa3, 0x86, 0xf0, 0xe8, 0xf7, 0x26, 0x03, 0xe5, 0x1f, + 0x4c, 0x4c, 0xe6, 0x2c, 0xb9, 0xa1, 0x85, 0x88, 0x7f, 0x7c, 0x21, 0x4c, 0xac, 0xaa, 0x03, 0x18, 0xc8, 0x81, 0xa9, + 0x78, 0x00, 0xb7, 0x26, 0x7c, 0xc2, 0xd9, 0x38, 0x3d, 0x88, 0x7e, 0x6c, 0x88, 0xc6, 0x8f, 0xd1, 0x8f, 0xe0, 0xee, + 0xec, 0x5e, 0x87, 0x2c, 0xe3, 0x42, 0xf8, 0x7b, 0xac, 0x87, 0xa5, 0x4a, 0x19, 0x6b, 0xaf, 0x5b, 0x0e, 0x2f, 0xa4, + 0xee, 0x65, 0xf1, 0x43, 0x47, 0xac, 0x6d, 0x0a, 0xd6, 0x21, 0x25, 0x85, 0x67, 0x57, 0xcc, 0xad, 0x16, 0x73, 0x97, + 0x5a, 0xc2, 0x5f, 0x5f, 0x3d, 0x2c, 0x55, 0xd0, 0x70, 0x10, 0xba, 0xd2, 0x16, 0x12, 0x60, 0xe0, 0x52, 0xfa, 0x74, + 0xba, 0x33, 0x89, 0x8c, 0xb2, 0x18, 0xde, 0x3d, 0x08, 0x02, 0x09, 0xb0, 0xad, 0xb0, 0x2a, 0x70, 0xb9, 0x52, 0x45, + 0xbd, 0x94, 0x04, 0x02, 0xd0, 0x97, 0xde, 0x83, 0xf2, 0xb2, 0xe8, 0x35, 0x1a, 0x12, 0xb4, 0xb0, 0xd4, 0x5c, 0xab, + 0x62, 0x7a, 0x18, 0xbe, 0x6a, 0x18, 0x7c, 0x78, 0x87, 0xb4, 0xad, 0xa7, 0x45, 0x29, 0xa1, 0x76, 0x07, 0x1d, 0x82, + 0x55, 0x76, 0x50, 0xfe, 0x6d, 0x4c, 0x91, 0xcd, 0x1f, 0xb0, 0x1f, 0xa8, 0xeb, 0x70, 0xe8, 0x0a, 0x56, 0xbd, 0x94, + 0x51, 0x30, 0x60, 0xe5, 0x14, 0xa8, 0xbd, 0x93, 0x8c, 0x66, 0x33, 0x06, 0xea, 0x7e, 0x5b, 0xb4, 0x9a, 0xdb, 0x93, + 0xba, 0xdf, 0x90, 0x71, 0xf6, 0x11, 0xc6, 0xd9, 0x47, 0x81, 0x17, 0x8b, 0x24, 0x3f, 0xcb, 0x58, 0xe3, 0x58, 0x35, + 0x05, 0x3a, 0xe9, 0x00, 0x77, 0x06, 0x0e, 0x3c, 0x60, 0x8b, 0x72, 0x74, 0x44, 0x9d, 0xc5, 0x3d, 0x6d, 0x64, 0xde, + 0xdb, 0x13, 0x6a, 0x17, 0xb1, 0xc0, 0xcd, 0x9a, 0x99, 0x16, 0xb4, 0x56, 0x18, 0xe7, 0xf1, 0x30, 0x22, 0x63, 0x2d, + 0x7e, 0xc2, 0x96, 0x35, 0x55, 0xfd, 0x06, 0x9a, 0xa3, 0x5a, 0x90, 0x9b, 0x17, 0xc6, 0x5b, 0x95, 0x0c, 0xa2, 0x68, + 0x68, 0x39, 0x15, 0x62, 0x48, 0xc6, 0xa0, 0x35, 0x0c, 0x6e, 0xb5, 0xd7, 0x6b, 0xee, 0x11, 0x5f, 0xd4, 0xbc, 0xd5, + 0xcc, 0x2d, 0x40, 0x56, 0xc4, 0x51, 0x79, 0x6f, 0x12, 0x81, 0xf7, 0x6d, 0x19, 0x21, 0x6d, 0x35, 0xb0, 0x4f, 0x57, + 0x96, 0x8a, 0xcd, 0x77, 0x74, 0x3a, 0x4c, 0x23, 0x3b, 0xa2, 0x08, 0x7f, 0x2a, 0x21, 0x09, 0x57, 0x49, 0x9f, 0x54, + 0x26, 0x17, 0x4c, 0xa5, 0x1c, 0x7f, 0x2a, 0xa4, 0xd4, 0xd7, 0xf6, 0x4b, 0xe2, 0xea, 0x4e, 0x46, 0xe0, 0x4f, 0x53, + 0xa6, 0xdf, 0xd1, 0x62, 0xca, 0xc0, 0xaf, 0xc8, 0xdf, 0x8e, 0xa5, 0x94, 0x5c, 0xbd, 0x10, 0xf1, 0x80, 0x62, 0x78, + 0x77, 0x75, 0x88, 0xb5, 0x09, 0x81, 0x52, 0xe2, 0x22, 0x5c, 0x10, 0xbd, 0x29, 0xe4, 0xed, 0x5d, 0x5c, 0x60, 0xe7, + 0x00, 0x58, 0x3a, 0x4d, 0x02, 0xfc, 0xcb, 0xc7, 0x7c, 0xac, 0xc6, 0x9c, 0x1a, 0x5d, 0xbf, 0xfb, 0x9d, 0x7c, 0x02, + 0x7a, 0x5b, 0x3a, 0x0a, 0x0e, 0x5a, 0x43, 0xc8, 0x85, 0xbb, 0x30, 0xb8, 0xf8, 0x0a, 0x6b, 0x17, 0x85, 0xf1, 0xc6, + 0x02, 0xe8, 0x3d, 0xca, 0xc0, 0x82, 0x0d, 0x73, 0x4c, 0xe1, 0xd1, 0xda, 0x29, 0xd3, 0x41, 0x54, 0x90, 0x27, 0xe5, + 0xb3, 0xa4, 0xb5, 0xda, 0x6f, 0xd9, 0x04, 0xee, 0x30, 0x92, 0x6f, 0x17, 0x4e, 0x1c, 0x78, 0x40, 0xa6, 0xc9, 0x6c, + 0xb3, 0x6f, 0x7c, 0xe4, 0x91, 0xd7, 0x93, 0x78, 0x5f, 0x4b, 0x61, 0xbe, 0x59, 0xd1, 0x0d, 0x86, 0x50, 0x14, 0x61, + 0xbf, 0x37, 0x2a, 0xa6, 0xa8, 0x32, 0x68, 0x83, 0x86, 0xe5, 0x8d, 0xf8, 0x19, 0xce, 0x18, 0x5a, 0x2f, 0x64, 0xef, + 0xe8, 0xac, 0xc3, 0x99, 0xc3, 0x8c, 0x19, 0x81, 0x51, 0x69, 0x59, 0xd0, 0x29, 0x38, 0x3a, 0x57, 0x1f, 0x44, 0xc5, + 0xd5, 0xb1, 0x02, 0xf0, 0x24, 0x33, 0xf8, 0x27, 0xdf, 0x06, 0xeb, 0x61, 0xab, 0x66, 0x98, 0xfa, 0xb3, 0xde, 0x75, + 0x2d, 0x5f, 0x85, 0x38, 0xd2, 0xc6, 0x10, 0x5a, 0xe7, 0xf6, 0x0e, 0x50, 0xc4, 0x05, 0xbd, 0x48, 0x35, 0xfe, 0xa4, + 0x96, 0x23, 0xb3, 0xbe, 0xc6, 0x75, 0x4c, 0x1b, 0x44, 0xb1, 0xee, 0x9a, 0xf8, 0x53, 0xf5, 0x0a, 0xac, 0x4a, 0x81, + 0x75, 0x06, 0xe5, 0x87, 0x2a, 0x2f, 0x1b, 0x52, 0x49, 0xae, 0x4c, 0xa7, 0xd2, 0x74, 0x5a, 0x21, 0x94, 0x4b, 0x4f, + 0xca, 0xfb, 0x57, 0x08, 0x61, 0x60, 0xca, 0xec, 0xc1, 0x2a, 0xb5, 0x83, 0x55, 0xf0, 0xea, 0xc5, 0x16, 0x56, 0x49, + 0x38, 0x9e, 0x4b, 0x34, 0x2a, 0x2a, 0x1c, 0x32, 0xa4, 0x2f, 0xc4, 0x22, 0x48, 0x00, 0x2c, 0x7a, 0x99, 0xb9, 0xbc, + 0xef, 0xe1, 0x50, 0xd8, 0x93, 0x4c, 0xc2, 0xe9, 0x26, 0x34, 0x87, 0xe7, 0x81, 0x55, 0xdf, 0x23, 0xc4, 0xcc, 0xc4, + 0x7f, 0x82, 0x67, 0xa1, 0xbf, 0xff, 0x1c, 0xad, 0xb3, 0x20, 0x4f, 0xff, 0x25, 0x4a, 0x42, 0x63, 0xff, 0x39, 0x1e, + 0x3a, 0x24, 0x0c, 0x07, 0xbe, 0x3d, 0xc2, 0x0a, 0x07, 0x77, 0x8a, 0xf8, 0x0c, 0xee, 0xf0, 0xb1, 0x0e, 0x3d, 0x00, + 0x2c, 0xa1, 0x38, 0x04, 0xf9, 0x16, 0x8a, 0x99, 0x61, 0x6b, 0xb2, 0x0a, 0x2f, 0x70, 0xc1, 0x6a, 0xa1, 0xbc, 0xbf, + 0x6d, 0x79, 0x29, 0xad, 0x76, 0xc9, 0x6b, 0xcc, 0x81, 0xca, 0xcf, 0xf0, 0xc2, 0x57, 0x98, 0xf7, 0xaa, 0xdd, 0x17, + 0xfe, 0xe4, 0x80, 0x9e, 0x42, 0xc0, 0x48, 0xf7, 0x7b, 0x43, 0xb8, 0xa7, 0xe8, 0x65, 0x2e, 0x0e, 0xdb, 0x0e, 0xba, + 0x17, 0x98, 0xab, 0xeb, 0x2a, 0x6b, 0x01, 0xa6, 0xd0, 0xe0, 0xa0, 0x0a, 0x67, 0x04, 0xe6, 0xea, 0x45, 0x59, 0x70, + 0x01, 0xe2, 0x7d, 0x5f, 0x98, 0x9c, 0x32, 0x1a, 0xc0, 0xbb, 0xac, 0x7c, 0x74, 0xaa, 0xcf, 0xc1, 0x65, 0xdc, 0xb0, + 0x89, 0x4f, 0x84, 0x4f, 0x05, 0x56, 0xd2, 0x1a, 0x87, 0x46, 0x74, 0x4c, 0x17, 0x60, 0xb6, 0x01, 0x14, 0xdc, 0x9d, + 0x0f, 0x5b, 0x0b, 0x15, 0x3c, 0xc9, 0x5b, 0x7b, 0x41, 0x9b, 0x10, 0x67, 0xd2, 0x14, 0xdc, 0x6d, 0x17, 0x45, 0x60, + 0x7e, 0xfb, 0x6f, 0x85, 0x45, 0x82, 0x01, 0x95, 0x9a, 0x24, 0x08, 0x4f, 0x50, 0x1a, 0xe9, 0x56, 0x6e, 0x26, 0x90, + 0x4e, 0x44, 0x78, 0xc3, 0xfc, 0x72, 0xeb, 0x7c, 0x75, 0xd4, 0x40, 0x54, 0xd4, 0x40, 0x05, 0xd4, 0x40, 0xd6, 0xb7, + 0x7f, 0x01, 0x0b, 0x61, 0x23, 0x54, 0x89, 0x20, 0x20, 0xc2, 0x42, 0x1b, 0x3e, 0xa0, 0x48, 0x42, 0xc8, 0x1b, 0x40, + 0xc5, 0x94, 0xbc, 0x05, 0xa3, 0x71, 0x78, 0xbd, 0x07, 0xdc, 0x2f, 0x2d, 0xc3, 0xe0, 0x39, 0x05, 0x93, 0xff, 0xcc, + 0xe7, 0x43, 0xf5, 0x72, 0x75, 0x10, 0xc2, 0x4f, 0x20, 0x56, 0x84, 0xe3, 0x2f, 0x7e, 0x06, 0xb2, 0xa9, 0xb0, 0x3c, + 0x3a, 0x92, 0x20, 0xf0, 0x43, 0x14, 0xe1, 0x80, 0x67, 0x78, 0x9b, 0x6d, 0x11, 0x3d, 0x3f, 0x2b, 0x55, 0xcd, 0x4a, + 0x06, 0xb3, 0x2a, 0x3c, 0x8d, 0xa3, 0x1b, 0xc2, 0x40, 0x70, 0xa1, 0x76, 0xdf, 0x20, 0x04, 0xca, 0x96, 0x1b, 0x43, + 0x97, 0x9e, 0x82, 0xf9, 0x68, 0x1c, 0xbd, 0x65, 0xf0, 0xb0, 0xb0, 0x71, 0x47, 0x61, 0x9a, 0x65, 0xda, 0x30, 0x8f, + 0x8d, 0xc0, 0x49, 0x9d, 0xa2, 0xe4, 0xb3, 0xe4, 0x22, 0x8e, 0x9a, 0x57, 0x11, 0x6a, 0xc0, 0xbf, 0x0d, 0x8e, 0x7a, + 0x34, 0xa1, 0xe3, 0xb1, 0x0f, 0x7e, 0x93, 0x11, 0xb3, 0xc9, 0xd6, 0x6b, 0x51, 0x11, 0xf4, 0xc4, 0x6e, 0x30, 0x60, + 0x25, 0x9e, 0x00, 0xfb, 0x60, 0x39, 0x58, 0xf2, 0x4e, 0xc4, 0xca, 0x9f, 0x52, 0x18, 0xac, 0x9e, 0x33, 0x84, 0x70, + 0x16, 0x30, 0x29, 0xff, 0xf9, 0x4c, 0xc3, 0xf5, 0xf3, 0xf3, 0x75, 0x8c, 0x88, 0xf4, 0x41, 0xe4, 0x6a, 0xec, 0x88, + 0x08, 0xc2, 0x96, 0xe9, 0x81, 0x2b, 0xf3, 0x83, 0xb7, 0xae, 0x1e, 0xda, 0x70, 0x71, 0x60, 0x40, 0x8d, 0x02, 0xa3, + 0x15, 0x9c, 0x93, 0x72, 0xe0, 0xa0, 0x84, 0xd0, 0xac, 0x88, 0x67, 0xe4, 0x0a, 0x22, 0xe1, 0x65, 0xa8, 0x07, 0x86, + 0x05, 0x81, 0x04, 0x35, 0x03, 0x09, 0x2a, 0xf3, 0xb5, 0xc7, 0x30, 0xeb, 0xdc, 0xcc, 0x76, 0x86, 0x7a, 0x2e, 0xc8, + 0xcf, 0xcf, 0x3a, 0x1e, 0x03, 0x4b, 0x7b, 0x74, 0x54, 0x40, 0x04, 0x31, 0xa0, 0xe0, 0xa5, 0x04, 0x18, 0x68, 0xc0, + 0x8b, 0x2d, 0x0d, 0xf8, 0x42, 0x1b, 0xaf, 0x03, 0x63, 0xeb, 0x53, 0x06, 0xb9, 0x78, 0x55, 0xed, 0x69, 0x42, 0xc8, + 0x61, 0xab, 0xaf, 0xd3, 0xdd, 0x08, 0x89, 0xfd, 0x8f, 0xda, 0x04, 0x1a, 0x73, 0xa4, 0xbb, 0xda, 0x98, 0x7f, 0xd7, + 0xf4, 0x88, 0xd5, 0x24, 0xa4, 0x0b, 0xd2, 0xe5, 0xf9, 0xb4, 0x57, 0x70, 0xc5, 0x2a, 0x8d, 0x1c, 0x5c, 0x80, 0x3e, + 0x1b, 0x10, 0xa0, 0x40, 0xa5, 0xa9, 0x04, 0x2d, 0xe2, 0x22, 0x29, 0xd9, 0x30, 0xcc, 0x20, 0x4c, 0x61, 0xb5, 0x12, + 0x74, 0x6b, 0x0d, 0x80, 0x77, 0x66, 0xf6, 0x4f, 0xe9, 0x83, 0x4d, 0x37, 0xde, 0x3c, 0x02, 0x08, 0xc8, 0x61, 0xbb, + 0x64, 0xd7, 0xc5, 0x56, 0x65, 0x16, 0xd6, 0x32, 0xb6, 0x72, 0xbb, 0x1e, 0x63, 0xef, 0xc4, 0x2e, 0x9f, 0x00, 0x21, + 0x6a, 0x4b, 0xa6, 0x11, 0x4b, 0x18, 0xb2, 0xae, 0x0d, 0xd9, 0x68, 0x43, 0xe1, 0xa9, 0x44, 0x0e, 0x5c, 0xa2, 0x09, + 0x92, 0xef, 0xb8, 0x04, 0x87, 0xf0, 0xc2, 0x23, 0xfc, 0x57, 0x60, 0x91, 0x0a, 0xcc, 0xb0, 0x5c, 0xaf, 0xa1, 0x9e, + 0xc7, 0xfb, 0x6c, 0x3b, 0x38, 0xa9, 0xdc, 0x1a, 0xbb, 0xb4, 0x13, 0x8f, 0xcb, 0x26, 0x24, 0xce, 0xa0, 0x5f, 0x5f, + 0x11, 0xf5, 0x0f, 0xdb, 0xe9, 0x0b, 0xff, 0x5e, 0x99, 0xdb, 0x81, 0xd8, 0xb0, 0xde, 0x60, 0xf5, 0x01, 0xb4, 0xfc, + 0x73, 0xe6, 0x1f, 0x2a, 0x0b, 0x6e, 0x12, 0xd4, 0xf6, 0x22, 0xf6, 0x58, 0x0f, 0x31, 0x52, 0x5b, 0xdc, 0x3d, 0x42, + 0xfc, 0xe7, 0x9d, 0x28, 0x06, 0x3c, 0xa9, 0xf8, 0xe7, 0x18, 0xf5, 0x20, 0x14, 0xb5, 0xf5, 0xb0, 0x01, 0x4a, 0xbb, + 0xda, 0x54, 0x62, 0x64, 0x48, 0x20, 0xdf, 0xba, 0xf0, 0x82, 0xe6, 0x24, 0x52, 0x20, 0x27, 0x57, 0x5d, 0x3c, 0xca, + 0xb6, 0x84, 0xb9, 0xde, 0x0e, 0x8e, 0x99, 0xab, 0x8d, 0xac, 0x88, 0xdf, 0x01, 0x3b, 0xc3, 0x8d, 0x64, 0xe9, 0xc0, + 0xa7, 0x6a, 0xe0, 0xf3, 0x6b, 0x6e, 0x28, 0x8a, 0x42, 0xfd, 0x77, 0xf6, 0x91, 0x39, 0xf8, 0x9d, 0x06, 0xe2, 0x63, + 0xe6, 0x74, 0x24, 0x5b, 0xa1, 0xd6, 0x9c, 0x1d, 0x2f, 0xdb, 0x8e, 0x30, 0x28, 0x6c, 0xf4, 0xbe, 0x0a, 0x59, 0xc5, + 0xde, 0x4e, 0x45, 0x30, 0xa7, 0x1b, 0x55, 0x39, 0xa7, 0x72, 0xcb, 0xa8, 0x96, 0x9a, 0x06, 0x88, 0x70, 0xe5, 0x13, + 0xc9, 0x87, 0xcc, 0x84, 0x7f, 0x30, 0x18, 0x57, 0x8f, 0x14, 0xfe, 0x61, 0x5f, 0xec, 0x90, 0xdd, 0xe8, 0x70, 0x5b, + 0x41, 0xf3, 0x42, 0x05, 0x0f, 0x38, 0x2a, 0x59, 0x42, 0xa4, 0xc8, 0xd5, 0xa1, 0xaa, 0x99, 0xb2, 0x7d, 0x8a, 0x10, + 0x42, 0xda, 0xe3, 0xac, 0x1b, 0x5a, 0x3d, 0xf4, 0x48, 0xe5, 0x34, 0xb9, 0x43, 0x73, 0x5d, 0x80, 0x0a, 0x23, 0x90, + 0xae, 0xbe, 0xb0, 0xbb, 0x54, 0x42, 0xf4, 0xf2, 0x8d, 0x0b, 0x61, 0xec, 0xac, 0x2c, 0x71, 0x61, 0x46, 0x6d, 0xc3, + 0xe8, 0xba, 0x8d, 0xe1, 0x6c, 0x60, 0xcc, 0x34, 0x28, 0x69, 0x41, 0xa8, 0xeb, 0x1e, 0xbd, 0xcc, 0x4c, 0xa0, 0xc7, + 0x9c, 0xd0, 0x06, 0xc3, 0x33, 0xa2, 0xc1, 0xb2, 0xa9, 0x00, 0x0b, 0xbe, 0x55, 0x91, 0x5a, 0x9b, 0x4d, 0x16, 0x7f, + 0xd4, 0xb1, 0x79, 0xda, 0x2f, 0xaf, 0x98, 0xe7, 0xc2, 0x47, 0x47, 0xc8, 0x7c, 0x3c, 0xba, 0xa7, 0x6f, 0xae, 0x5f, + 0xbc, 0x7c, 0xfd, 0x6a, 0xbd, 0x6e, 0xb3, 0x66, 0xfb, 0x0c, 0xff, 0x43, 0x97, 0xf1, 0x60, 0xcb, 0x28, 0x40, 0x47, + 0x47, 0x87, 0xdc, 0xb8, 0xf0, 0x7c, 0xe1, 0x0b, 0x88, 0x1b, 0xa4, 0x87, 0x38, 0x2f, 0xca, 0x98, 0x20, 0xb7, 0x51, + 0x3f, 0xba, 0x8b, 0x40, 0x09, 0x55, 0x91, 0xbf, 0xdf, 0xb6, 0x67, 0x7f, 0x00, 0x81, 0x89, 0xa0, 0x3e, 0x44, 0x00, + 0x81, 0x78, 0xa5, 0xb8, 0x20, 0xcc, 0x27, 0x40, 0x14, 0xef, 0x09, 0x70, 0xa6, 0x26, 0x6a, 0xd5, 0x44, 0xc5, 0x05, + 0x90, 0x44, 0x1b, 0x8e, 0x92, 0x9e, 0x98, 0x00, 0xde, 0x10, 0x94, 0xd2, 0xfe, 0xea, 0xe5, 0xce, 0x5d, 0x2a, 0x47, + 0xfd, 0x56, 0x9a, 0xe3, 0x99, 0xfb, 0x9c, 0xc1, 0xe7, 0xac, 0xe7, 0x4f, 0x07, 0x71, 0x9c, 0xe3, 0x25, 0x11, 0xc7, + 0xfe, 0x59, 0xc4, 0xd5, 0xa2, 0x60, 0x5f, 0xb9, 0x5c, 0xaa, 0x74, 0x75, 0x9b, 0xca, 0xe4, 0xb6, 0x39, 0x3e, 0x8e, + 0x8b, 0xe4, 0xb6, 0xa9, 0x92, 0x5b, 0x84, 0xef, 0x52, 0x99, 0xdc, 0xd9, 0x94, 0xbb, 0xa6, 0x82, 0x9b, 0x2f, 0x2c, + 0xe0, 0x50, 0xb4, 0x45, 0x1b, 0xcb, 0xed, 0xa2, 0x36, 0xc5, 0x15, 0x0d, 0xa3, 0x29, 0xee, 0xd9, 0xf8, 0x61, 0xf8, + 0x12, 0x5c, 0x9a, 0x34, 0x91, 0x7f, 0x80, 0xf4, 0xd3, 0xaa, 0x0c, 0xdc, 0x67, 0xa4, 0xd5, 0x9b, 0x5d, 0x8a, 0x66, + 0xbb, 0xd7, 0x68, 0xcc, 0x60, 0xef, 0x66, 0x24, 0xf7, 0xc5, 0x66, 0x0d, 0x13, 0x5f, 0xe7, 0x30, 0x5b, 0xaf, 0x0f, + 0x73, 0x64, 0x36, 0xdc, 0x94, 0xc5, 0x7a, 0x30, 0x1b, 0xe2, 0x16, 0x7e, 0x9f, 0x21, 0xb4, 0x62, 0x83, 0xd9, 0x90, + 0xb0, 0xc1, 0xac, 0xd1, 0x1e, 0x5a, 0x43, 0x3b, 0xb3, 0x15, 0x37, 0x10, 0x42, 0x73, 0x36, 0x3c, 0x31, 0x25, 0xa5, + 0xcb, 0xb7, 0x5f, 0xb4, 0x0a, 0xe8, 0xa7, 0x6a, 0xc1, 0xcb, 0x24, 0xee, 0x40, 0x5f, 0xf4, 0xd2, 0x3e, 0xdd, 0x5a, + 0x90, 0xd3, 0x93, 0xca, 0xd5, 0x9e, 0x22, 0x6c, 0x7a, 0x52, 0xc7, 0xc5, 0xb1, 0x69, 0xc6, 0x75, 0x29, 0xdd, 0x77, + 0xa8, 0x19, 0xf9, 0xcb, 0xc1, 0x02, 0x10, 0xa4, 0x82, 0x47, 0x5e, 0xb8, 0x70, 0x4a, 0x21, 0x5c, 0x1c, 0x54, 0x76, + 0x60, 0x92, 0x93, 0x56, 0x2f, 0x37, 0x96, 0xfe, 0xb9, 0x8b, 0x68, 0x4a, 0x31, 0x25, 0x99, 0x2f, 0x99, 0x1b, 0xb0, + 0xd0, 0x6d, 0xca, 0x33, 0x03, 0xbd, 0xd2, 0x10, 0x8f, 0x09, 0xc4, 0x43, 0xea, 0x15, 0xc6, 0xc0, 0x2b, 0x9e, 0x35, + 0x8b, 0x01, 0x1b, 0xa2, 0x93, 0x53, 0x4c, 0x07, 0x7f, 0x66, 0x8b, 0x36, 0x3c, 0x16, 0xf8, 0xe7, 0x90, 0xcc, 0x9a, + 0xb2, 0x4c, 0x10, 0x90, 0x30, 0x6e, 0xca, 0x63, 0xd8, 0x4b, 0x08, 0x67, 0xb6, 0x62, 0x36, 0x60, 0xc3, 0xe6, 0xac, + 0xac, 0xd8, 0xf1, 0x15, 0x1b, 0xb2, 0x4c, 0xb0, 0x15, 0x1b, 0xae, 0x62, 0xf8, 0x3a, 0x83, 0x01, 0x41, 0x08, 0x00, + 0x06, 0x00, 0xd0, 0x28, 0x88, 0xe6, 0x8b, 0x15, 0xf1, 0x9b, 0xdd, 0xde, 0xe3, 0xb7, 0xc0, 0x02, 0xad, 0xb6, 0xff, + 0xf7, 0xa1, 0x0c, 0xd8, 0x53, 0x16, 0x26, 0x66, 0x6e, 0x61, 0x55, 0x74, 0x00, 0x95, 0x12, 0x61, 0x0a, 0x03, 0x99, + 0xc3, 0xcc, 0x40, 0x2d, 0xd0, 0x1a, 0xe4, 0x03, 0x3d, 0x6c, 0x66, 0x70, 0xc4, 0xc0, 0x3b, 0x34, 0x64, 0x66, 0x8c, + 0x09, 0xe3, 0x1c, 0xa6, 0x98, 0x19, 0xf0, 0xcc, 0xd2, 0xd6, 0x46, 0x1a, 0x59, 0xae, 0x9f, 0xf7, 0xff, 0xd2, 0xb1, + 0x1a, 0x14, 0xcd, 0xf6, 0x10, 0x1d, 0x12, 0x62, 0x3f, 0x86, 0xb0, 0xc9, 0x5c, 0x6a, 0xc3, 0x7c, 0x9f, 0x74, 0x52, + 0xfb, 0x09, 0x7f, 0x86, 0x1b, 0xb3, 0x03, 0x40, 0x47, 0x86, 0xcd, 0xfa, 0xcb, 0x9a, 0xca, 0xeb, 0xe3, 0xde, 0x28, + 0x95, 0xfb, 0xde, 0x9d, 0x0e, 0x54, 0x13, 0xa1, 0xb7, 0x1e, 0x2e, 0x1f, 0xea, 0x21, 0x60, 0xc6, 0x60, 0x6e, 0x99, + 0xd1, 0xf7, 0x42, 0x24, 0x17, 0x44, 0x02, 0x4b, 0x82, 0x29, 0x61, 0xb0, 0xb7, 0x8e, 0x8e, 0x4c, 0x35, 0xd6, 0x80, + 0xe7, 0x49, 0x11, 0x08, 0x06, 0x3e, 0x82, 0x32, 0xa0, 0x89, 0x32, 0xb7, 0xe1, 0xe4, 0x23, 0x73, 0xbf, 0x70, 0x79, + 0xfb, 0x58, 0x38, 0x6d, 0xab, 0xb9, 0x1e, 0x2f, 0x0b, 0xdc, 0x95, 0xf7, 0x92, 0x56, 0xc1, 0x8d, 0xec, 0x4d, 0x9e, + 0x32, 0x77, 0xeb, 0xbe, 0x54, 0x67, 0x7f, 0x33, 0x9d, 0xb2, 0x99, 0xce, 0x6e, 0x33, 0x61, 0x5c, 0xc9, 0x6f, 0x59, + 0x45, 0x9a, 0x93, 0x35, 0x51, 0x0b, 0x2a, 0xfe, 0x41, 0x17, 0xa0, 0x1d, 0xe5, 0xf6, 0x5e, 0x15, 0x4e, 0xae, 0x9c, + 0x5c, 0x1d, 0xe6, 0x86, 0xb8, 0x22, 0x73, 0xa1, 0x0e, 0x01, 0x5e, 0x5e, 0x94, 0x8f, 0x0f, 0x70, 0x29, 0x7e, 0x91, + 0x63, 0x17, 0xe5, 0x54, 0x48, 0x2d, 0x05, 0x8b, 0x90, 0x41, 0x55, 0x17, 0x03, 0x7b, 0x65, 0xf7, 0x9e, 0xe8, 0xf3, + 0x41, 0x15, 0x31, 0x6f, 0x68, 0x9e, 0xfb, 0xf8, 0x9e, 0xa6, 0xd8, 0xa9, 0x89, 0x33, 0xf2, 0x5b, 0x16, 0xe7, 0x20, + 0x9b, 0x0d, 0xaa, 0xd7, 0x7e, 0x1b, 0x6d, 0x5c, 0x34, 0x63, 0xd1, 0x37, 0x4f, 0x9c, 0xfc, 0x50, 0x18, 0xe3, 0x00, + 0xeb, 0xe8, 0x8f, 0x30, 0xb5, 0x60, 0xcf, 0x12, 0x4f, 0xa1, 0x93, 0x5b, 0x9b, 0x76, 0x17, 0xa6, 0xdd, 0x99, 0xb4, + 0x0e, 0x94, 0x03, 0xd2, 0xec, 0xca, 0x74, 0xee, 0xfc, 0xf7, 0x1d, 0xbc, 0x74, 0xbb, 0x81, 0x48, 0xdc, 0x8b, 0x47, + 0xc6, 0x18, 0xe2, 0x0d, 0xd8, 0x88, 0xaa, 0xa3, 0xa3, 0x9f, 0x9d, 0xf7, 0x6d, 0x25, 0xcb, 0x7e, 0x2b, 0x1c, 0xd8, + 0x16, 0x53, 0xe9, 0xf2, 0xc6, 0x32, 0x5b, 0x82, 0x5d, 0xe7, 0xe1, 0x37, 0xe2, 0xe1, 0x8b, 0x90, 0x69, 0xb1, 0xae, + 0xe2, 0xaf, 0xe4, 0xb8, 0xf4, 0x10, 0xd5, 0x10, 0x81, 0xb4, 0xb2, 0x2e, 0x0d, 0x4d, 0x47, 0xaf, 0x67, 0x74, 0x2c, + 0x6f, 0xde, 0x4a, 0xa9, 0x87, 0xf6, 0x45, 0x6e, 0x9d, 0xc0, 0xa3, 0x85, 0x35, 0x86, 0xe6, 0xae, 0xf4, 0x4e, 0xb2, + 0x01, 0x51, 0xeb, 0xe3, 0x0e, 0x25, 0x91, 0x58, 0x54, 0x77, 0x21, 0x1c, 0xee, 0x42, 0x30, 0x2f, 0x83, 0xb6, 0x41, + 0xec, 0x76, 0x17, 0xb4, 0x0d, 0x9c, 0xba, 0x6d, 0xe0, 0xf6, 0x60, 0xb0, 0xb0, 0xf7, 0xe1, 0xe5, 0x58, 0x8e, 0x85, + 0xe3, 0x0f, 0xee, 0xd9, 0x07, 0x80, 0x40, 0xed, 0xc3, 0x8a, 0x27, 0x0e, 0x04, 0x89, 0x33, 0x1c, 0xfd, 0xc0, 0xd9, + 0x8d, 0xb5, 0x1c, 0x9e, 0x2f, 0x96, 0x9a, 0x8d, 0xcd, 0x1d, 0x35, 0xa8, 0xf8, 0xea, 0x7e, 0x5e, 0xbf, 0x66, 0x35, + 0xdd, 0xf8, 0x3d, 0x08, 0x23, 0xe1, 0x94, 0x1d, 0x46, 0x21, 0x61, 0x83, 0x59, 0x95, 0xf1, 0xda, 0x7e, 0x87, 0x78, + 0x0f, 0xda, 0x84, 0x13, 0x2c, 0x6a, 0x17, 0x54, 0x11, 0xb6, 0xf1, 0xc6, 0x82, 0x28, 0x0f, 0x6f, 0x76, 0x8c, 0xa6, + 0x57, 0x1b, 0x08, 0x74, 0xdc, 0x8f, 0x9a, 0x51, 0x83, 0xa5, 0x2e, 0x28, 0xb3, 0x8f, 0x30, 0xae, 0x2e, 0xcf, 0x4c, + 0x9c, 0xf6, 0x52, 0xaf, 0xfe, 0x7b, 0x06, 0x06, 0xf8, 0x02, 0xbc, 0xc4, 0xc2, 0xe8, 0xae, 0x03, 0xdd, 0x80, 0xfa, + 0xb2, 0xc1, 0x86, 0x68, 0xbd, 0x6e, 0x95, 0xcf, 0x40, 0xb9, 0x6b, 0x2e, 0x61, 0xaf, 0xb9, 0x84, 0xbb, 0xe6, 0x12, + 0xfe, 0x9a, 0x4b, 0x98, 0x6b, 0x2e, 0xe1, 0xaf, 0xb9, 0x3c, 0x08, 0x7f, 0x0a, 0xe2, 0x38, 0xc6, 0x1c, 0xe2, 0x2a, + 0x6a, 0x1b, 0x19, 0x0f, 0x2e, 0x3c, 0x0f, 0x59, 0xa2, 0xca, 0xe5, 0x0f, 0x63, 0xc8, 0xe5, 0xdb, 0xb6, 0x12, 0xc6, + 0x6d, 0x8a, 0x29, 0x88, 0x9c, 0x7e, 0x74, 0x54, 0xb9, 0x3b, 0x0f, 0x5a, 0xc3, 0x94, 0xe3, 0x95, 0x75, 0xa2, 0xfd, + 0x27, 0xe8, 0xe4, 0xcd, 0xaf, 0x8f, 0xa9, 0xdc, 0x10, 0xe1, 0x4c, 0xee, 0x0f, 0xdb, 0x9e, 0x52, 0xfc, 0x94, 0x99, + 0xf0, 0xe4, 0x3c, 0xd1, 0x46, 0x04, 0x41, 0x88, 0x12, 0xf5, 0xff, 0xb2, 0xf7, 0xae, 0xcb, 0x6d, 0x23, 0x59, 0xba, + 0xe8, 0xab, 0x48, 0x0c, 0x9b, 0x05, 0x98, 0x49, 0x8a, 0xf2, 0xde, 0x33, 0x11, 0x07, 0x54, 0x9a, 0xe1, 0x4b, 0xb9, + 0xcb, 0x5d, 0xe5, 0x4b, 0x5b, 0xae, 0x6a, 0x57, 0x33, 0x78, 0x54, 0x10, 0x90, 0x24, 0xe0, 0x02, 0x01, 0x16, 0x00, + 0x4a, 0xa4, 0x49, 0xbc, 0xfb, 0x8e, 0xb5, 0x56, 0x5e, 0x41, 0x50, 0x76, 0xcf, 0xec, 0xf9, 0x75, 0xce, 0x1f, 0x5b, + 0x4c, 0x24, 0x12, 0x79, 0xcf, 0x95, 0xeb, 0xf2, 0x7d, 0x2c, 0xe2, 0x05, 0xad, 0x77, 0x15, 0x0a, 0x8f, 0xaa, 0x28, + 0xe5, 0x56, 0xf2, 0x32, 0x83, 0x20, 0x76, 0xf4, 0xc2, 0xf0, 0x27, 0x10, 0x42, 0x10, 0x61, 0xc2, 0xe7, 0x61, 0x46, + 0xdb, 0x59, 0xa4, 0x93, 0x7e, 0x1f, 0x66, 0xb8, 0x81, 0x95, 0xfc, 0x5c, 0xf5, 0xd9, 0x7e, 0x1b, 0x84, 0x6c, 0x17, + 0x44, 0xec, 0xb6, 0xd8, 0x06, 0xa5, 0x75, 0x24, 0x5e, 0x2b, 0xc3, 0xdf, 0xc2, 0xeb, 0xe5, 0x21, 0xc4, 0xfb, 0xf4, + 0xd2, 0xfc, 0x2c, 0x6d, 0x45, 0x01, 0xee, 0x23, 0xf4, 0xa8, 0x0e, 0x04, 0x3b, 0xe1, 0x09, 0x0f, 0xe0, 0x64, 0x35, + 0xab, 0xf8, 0xa3, 0x14, 0xc4, 0x89, 0x82, 0x43, 0xc0, 0xd5, 0xf6, 0x3a, 0xfd, 0x0a, 0x86, 0x2f, 0x1d, 0x6c, 0x39, + 0xbc, 0x2d, 0xb6, 0x3d, 0x56, 0xf2, 0x0f, 0xc0, 0xbe, 0xd5, 0x93, 0xb1, 0xba, 0x3d, 0x70, 0xd6, 0xa5, 0x14, 0x1d, + 0x6f, 0x8a, 0xc3, 0xdb, 0xf3, 0xd9, 0x7e, 0x1b, 0x44, 0x6c, 0x17, 0x64, 0x58, 0xeb, 0xa4, 0xe1, 0x38, 0x18, 0xc2, + 0x67, 0x31, 0xc2, 0xfe, 0x2f, 0xea, 0x81, 0x97, 0x90, 0x1a, 0x0a, 0x5c, 0x0c, 0x36, 0x1c, 0xad, 0xed, 0x32, 0x0d, + 0xdc, 0xd4, 0xa0, 0xd7, 0xf7, 0x14, 0xa2, 0xbc, 0x60, 0x34, 0x37, 0x82, 0x75, 0x63, 0xc8, 0xc5, 0xe1, 0xb8, 0x59, + 0x0c, 0x79, 0x49, 0xd3, 0x69, 0x10, 0x4a, 0x77, 0x96, 0x35, 0x24, 0x51, 0xf6, 0x41, 0xa8, 0x5d, 0x5b, 0xf6, 0xdb, + 0xc0, 0xf6, 0xe5, 0x8f, 0x86, 0xb1, 0x7f, 0xb1, 0x78, 0x22, 0xa4, 0x8b, 0x78, 0x0e, 0x82, 0xa8, 0xfd, 0x3c, 0x1b, + 0x6e, 0xfc, 0x8b, 0xf5, 0x13, 0xa1, 0xfc, 0xc6, 0x73, 0x5b, 0x0e, 0x11, 0x59, 0x0b, 0x5f, 0x18, 0x0f, 0x0f, 0xae, + 0x0c, 0x6d, 0x87, 0x83, 0xd0, 0x7f, 0x9b, 0x35, 0x82, 0x1b, 0x1b, 0xda, 0xe7, 0x0b, 0x1f, 0xb6, 0x36, 0x1a, 0x6b, + 0x8a, 0xe9, 0x16, 0xfa, 0x37, 0x99, 0x2d, 0xed, 0x69, 0x54, 0xf2, 0xe2, 0xd4, 0x34, 0x62, 0x21, 0x0c, 0x18, 0xfa, + 0xc9, 0x7c, 0x00, 0xd5, 0xdc, 0xf1, 0x08, 0x64, 0xf2, 0x81, 0x1e, 0xac, 0x49, 0xad, 0xfa, 0x6b, 0x98, 0xc9, 0xff, + 0x23, 0x15, 0x16, 0xa3, 0xbb, 0x6d, 0x98, 0xa9, 0x3f, 0x22, 0xf9, 0x07, 0xcb, 0xf9, 0x2e, 0xf5, 0x42, 0xed, 0xc7, + 0xc2, 0x0a, 0x0c, 0x4a, 0x54, 0x0d, 0xe8, 0x81, 0x08, 0xaa, 0x32, 0x48, 0x33, 0xac, 0xce, 0x41, 0xbf, 0x7b, 0x5a, + 0x75, 0x24, 0x87, 0xb4, 0x56, 0x43, 0x2a, 0x98, 0x2a, 0x35, 0xc8, 0x0f, 0x87, 0x65, 0xca, 0x74, 0x19, 0x70, 0x49, + 0x5f, 0xa6, 0x4a, 0x29, 0xfc, 0x17, 0x02, 0xd0, 0x39, 0xb8, 0xc7, 0x97, 0x63, 0x20, 0xcd, 0xb0, 0xf0, 0x5b, 0xb3, + 0xe3, 0x6b, 0x12, 0x6e, 0x93, 0xe0, 0x62, 0x80, 0x73, 0x74, 0x15, 0x96, 0xcb, 0x14, 0x22, 0xa8, 0x4a, 0xa8, 0x6f, + 0x65, 0x1a, 0x94, 0xb6, 0x1a, 0x84, 0x35, 0x09, 0x75, 0x26, 0xd9, 0xa8, 0xb4, 0xdd, 0x28, 0xcc, 0x16, 0x71, 0x3d, + 0x23, 0xac, 0x39, 0x9b, 0xa9, 0x06, 0x26, 0x0d, 0xc7, 0x4d, 0xa3, 0xb5, 0xa8, 0x50, 0x53, 0x98, 0xd7, 0xb8, 0xaa, + 0x54, 0x75, 0x37, 0xa7, 0x96, 0xd2, 0xa2, 0xbd, 0xea, 0x26, 0xd9, 0x90, 0xcb, 0x50, 0x86, 0xc1, 0x46, 0x8e, 0x60, + 0x02, 0x49, 0x72, 0xe6, 0x6f, 0xe4, 0x1f, 0x6a, 0xd3, 0xb5, 0x80, 0x39, 0xc6, 0x2c, 0x1b, 0x16, 0xf4, 0x0a, 0xdc, + 0x03, 0xad, 0xf4, 0x7c, 0x9a, 0x5d, 0xe4, 0x41, 0x32, 0x2c, 0xf4, 0xb2, 0xc9, 0xf8, 0x5f, 0xc2, 0x48, 0x93, 0x19, + 0x2b, 0x59, 0x64, 0xbb, 0x3a, 0x25, 0xce, 0xe3, 0x04, 0xb6, 0x47, 0xd3, 0x5b, 0xbe, 0xcf, 0x20, 0x2a, 0x08, 0x14, + 0xcc, 0x98, 0x2f, 0xbb, 0x78, 0xea, 0xfb, 0xcc, 0x32, 0x75, 0x1f, 0x0e, 0xc6, 0x8c, 0xed, 0xf7, 0xfb, 0x79, 0xbf, + 0xaf, 0xe6, 0x5b, 0xbf, 0x9f, 0x3c, 0x33, 0x7f, 0x7b, 0xc0, 0xa0, 0x20, 0x27, 0xa2, 0xa9, 0x10, 0xc1, 0x3f, 0x24, + 0x4f, 0x90, 0x8c, 0xee, 0xb8, 0xcf, 0x2d, 0x67, 0xcb, 0xea, 0x08, 0x04, 0xf3, 0x70, 0xb8, 0x54, 0x60, 0xd7, 0x12, + 0x45, 0x42, 0x96, 0xff, 0x04, 0x8c, 0x67, 0xee, 0x03, 0x2c, 0x19, 0x80, 0xb0, 0x55, 0x9e, 0xae, 0xf7, 0x7c, 0x15, + 0xbc, 0xd3, 0xf1, 0xae, 0xb1, 0x22, 0x03, 0x71, 0x0b, 0x6c, 0xc4, 0x5a, 0x7b, 0x40, 0xce, 0x14, 0xe0, 0x78, 0x71, + 0x38, 0x9c, 0xcb, 0x5f, 0xba, 0xd9, 0x3a, 0x81, 0x4a, 0x81, 0xdb, 0xa3, 0x93, 0x83, 0xff, 0x01, 0x34, 0x83, 0x72, + 0x98, 0xd7, 0xdb, 0x3f, 0x98, 0x93, 0x9f, 0x9e, 0xe2, 0x9f, 0xf0, 0x10, 0x9d, 0x7e, 0xbb, 0x37, 0x7f, 0x50, 0x54, + 0x1e, 0x0e, 0x6a, 0xf1, 0x9f, 0x73, 0x5e, 0xc1, 0x2f, 0x7c, 0x13, 0x98, 0x4d, 0xa6, 0xde, 0xc9, 0x37, 0x79, 0xce, + 0xd4, 0x6b, 0xbc, 0x62, 0xf2, 0x1d, 0x0e, 0xe7, 0x62, 0x54, 0x6f, 0x47, 0x4e, 0xb4, 0x53, 0x8e, 0x71, 0x30, 0xf8, + 0x2f, 0xa2, 0x6d, 0x42, 0x80, 0xa1, 0x1c, 0x8e, 0xcc, 0xc6, 0x95, 0x25, 0x9e, 0xa5, 0xf3, 0xcb, 0x49, 0x5d, 0xee, + 0xb4, 0xe2, 0x69, 0x0f, 0x2c, 0x6e, 0x6b, 0xf0, 0x02, 0xb8, 0xb3, 0xd8, 0xba, 0x52, 0x70, 0xb8, 0x80, 0x38, 0xc5, + 0x09, 0x88, 0xa0, 0xfd, 0xbe, 0xc4, 0x7b, 0x05, 0x7d, 0xd2, 0x8f, 0x10, 0x0c, 0xf9, 0x8b, 0x04, 0xdc, 0xf5, 0x7a, + 0x35, 0xc6, 0xf7, 0x52, 0x08, 0xae, 0xcf, 0x34, 0x00, 0x2d, 0xf8, 0x5d, 0x3e, 0x94, 0xd3, 0x6f, 0x22, 0xf0, 0x6c, + 0xd9, 0x9b, 0x28, 0x77, 0x1b, 0x9e, 0xf6, 0xba, 0x85, 0x00, 0x2c, 0xc5, 0x33, 0x25, 0x58, 0x90, 0x53, 0xcc, 0xc5, + 0xff, 0x0b, 0x3e, 0x62, 0xbe, 0x27, 0x5d, 0xc4, 0xd6, 0xdb, 0x47, 0x17, 0x06, 0x12, 0x68, 0x3a, 0x00, 0x3f, 0x5e, + 0x05, 0x74, 0x65, 0xfc, 0x3b, 0x2d, 0xeb, 0xb1, 0x3e, 0xfe, 0x53, 0x70, 0x9f, 0x7e, 0xa2, 0xf0, 0xd1, 0xe1, 0xb8, + 0x4a, 0x47, 0x3b, 0x4a, 0x41, 0x74, 0x74, 0xfb, 0x7c, 0xaa, 0xb2, 0xef, 0x2a, 0x20, 0xb7, 0x1c, 0xb5, 0xa7, 0x02, + 0xb0, 0xd8, 0xd2, 0x11, 0xf8, 0x34, 0xcb, 0x27, 0xe4, 0x7b, 0x3d, 0x15, 0x57, 0x97, 0x3a, 0x5d, 0x3c, 0x1b, 0x4f, + 0xe1, 0x7f, 0x20, 0xf6, 0xb0, 0x4c, 0x91, 0x1d, 0xbb, 0x2e, 0x7e, 0x10, 0x6f, 0x6b, 0x3b, 0xfa, 0x63, 0x07, 0x91, + 0x8e, 0x7b, 0x72, 0xa1, 0xbe, 0x84, 0x54, 0x72, 0xa1, 0x6e, 0x20, 0x76, 0xa1, 0xc6, 0x3b, 0x2e, 0x62, 0xad, 0xbf, + 0xad, 0x51, 0xb0, 0x12, 0x70, 0xa6, 0xbd, 0x05, 0x83, 0x0d, 0xac, 0x5b, 0x96, 0xc1, 0xdf, 0x70, 0x4d, 0x13, 0xb8, + 0x61, 0x91, 0xf5, 0xde, 0x60, 0x2b, 0xbd, 0x05, 0x47, 0xcb, 0xc4, 0xb9, 0x94, 0x24, 0x65, 0x8b, 0x8c, 0xab, 0x47, + 0x21, 0x55, 0xd3, 0xfd, 0xad, 0xa8, 0xef, 0x85, 0xc8, 0x83, 0x55, 0xca, 0xa2, 0x62, 0x05, 0x32, 0x7b, 0xf0, 0xaf, + 0x90, 0x91, 0xa3, 0x1c, 0x38, 0x0a, 0xfd, 0xa3, 0x09, 0x74, 0x9e, 0x3a, 0xd2, 0x79, 0x24, 0xd8, 0x4a, 0x3d, 0x14, + 0x56, 0x5e, 0x40, 0x74, 0xb0, 0x1d, 0x73, 0x2b, 0x4f, 0x42, 0xc5, 0xa6, 0x4c, 0xe4, 0x71, 0x50, 0x4b, 0xc0, 0x58, + 0x41, 0x30, 0x67, 0xb9, 0x74, 0x41, 0xaa, 0x1a, 0x3d, 0x2c, 0x32, 0xf7, 0x63, 0x41, 0xf9, 0x1f, 0xab, 0x9c, 0x70, + 0x7d, 0x19, 0x02, 0x1c, 0xed, 0x63, 0x10, 0x25, 0xc6, 0xfa, 0x45, 0x8b, 0x77, 0x32, 0x73, 0x36, 0xb5, 0xbd, 0x04, + 0x19, 0xdb, 0xe1, 0x57, 0x08, 0xad, 0x16, 0x8a, 0x2c, 0x1a, 0x2e, 0x98, 0x6e, 0x4f, 0x69, 0xd5, 0x3d, 0x6c, 0x78, + 0x52, 0x7a, 0xa8, 0xd4, 0xb7, 0x31, 0x81, 0x65, 0x95, 0x32, 0x7c, 0x3b, 0xa1, 0xea, 0xc4, 0xa0, 0x62, 0xdd, 0xb0, + 0x05, 0x1c, 0x62, 0x31, 0x69, 0xac, 0xb3, 0x01, 0x8f, 0x58, 0x02, 0xff, 0x6c, 0xf8, 0x98, 0x2d, 0x78, 0x34, 0xd9, + 0x5c, 0x2d, 0xfa, 0xfd, 0xd2, 0x0b, 0xbd, 0x7a, 0x96, 0x3d, 0x8e, 0xe6, 0xb3, 0x7c, 0xee, 0xa3, 0xe2, 0x62, 0x32, + 0x18, 0x6c, 0xfc, 0x6c, 0x38, 0x64, 0xc9, 0x70, 0x38, 0xc9, 0x1e, 0xc3, 0x6b, 0x8f, 0x79, 0xa4, 0x96, 0x54, 0x72, + 0x95, 0xc1, 0xfe, 0x3e, 0xe0, 0x91, 0xcf, 0x3a, 0x3f, 0x2d, 0x9b, 0x2e, 0xdd, 0xcf, 0xec, 0xb8, 0x0b, 0xdd, 0x01, + 0x36, 0xde, 0x36, 0xe8, 0xc8, 0xbf, 0xdd, 0x21, 0xa5, 0x6e, 0x32, 0x00, 0xbb, 0xd1, 0x00, 0x87, 0x4c, 0xf5, 0x52, + 0x64, 0xf5, 0x52, 0xa6, 0x7a, 0x49, 0x56, 0x2e, 0xc1, 0x42, 0x62, 0xaa, 0xdc, 0x46, 0x56, 0x6e, 0xd1, 0x70, 0x3d, + 0x1c, 0x6c, 0xad, 0xb8, 0x6c, 0x96, 0x70, 0x5f, 0x58, 0x51, 0xe0, 0xff, 0x2d, 0xbb, 0x61, 0x77, 0xf2, 0x18, 0x78, + 0x8b, 0x8e, 0x49, 0x70, 0x81, 0xb8, 0x63, 0xb7, 0x60, 0x87, 0x85, 0xbf, 0xe0, 0x3a, 0x39, 0x66, 0x3b, 0x7c, 0x14, + 0x7a, 0x05, 0xbb, 0xf5, 0x09, 0x68, 0x17, 0x6c, 0x0d, 0x90, 0x8d, 0x6d, 0xf1, 0xd1, 0xf2, 0x70, 0x78, 0xeb, 0xf9, + 0xec, 0x1e, 0x7f, 0x9c, 0x2f, 0x0f, 0x87, 0x9d, 0x67, 0xd4, 0x7b, 0xd7, 0x3c, 0x61, 0xef, 0x79, 0x32, 0xb9, 0xbe, + 0xe2, 0xf1, 0x64, 0x30, 0xb8, 0xf6, 0x6f, 0x78, 0x3d, 0xbb, 0x06, 0xed, 0xc0, 0xf9, 0x8d, 0xd4, 0x35, 0x7b, 0xb7, + 0x3c, 0xf3, 0x6e, 0x70, 0x6c, 0x6e, 0xe1, 0xe8, 0xed, 0xf7, 0xbd, 0x25, 0x8f, 0xbc, 0x5b, 0x52, 0x31, 0xad, 0xb8, + 0xe2, 0x78, 0xdb, 0xe2, 0x7e, 0xba, 0xe2, 0x21, 0x3c, 0xc2, 0xaa, 0x4c, 0xaf, 0x83, 0xf7, 0x3e, 0x5b, 0x69, 0x16, + 0xb8, 0x7b, 0xcc, 0xb1, 0x26, 0x3b, 0xa1, 0x99, 0xf8, 0x2b, 0xec, 0x9f, 0x6b, 0xd5, 0x3f, 0x34, 0xff, 0x4b, 0xdd, + 0x4f, 0xe0, 0xf6, 0x45, 0x16, 0x24, 0xf6, 0x9e, 0x5f, 0xb3, 0x3b, 0x6e, 0xd8, 0x66, 0xcf, 0x4c, 0xd9, 0x27, 0x4a, + 0x8d, 0x1f, 0x28, 0x75, 0x6d, 0x19, 0x56, 0x5a, 0x57, 0x3e, 0x04, 0x0e, 0x07, 0xe4, 0xa7, 0x25, 0xe2, 0x20, 0xb4, + 0x6e, 0xb2, 0x9a, 0x2b, 0xca, 0xb9, 0xd0, 0x86, 0x99, 0x97, 0x03, 0x8b, 0x59, 0x4a, 0xa1, 0xb1, 0x00, 0x40, 0x30, + 0x29, 0xb4, 0xf6, 0x5e, 0x06, 0x90, 0x13, 0x34, 0xfc, 0xb1, 0xb9, 0x2a, 0xcb, 0x5a, 0xb6, 0x24, 0x44, 0xd9, 0xae, + 0x87, 0x97, 0x08, 0x99, 0xd6, 0xef, 0x9f, 0x13, 0xc9, 0xda, 0xa4, 0xba, 0xaa, 0xd1, 0x12, 0x50, 0x91, 0x25, 0x60, + 0xe2, 0x57, 0x9a, 0x4f, 0x00, 0x9e, 0x74, 0x3c, 0xa8, 0x1e, 0xf3, 0x9a, 0x09, 0x22, 0xdb, 0xa8, 0xfc, 0x49, 0xf1, + 0x0c, 0xc9, 0x08, 0x8a, 0xc7, 0xb5, 0xca, 0x58, 0x18, 0xe6, 0x81, 0x02, 0xf2, 0xee, 0xdd, 0xa9, 0x6f, 0xed, 0x8f, + 0x1d, 0x7b, 0xb6, 0x56, 0xa1, 0x16, 0x6a, 0x0a, 0x97, 0x1c, 0xa2, 0x2b, 0xd0, 0x40, 0x11, 0xc9, 0x78, 0xf2, 0x7a, + 0x70, 0x39, 0x89, 0xae, 0xb8, 0x40, 0x67, 0x7c, 0x7d, 0xd3, 0x4d, 0x67, 0xd1, 0xe3, 0x6a, 0x3e, 0x21, 0x25, 0xd9, + 0xe1, 0x90, 0x8d, 0xaa, 0xba, 0x58, 0x4f, 0x43, 0xf9, 0xd3, 0x43, 0xf0, 0xf5, 0x82, 0x7a, 0x4d, 0x56, 0xa9, 0x7e, + 0x4c, 0x95, 0xf2, 0xa2, 0xe1, 0xa5, 0xff, 0xb8, 0x92, 0xfb, 0x1e, 0x90, 0xd6, 0xf2, 0x92, 0xcb, 0xf7, 0x23, 0xc4, + 0x18, 0xf1, 0x03, 0xaf, 0xe4, 0x11, 0x0b, 0xd5, 0x14, 0xae, 0x79, 0x84, 0x20, 0x6f, 0x99, 0x0e, 0xfe, 0xd6, 0x13, + 0xa7, 0xfb, 0x13, 0xa5, 0x5d, 0x7c, 0x61, 0x51, 0xf7, 0x1c, 0xe9, 0x06, 0xe4, 0x60, 0xc3, 0x74, 0x51, 0x90, 0x6d, + 0x4a, 0x23, 0x68, 0xa3, 0xe5, 0xc0, 0x86, 0x53, 0xa9, 0x0d, 0x67, 0xae, 0x21, 0xb8, 0xcf, 0xcf, 0xd3, 0xd1, 0x0d, + 0x7c, 0x48, 0x75, 0x7b, 0x89, 0x9f, 0x0f, 0x1b, 0x8e, 0x64, 0x76, 0xc4, 0x67, 0x36, 0x91, 0x74, 0x52, 0xe7, 0x0a, + 0xd8, 0xed, 0xec, 0x25, 0xc8, 0x11, 0x33, 0xf7, 0x15, 0xaa, 0x6f, 0xd1, 0x80, 0x2b, 0x63, 0xed, 0x6b, 0x92, 0xb1, + 0xf0, 0xaa, 0x9c, 0x86, 0x03, 0x80, 0xa1, 0xcb, 0xe8, 0x6b, 0x8b, 0x4d, 0x96, 0xfd, 0x52, 0x40, 0x10, 0x44, 0x49, + 0x3c, 0x3e, 0xe0, 0x7d, 0x59, 0x0d, 0x35, 0x4a, 0x3e, 0x96, 0x9d, 0xc0, 0xd7, 0x4b, 0xf4, 0x77, 0x63, 0x2e, 0x31, + 0xe0, 0xcb, 0xaa, 0x2d, 0x28, 0x9c, 0xe7, 0x87, 0xc3, 0x79, 0x3e, 0x32, 0x9e, 0x65, 0xa0, 0x5a, 0x99, 0xd6, 0xc1, + 0xc6, 0xcc, 0x17, 0x0b, 0x7f, 0xb1, 0x73, 0x12, 0x11, 0x05, 0x81, 0x1d, 0x09, 0x0f, 0x22, 0xf5, 0xfb, 0xca, 0xd3, + 0x9d, 0xea, 0xb3, 0xfd, 0x8d, 0x4d, 0xa4, 0x17, 0x94, 0x4c, 0x3e, 0x09, 0xf6, 0xaa, 0xbf, 0x83, 0xb0, 0x21, 0xbc, + 0x79, 0xd5, 0xeb, 0x2c, 0x53, 0xb3, 0x12, 0x24, 0xcc, 0x98, 0x23, 0x78, 0x1c, 0x76, 0x1a, 0xdb, 0xf0, 0xd8, 0xc2, + 0x6a, 0xf4, 0xd6, 0x6c, 0xc9, 0x56, 0xec, 0x56, 0xd5, 0xe9, 0x86, 0x87, 0xd3, 0xe1, 0x65, 0x80, 0xab, 0x6f, 0x7d, + 0xce, 0xf9, 0x92, 0x4e, 0xb0, 0xf5, 0x80, 0x47, 0x13, 0x31, 0x5b, 0x3f, 0x8e, 0xd4, 0xe2, 0x59, 0x0f, 0xf9, 0x0d, + 0xad, 0x3f, 0x31, 0x5b, 0x9a, 0xe4, 0xe5, 0x80, 0xdf, 0x4c, 0xd6, 0x8f, 0x23, 0x78, 0xf5, 0x31, 0x58, 0x31, 0x32, + 0x67, 0x96, 0xad, 0x1f, 0x47, 0x38, 0x66, 0xcb, 0xc7, 0x11, 0x8d, 0xda, 0x4a, 0xee, 0x4b, 0xb7, 0x0d, 0x08, 0x2b, + 0xb7, 0x2c, 0x86, 0xd7, 0x40, 0x3c, 0xd3, 0x46, 0xd2, 0xb5, 0x34, 0xf4, 0xc6, 0x3c, 0x9c, 0xc6, 0xc1, 0x9a, 0x5a, + 0x21, 0xcf, 0x0c, 0x31, 0x8b, 0x1f, 0x47, 0x73, 0xb6, 0xc2, 0x8a, 0x6c, 0x78, 0x3c, 0xb8, 0x9c, 0x6c, 0xae, 0xf8, + 0x1a, 0xc8, 0xcf, 0x26, 0x1b, 0xb3, 0x45, 0xdd, 0x72, 0x31, 0xdb, 0x3c, 0x8e, 0xe6, 0x93, 0x15, 0xf4, 0xac, 0x3d, + 0x60, 0xde, 0x6b, 0x10, 0xa1, 0x24, 0xa4, 0xa6, 0xdc, 0xf4, 0x7a, 0x6c, 0x3d, 0x0e, 0x96, 0x6c, 0x7d, 0x19, 0xdc, + 0xb2, 0xf5, 0x18, 0x88, 0x38, 0xa8, 0xdf, 0xbd, 0x0d, 0x2c, 0xbe, 0x88, 0xad, 0x2f, 0x4d, 0xda, 0xe6, 0x71, 0xc4, + 0xdc, 0xc1, 0x69, 0xe0, 0x82, 0xb5, 0xc8, 0xbc, 0x15, 0x83, 0x4b, 0xc8, 0xc2, 0x8b, 0xd9, 0x66, 0x78, 0xc9, 0xd6, + 0x23, 0x9c, 0xea, 0x89, 0xcf, 0x96, 0xfc, 0x96, 0x25, 0x7c, 0xd5, 0xc4, 0x57, 0x1b, 0xd0, 0x88, 0x1e, 0x65, 0xd0, + 0x57, 0x50, 0x33, 0x73, 0xde, 0x5b, 0x18, 0x95, 0xfb, 0x16, 0x1c, 0x50, 0x90, 0xb6, 0x01, 0x82, 0x24, 0x9e, 0xdd, + 0xcb, 0x70, 0x7d, 0x2d, 0x85, 0x01, 0x37, 0x81, 0x19, 0x30, 0x30, 0xfd, 0x0c, 0x7e, 0x58, 0xe9, 0x12, 0x21, 0xce, + 0x7e, 0x4a, 0x49, 0x32, 0xcf, 0xdf, 0x8b, 0x34, 0x77, 0x0b, 0xd7, 0x29, 0xcc, 0x8a, 0x02, 0xd5, 0x4f, 0x49, 0x69, + 0x60, 0xa1, 0x12, 0x99, 0x4a, 0xc1, 0x2f, 0x9b, 0xf3, 0x28, 0x3b, 0x46, 0xe7, 0x3a, 0xbf, 0x9c, 0x38, 0xa7, 0x93, + 0xbe, 0xff, 0xc0, 0x31, 0x6c, 0x21, 0x03, 0x17, 0xfe, 0xd4, 0x13, 0xc6, 0xa9, 0x15, 0x88, 0xa9, 0xe4, 0xd9, 0x53, + 0xf8, 0x4c, 0x68, 0x75, 0x74, 0xe1, 0xfb, 0x41, 0xa1, 0x4d, 0xd2, 0x2d, 0x48, 0x52, 0xf0, 0x14, 0x3d, 0xe7, 0xbc, + 0x0d, 0x54, 0x8a, 0x11, 0x2d, 0x88, 0xb4, 0xb5, 0xce, 0x1c, 0xa4, 0x2d, 0xcd, 0x77, 0x4d, 0xfc, 0x1c, 0x16, 0x70, + 0x11, 0x2d, 0x6c, 0x0d, 0x8f, 0xaa, 0x58, 0xb9, 0x37, 0x79, 0x8e, 0x70, 0x46, 0x97, 0x32, 0x01, 0x70, 0xbd, 0x5f, + 0x85, 0xb5, 0xc2, 0x2b, 0x6a, 0x6e, 0xf2, 0xa2, 0xa6, 0x4f, 0xb6, 0xc0, 0x7d, 0x2c, 0x4a, 0x14, 0x38, 0x6b, 0xc1, + 0x80, 0xad, 0xb0, 0x64, 0x27, 0x85, 0x4d, 0xd1, 0x12, 0x7a, 0x7b, 0xfc, 0x74, 0x50, 0x33, 0x19, 0x40, 0x13, 0x40, + 0xe3, 0xf1, 0x2f, 0x00, 0x35, 0xbd, 0xae, 0xc5, 0xba, 0x0a, 0x4a, 0xa5, 0xdc, 0x84, 0x9f, 0x81, 0x61, 0x86, 0x1f, + 0x0a, 0xb9, 0x4d, 0x94, 0xc8, 0xf9, 0x71, 0x53, 0x8a, 0x45, 0x29, 0xaa, 0xa4, 0xdd, 0x50, 0xf0, 0x88, 0x70, 0x1b, + 0x34, 0x66, 0x6e, 0x4f, 0x74, 0xd1, 0x8a, 0x50, 0x8e, 0xcd, 0x3a, 0x46, 0x1a, 0x65, 0x76, 0xb2, 0xeb, 0x64, 0xa1, + 0xfd, 0xbe, 0xca, 0x21, 0xeb, 0x80, 0x35, 0x92, 0xaf, 0xd7, 0x1c, 0xba, 0x6d, 0x94, 0x17, 0xf7, 0x9e, 0xaf, 0xe0, + 0x34, 0xc7, 0x13, 0xbb, 0xeb, 0x75, 0xa7, 0x48, 0xc4, 0x2b, 0x9c, 0x54, 0xf9, 0x48, 0x16, 0x8e, 0x3b, 0x77, 0x5a, + 0x8b, 0x55, 0xe5, 0xb2, 0x9e, 0x5a, 0x1c, 0x11, 0xf8, 0x54, 0x1e, 0xed, 0x85, 0xb6, 0x45, 0xb1, 0x10, 0x46, 0x8f, + 0x4e, 0xf8, 0x49, 0x09, 0xac, 0xaf, 0xc3, 0x61, 0xe9, 0x47, 0x1c, 0xfd, 0x4e, 0xa3, 0xd1, 0x0d, 0x21, 0x0d, 0x4f, + 0xbd, 0x68, 0x74, 0x53, 0x17, 0x75, 0x98, 0x3d, 0xcb, 0xf5, 0x40, 0x61, 0x18, 0x81, 0xfa, 0xc1, 0x55, 0x06, 0x9f, + 0x45, 0x88, 0x9a, 0x07, 0xa6, 0xd9, 0x10, 0x8e, 0xba, 0xc0, 0x43, 0x2b, 0x68, 0x31, 0x33, 0x1f, 0x85, 0x18, 0x3e, + 0xa4, 0x8b, 0xf3, 0x27, 0x64, 0xe5, 0x03, 0xec, 0x0e, 0xdd, 0x85, 0x72, 0xce, 0x54, 0x0c, 0xf0, 0xa3, 0x80, 0x7c, + 0x94, 0x80, 0x9b, 0x01, 0xb2, 0x47, 0x96, 0x00, 0x62, 0xc5, 0xe8, 0x68, 0xf2, 0xb9, 0xef, 0x45, 0x0a, 0xde, 0xd9, + 0x67, 0xb9, 0x9a, 0x30, 0x14, 0x3e, 0x31, 0xd0, 0xcd, 0x6f, 0xfc, 0xf6, 0xbc, 0x05, 0x23, 0xbb, 0x24, 0xc5, 0x6b, + 0xcd, 0x70, 0xbf, 0x01, 0xb7, 0x23, 0xa0, 0xac, 0xa9, 0x8e, 0x49, 0xb6, 0x69, 0x88, 0x64, 0xc0, 0x8c, 0x18, 0x11, + 0x54, 0x96, 0x0b, 0xff, 0xbb, 0x97, 0x45, 0x81, 0x03, 0xb8, 0x9a, 0xc9, 0xe0, 0xb5, 0x0b, 0xa3, 0x02, 0xe0, 0x9c, + 0x86, 0x4e, 0x69, 0xaf, 0xaa, 0x0e, 0xc9, 0xaa, 0xf9, 0xc1, 0x6c, 0xde, 0x34, 0x4c, 0x8c, 0x08, 0xa2, 0x8b, 0x70, + 0x82, 0xe9, 0x15, 0xe9, 0x6b, 0x25, 0xa7, 0xa3, 0x55, 0x47, 0x6b, 0x89, 0x89, 0xb9, 0xa2, 0xf8, 0x6b, 0xc0, 0xe3, + 0x06, 0xaf, 0x4e, 0xd2, 0x74, 0xa2, 0x7a, 0xf4, 0xf8, 0x75, 0x9a, 0x4e, 0x4a, 0xdc, 0x15, 0x7e, 0x03, 0x2e, 0x9a, + 0x6d, 0x3e, 0xf4, 0xe3, 0x17, 0x14, 0x71, 0x51, 0x83, 0x2b, 0xef, 0x54, 0x5f, 0xa9, 0x3e, 0x82, 0x5a, 0x78, 0x62, + 0x64, 0x2d, 0x3c, 0xb9, 0x64, 0xad, 0x05, 0xc1, 0xcc, 0xe6, 0xc0, 0x85, 0xfc, 0x4a, 0x29, 0xe2, 0x4d, 0x24, 0xd4, + 0x62, 0xd0, 0x7a, 0xcc, 0x9c, 0x55, 0xa3, 0x1b, 0x95, 0x19, 0xa1, 0x7d, 0x5b, 0x8b, 0xce, 0x6f, 0xe4, 0xa7, 0x3c, + 0xb5, 0x2f, 0xdb, 0xe3, 0x7c, 0xbc, 0x47, 0x77, 0xd5, 0x59, 0x66, 0x52, 0xc6, 0x27, 0xb3, 0x04, 0x85, 0xbb, 0x04, + 0x1b, 0x90, 0x64, 0xbf, 0xd5, 0x01, 0x32, 0x6a, 0xaf, 0xfd, 0xae, 0xb3, 0x7c, 0x75, 0xb3, 0x35, 0x14, 0x95, 0x5a, + 0x49, 0x8a, 0x83, 0x0c, 0xd7, 0x6d, 0xe5, 0xc3, 0xc5, 0x05, 0xf4, 0x8c, 0x91, 0xc8, 0x3c, 0x7f, 0x22, 0x5f, 0x82, + 0x73, 0xc6, 0x59, 0x21, 0x30, 0x61, 0xac, 0xde, 0xb5, 0x96, 0x4a, 0x43, 0x8a, 0xb1, 0xa3, 0x51, 0x96, 0x55, 0x96, + 0x2e, 0xb3, 0xb5, 0x84, 0x2d, 0xab, 0xc8, 0x2d, 0x6c, 0x9d, 0xc9, 0x6a, 0x7e, 0xa8, 0xb8, 0x83, 0xf2, 0xcd, 0x96, + 0x19, 0xdf, 0x4b, 0x64, 0xef, 0x36, 0x50, 0xc2, 0xb3, 0xd1, 0x7f, 0x20, 0xfd, 0x36, 0xc3, 0x38, 0xe5, 0xb6, 0x92, + 0x16, 0xe0, 0xf4, 0x0f, 0x87, 0x0f, 0x15, 0x06, 0x0d, 0x8e, 0x30, 0x8e, 0xac, 0xdf, 0xbf, 0xa9, 0xbc, 0x1a, 0x13, + 0x75, 0x7c, 0x56, 0xbf, 0x5f, 0xd1, 0xc3, 0x69, 0x35, 0x5a, 0xa5, 0x5b, 0x64, 0x27, 0xb4, 0xb1, 0xf2, 0x83, 0x5a, + 0x01, 0xb3, 0xb7, 0x3e, 0x9f, 0x0e, 0x40, 0xc7, 0x02, 0x24, 0x9a, 0xcd, 0x44, 0x62, 0x4e, 0xba, 0x27, 0xe1, 0xf1, + 0x81, 0x05, 0x0e, 0x30, 0x15, 0xff, 0xa7, 0xf0, 0x66, 0x60, 0x83, 0x46, 0x89, 0xbe, 0x46, 0x57, 0xb5, 0xb9, 0xd1, + 0xf1, 0xd2, 0x53, 0x48, 0x64, 0x05, 0xab, 0xe6, 0xbe, 0xdc, 0xc0, 0x69, 0x0f, 0x35, 0x87, 0xca, 0x02, 0xfc, 0xed, + 0x17, 0x60, 0xf0, 0xc8, 0xa0, 0xb0, 0xdd, 0x5a, 0x68, 0x6f, 0xcc, 0x52, 0x0d, 0x15, 0xe1, 0xa0, 0xf3, 0x95, 0x98, + 0xd5, 0x23, 0xfa, 0x7b, 0x7e, 0x38, 0xac, 0x08, 0x0c, 0x38, 0x2c, 0x65, 0x26, 0x5a, 0x28, 0x96, 0xd6, 0xd9, 0x8c, + 0xea, 0xc0, 0x03, 0x13, 0x73, 0x16, 0xee, 0x00, 0xb4, 0x49, 0xad, 0x02, 0xbd, 0x8a, 0xe8, 0x27, 0xee, 0xd7, 0xf6, + 0xeb, 0xf5, 0xc8, 0x2c, 0x1d, 0xb9, 0x31, 0x16, 0x00, 0x1c, 0x78, 0x5e, 0x93, 0x3c, 0x27, 0x5f, 0x43, 0xbb, 0x27, + 0x17, 0xf2, 0x27, 0x28, 0x5b, 0x78, 0xae, 0x9a, 0x56, 0x16, 0x2b, 0xae, 0xaa, 0x57, 0x17, 0xbc, 0x32, 0x99, 0x56, + 0x69, 0x25, 0x2a, 0x25, 0x18, 0x50, 0x97, 0x78, 0xad, 0x69, 0x46, 0xa9, 0x8d, 0x3a, 0x13, 0x35, 0x60, 0x83, 0xfd, + 0x54, 0x6d, 0x74, 0x72, 0x2e, 0x9f, 0x5f, 0x1a, 0x87, 0x4f, 0xbb, 0x7a, 0x33, 0x53, 0x39, 0xf0, 0xd7, 0xca, 0x87, + 0x56, 0x8f, 0x81, 0x0e, 0xc8, 0xe9, 0x8f, 0x61, 0x31, 0xb1, 0x3b, 0x34, 0x6f, 0x77, 0x97, 0xd5, 0x45, 0x7a, 0xa7, + 0x29, 0x99, 0xd5, 0x5b, 0x3e, 0xb3, 0x7a, 0x74, 0xc0, 0x8b, 0x87, 0x7a, 0xaf, 0x30, 0x93, 0x08, 0x2e, 0x86, 0x6a, + 0x12, 0xd9, 0x1d, 0x68, 0xcd, 0xa3, 0x8a, 0x09, 0xf0, 0x83, 0x52, 0x6b, 0x7a, 0x6f, 0x77, 0x85, 0x3a, 0xa5, 0xf0, + 0xb8, 0xb5, 0xe4, 0x07, 0xe6, 0x4e, 0xbb, 0xd6, 0xf9, 0x78, 0x7e, 0xe9, 0xfb, 0x8d, 0x3c, 0xa1, 0xcd, 0xce, 0xe4, + 0xf4, 0x4f, 0xde, 0xea, 0x1f, 0xa6, 0xfa, 0x16, 0xba, 0x13, 0xf4, 0x19, 0xba, 0xaa, 0xba, 0x2b, 0xb1, 0x85, 0xa1, + 0x9e, 0x58, 0xe4, 0x85, 0x3c, 0x69, 0x8d, 0x1d, 0x07, 0x7b, 0x03, 0x9c, 0xf8, 0xe5, 0xe1, 0x20, 0xae, 0x72, 0x9f, + 0x9d, 0x77, 0x8d, 0xac, 0x1c, 0xc0, 0x0a, 0xa2, 0x60, 0xdc, 0x9a, 0x8f, 0x6d, 0x90, 0x2e, 0x71, 0x35, 0x3e, 0x7e, + 0x43, 0xb1, 0x4c, 0x36, 0x11, 0x17, 0x17, 0xf9, 0xe3, 0xa7, 0x40, 0x5a, 0xd6, 0xef, 0x47, 0xcf, 0x2e, 0xa7, 0x4f, + 0x87, 0x51, 0x00, 0x8e, 0x5d, 0xf6, 0xf2, 0x32, 0xe6, 0xab, 0x4b, 0x66, 0x99, 0xc2, 0x22, 0xdf, 0x0c, 0xa8, 0x2e, + 0x59, 0x2d, 0x5d, 0xaf, 0x00, 0x4b, 0x97, 0xdf, 0xdc, 0x87, 0xa9, 0x01, 0x8d, 0xac, 0xb9, 0x3b, 0xcd, 0xb5, 0x40, + 0xa9, 0xe7, 0xfd, 0xcc, 0x90, 0xaf, 0xcb, 0xa0, 0x2b, 0x48, 0xf7, 0x3c, 0x22, 0xbd, 0xdc, 0x4b, 0xa7, 0xfb, 0x7d, + 0x29, 0xc0, 0x52, 0x5f, 0x8a, 0x2f, 0xa0, 0xb0, 0x68, 0x7c, 0x23, 0x40, 0x5b, 0x43, 0x35, 0xed, 0x95, 0xa2, 0xea, + 0x05, 0xbd, 0x52, 0x7c, 0xe9, 0xe9, 0xa1, 0x32, 0x5f, 0x96, 0x8e, 0xfe, 0x27, 0xd4, 0x5c, 0x70, 0x42, 0xcc, 0xc4, + 0x1c, 0x40, 0x25, 0x68, 0xe3, 0xbb, 0x3d, 0xda, 0xf8, 0x54, 0xaf, 0xe2, 0xa6, 0xcf, 0x6b, 0x6b, 0x99, 0x13, 0xc2, + 0xa6, 0x7b, 0x09, 0x50, 0x91, 0x57, 0xc2, 0x23, 0x58, 0x7e, 0xf9, 0x43, 0x9e, 0xae, 0x10, 0xad, 0xe3, 0x9e, 0x65, + 0x2e, 0x8d, 0xfd, 0x6b, 0x83, 0xe9, 0xeb, 0xdb, 0x6d, 0x91, 0x9f, 0x9a, 0x98, 0xb0, 0x1e, 0x2b, 0xfa, 0xe6, 0x5d, + 0xb8, 0x12, 0x28, 0x70, 0x28, 0x91, 0xd8, 0xa6, 0x0a, 0x45, 0x3c, 0x48, 0xfa, 0x74, 0xd1, 0xfa, 0x34, 0xc0, 0xd4, + 0x5a, 0x0e, 0xcc, 0x21, 0x5c, 0xc5, 0x85, 0x8f, 0x9e, 0xbe, 0xc5, 0x2c, 0x9c, 0x4f, 0xbc, 0x8f, 0x5e, 0x31, 0x32, + 0x1f, 0xf7, 0x51, 0xa9, 0xa4, 0x7f, 0x1e, 0x0e, 0xb3, 0x6a, 0xee, 0x3b, 0xf4, 0x91, 0x1e, 0xaa, 0x5c, 0x50, 0xf6, + 0xc6, 0x98, 0x44, 0xa0, 0x34, 0xc6, 0xfb, 0x38, 0x38, 0xce, 0xfb, 0x34, 0x80, 0xd4, 0x3e, 0xf1, 0x9e, 0x94, 0x1c, + 0x9e, 0x73, 0xcc, 0x09, 0xa5, 0x15, 0x01, 0x13, 0x7a, 0x86, 0x72, 0xdd, 0x29, 0x05, 0x93, 0x1c, 0x12, 0x0c, 0x7f, + 0xd5, 0xbc, 0x89, 0x15, 0x08, 0xbb, 0x66, 0x5e, 0x8d, 0x1e, 0x55, 0x49, 0x58, 0x0a, 0x38, 0x2a, 0x33, 0xcf, 0xb0, + 0x37, 0x3c, 0x32, 0x8c, 0x1c, 0x2c, 0xf7, 0x47, 0x75, 0x22, 0x72, 0x8f, 0x2e, 0x30, 0x2a, 0x0b, 0xcf, 0x1b, 0xba, + 0xd2, 0xa0, 0x92, 0xec, 0xf8, 0x2b, 0xae, 0x01, 0xb5, 0x35, 0x46, 0x0c, 0x05, 0x8c, 0x82, 0xd7, 0xf6, 0x87, 0x90, + 0x45, 0xd9, 0xfa, 0x0d, 0x8e, 0xf9, 0xac, 0xe4, 0xae, 0x77, 0x38, 0x0b, 0x2d, 0x21, 0x4f, 0xee, 0x18, 0xa4, 0x69, + 0x2c, 0x8d, 0x80, 0x13, 0x91, 0x6c, 0x63, 0x29, 0x1c, 0x01, 0x04, 0x04, 0xba, 0x29, 0x33, 0x8c, 0xe9, 0x60, 0xe4, + 0x79, 0xd4, 0x33, 0xde, 0xab, 0xf0, 0x14, 0xd2, 0x64, 0xfb, 0x7a, 0xfe, 0xde, 0x08, 0xb2, 0x72, 0xcb, 0x39, 0x1e, + 0x16, 0xdf, 0x38, 0xfb, 0x2a, 0x27, 0x4f, 0x31, 0xcb, 0x48, 0xef, 0x14, 0xf3, 0x02, 0xfe, 0x54, 0x96, 0xfa, 0x1c, + 0xa5, 0xb7, 0xcc, 0x27, 0xab, 0x48, 0xba, 0xf0, 0x36, 0xfd, 0x7e, 0x3c, 0x52, 0x87, 0x9a, 0xbf, 0x8f, 0x47, 0xf2, + 0x0c, 0xdb, 0xb0, 0x84, 0x85, 0x56, 0xc1, 0x18, 0x40, 0x12, 0x1b, 0x11, 0x0d, 0x46, 0x7b, 0x73, 0x38, 0x9c, 0x6f, + 0xcc, 0x59, 0xb2, 0x07, 0xd7, 0x57, 0x9e, 0x98, 0x77, 0xe0, 0xcb, 0x3c, 0x26, 0x88, 0xd8, 0xcc, 0xdb, 0xb0, 0x1a, + 0x3c, 0xd8, 0xc1, 0xf5, 0x11, 0x5b, 0x14, 0x6b, 0x1d, 0x4b, 0x65, 0x1d, 0x9c, 0xd6, 0xb1, 0x69, 0x46, 0x4a, 0x91, + 0x7d, 0x8e, 0xfd, 0xbd, 0x1b, 0x5c, 0x5d, 0x1b, 0x83, 0x5a, 0xe3, 0x0e, 0x73, 0xe7, 0x54, 0x40, 0x3d, 0xa6, 0x2b, + 0xa8, 0x9e, 0x55, 0xe4, 0xcb, 0x6f, 0xed, 0x1c, 0x10, 0x34, 0x02, 0x81, 0x8b, 0x06, 0x4a, 0xa6, 0x4b, 0x39, 0xef, + 0x02, 0x42, 0x7c, 0x97, 0x82, 0x3e, 0x9d, 0xc1, 0x26, 0x36, 0x9f, 0x40, 0x2c, 0x9a, 0xee, 0x73, 0xad, 0x99, 0x2f, + 0x46, 0xb4, 0x33, 0xeb, 0x6e, 0x91, 0x5b, 0x2d, 0x44, 0x32, 0x7a, 0xb6, 0x99, 0x70, 0xd7, 0xa1, 0x9c, 0x91, 0x80, + 0x09, 0x5a, 0x5b, 0x29, 0xf9, 0x5c, 0xf7, 0x3a, 0x41, 0x7b, 0x20, 0x69, 0xdd, 0xbf, 0x59, 0x74, 0x46, 0xc9, 0xc9, + 0xf5, 0x26, 0x67, 0x90, 0x82, 0x05, 0xdb, 0xcb, 0x9c, 0x70, 0x03, 0x7c, 0x64, 0xb3, 0xe4, 0x34, 0x0d, 0xf2, 0x58, + 0x18, 0xa4, 0x8f, 0x36, 0xbf, 0x2c, 0xa0, 0x43, 0xc9, 0xa2, 0x11, 0xe2, 0x01, 0x76, 0x0e, 0xc9, 0x55, 0x81, 0xba, + 0x69, 0xa0, 0x2b, 0x57, 0xce, 0x14, 0x53, 0xe0, 0x42, 0x28, 0x88, 0xda, 0xd1, 0x49, 0x54, 0xce, 0xfb, 0xa4, 0xba, + 0xcc, 0xa7, 0x85, 0x34, 0x0d, 0xe4, 0xd3, 0xca, 0x31, 0x0f, 0x6c, 0x6d, 0xe3, 0x9a, 0xc0, 0x40, 0xa7, 0xf6, 0xb5, + 0x28, 0xe7, 0x58, 0x45, 0xf4, 0x3e, 0x7f, 0x54, 0xd9, 0xd3, 0x07, 0x11, 0x36, 0x2a, 0xd0, 0x58, 0x4a, 0x8c, 0x8d, + 0x1c, 0xff, 0x96, 0x28, 0x1b, 0x32, 0x04, 0x84, 0x90, 0x36, 0x72, 0xfa, 0x61, 0x7d, 0xf9, 0x2e, 0xd3, 0xfe, 0x9f, + 0x24, 0x7e, 0x1b, 0xec, 0xe5, 0xd4, 0x9f, 0x7a, 0xc4, 0xe3, 0xb5, 0x46, 0x8f, 0x29, 0xe9, 0x36, 0xc8, 0x53, 0xe5, + 0x29, 0x48, 0x26, 0x8c, 0x05, 0x04, 0x8b, 0x72, 0xc1, 0x73, 0x5e, 0x71, 0x09, 0xf7, 0x51, 0xcb, 0x8a, 0x08, 0x55, + 0x89, 0x9c, 0x3e, 0x5f, 0x01, 0xcf, 0x04, 0x04, 0x3a, 0xc6, 0x48, 0xa3, 0x0a, 0xbe, 0x04, 0xc6, 0x3a, 0x50, 0x76, + 0x9a, 0x91, 0xe0, 0xb2, 0x7b, 0x8d, 0x44, 0xa9, 0xaf, 0x48, 0x49, 0xfa, 0x56, 0xd4, 0x78, 0x25, 0x56, 0x11, 0x09, + 0x64, 0xa8, 0x21, 0x62, 0x55, 0x3d, 0x75, 0xaf, 0x8a, 0xc9, 0x60, 0x50, 0xf9, 0x72, 0x7a, 0xe2, 0x0d, 0x0d, 0x95, + 0x77, 0x5d, 0xd1, 0x4e, 0xcf, 0xb5, 0x52, 0xde, 0x42, 0x5a, 0x82, 0xa6, 0x61, 0xa4, 0x39, 0x94, 0xba, 0x92, 0xee, + 0xc6, 0x20, 0xbe, 0x64, 0xa2, 0x67, 0x3b, 0xb5, 0xa3, 0xb4, 0x25, 0xed, 0x21, 0xa4, 0xe7, 0x2e, 0xf9, 0x98, 0x85, + 0x5c, 0xdd, 0x29, 0x27, 0xe5, 0x55, 0x88, 0x4e, 0xee, 0x7b, 0x0c, 0x89, 0x40, 0x9f, 0x73, 0x0c, 0xeb, 0xa2, 0xa1, + 0xce, 0x61, 0x85, 0x98, 0x2d, 0x94, 0x30, 0x5f, 0x32, 0x9e, 0x4a, 0x06, 0x0d, 0x80, 0x0c, 0xf8, 0xe2, 0x65, 0x60, + 0xf9, 0x2b, 0x88, 0x1f, 0x6d, 0x7c, 0x38, 0xfc, 0x55, 0x53, 0x88, 0xed, 0x5f, 0xb0, 0x19, 0xc2, 0xa3, 0x7a, 0xc0, + 0x33, 0xdf, 0xc4, 0x09, 0x5a, 0x01, 0x49, 0x99, 0x1d, 0x4d, 0x64, 0xaf, 0x7a, 0x08, 0xa7, 0xb2, 0x02, 0x75, 0x94, + 0x75, 0x56, 0xc2, 0x8f, 0x30, 0xd5, 0xad, 0xc4, 0x5a, 0xa0, 0xcd, 0xd5, 0x8a, 0xb5, 0x00, 0x0e, 0xfc, 0x1c, 0x82, + 0x27, 0xf2, 0x39, 0xb8, 0x18, 0x14, 0xe0, 0x73, 0x00, 0xbc, 0xc8, 0x5d, 0x78, 0x30, 0x0f, 0x2c, 0xab, 0x11, 0x86, + 0xa3, 0x8a, 0x58, 0xbf, 0x66, 0x3b, 0xf2, 0x81, 0xdb, 0x31, 0x3e, 0xd7, 0x1e, 0x4b, 0x96, 0x83, 0x51, 0xe6, 0x5e, + 0x2d, 0xd1, 0xf3, 0x26, 0x8d, 0x9b, 0xd1, 0xa3, 0x7d, 0x2d, 0xff, 0x17, 0xf4, 0x32, 0xe8, 0x6f, 0xe1, 0x96, 0xd7, + 0xfc, 0x61, 0xb9, 0x70, 0x9a, 0x5e, 0x41, 0xa4, 0x8c, 0x1a, 0x91, 0x31, 0x84, 0x4d, 0xaa, 0x9b, 0xdb, 0xa4, 0xba, + 0x10, 0xf0, 0x74, 0x44, 0xaa, 0x6b, 0x21, 0x6d, 0xe4, 0xd3, 0x3a, 0x90, 0xb1, 0x48, 0xef, 0x7e, 0xfc, 0xdb, 0xf3, + 0x4f, 0x6f, 0x7e, 0xfb, 0xf1, 0xe6, 0xcd, 0xbb, 0xd7, 0x6f, 0xde, 0xbd, 0xf9, 0xf4, 0x3b, 0x41, 0x78, 0x4c, 0x85, + 0xca, 0xf0, 0xe1, 0xfd, 0xf5, 0x1b, 0x27, 0x83, 0xed, 0xcd, 0x90, 0xb5, 0x6f, 0xe4, 0x60, 0x08, 0x44, 0x36, 0x08, + 0x19, 0x64, 0xa7, 0x64, 0x8e, 0x99, 0x98, 0x63, 0xec, 0x9d, 0xc0, 0x64, 0x0b, 0x92, 0xc3, 0x32, 0x2f, 0x19, 0x91, + 0xab, 0x42, 0xeb, 0x07, 0xb4, 0xe0, 0x2d, 0xb8, 0xc8, 0xa4, 0xf9, 0xf2, 0x37, 0x82, 0xd8, 0xa7, 0x95, 0x94, 0xfb, + 0x6a, 0x5b, 0xf3, 0x7c, 0x7b, 0xbf, 0x97, 0x70, 0xfe, 0x73, 0x69, 0x44, 0x2d, 0xc0, 0x01, 0xf8, 0x1c, 0xfe, 0xb8, + 0xd2, 0x96, 0x34, 0x99, 0x45, 0xfb, 0x19, 0x43, 0xd0, 0xa5, 0x81, 0x34, 0xb1, 0x47, 0x5e, 0xea, 0x93, 0x85, 0x04, + 0xee, 0x88, 0xe1, 0xd3, 0x8a, 0xa0, 0x57, 0x8c, 0x28, 0x2e, 0xb9, 0x42, 0xa5, 0x94, 0xfc, 0x1b, 0x65, 0x17, 0x15, + 0x72, 0x56, 0xb0, 0x3b, 0x45, 0x8e, 0x8c, 0x1f, 0x04, 0x13, 0x5f, 0x0e, 0xee, 0xbf, 0xc4, 0x3b, 0x9c, 0x29, 0x8e, + 0xe4, 0x84, 0xff, 0x99, 0x61, 0x60, 0x7f, 0x0e, 0x3e, 0xaf, 0x0e, 0xf3, 0xf2, 0x46, 0x9f, 0x72, 0x0b, 0x3e, 0x9e, + 0x2c, 0xae, 0xc0, 0x60, 0xbf, 0x50, 0xcd, 0x5d, 0xf3, 0x7a, 0xb6, 0x98, 0xb3, 0xfd, 0x2c, 0x9a, 0x07, 0x4b, 0x36, + 0xcb, 0xe6, 0xc1, 0xaa, 0xe1, 0x6b, 0x76, 0xcb, 0xd7, 0x56, 0xd5, 0xd6, 0x76, 0xd5, 0x26, 0x1b, 0x7e, 0x0b, 0x12, + 0xc2, 0xdb, 0xcc, 0x03, 0xde, 0xe3, 0xa5, 0xcf, 0x36, 0x20, 0xd1, 0xae, 0xd8, 0x06, 0x2e, 0x62, 0x6b, 0xfe, 0xa6, + 0xf2, 0x36, 0xac, 0x64, 0xe7, 0x63, 0x96, 0xe3, 0xfc, 0xf3, 0xe1, 0x01, 0xed, 0x85, 0xfa, 0xd9, 0xa5, 0x7a, 0x36, + 0x51, 0x76, 0xb3, 0xcd, 0xe8, 0xe6, 0x2e, 0xad, 0x36, 0x61, 0x86, 0x9e, 0xe5, 0xf0, 0xd1, 0x56, 0x0a, 0x7e, 0xfa, + 0x06, 0xbf, 0x64, 0x4d, 0x9c, 0x7f, 0xa6, 0x6d, 0xbb, 0x2a, 0xb1, 0x15, 0xb4, 0x28, 0xb2, 0x5a, 0xe1, 0x81, 0x39, + 0x7f, 0x06, 0x0b, 0x18, 0x7b, 0x8e, 0x73, 0x5e, 0xfb, 0x23, 0x64, 0xbc, 0x77, 0x00, 0xd0, 0x32, 0xc7, 0x01, 0x1e, + 0xb1, 0x62, 0x14, 0x0d, 0xde, 0xf9, 0xa5, 0xb2, 0x5a, 0x69, 0x4e, 0x42, 0xdb, 0x88, 0x55, 0xcb, 0x91, 0xaa, 0x19, + 0x91, 0x3e, 0x48, 0xcf, 0xfb, 0x1e, 0x51, 0x0d, 0xf6, 0x64, 0x5e, 0x07, 0xf6, 0xe9, 0x7d, 0x6b, 0x55, 0x77, 0x7e, + 0x4f, 0x95, 0x2e, 0x39, 0xb2, 0xe5, 0xa7, 0xcb, 0xf0, 0x5e, 0xfd, 0x29, 0xb9, 0x3e, 0x14, 0x38, 0xc2, 0x43, 0x15, + 0x70, 0xbe, 0x5e, 0x89, 0x76, 0x27, 0xc2, 0xae, 0x5c, 0x02, 0x42, 0x7c, 0x49, 0xd3, 0x1c, 0x8f, 0x23, 0x9a, 0x88, + 0xb0, 0x89, 0xd1, 0x5f, 0xd8, 0x7d, 0x28, 0xb1, 0x9c, 0xe7, 0x1a, 0x94, 0x5c, 0x32, 0x78, 0x4f, 0xda, 0x6b, 0xd0, + 0x2c, 0xaf, 0x4a, 0x4d, 0x26, 0x72, 0x50, 0x3e, 0x1c, 0x0a, 0xd8, 0x4b, 0x8d, 0x9f, 0x26, 0xfc, 0x84, 0xe5, 0xad, + 0xbd, 0x35, 0xa5, 0xa8, 0xa4, 0x01, 0x2a, 0xf0, 0x31, 0x83, 0xff, 0xdd, 0x19, 0x62, 0xc1, 0x14, 0x1d, 0x3f, 0x9c, + 0x89, 0xb9, 0xf5, 0xdc, 0x2a, 0xeb, 0x28, 0x5b, 0xa3, 0x9c, 0x80, 0x7f, 0x4f, 0x75, 0x9c, 0x24, 0xc2, 0xa9, 0xf7, + 0x88, 0x8b, 0xba, 0x97, 0x43, 0xd4, 0x0d, 0xfb, 0x54, 0xe9, 0x60, 0xcb, 0x69, 0x1a, 0x1c, 0x89, 0x5f, 0xa9, 0xcf, + 0x3e, 0x64, 0x16, 0x8f, 0x3a, 0xb2, 0x11, 0x25, 0x69, 0x1c, 0x8b, 0x1c, 0xb6, 0xf7, 0x1b, 0xb9, 0xff, 0xf7, 0xfb, + 0x10, 0x4e, 0x5a, 0x05, 0x71, 0xe9, 0x09, 0x44, 0x84, 0xa3, 0xc3, 0x8f, 0x08, 0x4f, 0xa4, 0xaa, 0xf0, 0x51, 0x7d, + 0xe2, 0xc6, 0xec, 0x5e, 0x98, 0xa3, 0x7a, 0x0b, 0x30, 0x8c, 0xf5, 0xd6, 0x22, 0x24, 0xd1, 0x4a, 0x33, 0xda, 0x7a, + 0x40, 0x8c, 0x78, 0xbf, 0xb6, 0xc8, 0x60, 0xac, 0x2d, 0x89, 0x04, 0xf0, 0x25, 0x09, 0x19, 0xda, 0x36, 0x02, 0x33, + 0x86, 0xb7, 0xb3, 0xe2, 0xd2, 0x75, 0xd8, 0xe6, 0x1c, 0xbe, 0x90, 0x1b, 0xcd, 0x3a, 0xa2, 0x34, 0x41, 0xc8, 0x3f, + 0xe0, 0x64, 0xa1, 0x30, 0x9a, 0x57, 0x47, 0xe9, 0x24, 0xb1, 0xbe, 0xef, 0x2a, 0x15, 0x6c, 0x36, 0xd7, 0xa8, 0x2f, + 0x3b, 0x4a, 0x7e, 0x09, 0x4e, 0x3a, 0x4e, 0xb2, 0xc8, 0x41, 0xd4, 0xa2, 0x72, 0xae, 0x93, 0xb0, 0xb4, 0xab, 0x53, + 0x6d, 0xd6, 0xeb, 0xa2, 0xac, 0xab, 0x57, 0x22, 0x52, 0xf4, 0x3e, 0xea, 0xd1, 0x23, 0x09, 0xa9, 0xd0, 0xaa, 0xd4, + 0x2e, 0x8f, 0xc0, 0x6d, 0x53, 0x2b, 0xb6, 0xe5, 0x12, 0x96, 0xa8, 0xf1, 0x9f, 0xa0, 0x8f, 0x72, 0x71, 0x2f, 0x03, + 0x34, 0x3a, 0x9e, 0x9a, 0xb7, 0x1e, 0x78, 0xe5, 0x28, 0xbf, 0xb4, 0xda, 0xa4, 0x5f, 0x01, 0x99, 0xd1, 0xfe, 0xd1, + 0x52, 0x02, 0x99, 0x81, 0x99, 0xb4, 0x34, 0x24, 0x72, 0x14, 0xb3, 0x34, 0xff, 0x13, 0x57, 0x6c, 0x85, 0x48, 0xc3, + 0x6a, 0xee, 0xf1, 0x1f, 0x2b, 0xaf, 0x96, 0x6b, 0x99, 0x69, 0x6e, 0x96, 0x38, 0x56, 0x2c, 0x2e, 0xea, 0x75, 0x25, + 0xb2, 0x40, 0x88, 0x23, 0x4c, 0x63, 0x3d, 0xf5, 0x46, 0x69, 0xf5, 0x01, 0x09, 0x65, 0x7e, 0xc4, 0xde, 0x8e, 0xbd, + 0x1e, 0x64, 0x21, 0x8e, 0x2d, 0x07, 0x9b, 0xad, 0xf7, 0xa9, 0x4c, 0x45, 0x7c, 0x56, 0x17, 0x67, 0x9b, 0x4a, 0x9c, + 0xd5, 0x89, 0x38, 0xfb, 0x01, 0x72, 0xfe, 0x70, 0x46, 0x45, 0x9f, 0xdd, 0xa7, 0x75, 0x52, 0x6c, 0x6a, 0x7a, 0xf2, + 0x1a, 0xcb, 0xf8, 0xe1, 0x8c, 0xb8, 0x6a, 0xce, 0x68, 0x24, 0xe3, 0xd1, 0xd9, 0x87, 0x0c, 0x48, 0x5e, 0xcf, 0xd2, + 0x15, 0x0c, 0xde, 0x59, 0x98, 0xc7, 0x67, 0xa5, 0x58, 0x82, 0xc5, 0xa9, 0xec, 0x7c, 0x0f, 0x32, 0xac, 0xc2, 0x3f, + 0xc5, 0x19, 0x40, 0xbb, 0x9e, 0xa5, 0xf5, 0x59, 0x5a, 0x9d, 0xe5, 0x45, 0x7d, 0xa6, 0xa4, 0x70, 0x08, 0xe3, 0x87, + 0xf7, 0xf4, 0x95, 0x5d, 0xde, 0x66, 0x71, 0x97, 0x45, 0xfe, 0x14, 0xbd, 0x8a, 0x88, 0x49, 0xa3, 0x12, 0x5e, 0xbb, + 0xbf, 0x6d, 0xee, 0x1f, 0x5e, 0x37, 0x76, 0x3f, 0xbb, 0x63, 0x44, 0x17, 0xd4, 0xe3, 0x95, 0xa4, 0x54, 0x50, 0x40, + 0xe0, 0x44, 0xb3, 0xc6, 0x83, 0x3b, 0x0e, 0x78, 0x35, 0xb0, 0x05, 0x5b, 0xfb, 0xfc, 0x59, 0x2c, 0xc3, 0xb4, 0x37, + 0x01, 0xfe, 0x55, 0xf6, 0xa6, 0xeb, 0x60, 0x81, 0xf7, 0x2d, 0x64, 0x1b, 0x7a, 0xf3, 0x8a, 0x3f, 0xf7, 0x72, 0xf5, + 0x37, 0xfb, 0x27, 0x00, 0x61, 0x40, 0xcc, 0xaa, 0x8f, 0x26, 0xee, 0x9d, 0x95, 0x65, 0xe7, 0x64, 0xd9, 0xf5, 0xd0, + 0xaf, 0x49, 0x8c, 0x4a, 0x2b, 0x4b, 0xe9, 0x64, 0x29, 0x21, 0x0b, 0xf8, 0xc4, 0x68, 0x6a, 0x23, 0x80, 0xb0, 0x1d, + 0xa5, 0xf2, 0x85, 0xca, 0x8b, 0x28, 0x9c, 0x13, 0x3c, 0x4f, 0xc4, 0xe8, 0xce, 0x4a, 0x06, 0x0c, 0x87, 0x10, 0xcc, + 0x41, 0x5b, 0xec, 0x0d, 0xdd, 0x44, 0xfc, 0xf5, 0xba, 0x28, 0xdf, 0xc4, 0xe4, 0x53, 0xb0, 0x3b, 0xf9, 0xb8, 0x84, + 0xc7, 0xe5, 0xc9, 0xc7, 0x21, 0x7a, 0x24, 0x9c, 0x7c, 0x0c, 0xbe, 0x47, 0x72, 0x5e, 0x77, 0x3d, 0x4e, 0x90, 0x5b, + 0x48, 0xf7, 0xb7, 0x63, 0x12, 0xa0, 0x79, 0x0d, 0xcb, 0x51, 0x53, 0x71, 0xcd, 0xcc, 0x18, 0xcf, 0x1b, 0xbd, 0x3f, + 0x76, 0xbc, 0x65, 0x0a, 0xc5, 0x2c, 0xe6, 0x35, 0xfc, 0x9e, 0x55, 0x81, 0xba, 0xeb, 0x6d, 0x92, 0x5b, 0x66, 0xf5, + 0x1c, 0xed, 0xbe, 0xef, 0xeb, 0x44, 0x50, 0xfb, 0x3b, 0xec, 0x79, 0x66, 0xbd, 0xab, 0x62, 0xe0, 0x52, 0x25, 0x3b, + 0x64, 0xaa, 0x9a, 0x1e, 0xa8, 0x94, 0x06, 0x4f, 0x2f, 0xad, 0xcb, 0x97, 0x4a, 0x1b, 0x79, 0xa6, 0xf9, 0x0d, 0xe0, + 0xc5, 0xd4, 0x65, 0xb1, 0xfb, 0xe6, 0xbe, 0x82, 0xdb, 0x78, 0xbf, 0xbf, 0xae, 0x3c, 0xf3, 0x13, 0x17, 0x80, 0xbd, + 0xa9, 0xd0, 0x3a, 0x81, 0x52, 0xc3, 0x3a, 0x7c, 0x99, 0x88, 0xe8, 0xcf, 0x76, 0xb9, 0xce, 0x5c, 0x07, 0x8c, 0x28, + 0xe2, 0xb7, 0xf1, 0xe8, 0x0f, 0x50, 0x5c, 0x1b, 0x7b, 0x40, 0x58, 0x87, 0x84, 0x3e, 0x23, 0x00, 0xa9, 0x47, 0x1f, + 0x25, 0xf7, 0xa0, 0x59, 0xd1, 0xdc, 0x31, 0xf9, 0xb9, 0xbe, 0x52, 0xfa, 0xfb, 0x75, 0xe5, 0x91, 0x39, 0xa5, 0x6d, + 0xa6, 0xb1, 0x5a, 0x53, 0x09, 0x84, 0x57, 0x54, 0xb2, 0x0a, 0x9f, 0xcd, 0x1b, 0xd1, 0xef, 0xcb, 0x23, 0x3c, 0xad, + 0x7e, 0xdc, 0x62, 0x7c, 0x2b, 0x20, 0x1a, 0x09, 0x50, 0xb0, 0x02, 0xcc, 0x8b, 0x6c, 0x66, 0xf7, 0x71, 0x40, 0x95, + 0x12, 0x4d, 0xe3, 0x6c, 0x9e, 0xdf, 0xd3, 0x9b, 0xb2, 0x83, 0x4e, 0x9d, 0x2a, 0x70, 0xc1, 0x55, 0xc9, 0x78, 0x65, + 0x3d, 0x91, 0xcf, 0x6f, 0x6e, 0x37, 0x69, 0x16, 0xbf, 0x2f, 0x7f, 0xc5, 0xb1, 0xd5, 0x75, 0x78, 0x60, 0xea, 0x74, + 0xed, 0x3c, 0xd2, 0xda, 0x0b, 0x01, 0x11, 0xed, 0x1a, 0x6a, 0xbd, 0xb0, 0xd0, 0x23, 0x3d, 0x11, 0xce, 0x49, 0xa2, + 0xa6, 0x1d, 0x68, 0x69, 0x84, 0xbe, 0xbe, 0xe6, 0xf4, 0x17, 0x06, 0x6b, 0x9f, 0x8f, 0x19, 0x90, 0x95, 0xe8, 0xc7, + 0xea, 0xa1, 0xb1, 0x99, 0x43, 0xcf, 0x5a, 0x95, 0x67, 0x5e, 0x75, 0x38, 0x20, 0x3e, 0x8c, 0xfe, 0x92, 0xdf, 0xef, + 0xbf, 0xa2, 0xf9, 0xc7, 0x84, 0x1a, 0x3f, 0xdb, 0x0c, 0xd0, 0xb5, 0xef, 0xca, 0x03, 0x51, 0xcf, 0xb5, 0x4a, 0x10, + 0xe2, 0x0d, 0x62, 0xa2, 0x19, 0x31, 0x07, 0xa7, 0x1d, 0x6a, 0xfe, 0x49, 0x6a, 0x40, 0x88, 0x12, 0xaf, 0x63, 0xca, + 0x82, 0x9c, 0x36, 0x71, 0xa4, 0x1f, 0x85, 0x13, 0xf9, 0x51, 0x54, 0x45, 0x76, 0x07, 0x17, 0x0c, 0xa6, 0xde, 0xd3, + 0x7e, 0x89, 0x7e, 0x4b, 0x38, 0x72, 0x8e, 0x56, 0x85, 0x20, 0x72, 0x42, 0x58, 0x6b, 0x08, 0x13, 0xc4, 0x06, 0xf1, + 0xb2, 0xef, 0x92, 0x0c, 0x47, 0x0a, 0x2e, 0xeb, 0xd8, 0x31, 0xe6, 0xea, 0xa8, 0x7a, 0x0d, 0x60, 0xbc, 0x72, 0x04, + 0xcd, 0x46, 0x91, 0x5d, 0x42, 0x54, 0x91, 0xe3, 0x09, 0xa8, 0x1d, 0x94, 0xc6, 0x66, 0x7a, 0x3e, 0x0e, 0xf2, 0xd1, + 0x4d, 0x85, 0x3a, 0x27, 0x96, 0xf1, 0x1a, 0x80, 0xb5, 0x73, 0xd5, 0xcf, 0xb3, 0x1a, 0x3c, 0x69, 0x88, 0xcf, 0xc7, + 0x68, 0x7b, 0x65, 0x73, 0x50, 0x6d, 0xa7, 0xb3, 0xf2, 0x8a, 0xe9, 0x72, 0x60, 0xdc, 0x37, 0xbc, 0xa2, 0x38, 0xc3, + 0x8f, 0x1e, 0x6c, 0x71, 0xfe, 0x74, 0x43, 0xed, 0xc7, 0xdc, 0xa8, 0x87, 0x81, 0xd6, 0x82, 0x37, 0x05, 0xb1, 0xfe, + 0x7e, 0xe8, 0xc8, 0xf6, 0x5e, 0x8b, 0x8c, 0x26, 0x9f, 0xfd, 0xfc, 0x43, 0x99, 0xae, 0x52, 0xb8, 0x2f, 0x39, 0x59, + 0x34, 0xf3, 0x10, 0xd8, 0x1b, 0x62, 0xb8, 0x3e, 0x2a, 0x3c, 0xa2, 0xac, 0xdf, 0x87, 0xdf, 0x57, 0x19, 0x98, 0x62, + 0xe0, 0xba, 0x42, 0x30, 0x1e, 0x02, 0x41, 0x3c, 0x4c, 0xa3, 0x93, 0x41, 0x0d, 0xda, 0xf0, 0x0d, 0x40, 0x66, 0x80, + 0x47, 0xe6, 0xc2, 0x23, 0xe0, 0x2e, 0x70, 0xed, 0xc9, 0x78, 0xec, 0x4f, 0x4c, 0x43, 0xa3, 0xa6, 0x34, 0xd3, 0x73, + 0xe3, 0x37, 0x1d, 0xd5, 0x72, 0xed, 0xfc, 0xc7, 0x97, 0xfc, 0x06, 0xbd, 0xa0, 0xe5, 0xe5, 0x3e, 0x52, 0x97, 0xfb, + 0x8c, 0xe2, 0x32, 0x91, 0x1c, 0x16, 0xc4, 0xb2, 0x84, 0x03, 0x8f, 0x51, 0xc9, 0x62, 0x4b, 0x8f, 0x55, 0xd1, 0xf2, + 0x45, 0xb9, 0x41, 0x3a, 0x74, 0x42, 0xb0, 0x44, 0x05, 0xc1, 0x12, 0x18, 0x17, 0xb1, 0xe6, 0x9b, 0x41, 0xce, 0xe2, + 0xd9, 0x66, 0xce, 0x91, 0xb0, 0x2e, 0x39, 0x1c, 0x0a, 0x09, 0x36, 0x93, 0xcd, 0xd6, 0x73, 0xb6, 0xf6, 0x19, 0x28, + 0x01, 0x4a, 0x99, 0x26, 0x28, 0x4d, 0x2b, 0xb6, 0xe2, 0xa6, 0x35, 0x58, 0xad, 0xa6, 0x6c, 0x55, 0x53, 0x76, 0x4e, + 0x53, 0x8e, 0x2a, 0x28, 0x39, 0xa1, 0x14, 0x65, 0x18, 0xc0, 0x88, 0x4d, 0xa2, 0xab, 0x0c, 0x7d, 0xbc, 0x13, 0x1e, + 0x41, 0x15, 0x11, 0xf9, 0x84, 0x21, 0x04, 0x26, 0xa2, 0xb8, 0x50, 0x85, 0x62, 0x80, 0x8c, 0x48, 0x20, 0x98, 0xa8, + 0xd4, 0x29, 0x30, 0x1f, 0x4d, 0x15, 0xc3, 0xa6, 0x3d, 0x51, 0xbe, 0xa7, 0x8e, 0x7b, 0x94, 0x6d, 0x7e, 0x16, 0xbb, + 0x20, 0x44, 0xee, 0xc6, 0x9d, 0xfa, 0x19, 0xf1, 0xde, 0xee, 0x08, 0xe3, 0x27, 0x3b, 0x6e, 0x11, 0xae, 0x08, 0xb6, + 0x50, 0x73, 0x88, 0xc5, 0xbc, 0x9a, 0x24, 0xa8, 0x65, 0x49, 0xfc, 0x0d, 0x4f, 0x06, 0x39, 0x5b, 0x80, 0x07, 0xed, + 0x9c, 0x65, 0x80, 0xbf, 0x62, 0xb5, 0xe8, 0xf7, 0xda, 0x5b, 0x80, 0xfc, 0xb4, 0xb1, 0x1b, 0x85, 0x89, 0x11, 0x24, + 0xea, 0x76, 0x65, 0x20, 0x3f, 0x7c, 0xc0, 0xe9, 0x78, 0xec, 0x29, 0x63, 0x6e, 0x65, 0x7a, 0x99, 0xce, 0x95, 0x7c, + 0x23, 0xf7, 0xd2, 0x87, 0x5e, 0x82, 0x9d, 0x03, 0xde, 0x40, 0xda, 0xc0, 0x6b, 0xd8, 0x2e, 0xbc, 0x36, 0x48, 0x98, + 0x11, 0x60, 0x8b, 0xe3, 0x63, 0xa4, 0x04, 0x86, 0x70, 0x9c, 0xa5, 0x00, 0x4c, 0xa3, 0x2f, 0xb3, 0x95, 0x7d, 0x99, + 0xd5, 0x9a, 0x2d, 0x95, 0xd3, 0xbd, 0x73, 0xeb, 0x76, 0x3e, 0x97, 0x00, 0x60, 0x52, 0xe7, 0x40, 0x9c, 0x99, 0x60, + 0x97, 0x26, 0x91, 0xe5, 0x63, 0x98, 0x2f, 0xc5, 0xeb, 0xb2, 0x58, 0xa9, 0xae, 0x68, 0xfb, 0xcc, 0xe4, 0x33, 0xd2, + 0x49, 0xa8, 0x80, 0x82, 0x42, 0xae, 0xf5, 0xe9, 0xbb, 0xf0, 0x5d, 0x50, 0x68, 0x60, 0xb6, 0x0a, 0xf7, 0x34, 0x59, + 0x23, 0xf5, 0x46, 0xd5, 0xef, 0x93, 0x6b, 0x20, 0xd5, 0x99, 0x43, 0xcb, 0x9e, 0x57, 0x18, 0x20, 0x76, 0xd4, 0x67, + 0x24, 0xd4, 0x81, 0xd4, 0x03, 0x86, 0x10, 0x6d, 0xd3, 0xc7, 0x9f, 0x0c, 0x89, 0x2e, 0xc0, 0x16, 0xa2, 0x0d, 0xfc, + 0xf8, 0x13, 0xec, 0xb3, 0x20, 0x3c, 0xa6, 0xf9, 0x5b, 0x48, 0x3a, 0x36, 0x70, 0x5a, 0x7d, 0x0a, 0x3e, 0x48, 0x72, + 0x30, 0x51, 0x07, 0x2f, 0xf7, 0x97, 0x7e, 0x1f, 0xb6, 0xec, 0x5c, 0x4a, 0x75, 0xac, 0xd4, 0xdb, 0xb6, 0xf6, 0x83, + 0x68, 0x0b, 0x8e, 0x10, 0xac, 0x9d, 0x21, 0x22, 0x98, 0x19, 0x44, 0xd8, 0xb5, 0x50, 0x77, 0x7b, 0x4a, 0x2d, 0x8b, + 0x7a, 0xdb, 0x53, 0x4a, 0xdd, 0x86, 0xe1, 0xbb, 0x09, 0x66, 0x8a, 0x1b, 0x7e, 0x9d, 0x79, 0xa1, 0xde, 0x78, 0x2c, + 0x9e, 0x76, 0xcf, 0xdf, 0x2f, 0x78, 0x35, 0xdb, 0x28, 0x13, 0xe6, 0x92, 0x2f, 0x66, 0xa1, 0xec, 0x6a, 0x69, 0xdc, + 0xf9, 0xe2, 0x2d, 0xd4, 0x7c, 0xf0, 0x0f, 0x87, 0x04, 0xe2, 0x8d, 0xe2, 0xab, 0x65, 0x23, 0xb7, 0xae, 0xc9, 0xe6, + 0xaa, 0x04, 0xd4, 0xef, 0xf3, 0x35, 0xee, 0xb7, 0x58, 0xff, 0xee, 0x69, 0x90, 0xb1, 0x9a, 0xe1, 0x8a, 0x29, 0x7c, + 0x0a, 0x00, 0x83, 0xc3, 0xa9, 0x20, 0x2d, 0xf0, 0x86, 0x97, 0xc3, 0xcb, 0xc9, 0x86, 0x4c, 0xba, 0x1b, 0x1f, 0xb9, + 0xb3, 0x40, 0xd5, 0xfb, 0x1d, 0xc5, 0x49, 0x83, 0x44, 0x63, 0xaf, 0xc1, 0xe7, 0x59, 0x46, 0xb9, 0x68, 0xe2, 0x3e, + 0x24, 0x5f, 0xe9, 0x01, 0xcc, 0x55, 0x28, 0x01, 0xa2, 0xdf, 0x58, 0x16, 0x1b, 0xd1, 0xb6, 0xd8, 0xc0, 0x52, 0xaa, + 0xe6, 0x7a, 0x35, 0x7d, 0xf1, 0x4a, 0x34, 0xef, 0xa3, 0x19, 0xa7, 0x34, 0x1a, 0x70, 0x9c, 0x46, 0xe1, 0xf6, 0xfd, + 0x9d, 0x28, 0x17, 0x19, 0x58, 0xb2, 0x55, 0x38, 0xc5, 0x65, 0xa3, 0xce, 0x88, 0xe7, 0x79, 0xac, 0x00, 0x3a, 0x1e, + 0x12, 0x00, 0xd5, 0x05, 0x01, 0x15, 0xd1, 0x52, 0x7a, 0x2b, 0xb4, 0x58, 0xa8, 0x37, 0x1c, 0xa5, 0xf0, 0x47, 0xfa, + 0xf3, 0x20, 0x9f, 0x02, 0x10, 0xbb, 0x3e, 0x8e, 0x5e, 0x17, 0x25, 0x7d, 0xaa, 0x98, 0xe5, 0x72, 0x30, 0x81, 0x5d, + 0x9d, 0xc8, 0x50, 0x2b, 0xc8, 0x5b, 0x75, 0xe5, 0xad, 0x4c, 0xde, 0xc6, 0x38, 0x25, 0x3f, 0x70, 0xd3, 0xb1, 0x46, + 0x0c, 0xbc, 0xf2, 0xb4, 0x4e, 0x13, 0xa4, 0xc9, 0x1b, 0x60, 0x18, 0xe2, 0x77, 0x99, 0xf7, 0xdc, 0x73, 0xa4, 0x2a, + 0x48, 0x66, 0xdb, 0xcc, 0x53, 0x17, 0x51, 0x7d, 0xe5, 0xd4, 0xd2, 0x99, 0xd3, 0x8f, 0x00, 0xde, 0x63, 0x6a, 0xd2, + 0x90, 0x8f, 0x70, 0x5b, 0x8a, 0xaf, 0xb7, 0xea, 0x1a, 0x2f, 0x8d, 0xce, 0xdd, 0xcb, 0x97, 0xee, 0x34, 0xe8, 0xa7, + 0x20, 0x28, 0xe7, 0xf3, 0x52, 0xc0, 0x9e, 0x32, 0x9b, 0xeb, 0xd5, 0xaa, 0x15, 0x5a, 0x87, 0xc3, 0x58, 0x3b, 0x0a, + 0x69, 0x75, 0x16, 0xb0, 0xd5, 0x48, 0xa7, 0x04, 0x08, 0xc1, 0x71, 0x1a, 0x76, 0x82, 0x71, 0x97, 0x4e, 0x23, 0xb2, + 0x5e, 0x29, 0x49, 0x17, 0x66, 0x90, 0xfc, 0x93, 0xbc, 0x9e, 0x01, 0x2d, 0x01, 0x1c, 0x8a, 0x58, 0xc2, 0xc3, 0x49, + 0x72, 0x05, 0xd0, 0xe9, 0x70, 0x50, 0x69, 0x68, 0xce, 0x6a, 0x96, 0xcc, 0x27, 0xb1, 0x54, 0x55, 0x1e, 0x0e, 0x9e, + 0x72, 0x33, 0xe8, 0xf7, 0xb3, 0x69, 0xa9, 0x5c, 0x00, 0x82, 0x58, 0x17, 0x06, 0x88, 0x47, 0x5a, 0x78, 0xb2, 0xe8, + 0x53, 0x12, 0xbf, 0x9c, 0x25, 0x73, 0x93, 0x0d, 0xef, 0xc0, 0x08, 0x36, 0xe3, 0xba, 0xa4, 0x4c, 0x7b, 0x54, 0x7e, + 0xcf, 0xe8, 0xa9, 0xed, 0x6b, 0xad, 0xb6, 0x88, 0x75, 0x1d, 0x5c, 0x95, 0xa8, 0xa7, 0xf8, 0xa0, 0x24, 0xc1, 0xfb, + 0x95, 0x73, 0x33, 0x52, 0xbe, 0x16, 0xb9, 0x1f, 0xb4, 0x33, 0xb5, 0x72, 0xe0, 0x08, 0xe4, 0x58, 0x45, 0x25, 0xaf, + 0x77, 0x1d, 0x82, 0x47, 0x77, 0xa5, 0x02, 0xe5, 0xe0, 0x67, 0x20, 0x46, 0xd7, 0x57, 0x9d, 0x35, 0xd4, 0x4c, 0xa3, + 0xca, 0x23, 0xe8, 0xd4, 0x01, 0x3c, 0x29, 0x78, 0xa9, 0xd5, 0x8f, 0x87, 0x83, 0x67, 0x7e, 0xf0, 0xf7, 0x99, 0xbe, + 0x85, 0x98, 0x28, 0xa7, 0x1a, 0x21, 0x71, 0xa5, 0x24, 0x11, 0x1f, 0x2f, 0x5a, 0x56, 0x8c, 0xca, 0xf0, 0x9e, 0x57, + 0xaa, 0x7c, 0x75, 0xaa, 0xf2, 0x62, 0xa4, 0x6d, 0x09, 0xbc, 0x26, 0xff, 0x10, 0xb9, 0xe6, 0xad, 0xaf, 0xbb, 0xca, + 0xd0, 0x97, 0xb2, 0x02, 0x1d, 0xc1, 0x56, 0x96, 0x92, 0x03, 0x3e, 0xa9, 0xee, 0xaa, 0x55, 0xeb, 0x73, 0xca, 0x36, + 0xc2, 0x4d, 0x7e, 0x1d, 0x3b, 0x38, 0x52, 0x7e, 0x83, 0xe7, 0x02, 0xd8, 0x6b, 0xc0, 0xde, 0x9c, 0xb3, 0xa2, 0x79, + 0x70, 0x48, 0xdb, 0x02, 0x8d, 0xcc, 0xdc, 0xce, 0xd5, 0x7d, 0x5b, 0x1e, 0xa5, 0x31, 0x44, 0xa6, 0x3d, 0x30, 0x1d, + 0x6c, 0x46, 0xf9, 0xef, 0x29, 0xbf, 0x55, 0x38, 0x06, 0xbe, 0x9d, 0x7a, 0x07, 0x50, 0xf5, 0xb4, 0x41, 0xc6, 0x9a, + 0x61, 0x68, 0x65, 0x97, 0x4b, 0xa1, 0x25, 0x68, 0xa9, 0x9b, 0x20, 0x38, 0x3f, 0x22, 0xca, 0x11, 0x80, 0x2e, 0x52, + 0xc0, 0x04, 0x3f, 0xa5, 0xed, 0xee, 0xf7, 0xd7, 0xa9, 0x47, 0xee, 0x5d, 0xa1, 0xb2, 0x59, 0x7e, 0x22, 0x18, 0xfb, + 0x89, 0xc6, 0x0c, 0x3a, 0xba, 0x22, 0x27, 0x3c, 0x6b, 0x75, 0x58, 0xd7, 0x4d, 0x19, 0x94, 0xc5, 0x31, 0xaf, 0xa6, + 0xb3, 0x3f, 0x1e, 0xed, 0xeb, 0x06, 0x59, 0xc8, 0xff, 0x60, 0x3d, 0x24, 0x83, 0xee, 0x41, 0x28, 0x44, 0x6f, 0x1e, + 0xcc, 0xf0, 0x3f, 0xb6, 0xe1, 0xd9, 0x77, 0xdc, 0xa8, 0x13, 0xc0, 0x1c, 0x71, 0xbd, 0xf4, 0x14, 0x6d, 0x3d, 0xdc, + 0x02, 0xd9, 0x1a, 0x2f, 0x6f, 0xed, 0x35, 0x90, 0x53, 0x1c, 0xff, 0x92, 0x67, 0x6a, 0x65, 0x83, 0x9f, 0x9e, 0xb2, + 0x1d, 0x78, 0x78, 0x11, 0x02, 0x8a, 0x61, 0xd9, 0xf8, 0xa5, 0xe5, 0x38, 0xa3, 0xff, 0xe6, 0x11, 0xc3, 0x60, 0x11, + 0xf9, 0xf1, 0x45, 0x29, 0xc4, 0x57, 0xe1, 0x7d, 0xaa, 0xbc, 0x25, 0x39, 0x65, 0x2e, 0xf5, 0x30, 0xba, 0x2e, 0x49, + 0xdf, 0x25, 0x1f, 0x5b, 0xc3, 0xf6, 0x87, 0x76, 0xbf, 0x19, 0x22, 0x08, 0xa1, 0x1c, 0x3f, 0x67, 0x74, 0x42, 0xe3, + 0xc3, 0x6a, 0x76, 0x7a, 0xfd, 0xde, 0x39, 0x5e, 0xb0, 0x35, 0x1a, 0xe0, 0xf1, 0xd0, 0xc5, 0x3c, 0x51, 0x43, 0xa7, + 0xeb, 0xda, 0x39, 0x78, 0x60, 0x90, 0xe5, 0xc9, 0x77, 0x0c, 0x4b, 0xec, 0x4f, 0x22, 0x9e, 0xb4, 0x55, 0x1b, 0x9b, + 0x23, 0xd5, 0x46, 0xcd, 0xc0, 0x0f, 0x5e, 0x41, 0x81, 0xd1, 0x05, 0xe9, 0x16, 0x8c, 0xc3, 0x11, 0x80, 0xac, 0x18, + 0xc7, 0x23, 0x83, 0x09, 0x0c, 0xe9, 0x86, 0xa2, 0x00, 0x3c, 0x3c, 0x8e, 0x07, 0x21, 0x03, 0x48, 0x17, 0x3c, 0x34, + 0x6c, 0x93, 0x90, 0xf2, 0xf3, 0x3c, 0xaf, 0xd5, 0x10, 0xfa, 0xce, 0x42, 0x75, 0xec, 0x47, 0xda, 0x2b, 0xd6, 0xb5, + 0x2a, 0x1d, 0xd9, 0xea, 0x00, 0x7d, 0x43, 0x06, 0xbe, 0x75, 0x6c, 0x01, 0x10, 0x2d, 0xf1, 0x7b, 0xea, 0xd5, 0xbe, + 0x8c, 0x59, 0xa1, 0x5e, 0xbf, 0x31, 0xed, 0x7a, 0x25, 0x2d, 0x0a, 0xa8, 0xb8, 0x6d, 0xd5, 0xf6, 0x48, 0xce, 0x7f, + 0x78, 0xd7, 0xd1, 0x8e, 0xcf, 0x4e, 0x8d, 0x2d, 0xa1, 0xcc, 0x2d, 0x9e, 0xc8, 0xea, 0x68, 0x4b, 0x75, 0xaa, 0x0f, + 0xb8, 0xd4, 0xa4, 0x3a, 0x33, 0x30, 0xbc, 0x46, 0x80, 0x72, 0x0b, 0x91, 0x34, 0x0e, 0x7b, 0xe7, 0x93, 0x41, 0xc1, + 0xdc, 0x22, 0x01, 0x09, 0x6c, 0x63, 0x6b, 0x17, 0xcd, 0xf5, 0xeb, 0xf7, 0xd4, 0xab, 0xda, 0x54, 0xf5, 0xe0, 0x8d, + 0x17, 0x38, 0x7b, 0xa7, 0xb5, 0x80, 0x00, 0x0a, 0x5b, 0xcb, 0x72, 0x70, 0xee, 0x76, 0x55, 0x4b, 0x45, 0x19, 0xf5, + 0xfb, 0xe7, 0xbf, 0xa7, 0xa8, 0x88, 0x3d, 0x55, 0x9c, 0xb2, 0x7e, 0xbb, 0x65, 0xde, 0x54, 0x96, 0xbc, 0x41, 0x15, + 0xad, 0xd5, 0x51, 0x53, 0xb9, 0x6e, 0xae, 0x5a, 0x32, 0x41, 0x8c, 0xee, 0xd3, 0xb5, 0xce, 0x9d, 0x7a, 0xef, 0x55, + 0x1c, 0x31, 0x10, 0xdc, 0x74, 0x8f, 0x0f, 0x0e, 0x42, 0xa3, 0xa2, 0x5c, 0x70, 0xa3, 0xb4, 0xaa, 0xa4, 0x14, 0xf2, + 0x56, 0x45, 0x73, 0xa6, 0x8f, 0x00, 0x88, 0x00, 0xab, 0x44, 0xfd, 0x6f, 0xbe, 0x34, 0xc6, 0x83, 0x07, 0xbe, 0x26, + 0xd7, 0xb1, 0xf5, 0xfe, 0x69, 0x8d, 0xb4, 0xda, 0x38, 0x26, 0xb5, 0xea, 0x65, 0xab, 0x78, 0xd9, 0xbd, 0x4e, 0xc5, + 0xe0, 0xf9, 0xff, 0xdc, 0x07, 0xa8, 0x11, 0x2d, 0x65, 0x70, 0xeb, 0x6a, 0x80, 0xc6, 0x87, 0x63, 0xe1, 0x1b, 0x3f, + 0x64, 0x9c, 0x0f, 0x66, 0xe8, 0xa8, 0x36, 0x07, 0x07, 0x04, 0x47, 0x75, 0x8f, 0xc6, 0x84, 0x59, 0x38, 0xf7, 0x20, + 0x50, 0x7d, 0xe2, 0x3e, 0xe3, 0xda, 0x0b, 0xda, 0x04, 0x3e, 0x59, 0xd7, 0x35, 0x45, 0x80, 0x8b, 0xd8, 0x98, 0x88, + 0x21, 0x2e, 0x9b, 0x44, 0xea, 0x9b, 0x31, 0x28, 0x00, 0x8a, 0x67, 0x15, 0xc9, 0xa5, 0x37, 0x69, 0x5e, 0x89, 0xb2, + 0xd6, 0xcd, 0xa8, 0x58, 0x31, 0x04, 0x80, 0x87, 0xa0, 0xb8, 0xaa, 0xcc, 0x84, 0x46, 0x6c, 0x20, 0x95, 0xa5, 0x60, + 0xd5, 0xb0, 0xf0, 0x9b, 0xf6, 0x9b, 0xe4, 0xa4, 0x77, 0x3e, 0x6e, 0x9d, 0x3b, 0xf6, 0xbd, 0xa3, 0x90, 0xd2, 0x1e, + 0x8a, 0x09, 0x82, 0xe0, 0xa7, 0x75, 0x38, 0x7f, 0xc6, 0x9f, 0x11, 0x98, 0x8a, 0x6c, 0xc6, 0x80, 0x83, 0x10, 0x91, + 0x19, 0xbf, 0xe7, 0xf0, 0x19, 0x2f, 0x27, 0xe1, 0x70, 0xe8, 0x83, 0x3e, 0x94, 0x67, 0xb3, 0x70, 0x28, 0xe6, 0xd2, + 0x7b, 0x1d, 0xac, 0x75, 0x21, 0xaf, 0x27, 0x21, 0xa2, 0x85, 0x86, 0x3e, 0x38, 0xaf, 0xbb, 0xe6, 0x08, 0x4b, 0x00, + 0x9a, 0x38, 0xfa, 0xb2, 0x7e, 0x3f, 0xf2, 0xb4, 0xa1, 0x45, 0x8a, 0x8b, 0x46, 0x99, 0xcd, 0x72, 0xd9, 0x09, 0x1b, + 0xd7, 0x6e, 0x81, 0x50, 0x3c, 0x4c, 0x5b, 0xa8, 0x5a, 0x4f, 0xf5, 0x7a, 0x6e, 0xda, 0x7d, 0xf7, 0xa0, 0x5a, 0xe5, + 0x48, 0x67, 0x6d, 0xba, 0x52, 0xab, 0x5b, 0x46, 0xd5, 0x3a, 0x4b, 0x23, 0xaa, 0xdc, 0x24, 0x77, 0x8d, 0x5a, 0xf0, + 0xc9, 0x86, 0x2e, 0x53, 0x76, 0xb6, 0x06, 0x27, 0x8e, 0x3c, 0x97, 0xdc, 0xf2, 0xdd, 0x79, 0x45, 0x77, 0xa7, 0xda, + 0xb7, 0x00, 0xf7, 0x66, 0xd8, 0x90, 0x39, 0xaf, 0xb1, 0xd3, 0x20, 0x4c, 0x02, 0x3f, 0x62, 0x1f, 0x33, 0x64, 0x83, + 0x01, 0x1d, 0x85, 0xf4, 0xbf, 0xb6, 0xcc, 0x91, 0x80, 0xc9, 0x5f, 0xcf, 0xfd, 0xe6, 0xa6, 0xc8, 0x61, 0x31, 0x7e, + 0xd8, 0x60, 0xa4, 0xb1, 0x5a, 0x83, 0x61, 0xb9, 0x44, 0xe4, 0x4f, 0xed, 0x8e, 0x69, 0xaa, 0xe3, 0xcd, 0x7a, 0xad, + 0xf9, 0xd5, 0xd3, 0xa7, 0xba, 0x3e, 0xff, 0xed, 0xfb, 0xcb, 0xb0, 0x66, 0xf6, 0x87, 0x20, 0x94, 0x76, 0xef, 0x16, + 0xe7, 0x8e, 0x44, 0xef, 0x58, 0x69, 0x66, 0x97, 0x76, 0xc9, 0x2e, 0x4d, 0x69, 0xd7, 0xe4, 0x7a, 0xf5, 0x8d, 0xf2, + 0xc6, 0xce, 0x2b, 0xa6, 0xfb, 0xf7, 0x42, 0xef, 0x28, 0xa7, 0x6a, 0x02, 0x11, 0x4d, 0xda, 0x91, 0xb8, 0xdd, 0x2b, + 0xc3, 0xa7, 0x93, 0xbc, 0x5d, 0xc2, 0x51, 0xd7, 0xb0, 0xdc, 0x7c, 0xfb, 0xd7, 0xbc, 0xea, 0xac, 0x70, 0xfb, 0xa5, + 0x31, 0x6b, 0x7f, 0x0a, 0xe2, 0xaa, 0xfe, 0xf4, 0x1e, 0xd5, 0x4c, 0xc9, 0xff, 0x55, 0x8f, 0x81, 0xab, 0x9f, 0x4c, + 0x3b, 0xba, 0xa7, 0x10, 0x36, 0x98, 0xfd, 0xfc, 0xf8, 0xa1, 0x45, 0xd7, 0xe8, 0x02, 0x45, 0x72, 0x00, 0x9d, 0xbb, + 0x64, 0x84, 0xf7, 0x3b, 0xc6, 0xb9, 0x7f, 0xf5, 0x9b, 0x9a, 0x1c, 0x21, 0xa2, 0x5d, 0x84, 0x03, 0x80, 0xb8, 0xd3, + 0x54, 0xd6, 0xa1, 0x06, 0xe8, 0x03, 0x02, 0xeb, 0xd0, 0xb7, 0x19, 0xc0, 0x41, 0x1f, 0x6d, 0x9e, 0x45, 0x20, 0xaf, + 0x7b, 0x77, 0xec, 0x2d, 0xdb, 0xf9, 0xfc, 0xd9, 0x2a, 0xf5, 0xee, 0xd0, 0x21, 0xf8, 0x7c, 0xec, 0x4f, 0x2f, 0x03, + 0x83, 0x0b, 0xcd, 0xde, 0x3e, 0x11, 0x6c, 0xc7, 0x76, 0x4f, 0x10, 0xa9, 0xa8, 0x3b, 0xff, 0xf0, 0xd2, 0x44, 0xcf, + 0x3b, 0x2f, 0x2c, 0xf9, 0x02, 0xc0, 0x03, 0x59, 0x0c, 0x28, 0x3e, 0x0b, 0xef, 0x57, 0x96, 0x80, 0x9a, 0xfc, 0x96, + 0xaf, 0xbd, 0x77, 0x94, 0x7a, 0x03, 0x7f, 0x0e, 0x28, 0x7d, 0x92, 0x73, 0x6f, 0x39, 0xbc, 0xf5, 0x2f, 0x9e, 0x82, + 0xf3, 0xc4, 0x6a, 0x78, 0x03, 0x7f, 0x15, 0x7c, 0xe8, 0x2d, 0x07, 0x98, 0x58, 0xf2, 0xa1, 0xb7, 0x1a, 0x40, 0xaa, + 0xc2, 0x85, 0xc4, 0xd8, 0x87, 0xcf, 0x41, 0xce, 0xf0, 0x8f, 0xdf, 0x35, 0x06, 0xeb, 0xe7, 0xa0, 0xd0, 0x68, 0xac, + 0xa5, 0x0a, 0x59, 0x8a, 0xc5, 0x99, 0x00, 0x9b, 0x70, 0xdc, 0xed, 0x8b, 0x55, 0x6d, 0xd6, 0x82, 0xfe, 0x7c, 0xc0, + 0xf7, 0x68, 0xac, 0xae, 0xca, 0xb9, 0x28, 0x3f, 0x22, 0x7d, 0xaa, 0xe3, 0x63, 0x54, 0x6c, 0xea, 0xee, 0x74, 0xaa, + 0x55, 0x47, 0xda, 0xef, 0xca, 0x35, 0xd8, 0xf1, 0x3a, 0x39, 0xb2, 0x14, 0x9e, 0x75, 0xd8, 0x79, 0xe9, 0x94, 0xe8, + 0x30, 0x8c, 0x77, 0x5b, 0xf5, 0x8c, 0xa1, 0x3c, 0x37, 0x18, 0xd3, 0x05, 0x8f, 0xf8, 0xb3, 0x41, 0x2e, 0x43, 0x63, + 0x3e, 0x20, 0x1b, 0x86, 0xf2, 0xa1, 0x45, 0x86, 0x84, 0x88, 0xf7, 0x50, 0x09, 0xd8, 0xb6, 0xa0, 0x4c, 0x0a, 0x38, + 0x8b, 0x06, 0xbf, 0xd7, 0x5e, 0x0e, 0xbc, 0x07, 0x91, 0xdf, 0x48, 0x97, 0x72, 0x89, 0x8d, 0x4e, 0x1c, 0xcb, 0x42, + 0x3b, 0x8f, 0xeb, 0xaf, 0x63, 0x50, 0xbf, 0x57, 0xfa, 0x0d, 0xca, 0xd9, 0x1f, 0x25, 0xeb, 0xb4, 0xf1, 0xc4, 0xf8, + 0x97, 0xab, 0xfc, 0x53, 0xb4, 0xd4, 0xc3, 0xff, 0x67, 0x4c, 0xa1, 0xf4, 0x2f, 0xd3, 0x32, 0xda, 0xac, 0x16, 0xa2, + 0x14, 0x79, 0x24, 0x4e, 0xbe, 0x16, 0xd9, 0xb9, 0x7c, 0xe7, 0x53, 0xe8, 0x17, 0x80, 0x96, 0x7d, 0x82, 0x8c, 0xfe, + 0x8d, 0x09, 0x3e, 0xfc, 0x4d, 0x3b, 0xd7, 0xe6, 0x7c, 0x3c, 0xc9, 0xaf, 0xac, 0xbd, 0xdb, 0xf1, 0x22, 0x31, 0x8a, + 0xb1, 0xdc, 0x57, 0xdd, 0xac, 0x9c, 0xa8, 0xe4, 0xc0, 0x48, 0xd7, 0x64, 0x2f, 0x57, 0xb2, 0x6e, 0xa7, 0x5b, 0x09, + 0x44, 0x54, 0x81, 0xf7, 0x18, 0x57, 0xb1, 0x8f, 0x60, 0xba, 0xee, 0xb8, 0x8c, 0x76, 0xbc, 0x67, 0xbc, 0x3a, 0x51, + 0x56, 0x70, 0xbb, 0x11, 0xed, 0x09, 0x1d, 0xfd, 0x34, 0xa9, 0x2d, 0x0b, 0x07, 0x20, 0x77, 0x09, 0x63, 0xd9, 0x10, + 0xac, 0x18, 0x94, 0xbe, 0x5e, 0x53, 0xb2, 0x2c, 0xc0, 0xa2, 0xb3, 0xcb, 0x08, 0xc4, 0xb0, 0x6e, 0x9a, 0x13, 0x3a, + 0x5e, 0xba, 0x38, 0xef, 0xb5, 0x8a, 0x14, 0x3c, 0xa3, 0x45, 0xc7, 0xdc, 0x74, 0xa4, 0x1b, 0xa3, 0xbd, 0x7d, 0x61, + 0x10, 0x52, 0x3c, 0x7f, 0x60, 0xab, 0x75, 0x71, 0x91, 0x78, 0x85, 0x4c, 0xb4, 0x20, 0x96, 0x22, 0x30, 0xe3, 0x85, + 0xa6, 0x11, 0x26, 0x28, 0x53, 0x82, 0x45, 0x6b, 0x74, 0x68, 0x7f, 0x58, 0xc2, 0xee, 0x31, 0x46, 0x80, 0x40, 0x95, + 0xe9, 0x45, 0xd8, 0x9a, 0x30, 0x9b, 0xba, 0xd8, 0x00, 0x6d, 0x15, 0x43, 0x83, 0xb0, 0x36, 0xc4, 0x7c, 0x4c, 0xf3, + 0xe5, 0x3f, 0xb1, 0x18, 0xdb, 0x13, 0x88, 0xed, 0xdd, 0xae, 0x49, 0x98, 0xee, 0xb5, 0xb8, 0xb1, 0x5e, 0x6e, 0x4f, + 0x39, 0xa6, 0x76, 0xac, 0x8d, 0xda, 0xb1, 0x16, 0x7a, 0xc7, 0x5a, 0xeb, 0x1d, 0x6b, 0xd9, 0xf0, 0x47, 0x99, 0x17, + 0xb3, 0x04, 0xf4, 0xbb, 0x2b, 0xae, 0x1a, 0x04, 0xcd, 0xd8, 0xb0, 0x5b, 0xf8, 0x2d, 0xb1, 0x76, 0x4b, 0xff, 0x62, + 0xc1, 0x6e, 0x4c, 0x1f, 0xe8, 0xd6, 0x01, 0x96, 0x11, 0x35, 0xf9, 0x0e, 0x79, 0x37, 0x9d, 0x15, 0x85, 0xdb, 0x13, + 0xbb, 0xf1, 0xd9, 0x5b, 0xf3, 0xe6, 0xdd, 0x93, 0x08, 0x72, 0xef, 0xb8, 0x77, 0x37, 0x7c, 0xeb, 0x5f, 0xe8, 0x16, + 0xc8, 0xc9, 0x2c, 0x67, 0x20, 0x75, 0xc4, 0x27, 0x88, 0x56, 0xf6, 0x94, 0xef, 0x84, 0xdc, 0xd9, 0xd6, 0x4f, 0xee, + 0xdc, 0x6d, 0x6d, 0xf9, 0xe4, 0x8e, 0x55, 0x23, 0x8a, 0x15, 0xa7, 0x29, 0x12, 0x66, 0xd1, 0x06, 0x78, 0xea, 0xe5, + 0xfb, 0x1d, 0x3b, 0xe6, 0x70, 0xf7, 0xa4, 0xa3, 0xe3, 0xe5, 0x1c, 0xb0, 0xbb, 0xff, 0x68, 0x13, 0x36, 0x56, 0xba, + 0x56, 0xa1, 0xc3, 0xdd, 0x93, 0x4c, 0xe3, 0x39, 0x1c, 0xc9, 0xa7, 0x63, 0x8d, 0x0d, 0x82, 0xba, 0x3e, 0x67, 0x50, + 0x3b, 0x76, 0x5f, 0x13, 0x76, 0xd9, 0x31, 0xaf, 0x75, 0xcd, 0xdb, 0x2b, 0x4f, 0xc5, 0x86, 0x80, 0x0e, 0x5f, 0xab, + 0x1b, 0xe4, 0x5f, 0x02, 0xa7, 0x08, 0x00, 0x39, 0x1c, 0x2f, 0x79, 0xec, 0xfb, 0x34, 0x4b, 0xeb, 0x1d, 0x6a, 0x2d, + 0x2a, 0xcb, 0x32, 0xac, 0xbd, 0x1f, 0xb4, 0x62, 0x58, 0x6a, 0xfa, 0xa7, 0xe3, 0xc0, 0xed, 0x6c, 0xb7, 0x32, 0x76, + 0x19, 0x4f, 0x8a, 0x8b, 0xdf, 0x4e, 0x0b, 0xe5, 0xda, 0xcd, 0xdb, 0xf8, 0x4d, 0xab, 0x25, 0x4b, 0x6b, 0x3d, 0xe4, + 0xa5, 0x65, 0x11, 0x81, 0x00, 0x86, 0x23, 0x65, 0x17, 0x4b, 0xb8, 0x47, 0x58, 0xdd, 0x83, 0x50, 0x32, 0x2f, 0x5c, + 0x3c, 0x65, 0x31, 0x24, 0x02, 0x6c, 0x77, 0xa8, 0xd8, 0x16, 0x2e, 0x9e, 0xb2, 0x0d, 0x2f, 0xfa, 0xfd, 0x4c, 0x75, + 0x0a, 0x59, 0x77, 0x16, 0x7c, 0xa3, 0x9a, 0x63, 0x0d, 0x35, 0x5b, 0x9b, 0x64, 0x6b, 0x9c, 0xdb, 0x8a, 0x8f, 0x65, + 0x5b, 0xf1, 0xb1, 0xb2, 0xd6, 0xa5, 0x7b, 0xbd, 0x47, 0x75, 0x01, 0x6c, 0xfd, 0xb7, 0xc7, 0x2b, 0xd7, 0xf3, 0x19, + 0x01, 0x7c, 0xdd, 0xf0, 0xf1, 0xe4, 0x06, 0xbd, 0x4a, 0x6e, 0xfc, 0xdb, 0x81, 0x1a, 0x7f, 0xa7, 0x73, 0x6f, 0x00, + 0xba, 0x92, 0xf2, 0x0a, 0xc8, 0x3b, 0xc8, 0x31, 0xb7, 0xec, 0xca, 0xbb, 0x93, 0xef, 0xb0, 0xb7, 0xbc, 0x9e, 0xdd, + 0xcc, 0xd9, 0x0e, 0x9c, 0x0a, 0x92, 0x81, 0xbd, 0xac, 0xd8, 0x2e, 0x88, 0xed, 0x84, 0xdf, 0x09, 0x98, 0xf2, 0x39, + 0x04, 0x71, 0x05, 0xb7, 0x10, 0x87, 0x27, 0xff, 0x1c, 0xdc, 0xb5, 0x36, 0xeb, 0x3b, 0x66, 0x75, 0x4e, 0xb0, 0x66, + 0x56, 0x0f, 0x06, 0x8b, 0x66, 0xb2, 0xea, 0xf7, 0xbd, 0x9d, 0x76, 0x7c, 0x5a, 0x4a, 0x9d, 0xd8, 0x69, 0xad, 0xd6, + 0x0d, 0x7b, 0x2b, 0xb5, 0x2e, 0xc6, 0xd0, 0x03, 0xc4, 0x4f, 0xb7, 0x03, 0x7e, 0xd7, 0xb1, 0xb6, 0xbc, 0xb7, 0xec, + 0x86, 0xed, 0xe0, 0x12, 0xd4, 0xb4, 0x97, 0xfd, 0x49, 0xe5, 0x82, 0x76, 0xec, 0x92, 0x78, 0x38, 0x63, 0x56, 0x29, + 0x33, 0xeb, 0xa4, 0xba, 0x12, 0x9d, 0x31, 0x9d, 0xb5, 0x9e, 0xcf, 0xd5, 0x7c, 0x52, 0x68, 0x50, 0xbf, 0x73, 0xe2, + 0x23, 0x2a, 0x3a, 0x4f, 0x60, 0x6b, 0x59, 0x41, 0xac, 0xf6, 0x39, 0x58, 0x6b, 0xb5, 0x4b, 0xbf, 0x97, 0x0f, 0xb8, + 0x4d, 0x39, 0xac, 0x03, 0x83, 0x9a, 0x13, 0x2b, 0xea, 0x21, 0xdb, 0x31, 0x6e, 0x7e, 0x7a, 0xf9, 0x83, 0x13, 0x96, + 0xac, 0x58, 0xed, 0x4f, 0x7f, 0x7b, 0xe2, 0xe9, 0xef, 0xd4, 0xfe, 0x85, 0xf0, 0x83, 0xf1, 0xbf, 0x6b, 0xf7, 0xb5, + 0x16, 0xa3, 0xb2, 0x55, 0x8e, 0xd0, 0xb8, 0x5b, 0x49, 0x93, 0xe5, 0x27, 0xe1, 0x09, 0x6b, 0xc1, 0xb3, 0x5c, 0x2f, + 0xd1, 0xac, 0x80, 0x15, 0xd6, 0x32, 0x09, 0x57, 0x18, 0xab, 0xa5, 0xad, 0xbe, 0x45, 0xd3, 0x1c, 0x1f, 0xce, 0xb5, + 0x41, 0x99, 0x72, 0x76, 0x46, 0xac, 0x86, 0xcb, 0xb0, 0x34, 0xa1, 0x08, 0xd9, 0xbd, 0x1d, 0xdc, 0xd8, 0x29, 0x4b, + 0x29, 0xc3, 0x39, 0x06, 0x13, 0x1e, 0x89, 0x51, 0x95, 0xef, 0xef, 0x4b, 0x8a, 0x9c, 0xb6, 0xe5, 0xa0, 0x0a, 0x61, + 0x1f, 0x49, 0x94, 0xc0, 0xad, 0x48, 0x0b, 0x45, 0xca, 0xe2, 0x6f, 0x07, 0xe8, 0x02, 0x2f, 0xa0, 0xae, 0x46, 0xdd, + 0xfe, 0x70, 0xc4, 0xc3, 0x07, 0xa6, 0x3e, 0x30, 0x62, 0x49, 0xa0, 0xb6, 0xe7, 0x59, 0xba, 0x04, 0x15, 0x7e, 0x0f, + 0x57, 0x13, 0xb1, 0x9f, 0x5b, 0x52, 0x54, 0x64, 0x23, 0xbd, 0xa1, 0x35, 0x78, 0x84, 0xd6, 0x94, 0x17, 0x4e, 0xaa, + 0x4d, 0x3a, 0xef, 0x08, 0x39, 0x56, 0xdf, 0x5a, 0xc2, 0x68, 0x57, 0xf4, 0xe2, 0xde, 0xd1, 0x7b, 0x9e, 0xae, 0x7a, + 0xee, 0x4f, 0x5c, 0x31, 0x4f, 0x6e, 0x23, 0x50, 0xb7, 0x82, 0xea, 0xf6, 0x5e, 0x25, 0x58, 0xb0, 0xa4, 0xdd, 0xc7, + 0x6f, 0x67, 0xed, 0x40, 0x54, 0xc6, 0x2a, 0x7d, 0x4b, 0x12, 0xf6, 0xc4, 0xa0, 0x53, 0xa8, 0xca, 0xed, 0xee, 0x68, + 0x0b, 0x5c, 0xc7, 0x2c, 0x45, 0xcf, 0x6d, 0x91, 0xbb, 0xe5, 0xdf, 0x3d, 0x57, 0xe4, 0xec, 0x97, 0x80, 0xe0, 0xd4, + 0x7c, 0x43, 0x7c, 0x39, 0xc2, 0xa3, 0xea, 0x16, 0x38, 0x4e, 0xdf, 0x01, 0xfc, 0xc3, 0xe1, 0x12, 0x34, 0x01, 0xb1, + 0x60, 0xbd, 0x34, 0xee, 0xb1, 0x5e, 0x5c, 0x6c, 0x96, 0x49, 0xbe, 0x01, 0x67, 0x06, 0x4a, 0xb5, 0xf4, 0x03, 0xc7, + 0x6a, 0x01, 0x15, 0x0e, 0x66, 0x27, 0xf5, 0xc2, 0x32, 0xea, 0x31, 0x7d, 0x7e, 0x06, 0x7b, 0x47, 0x48, 0x00, 0xdc, + 0x2f, 0xfb, 0x80, 0x04, 0x3c, 0x74, 0x66, 0x07, 0x84, 0x13, 0x66, 0x51, 0x15, 0x48, 0x24, 0x47, 0xfa, 0xd9, 0x63, + 0x26, 0x92, 0x3f, 0x98, 0xf5, 0x9c, 0x53, 0xa2, 0xc7, 0x7a, 0xea, 0x08, 0xe9, 0xb1, 0x9e, 0x75, 0x44, 0xf4, 0x58, + 0xcf, 0x3a, 0x3e, 0x7a, 0xac, 0x67, 0x8e, 0x9d, 0x1e, 0x04, 0x26, 0x40, 0xe4, 0x01, 0xeb, 0xd1, 0x64, 0xea, 0x29, + 0xee, 0x01, 0xa2, 0x41, 0x60, 0x3d, 0x29, 0x9c, 0xf7, 0x00, 0x79, 0x8c, 0xc4, 0xea, 0xa0, 0xf7, 0x1f, 0xe3, 0xc7, + 0x3d, 0x23, 0x23, 0x8f, 0x5b, 0x87, 0xd5, 0xff, 0xfa, 0x4f, 0x08, 0x80, 0xc3, 0xb3, 0xa9, 0x77, 0x39, 0x86, 0xac, + 0xb2, 0x8c, 0x40, 0xf2, 0x13, 0x83, 0x2f, 0x5f, 0x00, 0x54, 0x7d, 0xa6, 0x6b, 0x35, 0x39, 0x6a, 0x8f, 0x39, 0x74, + 0xc5, 0x00, 0xb0, 0x0d, 0x4b, 0x54, 0xd5, 0xc2, 0x26, 0x2c, 0x6e, 0x3f, 0xc3, 0x68, 0x2e, 0x9b, 0x5e, 0xd0, 0x40, + 0x3d, 0x42, 0xf0, 0x4b, 0xeb, 0xa1, 0xb5, 0x96, 0x29, 0x87, 0xae, 0x8d, 0xa2, 0xca, 0x86, 0xba, 0x84, 0xd5, 0x5a, + 0x44, 0x35, 0x51, 0xa4, 0x5c, 0x32, 0x8a, 0x62, 0xa9, 0x82, 0x7d, 0x26, 0x96, 0x10, 0x35, 0x4f, 0x5b, 0x6d, 0x15, + 0xec, 0x97, 0x80, 0xb0, 0x16, 0xd6, 0x42, 0x3a, 0x83, 0xda, 0x3b, 0xfd, 0x48, 0xf9, 0xcb, 0x0b, 0xb9, 0x9d, 0x5b, + 0x28, 0xc2, 0xed, 0x39, 0x28, 0x6f, 0xea, 0xaa, 0x54, 0x44, 0xa3, 0x25, 0x50, 0xca, 0x9c, 0x20, 0xb2, 0x00, 0x01, + 0x1c, 0x37, 0x10, 0xf8, 0xbc, 0xc6, 0x27, 0xd0, 0x28, 0x04, 0xf2, 0x03, 0xab, 0x70, 0xed, 0x21, 0x2d, 0xb5, 0x46, + 0x44, 0x89, 0xf8, 0xd1, 0xd5, 0x73, 0x6c, 0x5f, 0x3d, 0x8d, 0xb5, 0xa5, 0x34, 0x41, 0xfc, 0xc4, 0x62, 0x0b, 0x31, + 0x41, 0x54, 0x87, 0xe8, 0x08, 0x96, 0x13, 0x42, 0x14, 0xfe, 0x14, 0xfa, 0xa9, 0x81, 0xbf, 0x64, 0x8b, 0x22, 0xaf, + 0x09, 0x16, 0xb3, 0x62, 0x80, 0x56, 0x45, 0xe0, 0x99, 0xce, 0x96, 0xca, 0x9c, 0xe6, 0xd1, 0x91, 0x1d, 0x9c, 0x77, + 0x1d, 0xec, 0xa5, 0x2f, 0x63, 0x27, 0xcb, 0xa6, 0x51, 0x1b, 0x1b, 0x22, 0xe1, 0x15, 0xf9, 0xcb, 0x2c, 0x35, 0xce, + 0x91, 0xb9, 0x5c, 0xdf, 0x75, 0xb1, 0x5c, 0xd2, 0x36, 0x61, 0x15, 0x22, 0xd4, 0x6d, 0x43, 0xe5, 0x52, 0x98, 0x8d, + 0x4d, 0xd3, 0x00, 0x5f, 0x28, 0x2a, 0x95, 0xaa, 0xd4, 0x56, 0x2a, 0x39, 0xe1, 0x5d, 0xdf, 0xd4, 0x22, 0x75, 0x45, + 0xb0, 0x8d, 0x19, 0xea, 0xa1, 0xdc, 0xa8, 0xb1, 0x6f, 0x3b, 0x56, 0xe9, 0x1d, 0x26, 0xc8, 0x19, 0x79, 0x91, 0x83, + 0x8b, 0x92, 0x82, 0xcc, 0xd5, 0x10, 0xe6, 0x0f, 0x1a, 0x3e, 0x2d, 0x2c, 0xf7, 0x50, 0x02, 0x66, 0x47, 0x0d, 0x0f, + 0x23, 0x04, 0x22, 0x2e, 0x95, 0x7d, 0xc5, 0xc4, 0xef, 0x29, 0x98, 0x25, 0x13, 0xba, 0x17, 0xb1, 0x28, 0x42, 0x1b, + 0x9f, 0x24, 0xc9, 0xd4, 0xd3, 0x14, 0xdc, 0xc8, 0x65, 0x98, 0xa3, 0x11, 0x5a, 0xf2, 0x91, 0x03, 0xe9, 0x6b, 0x39, + 0x95, 0xe0, 0x23, 0xea, 0x14, 0x70, 0x3c, 0x3f, 0x2f, 0xac, 0x9f, 0x2c, 0x97, 0x98, 0xcb, 0xda, 0xfc, 0x97, 0x1d, + 0x1d, 0x83, 0x5d, 0x9e, 0x26, 0x8e, 0xab, 0xff, 0xa8, 0x4a, 0x8a, 0xfb, 0x5f, 0xd2, 0x1c, 0x50, 0x04, 0x33, 0x7b, + 0x8a, 0xf1, 0xb1, 0xcf, 0x32, 0x05, 0xfc, 0xed, 0x7a, 0x6b, 0xc9, 0xc4, 0x2e, 0x69, 0x37, 0x57, 0xc6, 0x2f, 0xb5, + 0x61, 0xc7, 0xc1, 0xb9, 0x01, 0x28, 0xce, 0x1a, 0x1d, 0x96, 0xd7, 0xba, 0x6d, 0x55, 0xa8, 0x40, 0xad, 0xff, 0xbd, + 0x5b, 0x98, 0xf2, 0x36, 0x2f, 0x95, 0xb7, 0x79, 0x68, 0x02, 0x04, 0x22, 0x33, 0xe4, 0x59, 0xd3, 0x31, 0x49, 0xdc, + 0x3b, 0x52, 0xd2, 0xbe, 0x23, 0xc5, 0x0f, 0xde, 0x91, 0x90, 0x6f, 0x09, 0x1d, 0xd9, 0x17, 0x9c, 0x9c, 0x40, 0x99, + 0xc1, 0x5e, 0x5e, 0x33, 0xd9, 0x3f, 0xa0, 0xbd, 0x70, 0x2e, 0xcb, 0x2b, 0xfe, 0x56, 0x78, 0x6b, 0x7f, 0xba, 0x3e, + 0xed, 0xaa, 0x7a, 0xfb, 0x8d, 0x99, 0x79, 0x38, 0x14, 0x87, 0x43, 0x65, 0x82, 0x76, 0x6f, 0xb8, 0x18, 0xe4, 0xec, + 0xce, 0x8d, 0x8f, 0x7f, 0xcb, 0x51, 0xc4, 0x56, 0xca, 0x23, 0xe9, 0x42, 0x25, 0x86, 0x97, 0x06, 0x1e, 0x66, 0xc7, + 0xc7, 0x93, 0xdd, 0xd5, 0xdd, 0x64, 0x30, 0xd8, 0xa9, 0xbe, 0xdd, 0xf2, 0x7a, 0xb6, 0x9b, 0xb3, 0x7b, 0x7e, 0x3b, + 0xdd, 0x06, 0xfb, 0x06, 0xb6, 0xdd, 0xdd, 0x95, 0x38, 0x1c, 0x76, 0xcf, 0xf8, 0x8d, 0xbf, 0xbf, 0x47, 0x40, 0x67, + 0x7e, 0x3e, 0x6e, 0x63, 0xfc, 0x5c, 0xb7, 0x5d, 0xb5, 0x76, 0x00, 0x4f, 0xff, 0xa3, 0x77, 0x3d, 0x5b, 0xcc, 0x7d, + 0xf6, 0x88, 0xdf, 0x83, 0x7f, 0x3e, 0x6e, 0x92, 0x48, 0x7d, 0xa2, 0x5d, 0x26, 0xaf, 0xc1, 0x81, 0x7c, 0xe7, 0xb3, + 0x57, 0xfc, 0x7e, 0xb6, 0x98, 0xf3, 0xe2, 0x70, 0x78, 0x3f, 0x0d, 0x91, 0xac, 0x29, 0xac, 0x88, 0x25, 0xc5, 0xf3, + 0x83, 0xf0, 0xf8, 0xbd, 0x88, 0x0c, 0x91, 0x96, 0x7b, 0x77, 0xc8, 0xae, 0x59, 0xe4, 0x07, 0xf0, 0x41, 0xb6, 0xf3, + 0x27, 0xb2, 0xa6, 0x74, 0xbf, 0x78, 0xe4, 0x1f, 0x0e, 0xf4, 0xd7, 0x2b, 0xff, 0x70, 0x78, 0xcf, 0xee, 0x11, 0x1c, + 0x9d, 0xef, 0xa0, 0x7f, 0xf4, 0xad, 0x03, 0xaa, 0x32, 0x7c, 0x3b, 0xdb, 0xcc, 0xfd, 0x67, 0x2b, 0xb6, 0x04, 0x2e, + 0x14, 0xe5, 0x85, 0x76, 0xcd, 0xee, 0xd1, 0xeb, 0x8c, 0x9c, 0x88, 0x66, 0xbb, 0xb9, 0xcf, 0x62, 0x7c, 0xae, 0xee, + 0x8b, 0xc9, 0x37, 0xef, 0x8b, 0x3b, 0xb6, 0xed, 0xbe, 0x2f, 0xca, 0x37, 0xdd, 0xf5, 0xb3, 0x65, 0x3b, 0x76, 0x0f, + 0x33, 0xec, 0x2d, 0xbf, 0x6e, 0x8e, 0x1d, 0x63, 0xbf, 0x79, 0x63, 0x04, 0x50, 0x66, 0x0b, 0x16, 0x0b, 0x0e, 0x4a, + 0xb5, 0x6a, 0x5b, 0x12, 0x79, 0xa5, 0x03, 0xd5, 0x66, 0x04, 0xf7, 0xd5, 0x42, 0xce, 0x3c, 0x33, 0xd0, 0xb7, 0x15, + 0xa2, 0x85, 0xc3, 0x06, 0xfc, 0x8d, 0xb6, 0x8e, 0x31, 0x4c, 0xb3, 0x9a, 0x69, 0x5b, 0xd4, 0xe5, 0xf7, 0xbd, 0x67, + 0xf2, 0x1b, 0x19, 0xd8, 0x42, 0x24, 0x85, 0xe3, 0xf8, 0xe2, 0xe9, 0x09, 0xff, 0x55, 0xcb, 0xa3, 0x56, 0xfb, 0x85, + 0x52, 0x9f, 0xbe, 0xa4, 0x23, 0x9a, 0xb8, 0x17, 0x6d, 0x19, 0xd6, 0x28, 0x6b, 0x6a, 0xe9, 0x30, 0x8c, 0x6b, 0xd8, + 0x97, 0x07, 0x0e, 0x7d, 0x07, 0x04, 0xda, 0x2a, 0x95, 0x02, 0x2d, 0x1c, 0xc3, 0x28, 0xcc, 0x42, 0xca, 0xc3, 0xc2, + 0x2c, 0xe5, 0x3d, 0x16, 0x68, 0x71, 0xab, 0xee, 0x31, 0xb5, 0xdd, 0x82, 0x08, 0xab, 0xb7, 0x8c, 0xf3, 0xcb, 0x46, + 0x15, 0x6e, 0x0b, 0x50, 0x14, 0x41, 0x19, 0xec, 0x49, 0x6e, 0xbb, 0x51, 0xd2, 0x6c, 0x14, 0xd6, 0x62, 0x59, 0x94, + 0xbb, 0x5e, 0xc3, 0x6e, 0xf0, 0x82, 0xaa, 0x9f, 0x10, 0xb6, 0x65, 0xcf, 0x3a, 0x94, 0x8b, 0xf4, 0xdf, 0xb2, 0xf4, + 0x7c, 0xbf, 0x35, 0xe7, 0x7f, 0xfa, 0x8a, 0x3e, 0x2a, 0xff, 0xfd, 0x4b, 0xfa, 0xc9, 0x60, 0x19, 0x39, 0xa5, 0x7e, + 0x8a, 0x46, 0xb7, 0x69, 0x4e, 0x18, 0x5b, 0xbe, 0x7e, 0xfa, 0x1d, 0x32, 0x05, 0xc9, 0xa1, 0x94, 0xaa, 0x9c, 0xec, + 0xa1, 0x2f, 0xbc, 0xee, 0xc3, 0x4c, 0x30, 0x00, 0xe1, 0x35, 0xda, 0x54, 0x13, 0x26, 0xf1, 0xe0, 0x0a, 0xfe, 0x6f, + 0x04, 0x31, 0x68, 0x9f, 0x28, 0xea, 0xd8, 0x36, 0xd2, 0x75, 0xdb, 0x39, 0x48, 0xee, 0xd4, 0x95, 0x3f, 0x2a, 0x27, + 0xff, 0x8e, 0x86, 0xc8, 0x2b, 0xae, 0x10, 0x2b, 0x0b, 0x2e, 0xb1, 0x18, 0x2a, 0x52, 0x80, 0x6b, 0x08, 0x22, 0x65, + 0x51, 0x52, 0xb8, 0xe5, 0xa0, 0x2a, 0x02, 0x30, 0xae, 0x56, 0x47, 0x9d, 0x08, 0x1f, 0xb7, 0xd6, 0x22, 0x04, 0x2b, + 0x1a, 0xb5, 0xb2, 0x56, 0xe0, 0x0b, 0xd2, 0x97, 0x0e, 0x05, 0x31, 0x3d, 0x0a, 0xa9, 0x2a, 0x1d, 0x0a, 0xa4, 0x39, + 0x54, 0x7c, 0x63, 0xb0, 0x51, 0x54, 0xa4, 0xe7, 0x2f, 0x4d, 0x4a, 0x2e, 0x8d, 0x19, 0x1f, 0x44, 0x19, 0x89, 0xbc, + 0x0e, 0x97, 0x62, 0x5a, 0x20, 0xdf, 0xe8, 0xf1, 0x83, 0xe0, 0x12, 0xde, 0x0d, 0xb9, 0x57, 0x80, 0x2d, 0x01, 0x3b, + 0xc0, 0xbd, 0x32, 0xa3, 0x5c, 0xa7, 0x75, 0xfd, 0xd6, 0x7a, 0x28, 0x86, 0xe1, 0x13, 0x4b, 0x60, 0x3b, 0x5a, 0x47, + 0x47, 0x7a, 0xf8, 0xf0, 0xbf, 0xae, 0x6a, 0x8e, 0x3a, 0x95, 0xcb, 0xd9, 0xf1, 0x84, 0xa5, 0x88, 0x19, 0x74, 0x7f, + 0xdd, 0xbe, 0x14, 0x40, 0xb7, 0xcb, 0x62, 0x9e, 0x8d, 0x76, 0xf2, 0x6f, 0xe9, 0xc6, 0x8a, 0xd2, 0x26, 0xde, 0x65, + 0xbd, 0xb1, 0x3f, 0x1c, 0xfd, 0xc7, 0x93, 0x77, 0x13, 0x42, 0xd5, 0xd9, 0xb0, 0xb5, 0x8e, 0x73, 0xf9, 0x5f, 0xff, + 0x39, 0x26, 0x2b, 0x08, 0x0a, 0xc2, 0xb2, 0x53, 0x4c, 0x54, 0x30, 0x8a, 0x14, 0x6b, 0x3e, 0x9e, 0xac, 0x51, 0x27, + 0xbc, 0xf6, 0x17, 0x5a, 0x27, 0x4c, 0x8c, 0xac, 0x54, 0xfe, 0x9a, 0x55, 0x6c, 0xa9, 0x32, 0x0b, 0xc8, 0x3c, 0xc8, + 0x27, 0x6b, 0xa3, 0xc1, 0x5c, 0xf1, 0x7a, 0xb6, 0x9e, 0x4b, 0xe5, 0x33, 0x98, 0x72, 0x16, 0x83, 0x93, 0xa5, 0xb0, + 0x3b, 0x12, 0x28, 0x5a, 0x33, 0x74, 0xed, 0x4f, 0xb1, 0x55, 0xaf, 0xd2, 0xaa, 0x06, 0x78, 0x40, 0x88, 0x81, 0xa1, + 0xf6, 0x6a, 0xe1, 0xa1, 0xb5, 0x00, 0xd6, 0xfe, 0xa8, 0xf4, 0x83, 0xf1, 0x64, 0xc1, 0x6f, 0x90, 0x7f, 0x39, 0x72, + 0xd4, 0xee, 0xfd, 0xbe, 0x77, 0x07, 0x52, 0x70, 0xe4, 0x5a, 0x28, 0x90, 0x08, 0xe8, 0x86, 0x6f, 0x7c, 0xe5, 0x83, + 0xf1, 0x16, 0xb5, 0xd5, 0xa0, 0xa0, 0x76, 0x74, 0xcb, 0x63, 0x47, 0xef, 0x7c, 0x77, 0x42, 0x5f, 0x7d, 0xa3, 0x85, + 0xe3, 0x6f, 0x9c, 0x91, 0x6b, 0xb6, 0xea, 0x90, 0x23, 0x9a, 0x49, 0x87, 0x10, 0xb1, 0x62, 0x6b, 0xf6, 0x96, 0x54, + 0xce, 0x9d, 0x43, 0x76, 0xfa, 0x08, 0x55, 0x7a, 0xad, 0x87, 0xb7, 0x13, 0xa5, 0xbb, 0x3d, 0xde, 0x4d, 0xbe, 0x67, + 0x13, 0x11, 0x83, 0x01, 0x6d, 0x10, 0xce, 0xc8, 0x3a, 0x44, 0x2a, 0x1d, 0x20, 0x04, 0x8e, 0x09, 0x68, 0xfa, 0xaf, + 0x6f, 0x49, 0x14, 0x70, 0xa4, 0x8d, 0x90, 0xb5, 0xec, 0x70, 0xc8, 0x41, 0xa3, 0xdc, 0xfc, 0xe9, 0x15, 0xea, 0x34, + 0x07, 0xe6, 0xe9, 0x12, 0xf6, 0x1c, 0x3c, 0xd2, 0x8b, 0xe3, 0x23, 0xfd, 0xbf, 0xa3, 0x89, 0x1a, 0xff, 0xfb, 0x9a, + 0x28, 0xa5, 0x45, 0x72, 0x54, 0x4b, 0xdf, 0xa5, 0x8e, 0x82, 0x8b, 0xbc, 0xa3, 0x16, 0xb2, 0x67, 0xd9, 0xb8, 0x51, + 0xcd, 0xfb, 0xff, 0xb5, 0x32, 0xff, 0x5f, 0xd3, 0xca, 0x30, 0x25, 0x3b, 0x96, 0x6a, 0xe6, 0x81, 0x56, 0x31, 0xcc, + 0x7e, 0x21, 0x09, 0x91, 0xe1, 0xd2, 0x80, 0x1f, 0x55, 0xb0, 0x8f, 0xd3, 0x6a, 0x9d, 0x85, 0x3b, 0x54, 0xa2, 0xde, + 0x8a, 0x65, 0x9a, 0x3f, 0xaf, 0xff, 0x25, 0xca, 0x02, 0xa6, 0xf6, 0xb2, 0x4c, 0xe3, 0x80, 0x2c, 0xfc, 0x59, 0x58, + 0xe2, 0xe4, 0xc6, 0x36, 0xfe, 0x22, 0xc7, 0xd3, 0x7e, 0xd5, 0x99, 0x79, 0x20, 0x81, 0x1a, 0xe8, 0x42, 0x72, 0x2e, + 0x2b, 0x8b, 0x7b, 0x84, 0x6e, 0xfe, 0xb1, 0x2c, 0x8b, 0xd2, 0xeb, 0x7d, 0x4a, 0xd2, 0xea, 0x6c, 0x25, 0xea, 0xa4, + 0x88, 0x15, 0x94, 0x4d, 0x0a, 0x30, 0xfa, 0xb0, 0xf2, 0x44, 0x1c, 0x9c, 0x21, 0x50, 0xc3, 0x59, 0x9d, 0x84, 0x00, + 0x34, 0xac, 0x10, 0xf6, 0xcf, 0xa0, 0x85, 0x67, 0x61, 0x1c, 0xae, 0x01, 0x26, 0x27, 0xad, 0xce, 0xd6, 0x65, 0x71, + 0x97, 0xc6, 0x22, 0x1e, 0xf5, 0x14, 0x25, 0xcb, 0xeb, 0xdc, 0x95, 0x73, 0xfd, 0xfd, 0x9f, 0x14, 0xc0, 0x6e, 0xc0, + 0x6c, 0x5b, 0x60, 0x07, 0x00, 0x09, 0x0a, 0x64, 0x0b, 0x75, 0x1a, 0x9d, 0xa9, 0xa5, 0x02, 0xef, 0xb9, 0x1e, 0xe0, + 0xaf, 0x73, 0xc0, 0x32, 0xae, 0x0b, 0x19, 0x30, 0x82, 0x00, 0x46, 0xe0, 0xa0, 0x04, 0x0c, 0x9d, 0x21, 0x6e, 0xab, + 0x72, 0xd6, 0x42, 0x73, 0xa5, 0xdb, 0x92, 0x9b, 0x46, 0x39, 0x5b, 0x89, 0x00, 0xfa, 0xea, 0xa6, 0xc4, 0xe9, 0x62, + 0xd1, 0x4a, 0xc2, 0xbe, 0x7d, 0xdf, 0x4e, 0x15, 0x79, 0x7c, 0x94, 0x86, 0xbc, 0x02, 0xcf, 0x33, 0x8e, 0x24, 0x51, + 0x22, 0x78, 0x9d, 0x37, 0x66, 0x1c, 0x7e, 0x6c, 0x53, 0x4e, 0xed, 0xcd, 0x7a, 0x01, 0x38, 0x4f, 0xd0, 0x96, 0x01, + 0xc6, 0x02, 0x06, 0xe7, 0x42, 0x2c, 0x79, 0x8a, 0xe0, 0x97, 0x4e, 0xa4, 0x30, 0xee, 0x72, 0x18, 0xe6, 0x41, 0xd1, + 0xbb, 0xa4, 0xfe, 0xe8, 0xf7, 0x51, 0x9b, 0x0c, 0x86, 0xa0, 0x12, 0x40, 0x65, 0xdd, 0x20, 0x31, 0xb0, 0x2a, 0xdd, + 0x48, 0x5c, 0x42, 0xbc, 0xcc, 0x57, 0x53, 0x11, 0x05, 0xef, 0xeb, 0x09, 0x21, 0x9c, 0x60, 0x7c, 0x88, 0x1b, 0x20, + 0x60, 0xb0, 0x8a, 0x0b, 0x0c, 0x92, 0xe7, 0x12, 0xdd, 0x1f, 0xcf, 0x77, 0x0c, 0x70, 0xe5, 0xbc, 0xa7, 0xda, 0xd5, + 0x03, 0x7b, 0xb9, 0x4a, 0x97, 0x8c, 0x10, 0x56, 0xfc, 0x5f, 0x44, 0xde, 0xb7, 0xc3, 0x04, 0xd4, 0x36, 0xf2, 0xc7, + 0x20, 0x31, 0x97, 0x89, 0x22, 0x88, 0x47, 0x59, 0xc1, 0x92, 0x34, 0xd8, 0x8c, 0x92, 0x14, 0x34, 0x9a, 0x18, 0x43, + 0xa6, 0x42, 0x3b, 0x24, 0x8d, 0x66, 0x63, 0xb2, 0x8f, 0x21, 0xaf, 0xe1, 0x62, 0xb1, 0xc0, 0xfb, 0x7e, 0x11, 0xaa, + 0x83, 0x6d, 0x69, 0x0e, 0x01, 0x27, 0x09, 0xf6, 0xd4, 0x15, 0x29, 0x09, 0xb3, 0xd1, 0xa7, 0x90, 0x73, 0x03, 0x3a, + 0x4e, 0x1a, 0x43, 0xf5, 0x81, 0x49, 0x78, 0x15, 0xa1, 0x93, 0xb2, 0x42, 0x58, 0xc0, 0x7d, 0x23, 0xa3, 0xd1, 0x4a, + 0x1a, 0x04, 0xde, 0x66, 0xd8, 0x0a, 0x6c, 0x42, 0xc3, 0x7f, 0xcc, 0x3c, 0x4c, 0xab, 0x59, 0x09, 0xe6, 0x7c, 0x03, + 0x95, 0x18, 0x4f, 0x16, 0x57, 0x7c, 0xe3, 0x62, 0x25, 0x26, 0xb3, 0xc5, 0x7c, 0xb2, 0x96, 0x54, 0x73, 0xb9, 0xb7, + 0x66, 0x19, 0x5b, 0xc0, 0xfe, 0x61, 0x60, 0x28, 0x1d, 0xd8, 0xd1, 0x54, 0xd3, 0x26, 0x01, 0x26, 0xd3, 0x39, 0xe7, + 0xc3, 0x4b, 0x44, 0x93, 0xd5, 0xa9, 0x3b, 0x99, 0xaa, 0x76, 0x70, 0x4d, 0xce, 0xe4, 0xf4, 0x48, 0x3d, 0xd5, 0xba, + 0x97, 0x7c, 0xb4, 0x1d, 0x56, 0xa3, 0xad, 0x1f, 0x80, 0x5b, 0xa7, 0xb0, 0xd3, 0x77, 0xc3, 0x6a, 0xb4, 0xf3, 0x35, + 0xec, 0x2e, 0x29, 0x04, 0xaa, 0xbf, 0xca, 0x9a, 0xcc, 0xc5, 0xeb, 0xe2, 0xde, 0x2b, 0xd8, 0x53, 0x7f, 0xa0, 0x7f, + 0x95, 0xec, 0xa9, 0x6f, 0x33, 0xb9, 0xfe, 0x95, 0x76, 0x8d, 0xc6, 0x4c, 0xc7, 0x6b, 0x57, 0x60, 0x85, 0x06, 0xc8, + 0x2f, 0xd8, 0xd1, 0xde, 0xe4, 0x20, 0x10, 0xa0, 0x7b, 0x09, 0x8e, 0xa2, 0x80, 0xa8, 0x69, 0x55, 0x79, 0x74, 0xba, + 0xf7, 0xf7, 0xf8, 0x46, 0x08, 0xd8, 0xe4, 0xa9, 0x75, 0x6f, 0x19, 0xfb, 0x87, 0x03, 0x84, 0xd0, 0xcb, 0xe9, 0x37, + 0xda, 0xb2, 0x7a, 0xb4, 0x63, 0xb9, 0x6f, 0x18, 0xf5, 0x14, 0x8c, 0x61, 0xe8, 0xc2, 0x2a, 0x46, 0xf2, 0x0c, 0xc8, + 0x1a, 0xbf, 0x41, 0x74, 0x01, 0x8b, 0x5e, 0xef, 0xd5, 0x11, 0x0d, 0x22, 0xa0, 0xd2, 0x6b, 0xd2, 0x58, 0xe4, 0x73, + 0x55, 0x88, 0xde, 0x7b, 0x6b, 0xe7, 0xcd, 0x8c, 0x64, 0x99, 0x34, 0x52, 0xed, 0x56, 0x16, 0xeb, 0xca, 0x9b, 0x9d, + 0x90, 0x2e, 0xe6, 0x18, 0x2a, 0x83, 0xc7, 0x01, 0x28, 0x3d, 0xff, 0x11, 0x7a, 0x25, 0x43, 0xa6, 0x59, 0xa2, 0x99, + 0xdd, 0x35, 0xfe, 0x64, 0x95, 0x7a, 0x31, 0x22, 0x66, 0x03, 0x5b, 0x88, 0xdb, 0xa2, 0xd2, 0x6d, 0x51, 0x28, 0x5b, + 0x14, 0xe9, 0x43, 0xed, 0x4c, 0x77, 0x66, 0xe1, 0xb3, 0xca, 0xb4, 0xef, 0x53, 0x66, 0xc6, 0x06, 0x68, 0xbb, 0x08, + 0xdf, 0x40, 0x07, 0x2a, 0x84, 0xfc, 0x0d, 0x22, 0x22, 0x11, 0xb0, 0xcb, 0xa9, 0x3b, 0xb1, 0xe9, 0x90, 0xcc, 0x43, + 0xcc, 0x0a, 0x35, 0xca, 0x0b, 0x9e, 0x1c, 0x0d, 0x48, 0x45, 0xa8, 0xdb, 0xfd, 0xfe, 0xf9, 0xc2, 0x05, 0xb5, 0x5f, + 0x53, 0xec, 0x18, 0xdd, 0x14, 0x70, 0x2e, 0x78, 0x94, 0xf7, 0xdc, 0x3b, 0x07, 0x34, 0xc7, 0xf6, 0x14, 0x59, 0x03, + 0x4e, 0x6f, 0xbb, 0x10, 0x60, 0xfb, 0xac, 0xd9, 0xda, 0x9f, 0xac, 0xae, 0xa2, 0xa9, 0x57, 0xf2, 0x99, 0xee, 0xa2, + 0xc4, 0xed, 0xa2, 0x58, 0x76, 0xd1, 0xa6, 0x81, 0x60, 0xc7, 0x95, 0x1f, 0x00, 0x6f, 0x68, 0xd4, 0xef, 0x97, 0xad, + 0x9e, 0x3d, 0xf9, 0xda, 0x71, 0xcf, 0x66, 0x3e, 0x2b, 0x4d, 0xcf, 0x7e, 0x4e, 0xdd, 0x9e, 0x95, 0x93, 0xbd, 0xe8, + 0x9c, 0xec, 0xd3, 0xd9, 0x3c, 0x10, 0x5c, 0xee, 0xdc, 0xe7, 0xf9, 0x54, 0x4f, 0xbb, 0xca, 0x0f, 0x5a, 0x43, 0x64, + 0xed, 0x72, 0x55, 0xf7, 0xba, 0x82, 0x05, 0x2c, 0xc1, 0xdd, 0x7a, 0x69, 0xfe, 0x19, 0xbb, 0xbf, 0x17, 0xf4, 0xd2, + 0xfc, 0x77, 0xfa, 0x93, 0x02, 0x38, 0x00, 0x8d, 0xa9, 0xdd, 0x02, 0x0f, 0x31, 0x54, 0x50, 0xb8, 0x9b, 0x95, 0x73, + 0xaf, 0x06, 0x38, 0x4c, 0xd2, 0x37, 0xb4, 0x7a, 0xa5, 0xc5, 0xae, 0x97, 0xc9, 0x5e, 0x01, 0x1e, 0xaa, 0x90, 0x87, + 0x87, 0x43, 0xd4, 0x31, 0xec, 0xa0, 0x8e, 0x80, 0x61, 0x0f, 0xa1, 0xb1, 0x05, 0x9e, 0x8f, 0xbf, 0x64, 0x7c, 0x2f, + 0x40, 0x6d, 0x84, 0xf0, 0x78, 0xb5, 0x28, 0x43, 0x6c, 0xd9, 0x1b, 0xa4, 0x92, 0xfa, 0x45, 0x20, 0xca, 0x68, 0x15, + 0xd0, 0x56, 0x7b, 0xcc, 0xd2, 0x78, 0x0d, 0xa1, 0x62, 0xa9, 0x8f, 0x21, 0x34, 0x70, 0xf8, 0x1d, 0x0e, 0x20, 0xc1, + 0x97, 0x5c, 0x93, 0xcd, 0xbd, 0xc9, 0xef, 0x68, 0x9f, 0x3f, 0x1c, 0xce, 0x2f, 0x11, 0x94, 0x2e, 0x85, 0x8f, 0x54, + 0x22, 0xaa, 0xa7, 0xb8, 0x29, 0x21, 0x9b, 0x25, 0x2b, 0xfd, 0xe0, 0xb3, 0xfa, 0x05, 0x00, 0xb2, 0x10, 0x68, 0x13, + 0x99, 0xfd, 0xe9, 0x4c, 0x45, 0x17, 0x00, 0x87, 0xf8, 0xc3, 0x27, 0x88, 0xbe, 0xa1, 0x65, 0x5a, 0x3e, 0x4e, 0x78, + 0x08, 0x5a, 0x5b, 0xd2, 0x49, 0xc4, 0x4a, 0x81, 0x0d, 0x91, 0xf0, 0xfd, 0xfe, 0x79, 0x2c, 0xe9, 0x40, 0xa3, 0x56, + 0xf7, 0xc6, 0xad, 0xee, 0x95, 0xaf, 0xeb, 0x4e, 0x6e, 0x7c, 0x50, 0xb4, 0xcf, 0xe6, 0x8d, 0xca, 0xf7, 0x7d, 0x9d, + 0xb3, 0x3b, 0xdd, 0x3b, 0x72, 0x4e, 0x7c, 0x7f, 0x0f, 0xa1, 0xe8, 0xa1, 0x29, 0xb2, 0x2c, 0x09, 0x03, 0x5a, 0x6b, + 0xd7, 0x9e, 0x65, 0x74, 0xf0, 0xda, 0x37, 0x84, 0x88, 0x3c, 0xc5, 0x27, 0x21, 0xb7, 0x38, 0x3e, 0x28, 0xd0, 0x3f, + 0x33, 0xfe, 0xcc, 0x89, 0x1f, 0xb6, 0xfa, 0x05, 0x70, 0x6e, 0xba, 0xf7, 0xee, 0xc4, 0xac, 0xc7, 0x50, 0xca, 0xc6, + 0xff, 0xfd, 0x3e, 0x91, 0x05, 0x3a, 0x1d, 0xd1, 0x30, 0x10, 0xdc, 0x45, 0xf5, 0x7f, 0xaf, 0x78, 0xdd, 0xb3, 0x56, + 0xe7, 0xcb, 0x4f, 0x9d, 0x9e, 0xf4, 0x7a, 0xe9, 0x56, 0xf8, 0x32, 0x4c, 0x7c, 0xe7, 0x75, 0xbf, 0x61, 0xbb, 0xef, + 0x7e, 0x79, 0x77, 0xf4, 0x32, 0xb0, 0x49, 0xe1, 0x3b, 0x9b, 0x92, 0xcf, 0x7a, 0xa0, 0xf0, 0xeb, 0xb1, 0x5e, 0x5d, + 0xac, 0x7b, 0xac, 0x87, 0x5a, 0x40, 0xf4, 0xb0, 0x00, 0xf5, 0x5f, 0xcf, 0x3e, 0x0d, 0x85, 0x83, 0x6c, 0x9c, 0x2a, + 0x50, 0x64, 0xc1, 0x9f, 0x89, 0xd1, 0xba, 0x20, 0x40, 0x64, 0xb3, 0x7d, 0x7d, 0xac, 0x4e, 0x66, 0xdf, 0x94, 0x5a, + 0x92, 0xc1, 0x37, 0x01, 0x99, 0x1d, 0x58, 0x39, 0x41, 0xe9, 0xb8, 0x35, 0xe0, 0xca, 0x16, 0x91, 0x78, 0xfb, 0xd3, + 0x20, 0x3b, 0x6b, 0x4e, 0x1a, 0xed, 0xc3, 0x3e, 0xcd, 0x03, 0x04, 0x22, 0x99, 0x8a, 0x20, 0xd7, 0xdc, 0x5b, 0xd2, + 0x47, 0x87, 0x73, 0x5e, 0xc8, 0x3f, 0xa7, 0x52, 0x87, 0x38, 0x94, 0x58, 0x03, 0x81, 0xca, 0x33, 0x54, 0x39, 0x6c, + 0x90, 0xe3, 0x8f, 0x8e, 0x64, 0x26, 0x31, 0x59, 0xe4, 0x6e, 0xcd, 0x54, 0xf8, 0x81, 0xe0, 0x63, 0x96, 0x73, 0xe0, + 0x02, 0x9b, 0xcd, 0x7d, 0x35, 0xc5, 0xc5, 0x15, 0xf8, 0x63, 0x0a, 0xbf, 0xe2, 0x29, 0xec, 0xb4, 0xfb, 0x75, 0x51, + 0xa5, 0xa8, 0xdb, 0x28, 0x2c, 0x2a, 0x59, 0x30, 0xad, 0x21, 0x4d, 0x74, 0x18, 0xfd, 0x49, 0xce, 0x40, 0x41, 0xc8, + 0x2f, 0x9b, 0x06, 0x18, 0xa9, 0xe4, 0xf2, 0xa0, 0x4a, 0x02, 0x2f, 0xc0, 0x36, 0xa8, 0xd8, 0xba, 0x80, 0x20, 0xdb, + 0xa4, 0x28, 0xd3, 0xaf, 0x45, 0x5e, 0x87, 0x59, 0x50, 0x8d, 0xd2, 0xea, 0x27, 0xfd, 0x13, 0x98, 0xb7, 0xa9, 0x18, + 0xd5, 0x2a, 0x26, 0xbf, 0xd1, 0xef, 0x17, 0x83, 0xd6, 0x87, 0x0c, 0x3e, 0x7a, 0x6d, 0x1a, 0xfc, 0xda, 0x69, 0xb0, + 0xc3, 0x44, 0x23, 0x00, 0x92, 0x39, 0xb5, 0xe4, 0xa1, 0xe8, 0xcf, 0x20, 0xc7, 0x1a, 0x55, 0x4e, 0xc1, 0x60, 0xfd, + 0xc7, 0xa3, 0x1d, 0x98, 0x7a, 0x71, 0xb4, 0x25, 0x3b, 0x68, 0xe5, 0x1b, 0xe0, 0x7e, 0x8d, 0x6c, 0x31, 0xcb, 0x01, + 0x9a, 0xbd, 0x46, 0x64, 0x7c, 0xf2, 0x02, 0x18, 0xb3, 0x75, 0x16, 0x46, 0x22, 0x0e, 0xc6, 0xaa, 0x31, 0x63, 0x06, + 0x06, 0x2e, 0xd0, 0xb5, 0x4c, 0x4a, 0xd2, 0x90, 0x0e, 0x06, 0xac, 0x94, 0x2d, 0x1c, 0xf0, 0xa2, 0x39, 0x6e, 0xc7, + 0xbb, 0x16, 0x8d, 0x07, 0xb6, 0x8b, 0xed, 0xef, 0x5e, 0x14, 0xdb, 0xb7, 0xe1, 0x96, 0xf4, 0x0a, 0x39, 0x4b, 0xe8, + 0xe7, 0x4f, 0xb2, 0xcf, 0x1a, 0x4e, 0x4e, 0x85, 0x66, 0x68, 0x29, 0x12, 0x4a, 0xf1, 0x4e, 0x4f, 0x0a, 0x8c, 0x65, + 0x2c, 0xfc, 0x3d, 0x70, 0x4e, 0x17, 0x8a, 0xc8, 0x1d, 0x38, 0x8e, 0xaf, 0xa1, 0x82, 0xe0, 0xbf, 0x00, 0xb3, 0x18, + 0x20, 0x4f, 0x67, 0x21, 0xe1, 0x14, 0xc2, 0xc5, 0x2a, 0xeb, 0xf7, 0xe5, 0x2f, 0xea, 0xa2, 0x8b, 0x4c, 0xd6, 0x7d, + 0x12, 0x8e, 0xcc, 0x58, 0x4e, 0xbd, 0x90, 0x3c, 0xef, 0x79, 0x32, 0x4d, 0x9e, 0xe4, 0x41, 0x04, 0x90, 0xcf, 0xe1, + 0x5d, 0x98, 0x66, 0x60, 0x95, 0x26, 0xe5, 0x47, 0x28, 0x7d, 0xf1, 0x79, 0xe5, 0x07, 0x3a, 0x7b, 0x6e, 0x92, 0xe1, + 0xcd, 0xaa, 0xf5, 0x26, 0xb5, 0xae, 0x8b, 0x07, 0xfc, 0xab, 0x33, 0xd8, 0x38, 0xd7, 0x99, 0xe0, 0xc0, 0x8b, 0xa4, + 0xd6, 0x6b, 0xc6, 0x9f, 0x65, 0xb8, 0x2e, 0x55, 0x1b, 0x7d, 0x14, 0xa2, 0x73, 0xc8, 0x54, 0x80, 0x42, 0x91, 0xf6, + 0x0f, 0x4a, 0xad, 0x4c, 0x2a, 0x6d, 0x24, 0x80, 0xee, 0x61, 0xd2, 0x60, 0x8b, 0xa1, 0x8c, 0xa5, 0x49, 0x94, 0x3b, + 0x0d, 0xe2, 0xca, 0x7e, 0xac, 0x24, 0x0e, 0x2d, 0x8b, 0xe4, 0xdf, 0xbb, 0x9e, 0xbe, 0x42, 0xea, 0x4e, 0x16, 0xc8, + 0x8c, 0xf1, 0x3c, 0x8f, 0x3f, 0x01, 0x61, 0x36, 0x68, 0xa3, 0xa2, 0x10, 0x42, 0x36, 0x88, 0x41, 0xe3, 0x79, 0x1e, + 0xbf, 0x50, 0x34, 0x1e, 0xf2, 0x51, 0xe4, 0xab, 0xbf, 0x4a, 0xfd, 0x57, 0xe8, 0x33, 0x13, 0x3c, 0x42, 0x35, 0xd1, + 0xbf, 0x7b, 0x3e, 0xbb, 0x03, 0xb5, 0x61, 0x14, 0x66, 0xa6, 0xfc, 0xca, 0x37, 0xc5, 0xd9, 0xeb, 0xaf, 0xe8, 0x2a, + 0xdb, 0xba, 0x1f, 0xbd, 0x3e, 0x22, 0xb0, 0x36, 0x46, 0x57, 0xdc, 0x18, 0x40, 0x0e, 0x93, 0xf7, 0x2b, 0x4a, 0xcb, + 0x21, 0x0d, 0x42, 0x07, 0x0d, 0x41, 0xaf, 0x24, 0xfa, 0x40, 0x62, 0x11, 0x63, 0x78, 0x21, 0x9e, 0x91, 0x9a, 0x4c, + 0x34, 0xc4, 0x2b, 0x62, 0x3f, 0x44, 0x4b, 0x4e, 0x4d, 0x74, 0x23, 0x4c, 0x31, 0x90, 0xd8, 0x19, 0x24, 0x27, 0x49, + 0xad, 0xfc, 0xe2, 0x99, 0x24, 0x2c, 0xb1, 0xf3, 0x10, 0x83, 0x49, 0x2d, 0xdd, 0xe9, 0x4d, 0x95, 0xbe, 0x1c, 0x69, + 0x39, 0x68, 0x1f, 0x80, 0x5d, 0x4a, 0x7a, 0xff, 0xa4, 0x50, 0xc4, 0x87, 0x30, 0x8e, 0x21, 0x7c, 0x8b, 0xa8, 0xae, + 0xc0, 0xb9, 0x56, 0xa0, 0xb1, 0x1a, 0x78, 0x68, 0x66, 0xd5, 0x7c, 0xc8, 0xe9, 0xa7, 0xd2, 0xf2, 0xc7, 0x88, 0xc6, + 0x46, 0xeb, 0xe6, 0x70, 0xd8, 0xd3, 0xaa, 0x97, 0xce, 0x41, 0x97, 0xcd, 0x24, 0x26, 0x6e, 0x20, 0x5d, 0x3f, 0xfa, + 0xcd, 0x84, 0xbd, 0x88, 0x0a, 0xb9, 0x14, 0x82, 0x82, 0x56, 0x07, 0x02, 0x87, 0xc2, 0x5b, 0x94, 0xf9, 0x22, 0xa6, + 0x0d, 0x84, 0xc1, 0xe7, 0x07, 0xf2, 0xf3, 0x4d, 0x41, 0x2a, 0x76, 0xac, 0x6b, 0xbf, 0xbf, 0x28, 0x3d, 0xc0, 0x93, + 0x33, 0x49, 0x9e, 0x36, 0x43, 0x58, 0x11, 0x40, 0x63, 0x56, 0x93, 0xc5, 0x09, 0x57, 0xe6, 0xf0, 0x75, 0xe5, 0x95, + 0x2c, 0x65, 0xea, 0x3c, 0xd5, 0x0b, 0x20, 0xea, 0x78, 0x83, 0x56, 0xa4, 0x7e, 0x85, 0xce, 0x5e, 0xb3, 0x12, 0x32, + 0x1e, 0x9e, 0x73, 0x9e, 0x8e, 0xee, 0x59, 0xc2, 0x23, 0xfc, 0x2b, 0x99, 0xe8, 0xc3, 0xef, 0x9e, 0xc3, 0xcd, 0x38, + 0xe1, 0x91, 0xdb, 0xec, 0x7d, 0x15, 0xae, 0xe0, 0x66, 0x5a, 0x00, 0x92, 0x5b, 0x90, 0x34, 0x01, 0x25, 0x24, 0x32, + 0x21, 0xb3, 0xa6, 0xe4, 0x8b, 0x96, 0xb6, 0xc1, 0x1a, 0x26, 0x9d, 0x07, 0xbc, 0x68, 0xf5, 0xd1, 0x6a, 0xa2, 0x5d, + 0x66, 0xf9, 0x7c, 0x88, 0x33, 0x54, 0x73, 0xdc, 0x9d, 0xc1, 0xcf, 0x01, 0xaf, 0x58, 0xd5, 0xa4, 0xa3, 0xdd, 0x80, + 0x0b, 0x4f, 0xae, 0xf3, 0x74, 0xb4, 0xc5, 0x5f, 0x72, 0x7f, 0x00, 0xe8, 0x60, 0xea, 0x12, 0xf8, 0x53, 0xb5, 0xd5, + 0x54, 0xea, 0xb7, 0xd6, 0x7e, 0x5d, 0x77, 0x56, 0x2b, 0xf7, 0xac, 0xcb, 0xd0, 0x1e, 0x19, 0x72, 0xc6, 0x0c, 0xf8, + 0x73, 0xc6, 0x92, 0x3f, 0x67, 0xac, 0xf8, 0x73, 0xc6, 0x8d, 0x91, 0x01, 0x94, 0xe0, 0x5e, 0xf2, 0x67, 0x7b, 0xc4, + 0x0c, 0xb1, 0x1a, 0x54, 0x02, 0x2b, 0x4b, 0x39, 0xf7, 0x91, 0x53, 0x4c, 0x39, 0x65, 0x78, 0xe9, 0x74, 0xe6, 0x0e, + 0xe4, 0x3c, 0x98, 0xb9, 0xc3, 0x64, 0xaf, 0xcf, 0x8d, 0x38, 0x96, 0xc6, 0xa4, 0xa8, 0x20, 0x9d, 0xd3, 0xe1, 0xe6, + 0xd5, 0x71, 0x9e, 0xb0, 0x8c, 0x8f, 0xdb, 0x67, 0x0a, 0x84, 0xd8, 0xe2, 0x19, 0x12, 0x29, 0x55, 0xb3, 0xdc, 0xe6, + 0x0f, 0x87, 0x7a, 0x74, 0xaf, 0x77, 0x7a, 0xf8, 0x95, 0xb0, 0xdf, 0x32, 0xcf, 0x3e, 0x41, 0x00, 0x93, 0x44, 0x9e, + 0x49, 0x38, 0xfa, 0xb1, 0x1c, 0xfd, 0x4d, 0xc3, 0xbf, 0x64, 0xa8, 0xee, 0x0e, 0x81, 0x89, 0x2d, 0x3b, 0x70, 0x08, + 0x4e, 0x57, 0x95, 0x48, 0xc0, 0xc1, 0x66, 0xc3, 0x22, 0xbd, 0xc7, 0x43, 0x9c, 0x0f, 0x0a, 0x1f, 0xa1, 0x61, 0x46, + 0xef, 0xf7, 0x37, 0xc2, 0xab, 0x64, 0x2b, 0x0f, 0x87, 0xc4, 0xba, 0x0b, 0x3b, 0xfa, 0x38, 0xda, 0xa3, 0x84, 0xda, + 0x8f, 0x6a, 0xbd, 0xa9, 0xd4, 0x83, 0xdc, 0xec, 0x42, 0x62, 0x50, 0xb1, 0x54, 0x9f, 0x5e, 0xa9, 0x3e, 0xd4, 0xac, + 0xf3, 0xbb, 0x3a, 0xee, 0x53, 0x31, 0x5a, 0xcb, 0x09, 0x01, 0xae, 0x83, 0x44, 0xa3, 0x03, 0x60, 0x9c, 0x6d, 0xb6, + 0xbc, 0xd4, 0xd6, 0x89, 0xd2, 0x71, 0x9c, 0xeb, 0xe3, 0xf8, 0x70, 0x90, 0x62, 0xc6, 0xe5, 0x91, 0x98, 0x71, 0xd9, + 0x00, 0xbc, 0x59, 0xe7, 0x41, 0x7d, 0x38, 0x5c, 0xd2, 0xa5, 0xc8, 0x74, 0xb6, 0x51, 0x7e, 0xd6, 0xa3, 0xfb, 0x27, + 0x09, 0x9a, 0x7b, 0x2b, 0xec, 0xbd, 0x48, 0xb6, 0x67, 0xb2, 0x4e, 0xbd, 0x8c, 0x7c, 0x7a, 0xe1, 0x9e, 0x5d, 0x72, + 0xf5, 0xc3, 0xea, 0xeb, 0xe9, 0x67, 0xe1, 0x45, 0xac, 0xa2, 0xdd, 0xba, 0x64, 0xc2, 0xde, 0x52, 0x2a, 0x69, 0x95, + 0x97, 0x4f, 0x37, 0x7e, 0x80, 0x99, 0x69, 0x4f, 0x1f, 0x64, 0x23, 0xaa, 0x3f, 0x2b, 0x51, 0x2b, 0xc3, 0x64, 0xe1, + 0xbc, 0x64, 0xea, 0xc9, 0x80, 0xc7, 0xac, 0xe4, 0x91, 0xec, 0xf4, 0xc6, 0x20, 0x08, 0x60, 0x9d, 0x93, 0x56, 0x9d, + 0x71, 0x34, 0x5a, 0x55, 0x2e, 0x4e, 0x57, 0xb9, 0xc0, 0x70, 0xbb, 0x35, 0xdb, 0xa8, 0x3a, 0xcb, 0x4d, 0xad, 0x52, + 0xbe, 0x03, 0xf8, 0x58, 0x56, 0xb9, 0xa0, 0x63, 0xca, 0xd4, 0x79, 0x03, 0xc1, 0xd8, 0xaa, 0xc6, 0x85, 0x53, 0xe3, + 0x82, 0x47, 0xd4, 0xee, 0xa6, 0xa9, 0x47, 0x5b, 0x60, 0x29, 0x1d, 0xed, 0x78, 0x89, 0x2a, 0x85, 0x9f, 0x05, 0xdf, + 0x87, 0x71, 0xfc, 0xa2, 0xd8, 0xaa, 0x03, 0xf1, 0xb6, 0xd8, 0x22, 0xed, 0x8b, 0xfc, 0x0b, 0x71, 0xc0, 0x6b, 0x5d, + 0x53, 0x5e, 0x5b, 0x73, 0x1a, 0xd8, 0x1a, 0x46, 0x4a, 0x0a, 0xe7, 0xe6, 0xcf, 0xc3, 0x81, 0x56, 0x76, 0xad, 0xee, + 0x0a, 0xb5, 0x1e, 0x73, 0xd8, 0xb0, 0x6f, 0xb2, 0x70, 0x27, 0x4a, 0x70, 0xe4, 0x92, 0x7f, 0x1d, 0x0e, 0x5a, 0x65, + 0xa9, 0x8e, 0xf4, 0xd9, 0xfe, 0x6b, 0x30, 0x66, 0xe8, 0xd2, 0x04, 0x2c, 0x1b, 0x23, 0xf9, 0x57, 0xd3, 0xcc, 0x1b, + 0x26, 0x6b, 0xa6, 0x70, 0x1c, 0x1a, 0x46, 0x48, 0x03, 0xba, 0x0d, 0x6a, 0xc3, 0x93, 0xf9, 0xa6, 0x2a, 0xbf, 0xba, + 0x23, 0xd5, 0x7e, 0x30, 0xbc, 0x9c, 0x88, 0x73, 0xba, 0x24, 0xa9, 0xa7, 0x12, 0x4a, 0x42, 0xb0, 0x4b, 0x1f, 0xc8, + 0x89, 0x15, 0x90, 0xb5, 0x8c, 0xe5, 0xb7, 0x7a, 0x40, 0xe8, 0x3f, 0xed, 0xd6, 0x0b, 0xfd, 0xa7, 0x69, 0xb6, 0x50, + 0xd7, 0x1f, 0x26, 0xf7, 0x1d, 0xbd, 0xfe, 0xe0, 0xf0, 0x4e, 0x5d, 0x55, 0x5c, 0xc5, 0xa3, 0xda, 0x30, 0xc9, 0x8d, + 0xb2, 0x70, 0x57, 0x6c, 0x6a, 0xb5, 0x3c, 0x1d, 0x87, 0x11, 0x98, 0x11, 0x14, 0x20, 0xeb, 0xba, 0x8d, 0x88, 0x61, + 0x25, 0x97, 0x09, 0xf9, 0x84, 0x80, 0x2c, 0x4a, 0x8d, 0xf3, 0x71, 0x0b, 0x54, 0x22, 0x18, 0x9c, 0x86, 0xd6, 0xaa, + 0x9b, 0xfc, 0xa4, 0xb2, 0xb1, 0x25, 0x90, 0x43, 0x92, 0xc9, 0x62, 0x39, 0xba, 0x15, 0x8b, 0xa2, 0x14, 0xbf, 0x60, + 0x3d, 0x5c, 0xb3, 0x85, 0xfb, 0x0c, 0x08, 0xed, 0x27, 0x4a, 0x7b, 0x13, 0x69, 0x82, 0xee, 0x25, 0x5b, 0x01, 0xc8, + 0x00, 0x8a, 0xba, 0xda, 0xad, 0xcf, 0xf9, 0x39, 0x92, 0x66, 0x38, 0x8c, 0x6e, 0x9f, 0x2e, 0x83, 0xe5, 0xe0, 0x12, + 0xb5, 0xd2, 0x97, 0x2c, 0x6e, 0x61, 0x50, 0xed, 0xcd, 0x12, 0x0e, 0x6a, 0x66, 0xad, 0x8d, 0x40, 0x30, 0xd9, 0x43, + 0x41, 0xc5, 0x5c, 0xc1, 0x3e, 0x28, 0x58, 0x4b, 0x5e, 0x07, 0x87, 0x5b, 0xfb, 0xb2, 0x52, 0x5c, 0x3c, 0xbd, 0x48, + 0x5a, 0x17, 0x96, 0xf2, 0xe2, 0x69, 0x03, 0x06, 0x97, 0x23, 0x6c, 0x2a, 0x30, 0x49, 0x00, 0xe8, 0x56, 0x44, 0x11, + 0x2f, 0x4a, 0x61, 0xdb, 0xca, 0x67, 0x4e, 0xd8, 0x60, 0xc3, 0xee, 0xe1, 0x5e, 0x19, 0x94, 0x0c, 0x2e, 0xc4, 0xb8, + 0xdd, 0xec, 0x02, 0x5c, 0xc1, 0x50, 0x18, 0x5b, 0xf3, 0x77, 0x99, 0x17, 0x29, 0x01, 0x37, 0x43, 0x94, 0xaf, 0x0d, + 0x9c, 0x4c, 0x7a, 0x72, 0x2d, 0x58, 0x0c, 0x58, 0xd0, 0xe0, 0x3b, 0x6a, 0xfd, 0x9d, 0xc9, 0xbf, 0xf1, 0xf4, 0xd0, + 0x0f, 0x5e, 0x64, 0xde, 0xc2, 0x67, 0xef, 0x2a, 0x19, 0xad, 0x49, 0xa2, 0xbc, 0x7a, 0xb8, 0x00, 0xb9, 0x61, 0x31, + 0xba, 0x67, 0x0b, 0x10, 0x27, 0x16, 0xa3, 0x84, 0x32, 0xba, 0xc2, 0xbd, 0xca, 0x6c, 0x99, 0x08, 0xa4, 0x38, 0xb0, + 0x90, 0x72, 0x6f, 0xb1, 0x0e, 0x16, 0xb8, 0x3f, 0x91, 0x5c, 0x40, 0xc9, 0x03, 0x28, 0x57, 0x0a, 0x08, 0xf8, 0x74, + 0x00, 0xe5, 0x4b, 0x79, 0x11, 0xfe, 0xc4, 0x89, 0x1a, 0x2c, 0x46, 0xf7, 0x0d, 0xfb, 0xc9, 0x0b, 0x2d, 0xfb, 0xc3, + 0x52, 0x6b, 0x1a, 0x56, 0x7c, 0x09, 0xd3, 0x62, 0xe2, 0xf6, 0xe5, 0xca, 0xae, 0x8a, 0xcf, 0x56, 0xea, 0xec, 0xa6, + 0x86, 0x24, 0xec, 0x1b, 0xb2, 0x0a, 0x70, 0xb0, 0x2a, 0xe2, 0x9e, 0x75, 0xb9, 0x0f, 0xa3, 0xbf, 0x36, 0x69, 0x29, + 0x2c, 0x54, 0x49, 0x7f, 0xdf, 0x94, 0x02, 0xa9, 0x4c, 0x74, 0xa2, 0x85, 0xe0, 0x0a, 0x0c, 0x02, 0x77, 0x22, 0xaf, + 0x01, 0x30, 0x06, 0x5c, 0x0a, 0x94, 0x65, 0x5b, 0x42, 0x48, 0x75, 0x3f, 0x03, 0xb5, 0x9d, 0xb8, 0x4b, 0x23, 0xb2, + 0x16, 0xa2, 0xaf, 0x82, 0x31, 0x73, 0x5e, 0x4a, 0xb7, 0xd8, 0x74, 0xb5, 0x59, 0x5d, 0xa3, 0x73, 0x69, 0xcb, 0xcd, + 0x4f, 0xd8, 0x62, 0xad, 0x40, 0xd9, 0x84, 0xa4, 0xed, 0x9c, 0xe7, 0x28, 0x9b, 0xd0, 0xd2, 0xde, 0x53, 0x8f, 0x0a, + 0xd5, 0xc9, 0xd6, 0x4b, 0xd5, 0xd4, 0x22, 0xac, 0x16, 0x17, 0x95, 0x1f, 0x80, 0x6e, 0x2a, 0xad, 0x9e, 0xd7, 0x35, + 0x9a, 0x42, 0xad, 0x16, 0x8e, 0x1b, 0xed, 0x6c, 0xba, 0x48, 0x97, 0x88, 0xb3, 0x2a, 0xed, 0xd0, 0x3f, 0x65, 0xda, + 0xf5, 0xb2, 0xa3, 0xdf, 0x8c, 0xab, 0x0b, 0x5c, 0x88, 0x0d, 0xf8, 0x9c, 0xfb, 0xcb, 0xeb, 0x3d, 0x8d, 0x7b, 0xfe, + 0xe1, 0x80, 0xec, 0x49, 0xed, 0x0f, 0xd5, 0xc7, 0xae, 0x60, 0xc8, 0xc2, 0x28, 0xf5, 0x17, 0x29, 0xef, 0x3d, 0xc2, + 0x71, 0xff, 0x52, 0xf5, 0xd8, 0xaf, 0x19, 0xdf, 0xd7, 0xc5, 0x26, 0x4a, 0x28, 0xaa, 0xa1, 0xb7, 0x2a, 0x36, 0x95, + 0x88, 0x8b, 0xfb, 0xbc, 0xc7, 0x30, 0x19, 0xc6, 0x42, 0xa6, 0xc2, 0x9f, 0x32, 0x15, 0x3c, 0x42, 0x28, 0x71, 0xb3, + 0xee, 0x91, 0x76, 0x13, 0xe2, 0x94, 0x6a, 0x51, 0xca, 0x64, 0xfc, 0x5b, 0x3f, 0x81, 0xf2, 0x9c, 0xa2, 0x65, 0xfa, + 0x51, 0xe1, 0x32, 0x7d, 0xb3, 0x3e, 0x2e, 0x3d, 0x13, 0xa1, 0xce, 0x5c, 0x6c, 0x6a, 0x9d, 0x8e, 0xb1, 0x53, 0x3a, + 0xb5, 0x61, 0x5f, 0x2b, 0xc5, 0x65, 0x45, 0xe1, 0xdf, 0x48, 0x64, 0xd5, 0x33, 0xe2, 0xf8, 0x3f, 0xb3, 0xf6, 0x19, + 0x56, 0x81, 0x5f, 0x06, 0xf2, 0x7e, 0x01, 0xf0, 0x71, 0x5d, 0x97, 0xe9, 0xed, 0x06, 0x68, 0x43, 0x68, 0xf8, 0x7b, + 0x3e, 0x32, 0x60, 0xba, 0x8f, 0x70, 0x86, 0xf4, 0x50, 0xe7, 0x9c, 0xce, 0xca, 0x74, 0xce, 0x55, 0x58, 0x4b, 0xb0, + 0x97, 0x93, 0x26, 0x97, 0xeb, 0x12, 0xd4, 0x4c, 0xe0, 0xf6, 0xa1, 0x3d, 0x22, 0x84, 0xda, 0x94, 0xd5, 0xf4, 0x12, + 0x6a, 0xde, 0xc9, 0x69, 0x47, 0x93, 0x12, 0x5c, 0x35, 0x74, 0x56, 0xae, 0xff, 0x3a, 0x1c, 0x7a, 0xb7, 0x59, 0x11, + 0xfd, 0xd9, 0x43, 0x7f, 0xc7, 0xed, 0x75, 0xfa, 0x15, 0xa2, 0x65, 0xac, 0xbf, 0x21, 0x03, 0x3a, 0x9e, 0x0c, 0x6f, + 0x8b, 0x6d, 0x8f, 0x7d, 0x45, 0x0d, 0x96, 0xbe, 0x7e, 0x5c, 0x83, 0x84, 0xaa, 0x6b, 0x5f, 0x58, 0x3c, 0x61, 0x9e, + 0x12, 0x6d, 0x0b, 0x1f, 0xc2, 0x42, 0xbf, 0x42, 0x64, 0x24, 0x84, 0x9b, 0xca, 0xee, 0x51, 0xd2, 0x2e, 0xf4, 0xa5, + 0xaf, 0x65, 0x5f, 0xf9, 0xce, 0x05, 0xc0, 0xca, 0x3e, 0xb5, 0xe1, 0x9e, 0xf4, 0xa7, 0x54, 0x1f, 0xb6, 0xbf, 0x25, + 0x0b, 0x28, 0xb4, 0xb0, 0x9e, 0xca, 0xd9, 0xb9, 0x2c, 0x79, 0x9e, 0x4d, 0xf7, 0x6b, 0xd8, 0xa3, 0xee, 0xd0, 0x6b, + 0x2a, 0x38, 0xbf, 0x34, 0xa3, 0xf7, 0xbb, 0xa1, 0x50, 0x1d, 0x75, 0xee, 0x20, 0xcb, 0xd2, 0xba, 0xe4, 0xfc, 0x65, + 0xe5, 0x8e, 0xc2, 0xfc, 0x2e, 0x04, 0xcf, 0xb0, 0xee, 0xdd, 0xc5, 0x79, 0xef, 0x73, 0x6b, 0x8e, 0xfc, 0x9a, 0xcd, + 0x52, 0xc4, 0x22, 0x99, 0x83, 0xd5, 0x0f, 0xfd, 0x3c, 0xf6, 0xdb, 0x20, 0x87, 0xe3, 0xa6, 0x01, 0x1d, 0x36, 0x64, + 0xd6, 0xbe, 0x44, 0xe0, 0x54, 0x23, 0x48, 0x53, 0x13, 0xd4, 0x2c, 0x0f, 0x91, 0xd8, 0x2e, 0x65, 0xdb, 0x20, 0xd7, + 0x5d, 0x30, 0xcd, 0x91, 0xf6, 0x0c, 0xde, 0x37, 0x69, 0x92, 0x0a, 0xcd, 0xa2, 0x8b, 0x95, 0x8c, 0x7f, 0x47, 0xda, + 0x4c, 0xc9, 0x1e, 0x5b, 0x03, 0xef, 0x25, 0x28, 0x27, 0xc3, 0x14, 0xc3, 0x77, 0x7c, 0xbd, 0xf3, 0xe8, 0x22, 0x7e, + 0x3e, 0x66, 0x9b, 0x94, 0x1d, 0xc1, 0x24, 0xd9, 0xf8, 0x86, 0xe2, 0x0d, 0xdf, 0xdf, 0x56, 0xa2, 0x04, 0xd0, 0xcb, + 0x82, 0x3f, 0x93, 0x36, 0x57, 0xe8, 0x76, 0xf7, 0x8e, 0x52, 0xf8, 0x25, 0x2f, 0x0f, 0x87, 0x6d, 0xea, 0x85, 0xd0, + 0xf9, 0x22, 0x7e, 0x07, 0xe6, 0x30, 0x86, 0xd8, 0x8c, 0x00, 0x61, 0x8e, 0x0f, 0xa8, 0x83, 0xf5, 0x23, 0x00, 0x8d, + 0x13, 0x28, 0xc0, 0xe8, 0xab, 0x6d, 0x41, 0xdf, 0xf2, 0xe2, 0x22, 0x42, 0xd4, 0x28, 0xc0, 0x44, 0x49, 0xb3, 0x18, + 0x86, 0x03, 0x9d, 0xdf, 0x37, 0xb7, 0x75, 0x29, 0x70, 0xe8, 0x1d, 0xcb, 0xf0, 0xdf, 0xfe, 0xc7, 0xda, 0xd2, 0xaa, + 0xb2, 0xdd, 0x1a, 0xa7, 0x99, 0xff, 0xed, 0xb6, 0xd0, 0xf7, 0x5f, 0x0a, 0xc5, 0xf3, 0x8e, 0xd7, 0xed, 0x2f, 0x10, + 0xbd, 0xaf, 0x5b, 0xb9, 0x2a, 0xb5, 0x1b, 0x66, 0xca, 0xef, 0xd3, 0x3c, 0x2e, 0xee, 0x47, 0x71, 0xeb, 0xc8, 0x9b, + 0xa4, 0xe7, 0x9c, 0x7f, 0xa9, 0xfa, 0x7d, 0xef, 0x0b, 0x90, 0xf1, 0xbe, 0x14, 0xc6, 0x11, 0x93, 0x38, 0xf8, 0xf6, + 0x62, 0x14, 0x6d, 0x4a, 0xd8, 0x90, 0xdb, 0xa7, 0x25, 0x68, 0x66, 0xfa, 0x7d, 0x94, 0x28, 0xad, 0xf9, 0xfe, 0x0f, + 0x39, 0xdf, 0x5f, 0x0a, 0x79, 0xb3, 0x92, 0x1f, 0x3e, 0x5a, 0x61, 0xe0, 0x7b, 0x9c, 0x7e, 0x15, 0x3d, 0xb6, 0x2a, + 0x7d, 0xf8, 0xae, 0xb4, 0xf4, 0x59, 0x45, 0xfd, 0x0b, 0x15, 0x35, 0x2f, 0xc5, 0x88, 0x88, 0x07, 0x41, 0x3b, 0xdb, + 0x2e, 0xb5, 0x6b, 0x09, 0xda, 0x05, 0x9b, 0xc2, 0xfe, 0xfe, 0xe0, 0x90, 0xf7, 0xfb, 0x1f, 0x73, 0xaf, 0xc5, 0xeb, + 0x6e, 0xe0, 0x2e, 0x4b, 0x0f, 0x21, 0x80, 0xb5, 0x0c, 0x94, 0x71, 0x84, 0x49, 0x17, 0x79, 0x8d, 0xb2, 0xe9, 0x44, + 0xe0, 0x63, 0x96, 0x5d, 0x39, 0xc9, 0x34, 0xc0, 0x8c, 0x6a, 0x0a, 0x33, 0x01, 0x46, 0xea, 0x23, 0xd6, 0x4d, 0x4f, + 0xab, 0xd0, 0xf2, 0x35, 0x04, 0xeb, 0x22, 0xcb, 0x38, 0x8a, 0x99, 0x00, 0x60, 0xf3, 0x11, 0xe4, 0x2b, 0xba, 0x3a, + 0x24, 0xad, 0x54, 0x79, 0xbf, 0xce, 0x88, 0x8c, 0x26, 0x21, 0x9a, 0xdf, 0xc2, 0x03, 0xfb, 0xb6, 0x99, 0x51, 0xa5, + 0x9e, 0x51, 0x95, 0xcf, 0x70, 0x58, 0x0a, 0xc7, 0x88, 0xff, 0x73, 0xaa, 0x7a, 0x44, 0xa0, 0x57, 0x65, 0x5a, 0x45, + 0x45, 0x9e, 0x8b, 0x08, 0x11, 0xaa, 0xa5, 0x73, 0x38, 0xf4, 0x63, 0xbf, 0x8f, 0x03, 0x61, 0x5e, 0xac, 0x93, 0x07, + 0xba, 0xb2, 0xa6, 0xb5, 0x92, 0x02, 0xa7, 0xa2, 0x46, 0x88, 0x10, 0xde, 0x67, 0xe0, 0x59, 0x4d, 0x7d, 0xbf, 0xb1, + 0x4c, 0x74, 0xbf, 0x67, 0x40, 0xf9, 0x03, 0xf2, 0x75, 0x25, 0xc5, 0x19, 0x91, 0x3c, 0x24, 0xce, 0x38, 0x00, 0x31, + 0xdf, 0x96, 0x68, 0x34, 0xf6, 0x3f, 0x20, 0xc1, 0x50, 0xfd, 0x60, 0xa7, 0x9b, 0x7a, 0xff, 0xcc, 0x24, 0x8e, 0xa2, + 0x4f, 0xdb, 0xe4, 0xb1, 0x64, 0x69, 0xb4, 0x70, 0xf4, 0x1e, 0x31, 0x8c, 0xc3, 0xe9, 0x7c, 0x4c, 0xb2, 0x8d, 0xc9, + 0x2a, 0x80, 0x74, 0x32, 0x53, 0xc7, 0x94, 0x3a, 0x1a, 0xe7, 0x7a, 0x41, 0x15, 0x7a, 0xac, 0x4b, 0x9e, 0x83, 0xf5, + 0xe4, 0x47, 0xaf, 0xf4, 0xa7, 0x42, 0xce, 0x61, 0x23, 0x11, 0x14, 0x7e, 0x80, 0xab, 0xc1, 0x4a, 0x01, 0x83, 0xa9, + 0x6f, 0xe1, 0x6b, 0xe2, 0x39, 0x0a, 0x1e, 0x85, 0x5d, 0x8c, 0xad, 0x95, 0xef, 0x7c, 0x52, 0x50, 0xee, 0x59, 0x31, + 0xe7, 0x15, 0x70, 0x2e, 0x83, 0x42, 0x98, 0x8e, 0x67, 0xf9, 0x3f, 0x93, 0xbc, 0x9e, 0xd8, 0x10, 0x20, 0x83, 0x3f, + 0x25, 0x4e, 0x4b, 0x77, 0xe8, 0xce, 0x43, 0xcf, 0x22, 0x0e, 0x1b, 0x3d, 0x5a, 0x97, 0xc5, 0x36, 0x45, 0xbd, 0x84, + 0xf9, 0x81, 0xfc, 0xbc, 0x25, 0xdf, 0x87, 0x28, 0xde, 0x06, 0x3f, 0x67, 0x2c, 0x16, 0xf8, 0xd7, 0xdf, 0x32, 0x46, + 0x13, 0x2d, 0xf8, 0x7b, 0xd6, 0x20, 0x51, 0x31, 0x60, 0x45, 0x00, 0x97, 0xa9, 0xfa, 0xf0, 0x29, 0x31, 0xde, 0x9a, + 0x0d, 0x0f, 0x7c, 0xb3, 0x02, 0x9d, 0xfa, 0xdc, 0x5d, 0xd9, 0x9e, 0xae, 0x46, 0xaa, 0xaa, 0xf1, 0x73, 0xaa, 0xaa, + 0xf1, 0x73, 0x4a, 0xd5, 0xf8, 0x2b, 0xa3, 0xf8, 0x9d, 0xca, 0x67, 0xc8, 0x9c, 0x6c, 0x62, 0x92, 0x4e, 0xdf, 0x1b, + 0x4e, 0xec, 0xb2, 0xdf, 0xba, 0x4d, 0xa4, 0x99, 0x89, 0x14, 0x72, 0x6f, 0x00, 0x6a, 0x26, 0x7e, 0xcc, 0x0d, 0xa7, + 0xc4, 0xf9, 0xb9, 0x87, 0x2b, 0x36, 0xad, 0x5e, 0xd2, 0x82, 0x05, 0x36, 0x2f, 0xb3, 0x3c, 0xd3, 0x04, 0xb6, 0x4d, + 0x99, 0xf5, 0x97, 0xdc, 0x03, 0x08, 0x66, 0x52, 0x13, 0x00, 0xd2, 0x42, 0x54, 0x0a, 0x91, 0xbf, 0xc4, 0x59, 0x7d, + 0xce, 0x7b, 0x9b, 0x3c, 0x26, 0xd2, 0xea, 0x5e, 0xbf, 0x9f, 0x9e, 0xa5, 0x39, 0x05, 0x35, 0x1c, 0x67, 0x9d, 0xfe, + 0x94, 0x05, 0x22, 0x91, 0xab, 0xf4, 0x1f, 0x6e, 0x90, 0x97, 0xf1, 0x7d, 0xdd, 0xf6, 0xfc, 0x89, 0xfa, 0x7b, 0x67, + 0xfd, 0x6d, 0x81, 0xe0, 0x4e, 0x8e, 0xfd, 0x64, 0x55, 0xca, 0x23, 0xe3, 0xd2, 0xde, 0xf3, 0x9b, 0xba, 0x28, 0xb2, + 0x3a, 0x5d, 0x7f, 0x90, 0x7a, 0x1a, 0xdd, 0x17, 0x7b, 0x30, 0x06, 0xef, 0x00, 0xf0, 0x4c, 0x87, 0x06, 0x48, 0xdf, + 0x33, 0xf2, 0x70, 0x9f, 0x5b, 0xf2, 0x93, 0xca, 0xda, 0x24, 0x61, 0x45, 0xb1, 0x19, 0xc6, 0x08, 0x25, 0xe3, 0x34, + 0xb6, 0x7e, 0xbf, 0xaf, 0xfe, 0xde, 0x61, 0x14, 0x15, 0x15, 0x77, 0x8c, 0x46, 0x65, 0x55, 0x8f, 0xb6, 0x83, 0xc3, + 0xe1, 0x3c, 0xb7, 0x71, 0xb4, 0xf5, 0x0a, 0xd8, 0x5b, 0xa1, 0x52, 0xf6, 0x4a, 0x84, 0xe5, 0x87, 0x2b, 0xbf, 0xdf, + 0x87, 0x7f, 0x65, 0xa4, 0x85, 0xe7, 0x4f, 0xf1, 0xd7, 0x4d, 0x5d, 0x60, 0x78, 0x06, 0xad, 0xd1, 0x0a, 0x82, 0x09, + 0xfe, 0xd1, 0x81, 0x7a, 0x69, 0xa5, 0x7d, 0x04, 0xdd, 0x0a, 0xf4, 0xa0, 0xb1, 0x0f, 0x24, 0xed, 0x0b, 0x89, 0xba, + 0xbd, 0xd5, 0x69, 0xf4, 0x67, 0xc5, 0x72, 0x5e, 0xc1, 0xe4, 0x70, 0x43, 0x9f, 0x56, 0xe1, 0xf6, 0x13, 0x3c, 0xfd, + 0x05, 0x28, 0xb7, 0x0e, 0x87, 0x1c, 0xc4, 0x16, 0x70, 0xf3, 0x58, 0x85, 0x5f, 0x8a, 0x52, 0x46, 0xd4, 0xc7, 0xd3, + 0x12, 0xb4, 0x77, 0x01, 0x3a, 0x60, 0x69, 0x10, 0xaf, 0x90, 0x3c, 0x67, 0x23, 0x80, 0x65, 0x07, 0x96, 0xb3, 0x8c, + 0x53, 0x98, 0x67, 0xf9, 0xac, 0xd2, 0xf8, 0xec, 0x89, 0x57, 0xb3, 0x0c, 0x9c, 0x05, 0x2e, 0x2a, 0x9f, 0x65, 0x5a, + 0xf5, 0x54, 0x24, 0xe8, 0xf3, 0x4a, 0x4e, 0x70, 0x25, 0x38, 0xd9, 0x80, 0xfc, 0x02, 0x24, 0x69, 0x4a, 0x59, 0x53, + 0x3e, 0xbb, 0xa4, 0x1b, 0x32, 0x7a, 0xce, 0x7b, 0x5e, 0x34, 0x0c, 0xfd, 0x0b, 0xaf, 0x84, 0xf0, 0x4d, 0xdc, 0xb6, + 0x51, 0x0a, 0xfb, 0x9b, 0xc0, 0xe2, 0x13, 0xf6, 0xa3, 0xb7, 0xf0, 0xa7, 0xe3, 0x20, 0x1c, 0x22, 0x37, 0x54, 0xcc, + 0x81, 0x3d, 0x0d, 0x58, 0x6c, 0xe2, 0xab, 0xcd, 0x24, 0x1e, 0x0c, 0x7c, 0x9d, 0xb1, 0x98, 0xc5, 0x40, 0x83, 0x1c, + 0x0f, 0x2e, 0xe7, 0xfa, 0x84, 0xd0, 0x0f, 0x23, 0x2a, 0x47, 0x05, 0x3a, 0x07, 0xd1, 0x60, 0x01, 0x78, 0xea, 0xad, + 0x6c, 0x90, 0x64, 0x68, 0xa0, 0x13, 0xd7, 0x9a, 0xa4, 0x3a, 0x9c, 0xd0, 0x3a, 0xd0, 0x71, 0xf5, 0x06, 0x3a, 0x1f, + 0xd7, 0xbd, 0x8f, 0x57, 0xc3, 0x1b, 0x2a, 0xfd, 0x42, 0x0c, 0xbc, 0x7a, 0x3a, 0x0e, 0x2e, 0xe9, 0x56, 0x78, 0xb3, + 0x0a, 0xb7, 0xbf, 0xc8, 0x07, 0x8e, 0x3b, 0x2a, 0x69, 0x08, 0x0c, 0xde, 0x1e, 0xba, 0x9b, 0x19, 0xc7, 0x94, 0xa3, + 0xc3, 0x38, 0x92, 0x43, 0xac, 0x5a, 0x71, 0x21, 0xbd, 0x11, 0x7c, 0xbb, 0x50, 0x8c, 0x65, 0x63, 0x97, 0x86, 0xa2, + 0xf0, 0x67, 0x00, 0x3b, 0xd4, 0xfe, 0x4a, 0x25, 0x1f, 0x23, 0xa3, 0x9a, 0x06, 0x3a, 0x06, 0x60, 0xc9, 0xd2, 0x44, + 0x52, 0x45, 0x1a, 0x89, 0x3f, 0x32, 0x63, 0x1d, 0x35, 0x5d, 0x5f, 0xb0, 0x1c, 0x59, 0x92, 0x6e, 0x67, 0x12, 0xcb, + 0x89, 0x24, 0xb5, 0xdd, 0x47, 0xc4, 0x60, 0xe0, 0x83, 0x8d, 0x98, 0x66, 0x22, 0x1c, 0xf1, 0xa8, 0x44, 0x16, 0x5d, + 0x7e, 0x1b, 0x61, 0xd2, 0xf6, 0x65, 0x45, 0xb6, 0x20, 0x98, 0x9e, 0x44, 0x1f, 0x24, 0x29, 0xa7, 0x22, 0x91, 0x66, + 0x84, 0x00, 0x3f, 0x9e, 0x94, 0x57, 0xfa, 0x73, 0xd0, 0xb4, 0x12, 0xbc, 0x64, 0x90, 0x3c, 0x12, 0x3f, 0x93, 0x82, + 0x59, 0x8c, 0x55, 0x83, 0x01, 0x96, 0x53, 0x3d, 0x71, 0x4c, 0xd2, 0x7f, 0xeb, 0x74, 0xc2, 0x7e, 0xee, 0xe5, 0xb6, + 0x96, 0x37, 0xcd, 0xbd, 0xe7, 0x5e, 0xc5, 0x52, 0x0d, 0xcb, 0xa0, 0xff, 0x9a, 0x68, 0x17, 0x6c, 0x6d, 0x19, 0x13, + 0x56, 0xfd, 0x00, 0xd2, 0x1e, 0xe9, 0xf2, 0xaa, 0x61, 0xce, 0x04, 0x8f, 0x2e, 0xac, 0x79, 0x10, 0x5d, 0x08, 0x1f, + 0xb9, 0xec, 0x26, 0xc9, 0xd5, 0x78, 0xe2, 0x87, 0x83, 0x81, 0x02, 0xa0, 0xa5, 0x75, 0x52, 0x0c, 0xc2, 0x27, 0x42, + 0x0e, 0xa4, 0xd1, 0x51, 0x15, 0x60, 0xb1, 0xcc, 0xae, 0xca, 0x49, 0x36, 0x18, 0xf8, 0x20, 0x36, 0x26, 0x76, 0x43, + 0xb3, 0xb9, 0xcf, 0x4e, 0x14, 0x64, 0xb5, 0x39, 0x6a, 0xcd, 0x74, 0x0b, 0x0c, 0x00, 0x06, 0x11, 0xc1, 0x72, 0x9f, + 0x1a, 0xf9, 0x88, 0x3a, 0x3d, 0x85, 0x11, 0x10, 0xfc, 0x72, 0x22, 0x10, 0xb9, 0x48, 0xa0, 0x1e, 0x60, 0x26, 0xc0, + 0x8c, 0x2a, 0x86, 0x97, 0xc0, 0x2e, 0x9e, 0x9b, 0x57, 0x0c, 0xfa, 0x17, 0x89, 0xd9, 0x89, 0xa6, 0x12, 0x47, 0x63, + 0xe4, 0x54, 0x1a, 0x23, 0x03, 0x62, 0x17, 0xc7, 0xbf, 0xa7, 0xf4, 0x28, 0x48, 0xd9, 0x8b, 0xca, 0x10, 0x87, 0xa3, + 0xf8, 0x0a, 0x56, 0x8d, 0xc3, 0xa1, 0x36, 0xaf, 0xa7, 0xb3, 0x7a, 0x3e, 0x10, 0x01, 0xfc, 0x37, 0x14, 0xec, 0x37, + 0x4d, 0x45, 0x6e, 0x90, 0x3a, 0x0f, 0x87, 0x14, 0xe4, 0x53, 0xdd, 0xe4, 0x9f, 0x2a, 0x77, 0x3f, 0x9d, 0xcd, 0xad, + 0x39, 0x7a, 0x51, 0xe3, 0xba, 0xb5, 0xba, 0xa1, 0x90, 0x68, 0x4d, 0x93, 0xe2, 0xaa, 0x9a, 0x14, 0x03, 0x9e, 0xfb, + 0x42, 0x75, 0xb1, 0x35, 0x82, 0x85, 0x3f, 0xb7, 0x40, 0x98, 0xf4, 0xb7, 0x92, 0x0e, 0xa9, 0x1a, 0x77, 0x6d, 0xb5, + 0xdb, 0x56, 0x36, 0xa4, 0x68, 0x3e, 0xbc, 0x84, 0x5d, 0x3a, 0x45, 0xb4, 0xed, 0x92, 0xe0, 0x0b, 0xd0, 0xb2, 0x7a, + 0x23, 0xf2, 0x98, 0x7e, 0x85, 0xfc, 0x52, 0x0c, 0xff, 0x53, 0xba, 0x37, 0xa7, 0x36, 0xc8, 0x01, 0x6c, 0xf7, 0x1e, + 0x6e, 0xc7, 0xe8, 0x81, 0x0c, 0xde, 0x08, 0x39, 0xe7, 0xfc, 0x72, 0x6a, 0xcd, 0x98, 0x68, 0x58, 0xb0, 0x72, 0x18, + 0xf9, 0x01, 0x32, 0x5e, 0x4e, 0x81, 0x95, 0xfd, 0xa8, 0x88, 0x4b, 0x7f, 0x18, 0xf9, 0x17, 0x4f, 0x83, 0x8c, 0x7b, + 0xd1, 0xb0, 0xe3, 0x0b, 0xb0, 0x57, 0x5f, 0x3c, 0x65, 0xd1, 0x80, 0x57, 0x57, 0xf5, 0x34, 0x0b, 0x86, 0x19, 0x8b, + 0xae, 0x8a, 0x21, 0xf8, 0xd0, 0x3e, 0x2b, 0x07, 0xa1, 0xef, 0x9b, 0x9d, 0x43, 0x77, 0x43, 0x2c, 0x8f, 0xb0, 0x9f, + 0xc0, 0x6d, 0x57, 0x4b, 0xcc, 0x60, 0xb2, 0x59, 0x46, 0xcc, 0x60, 0xcb, 0x5f, 0x3c, 0x35, 0x5c, 0x42, 0xd5, 0x33, + 0xa9, 0xd9, 0x28, 0xd0, 0x9c, 0x5c, 0xa1, 0x39, 0x59, 0x09, 0xb5, 0xe4, 0x93, 0x0a, 0x27, 0xec, 0x7c, 0x92, 0x2b, + 0xbb, 0xd1, 0x18, 0x03, 0x17, 0xad, 0xb9, 0x1d, 0x0a, 0x23, 0x33, 0x9d, 0xa5, 0x68, 0xc0, 0xc2, 0x33, 0x71, 0x4a, + 0x63, 0x40, 0xfb, 0x72, 0x60, 0x69, 0x43, 0x7e, 0x95, 0x33, 0x03, 0x6d, 0x43, 0x4a, 0xa3, 0x66, 0xe0, 0xcf, 0xd4, + 0x84, 0xf9, 0x0c, 0x56, 0x22, 0x88, 0xea, 0x02, 0x4c, 0x92, 0x9c, 0x8c, 0x46, 0xca, 0x4a, 0x24, 0xe7, 0x80, 0xf7, + 0x11, 0x3c, 0x59, 0xc4, 0xb6, 0xf6, 0xa7, 0xf4, 0xbf, 0x3a, 0x7c, 0x2e, 0xfd, 0x27, 0x02, 0x58, 0xc8, 0xa5, 0x41, + 0x64, 0xa0, 0x70, 0x48, 0x2d, 0xc3, 0x7b, 0xe2, 0x78, 0x06, 0xbe, 0x86, 0x0b, 0x34, 0x05, 0xf4, 0x07, 0x35, 0xa3, + 0x88, 0x2c, 0xfc, 0xd5, 0xb3, 0x9b, 0xba, 0xd0, 0xf3, 0xcc, 0x79, 0x0d, 0x9a, 0x19, 0x08, 0xe9, 0x71, 0xaa, 0xde, + 0x86, 0x44, 0xe7, 0xe5, 0xb5, 0x7e, 0x99, 0x10, 0xc9, 0xca, 0xc8, 0xd3, 0xf7, 0x39, 0x98, 0x47, 0x14, 0xa1, 0x83, + 0x2b, 0xf3, 0x70, 0x38, 0x17, 0x14, 0xbe, 0xa3, 0x3c, 0x1f, 0x70, 0x9a, 0x65, 0x09, 0x68, 0x03, 0x59, 0x6e, 0xca, + 0x5c, 0x26, 0x2d, 0x53, 0xf7, 0x1e, 0xac, 0x04, 0x15, 0xba, 0x39, 0x05, 0x85, 0x32, 0x12, 0x94, 0xd2, 0x6a, 0x10, + 0x4a, 0x75, 0x58, 0x04, 0x91, 0x43, 0x16, 0x02, 0x6e, 0xa6, 0xa2, 0xd1, 0x92, 0x86, 0x47, 0x38, 0x37, 0x50, 0x08, + 0x40, 0x62, 0x4f, 0x15, 0x65, 0x5c, 0x0e, 0x01, 0x1f, 0x25, 0x1c, 0xe2, 0xac, 0x49, 0x5b, 0x9e, 0x83, 0x38, 0x96, + 0x0b, 0xbe, 0xac, 0x10, 0x0c, 0x22, 0xf4, 0x19, 0xf2, 0x27, 0xcb, 0xf9, 0x77, 0xeb, 0x30, 0xed, 0x08, 0x1f, 0x76, + 0xb5, 0x1b, 0x2e, 0x66, 0xb7, 0xf3, 0x09, 0xc4, 0xb7, 0xdc, 0xce, 0x8f, 0x31, 0x44, 0x6e, 0xfc, 0xc1, 0x72, 0x28, + 0xb9, 0xa2, 0xd0, 0x65, 0x3d, 0x22, 0x45, 0xf6, 0x74, 0xcd, 0x11, 0x04, 0x07, 0x5a, 0x35, 0xc8, 0xd0, 0x48, 0x7c, + 0xf1, 0x14, 0xb2, 0x06, 0x6b, 0xfe, 0xa2, 0x22, 0x67, 0x75, 0x7f, 0xb2, 0x81, 0x6a, 0x92, 0xc9, 0x5a, 0x51, 0x39, + 0x7f, 0xbb, 0x2a, 0x8b, 0x93, 0x55, 0x19, 0xae, 0x06, 0x5d, 0x55, 0x59, 0x70, 0xa4, 0x36, 0x40, 0x6b, 0xba, 0x42, + 0x0c, 0x85, 0xac, 0xc1, 0xc2, 0xaa, 0xca, 0x9a, 0xfa, 0x04, 0x02, 0x7d, 0x80, 0x65, 0xd4, 0xec, 0xa7, 0xc3, 0x5f, + 0x83, 0x5f, 0x55, 0xc8, 0x52, 0x9d, 0xd6, 0x99, 0xf8, 0x1c, 0x2c, 0x18, 0xfe, 0xf1, 0x7b, 0xb0, 0x06, 0x2c, 0x01, + 0xb2, 0xdc, 0x6d, 0x6c, 0xb4, 0x5e, 0x79, 0x85, 0x78, 0x57, 0xeb, 0x8b, 0x7e, 0xeb, 0x36, 0x51, 0x2b, 0xc0, 0x08, + 0x85, 0x16, 0x01, 0xb6, 0x7a, 0xe0, 0x9e, 0x82, 0x1f, 0x88, 0xe1, 0x5c, 0x93, 0xd6, 0xd4, 0x09, 0xaf, 0xb3, 0x71, + 0x24, 0xa2, 0x7a, 0x0b, 0x17, 0xf7, 0x7a, 0x6b, 0xf1, 0x37, 0x2a, 0x10, 0x00, 0x59, 0x4c, 0xb1, 0x76, 0xde, 0x90, + 0x5e, 0x19, 0x76, 0x12, 0x7a, 0x6f, 0xd8, 0x09, 0xe4, 0xc5, 0x61, 0xa7, 0xd0, 0x25, 0xda, 0x4e, 0x91, 0x9a, 0x68, + 0x3b, 0xe9, 0x66, 0x15, 0x96, 0x10, 0xfc, 0xaa, 0xbd, 0x75, 0x94, 0xed, 0x8b, 0x2c, 0x61, 0xda, 0x02, 0x46, 0xb9, + 0x55, 0x9f, 0x39, 0x45, 0xac, 0x94, 0xbd, 0xd3, 0x49, 0x95, 0xbb, 0xc8, 0xa7, 0x56, 0x53, 0x64, 0xf2, 0x8b, 0xe3, + 0x16, 0xc9, 0x27, 0xbf, 0xb4, 0x1b, 0x26, 0xd3, 0x3f, 0x1e, 0x7d, 0x01, 0x5d, 0x91, 0x9d, 0x3e, 0x81, 0x80, 0x4c, + 0x05, 0xd5, 0xea, 0x56, 0x31, 0xcd, 0xdb, 0x55, 0x76, 0x7b, 0xa1, 0xc4, 0x70, 0x3a, 0x3b, 0x09, 0x8f, 0x36, 0x43, + 0x06, 0x0e, 0x41, 0xa0, 0x10, 0x2a, 0x8a, 0xe1, 0x11, 0xa8, 0x35, 0x92, 0x0f, 0xf0, 0xa3, 0xdd, 0xa9, 0x20, 0x52, + 0xbb, 0xa9, 0xb8, 0x71, 0x72, 0xd3, 0xf5, 0x52, 0xa0, 0xd6, 0x29, 0x59, 0x01, 0x94, 0x10, 0xf5, 0x27, 0xb1, 0xad, + 0x5f, 0xc2, 0x15, 0x9b, 0xef, 0x1b, 0x45, 0x4f, 0xae, 0x4f, 0x51, 0xb7, 0xe2, 0xea, 0x34, 0x6d, 0x35, 0xc7, 0x8e, + 0x33, 0xe4, 0xe0, 0x59, 0x41, 0xb0, 0x1d, 0x95, 0x28, 0xdf, 0xb6, 0x9b, 0x8e, 0x89, 0xad, 0xfe, 0xb9, 0xa9, 0x36, + 0x4b, 0xa8, 0x88, 0x88, 0x8f, 0xb2, 0x9b, 0x27, 0xed, 0x77, 0xb0, 0xc7, 0x5a, 0x0d, 0x22, 0xfb, 0x0c, 0xae, 0x72, + 0x9d, 0x16, 0xb9, 0x2d, 0x83, 0xf3, 0x0f, 0xaf, 0x76, 0x15, 0x36, 0x39, 0xd6, 0xd5, 0xd5, 0x4c, 0x75, 0x52, 0xb1, + 0x81, 0xb1, 0xa6, 0xb5, 0x54, 0xf3, 0x18, 0x92, 0xee, 0xca, 0xe2, 0xac, 0x4a, 0xba, 0xe9, 0xb9, 0x71, 0xa6, 0x10, + 0x03, 0x67, 0xab, 0xd1, 0x72, 0x86, 0x21, 0xba, 0x3e, 0xcc, 0x12, 0xbf, 0xd5, 0x53, 0xee, 0xf3, 0x70, 0xeb, 0x77, + 0xf5, 0x82, 0x93, 0xc9, 0x7e, 0x72, 0x9c, 0xbb, 0x5d, 0xa4, 0xfd, 0xc4, 0xb7, 0x61, 0xfe, 0xf5, 0x0d, 0x62, 0x29, + 0xea, 0x5f, 0x2b, 0x00, 0x1a, 0xdc, 0xe4, 0xb1, 0x44, 0xa9, 0xdf, 0xab, 0xea, 0x07, 0x35, 0x53, 0x35, 0x0d, 0x04, + 0x73, 0x2a, 0x05, 0xfc, 0xe1, 0x76, 0xe1, 0x8a, 0x47, 0xdc, 0xb0, 0x30, 0xfe, 0xe5, 0xd5, 0xec, 0x54, 0x50, 0x19, + 0xb8, 0x19, 0xff, 0xe5, 0x09, 0x76, 0x0a, 0x6b, 0x05, 0x64, 0x85, 0xbf, 0xbc, 0xfc, 0x81, 0xf7, 0x2b, 0xfe, 0x97, + 0x57, 0x3d, 0xf0, 0x3e, 0xe2, 0xbc, 0xfc, 0x85, 0xa4, 0x4e, 0x88, 0xea, 0xf2, 0x17, 0x61, 0x8a, 0xad, 0xd2, 0xfc, + 0x15, 0x29, 0x7c, 0x82, 0x2f, 0xc0, 0x77, 0xb8, 0x0a, 0xb7, 0xe6, 0x37, 0x78, 0xec, 0x58, 0x6c, 0xbb, 0xd4, 0x17, + 0x50, 0x8e, 0xc0, 0x22, 0x72, 0xfb, 0xed, 0xca, 0x7e, 0xb5, 0x30, 0xca, 0x18, 0xbb, 0x2f, 0x59, 0x89, 0xd2, 0x59, + 0xbf, 0x5f, 0x48, 0xc1, 0xc8, 0x2e, 0xac, 0xd1, 0x1e, 0xa5, 0xea, 0xd5, 0xb7, 0x61, 0x1d, 0x25, 0x69, 0xbe, 0x94, + 0xd1, 0x47, 0x32, 0xec, 0x48, 0x5f, 0x49, 0x89, 0xf6, 0x5a, 0x85, 0xe5, 0x68, 0xf6, 0xeb, 0x92, 0x03, 0xe5, 0x75, + 0x2b, 0x28, 0x5f, 0x35, 0x01, 0xf4, 0x4a, 0xb5, 0xcf, 0x40, 0x2b, 0x28, 0x2c, 0x95, 0x07, 0x2b, 0x71, 0x2e, 0xfa, + 0xac, 0x38, 0x1c, 0xd4, 0xc5, 0x90, 0x50, 0xa0, 0x4a, 0x9c, 0x84, 0x46, 0x3c, 0x87, 0x0b, 0xa1, 0x78, 0x96, 0x63, + 0x6c, 0x45, 0x0e, 0x1c, 0xc8, 0xf0, 0x03, 0x02, 0xef, 0x65, 0xff, 0x0a, 0x06, 0xc3, 0x04, 0x37, 0x32, 0xea, 0xe4, + 0x9c, 0xfd, 0x85, 0x81, 0x19, 0xd4, 0x93, 0xda, 0x7d, 0x76, 0xaf, 0x02, 0x7b, 0xe1, 0x0c, 0x68, 0xef, 0xc6, 0xe8, + 0x67, 0x55, 0xac, 0x9d, 0xf4, 0x4f, 0xc5, 0x1a, 0x92, 0xe9, 0xb0, 0x38, 0xda, 0xa6, 0xe1, 0x91, 0x3c, 0x39, 0x8e, + 0x37, 0xfd, 0xc3, 0x61, 0x8c, 0x1f, 0x47, 0xf9, 0xb5, 0x05, 0xbc, 0x8a, 0x5b, 0x48, 0x63, 0x91, 0xa2, 0x77, 0x20, + 0xe6, 0x50, 0xf4, 0x92, 0xfd, 0x96, 0xf1, 0x72, 0x22, 0x28, 0x25, 0x89, 0x0d, 0xef, 0x48, 0x4f, 0xd3, 0x7a, 0xb4, + 0x95, 0x01, 0xfb, 0xf5, 0x68, 0x47, 0x7f, 0x81, 0xe2, 0xd1, 0xc2, 0x5f, 0xd2, 0xdf, 0xc5, 0xdd, 0xdc, 0x73, 0xbe, + 0x69, 0x7c, 0x47, 0x5c, 0xa0, 0x58, 0xb3, 0xfb, 0x6b, 0x5a, 0x3a, 0xeb, 0x40, 0x70, 0xc0, 0x5b, 0xec, 0xa2, 0x7d, + 0xbf, 0x71, 0x9d, 0x9e, 0xf6, 0xdf, 0xbb, 0x35, 0xca, 0xf7, 0x7e, 0x95, 0x28, 0x07, 0xfb, 0x37, 0x2e, 0x9a, 0xbf, + 0xfd, 0x94, 0x21, 0xa9, 0xd0, 0xdc, 0x60, 0x3b, 0xd9, 0x22, 0xac, 0x8d, 0x71, 0x50, 0xb1, 0x65, 0x19, 0x46, 0xc0, + 0xa0, 0x8e, 0xfd, 0x8f, 0x3e, 0x9b, 0x36, 0x64, 0x1f, 0x00, 0x2a, 0x57, 0x21, 0x60, 0x0f, 0xc0, 0x89, 0x46, 0xb8, + 0x01, 0x6e, 0x35, 0x5a, 0xd2, 0x41, 0xdd, 0x16, 0x0c, 0x44, 0x4b, 0xd8, 0xc8, 0xdb, 0xae, 0x4e, 0xdf, 0x10, 0x3e, + 0xd4, 0x4e, 0x4a, 0x87, 0xf2, 0x37, 0xcf, 0xd9, 0x7f, 0xef, 0xb0, 0xa6, 0xa6, 0x5c, 0x03, 0x66, 0xce, 0x4a, 0xe4, + 0x15, 0x42, 0xa7, 0xc8, 0xef, 0x55, 0x5d, 0x89, 0xe1, 0xa2, 0x16, 0x65, 0x67, 0x76, 0xeb, 0x44, 0xef, 0x9c, 0x82, + 0x5a, 0x2a, 0x1b, 0xe4, 0x24, 0xd5, 0xe6, 0x23, 0x6b, 0x05, 0x25, 0xea, 0x1a, 0x05, 0x8e, 0x4f, 0xb9, 0x76, 0xff, + 0xef, 0x9c, 0x09, 0x6a, 0xb6, 0x51, 0xdd, 0x5f, 0xe9, 0xa7, 0xaa, 0x26, 0xb1, 0x00, 0x97, 0x93, 0x34, 0xef, 0x78, + 0x84, 0xd5, 0x3f, 0x4e, 0x96, 0x22, 0xd0, 0xab, 0x88, 0x76, 0x25, 0x20, 0x41, 0x3b, 0x39, 0x0b, 0x15, 0x81, 0x02, + 0x7d, 0xfd, 0xc5, 0x26, 0xcd, 0x62, 0xb9, 0x9a, 0xed, 0x61, 0xa2, 0x2c, 0xd6, 0x43, 0x04, 0x39, 0x33, 0x75, 0xb0, + 0xdf, 0xd3, 0x8c, 0x66, 0xe1, 0x95, 0x29, 0xc1, 0xa5, 0xb8, 0x8a, 0x8a, 0x1c, 0x7c, 0x0e, 0xf1, 0x85, 0x4f, 0x85, + 0xdc, 0x20, 0xa2, 0xe9, 0x4f, 0x12, 0xd5, 0x8e, 0x14, 0xc8, 0xa1, 0xe4, 0x27, 0xc4, 0x5f, 0xb2, 0x36, 0xc6, 0xfd, + 0xd2, 0xa9, 0xf6, 0x4b, 0x85, 0xe0, 0xfe, 0x8b, 0x2d, 0x36, 0xaa, 0x3c, 0xd1, 0x83, 0x4f, 0xb1, 0xfe, 0x27, 0x0b, + 0x28, 0xd5, 0x7d, 0x1b, 0x9c, 0x8a, 0x47, 0xe1, 0xa6, 0x2e, 0xae, 0x11, 0x5a, 0xa0, 0x1c, 0x55, 0xc5, 0xa6, 0x8c, + 0x88, 0x13, 0x76, 0x53, 0x17, 0x3d, 0xcd, 0x81, 0x2e, 0xe7, 0x75, 0x22, 0x4f, 0x84, 0x76, 0x0b, 0xba, 0xa7, 0x39, + 0x56, 0xe2, 0xb9, 0x2c, 0x1d, 0x64, 0x9d, 0x48, 0x13, 0x2a, 0x77, 0x75, 0xd5, 0x51, 0xa9, 0xd4, 0x0d, 0xaf, 0x53, + 0xcd, 0xf8, 0xbb, 0x30, 0x7f, 0x62, 0xd9, 0xaf, 0x5b, 0xbf, 0xd5, 0x6a, 0x6f, 0xac, 0x1e, 0x95, 0xac, 0x39, 0xce, + 0x26, 0x24, 0xa5, 0x4f, 0xd8, 0x6e, 0x26, 0x5d, 0xeb, 0xc0, 0x93, 0xe0, 0x72, 0xe8, 0x09, 0xa8, 0x18, 0x34, 0xf1, + 0x76, 0x17, 0xa8, 0x47, 0xe0, 0x19, 0x28, 0x9f, 0xa8, 0x75, 0xc0, 0xcf, 0x6b, 0x2d, 0x4f, 0x19, 0x61, 0x58, 0xed, + 0x2c, 0x5a, 0x0e, 0xce, 0x3b, 0x45, 0xe0, 0xda, 0x95, 0xc0, 0xf3, 0xa1, 0x7a, 0x2f, 0x04, 0x0c, 0xf7, 0x4f, 0x85, + 0xca, 0x66, 0x37, 0xc3, 0x79, 0xd4, 0x38, 0x3d, 0xd0, 0xde, 0x76, 0xad, 0x87, 0x7a, 0xd7, 0xed, 0xdc, 0x56, 0xba, + 0xf7, 0x6b, 0x27, 0x93, 0x2e, 0xa0, 0xb5, 0xf9, 0xec, 0x3b, 0xbb, 0xd2, 0xba, 0xe9, 0x39, 0x7b, 0xb0, 0x75, 0x4b, + 0x74, 0x2e, 0x88, 0x26, 0xbf, 0x1f, 0x78, 0xd6, 0xb6, 0xa3, 0xdf, 0xa6, 0x1d, 0xdb, 0xdc, 0x43, 0xdd, 0x2b, 0xa8, + 0xf5, 0x86, 0xe6, 0xfd, 0x33, 0xd7, 0xb6, 0xe3, 0xab, 0x5f, 0xd7, 0x1d, 0xae, 0xf3, 0x26, 0x38, 0x6e, 0xba, 0xb6, + 0xd5, 0xce, 0x7e, 0xee, 0xee, 0xad, 0x9b, 0x28, 0xcc, 0xb2, 0x9f, 0x8a, 0xe2, 0xcf, 0x4a, 0xdf, 0x11, 0xe8, 0xe8, + 0xce, 0x8b, 0x3a, 0x5d, 0xec, 0x3e, 0x10, 0xc6, 0x93, 0x57, 0x1f, 0x11, 0xdd, 0xfa, 0x3e, 0x73, 0xbf, 0x02, 0xdc, + 0x08, 0xee, 0x20, 0xda, 0xbb, 0xa5, 0x3e, 0xa9, 0xd5, 0xd7, 0x7a, 0xed, 0x3c, 0x3d, 0xbf, 0xe9, 0xdc, 0x7e, 0xf7, + 0xcd, 0xd1, 0xd6, 0x7b, 0x5c, 0x58, 0x2b, 0x4b, 0x4f, 0x55, 0xc1, 0xde, 0x2c, 0x4f, 0x55, 0xc1, 0xe4, 0x81, 0xd7, + 0xec, 0x17, 0x34, 0xb8, 0xd2, 0xd1, 0xc6, 0x7b, 0xa2, 0x06, 0x6e, 0x51, 0x58, 0x3a, 0xfc, 0x92, 0x9b, 0xc9, 0x4b, + 0xdc, 0x5f, 0x2a, 0x72, 0xb1, 0xef, 0x9c, 0xd1, 0x9d, 0x99, 0x75, 0xaf, 0x2a, 0x5c, 0x2d, 0xc8, 0xd5, 0x81, 0xad, + 0x65, 0x17, 0x87, 0x1b, 0x16, 0x51, 0x80, 0x40, 0x4c, 0xaf, 0xd4, 0xda, 0x1f, 0xd1, 0x20, 0xe4, 0x83, 0x81, 0x5f, + 0x60, 0xb0, 0x2a, 0x50, 0xf8, 0x40, 0x91, 0xfc, 0x8d, 0x27, 0x60, 0x17, 0xcf, 0x00, 0xdd, 0x8a, 0xcd, 0x8a, 0x11, + 0x22, 0x64, 0xb2, 0x9c, 0xd5, 0x74, 0x06, 0xf9, 0xd4, 0x17, 0xdf, 0xd9, 0xaa, 0xd3, 0x79, 0x5b, 0x53, 0xe5, 0xd4, + 0xa1, 0xd0, 0xdd, 0x4d, 0xdd, 0xb9, 0x75, 0x91, 0xa7, 0x0e, 0x21, 0x57, 0x2a, 0x56, 0x62, 0x1a, 0x6a, 0x9e, 0xa4, + 0x19, 0xf5, 0x37, 0x7b, 0xbf, 0xd7, 0x28, 0x9c, 0xf2, 0xa7, 0x63, 0x50, 0x85, 0xab, 0x1a, 0xe2, 0x58, 0xaa, 0xe2, + 0x91, 0x0d, 0x02, 0xcd, 0xab, 0x5b, 0x95, 0x34, 0x21, 0x93, 0x1b, 0xe1, 0x53, 0x93, 0x52, 0x9e, 0xa6, 0x4d, 0x5a, + 0x29, 0x52, 0x07, 0x1f, 0xd4, 0xa9, 0xc6, 0x73, 0xb3, 0x7a, 0x06, 0x60, 0xc6, 0xf9, 0x15, 0xbf, 0x54, 0x5c, 0x46, + 0x6d, 0x65, 0x26, 0xed, 0x4f, 0x8e, 0xc6, 0x46, 0x5d, 0x4e, 0x1b, 0x65, 0x84, 0x95, 0xd2, 0x9c, 0x14, 0xcb, 0xf1, + 0xfc, 0x03, 0x06, 0x6b, 0x9e, 0xc0, 0x0e, 0x26, 0x2a, 0xe5, 0x7d, 0x04, 0xc4, 0xd7, 0x49, 0xba, 0x4c, 0x20, 0x45, + 0xfa, 0x97, 0x2e, 0x78, 0xea, 0x30, 0x36, 0x10, 0x63, 0x56, 0xcc, 0x8c, 0xfe, 0x07, 0x77, 0x49, 0x7f, 0x12, 0x02, + 0xe0, 0x26, 0x9a, 0x42, 0xa7, 0xce, 0x93, 0x8b, 0x3c, 0x58, 0x5c, 0x78, 0x68, 0xc5, 0x88, 0x07, 0xff, 0xf9, 0x2c, + 0x44, 0x10, 0x73, 0x4c, 0xf1, 0xf4, 0x0b, 0xa3, 0xff, 0x08, 0x2e, 0x31, 0x82, 0xd0, 0xdd, 0x3b, 0x87, 0x21, 0xdc, + 0xec, 0x41, 0x06, 0xf5, 0x87, 0x3a, 0x24, 0x6a, 0xf8, 0x6b, 0xe5, 0x41, 0xff, 0xd7, 0x99, 0xb0, 0xd4, 0x7e, 0x7a, + 0x3a, 0x80, 0x0a, 0xde, 0x57, 0xbc, 0x8d, 0x88, 0xef, 0x13, 0x3f, 0x89, 0x07, 0x9b, 0x27, 0x1b, 0xb0, 0xd6, 0x3d, + 0xca, 0x8d, 0x75, 0x95, 0xb0, 0x81, 0x80, 0xaf, 0x31, 0xad, 0x3d, 0xaf, 0xdd, 0xee, 0xc1, 0x7f, 0xfa, 0x17, 0x21, + 0x03, 0x26, 0x4e, 0xdf, 0x67, 0x4e, 0xd6, 0xe8, 0x22, 0x93, 0xe9, 0x43, 0x27, 0x7d, 0xa3, 0xd3, 0x7d, 0x27, 0xfc, + 0xa3, 0x62, 0x16, 0x1f, 0x6e, 0xe9, 0x2b, 0x4d, 0x8a, 0x3b, 0x60, 0x65, 0xf3, 0xa0, 0x20, 0xd4, 0xb9, 0x88, 0xbe, + 0x31, 0xe5, 0x5b, 0x42, 0xcd, 0xbe, 0xb1, 0xa4, 0x94, 0xee, 0x35, 0xf4, 0x3a, 0xad, 0xf5, 0xdb, 0x28, 0xc1, 0x98, + 0xe8, 0x78, 0xf2, 0x32, 0x1e, 0x2b, 0xef, 0xe3, 0x71, 0x23, 0x15, 0xf2, 0x00, 0x44, 0xa0, 0x62, 0xfc, 0xe9, 0xca, + 0x93, 0x93, 0x5e, 0x18, 0xaf, 0x42, 0x29, 0x28, 0x0c, 0xe8, 0x0a, 0xa4, 0x80, 0x47, 0xed, 0x89, 0xce, 0xc2, 0x2e, + 0xe1, 0x1e, 0xdd, 0x04, 0x8c, 0xf5, 0xf9, 0x57, 0x40, 0x73, 0x17, 0xee, 0xf0, 0x62, 0x80, 0xda, 0xd4, 0xab, 0xbb, + 0x8f, 0x6b, 0x75, 0x0e, 0x87, 0xe0, 0x60, 0x35, 0x88, 0xe0, 0x74, 0x3e, 0x75, 0x34, 0xcb, 0x02, 0x54, 0x4e, 0x96, + 0x1b, 0x79, 0xf3, 0x68, 0xd1, 0xab, 0xfb, 0xde, 0x22, 0x2d, 0xab, 0x3a, 0xc8, 0x58, 0x16, 0x56, 0x80, 0xab, 0x43, + 0xeb, 0x07, 0xe1, 0xb2, 0x70, 0xfe, 0x40, 0x08, 0x62, 0xf7, 0x6a, 0x5b, 0xf0, 0x5c, 0xcd, 0xe1, 0x27, 0x4f, 0xd9, + 0x9a, 0x4b, 0xd4, 0x49, 0x67, 0x22, 0x00, 0xb1, 0xa7, 0x66, 0x15, 0x5d, 0x03, 0x49, 0x9d, 0x66, 0x15, 0x5d, 0x53, + 0xb3, 0x8d, 0x71, 0x20, 0x1f, 0xad, 0x52, 0xc0, 0xbe, 0x9b, 0x8e, 0x83, 0xd5, 0x93, 0x58, 0x5e, 0x87, 0x96, 0x4f, + 0x36, 0xca, 0x67, 0x50, 0xb7, 0xda, 0x18, 0x13, 0xdb, 0xcd, 0x97, 0x73, 0xfd, 0x76, 0xb0, 0xf0, 0xed, 0xa0, 0x39, + 0xa7, 0xec, 0xa5, 0x2e, 0x7b, 0x65, 0x97, 0x4d, 0x3d, 0x77, 0x54, 0xb4, 0x1a, 0x03, 0x7a, 0x03, 0x0b, 0xd6, 0xe7, + 0x22, 0xcd, 0x56, 0xa5, 0x2a, 0x01, 0x2f, 0x8c, 0x15, 0x5b, 0xfa, 0x8d, 0xcc, 0x90, 0x84, 0x79, 0x9c, 0x89, 0xb7, + 0x74, 0xaf, 0x85, 0xc9, 0x71, 0x2c, 0x92, 0x29, 0xa1, 0x53, 0xba, 0xb3, 0x0d, 0x9d, 0xab, 0x30, 0x8a, 0x68, 0xad, + 0xa4, 0xd2, 0x48, 0x60, 0x6a, 0x06, 0x28, 0x99, 0x2b, 0x70, 0x4a, 0x97, 0xfb, 0xdf, 0x91, 0x18, 0x67, 0xbe, 0x28, + 0x99, 0x01, 0xdd, 0xf2, 0xeb, 0x62, 0xdd, 0x4a, 0x91, 0x11, 0xe6, 0xcd, 0x71, 0x7b, 0x5d, 0x1f, 0x02, 0xb9, 0x5a, + 0xf6, 0x28, 0x1a, 0x07, 0x85, 0x0e, 0x97, 0x2a, 0x01, 0xf6, 0x45, 0xe2, 0x67, 0x84, 0x2d, 0xed, 0x81, 0xdc, 0x1e, + 0x9d, 0x09, 0x73, 0xce, 0x49, 0x59, 0x76, 0x2e, 0xcd, 0xe0, 0x72, 0xe2, 0x4a, 0x70, 0x91, 0xde, 0xb6, 0xa7, 0x49, + 0x4b, 0xdb, 0xc7, 0x86, 0x73, 0x34, 0xb4, 0x0d, 0xba, 0x63, 0x7f, 0x68, 0x2e, 0x16, 0xb1, 0x75, 0xb1, 0x18, 0x76, + 0x66, 0x3f, 0x5a, 0x2c, 0x40, 0x0e, 0x00, 0x47, 0xdd, 0x86, 0x8f, 0xd9, 0x02, 0x38, 0xad, 0xa6, 0xd9, 0xd4, 0xdb, + 0xf0, 0xea, 0x89, 0xea, 0xe9, 0x05, 0xcf, 0x9f, 0x08, 0x33, 0x16, 0x1b, 0x9e, 0x3f, 0xb1, 0x8e, 0x9c, 0xea, 0x89, + 0x50, 0xa2, 0x75, 0x01, 0xcd, 0xc0, 0x6b, 0x0a, 0x18, 0xb1, 0x64, 0x32, 0xa5, 0x8a, 0x3c, 0xee, 0x4d, 0x37, 0x6a, + 0xf0, 0x82, 0xc2, 0x21, 0x90, 0xd2, 0xe9, 0x17, 0x4f, 0x99, 0x7e, 0xef, 0xe2, 0x69, 0x87, 0xac, 0x6d, 0x98, 0x2e, + 0x37, 0xc3, 0x64, 0x50, 0xfa, 0x4f, 0xcc, 0xc4, 0xb8, 0xb0, 0x26, 0x09, 0x20, 0xfe, 0x8d, 0xfd, 0x0e, 0x29, 0xdc, + 0xbc, 0xbf, 0x18, 0xc6, 0x0f, 0xbc, 0x1f, 0x23, 0x7b, 0x92, 0x66, 0x88, 0x35, 0x93, 0x0a, 0xb9, 0xfb, 0x6a, 0xfd, + 0x63, 0x62, 0x37, 0xd9, 0x03, 0x0b, 0x40, 0x6c, 0x4d, 0x5b, 0xdd, 0xf2, 0x7e, 0xdf, 0x33, 0x45, 0x80, 0x1f, 0x94, + 0x7f, 0x74, 0x67, 0x48, 0x06, 0x65, 0xd7, 0x0d, 0x21, 0x1e, 0x94, 0x4d, 0xd3, 0x5e, 0x6f, 0x7b, 0x67, 0x1e, 0xab, + 0xeb, 0xb4, 0xb3, 0xb8, 0x5a, 0x64, 0x90, 0x56, 0x1f, 0xb2, 0xe3, 0xcc, 0x3e, 0x3b, 0x5a, 0x2a, 0xdd, 0xef, 0x43, + 0x44, 0xdc, 0x51, 0xd6, 0xf6, 0xdb, 0x2d, 0xb8, 0x86, 0xa3, 0x41, 0xe8, 0xca, 0xde, 0x2e, 0xa3, 0x8d, 0x0b, 0x71, + 0xdc, 0x33, 0x9d, 0x2f, 0xf8, 0xf2, 0x28, 0xed, 0x3c, 0x38, 0xd5, 0x13, 0x7d, 0x6e, 0xba, 0xab, 0x4c, 0xae, 0x75, + 0x58, 0x8d, 0x41, 0x6d, 0x16, 0xb6, 0x70, 0x17, 0xb6, 0xd1, 0x41, 0x6b, 0x5f, 0x16, 0xfc, 0x53, 0x06, 0xe0, 0x4b, + 0xcf, 0x96, 0x6d, 0xaf, 0x49, 0xab, 0xd7, 0x32, 0x0a, 0xb1, 0xa5, 0xed, 0xd5, 0xa7, 0xa3, 0x7c, 0xdc, 0x9c, 0x50, + 0x5c, 0xc8, 0x51, 0x7e, 0xf0, 0x1a, 0xa2, 0xae, 0x75, 0x1d, 0x17, 0x8b, 0x0e, 0x37, 0xae, 0xba, 0xed, 0xc6, 0xf5, + 0x23, 0xe2, 0xad, 0xd1, 0x26, 0x85, 0x5a, 0x19, 0x3b, 0x82, 0x97, 0xe5, 0xc3, 0x21, 0x13, 0xc3, 0xa1, 0x84, 0x4c, + 0x7d, 0xe8, 0xde, 0xd0, 0xb4, 0xcf, 0x4f, 0x5b, 0x3f, 0x62, 0xa9, 0x71, 0x14, 0x1b, 0xde, 0xe9, 0x3b, 0x8f, 0xad, + 0x71, 0x25, 0x5f, 0x06, 0xb3, 0x5d, 0x41, 0xb5, 0x35, 0xde, 0xb0, 0x97, 0xf3, 0x9f, 0x2a, 0xa9, 0xe4, 0x6f, 0x7f, + 0x86, 0x6b, 0x78, 0x6b, 0x4b, 0x07, 0x4d, 0x35, 0xcb, 0x59, 0xae, 0xef, 0x05, 0xc7, 0x1f, 0x77, 0xaf, 0x08, 0x06, + 0xbf, 0xa7, 0xa3, 0x20, 0x17, 0x4b, 0xb5, 0x06, 0x14, 0xa4, 0x23, 0x3b, 0xa6, 0xb2, 0xc0, 0x30, 0x80, 0x37, 0x64, + 0x80, 0x3c, 0xa6, 0x70, 0x37, 0x54, 0x78, 0xe1, 0x6f, 0x15, 0xd9, 0x25, 0xb0, 0xad, 0x19, 0x1f, 0x33, 0xdc, 0x41, + 0xc8, 0x3f, 0x82, 0x2d, 0xd9, 0x8a, 0xdd, 0xb2, 0x1b, 0x86, 0x64, 0xe3, 0x38, 0x8c, 0x31, 0x1f, 0x4f, 0xe2, 0x2b, + 0x31, 0x89, 0x07, 0x3c, 0x42, 0xc7, 0x88, 0x35, 0xaf, 0x67, 0xb1, 0x1c, 0x40, 0xb6, 0xe4, 0x4a, 0x07, 0x84, 0xd0, + 0xd8, 0xd0, 0x92, 0xd7, 0x85, 0xc1, 0xc5, 0x8e, 0x7d, 0x46, 0x22, 0x19, 0x87, 0x60, 0xd1, 0xaa, 0x06, 0x16, 0x26, + 0x76, 0xcb, 0x8b, 0xd9, 0x6a, 0x8e, 0xff, 0x1c, 0x0e, 0x08, 0x80, 0x1d, 0xec, 0x1b, 0xb6, 0x8c, 0x10, 0xe9, 0xed, + 0x86, 0x2f, 0x2d, 0x4f, 0x17, 0x76, 0xc7, 0xdf, 0xf2, 0x31, 0x3b, 0xff, 0xd1, 0x83, 0xc8, 0xd9, 0xf3, 0x8f, 0x80, + 0x86, 0x78, 0xc7, 0x6f, 0x53, 0xaf, 0x62, 0xb7, 0x44, 0x41, 0x78, 0x0b, 0xce, 0x40, 0x77, 0x10, 0x01, 0xfb, 0x96, + 0xdf, 0x60, 0xac, 0xd8, 0x59, 0xba, 0xf0, 0x30, 0x23, 0xd4, 0x9e, 0xce, 0x97, 0xb5, 0x9a, 0x84, 0x9b, 0xab, 0xc5, + 0x64, 0x30, 0xd8, 0xf8, 0x3b, 0xbe, 0x06, 0x3e, 0x98, 0xf3, 0x1f, 0xbd, 0x1d, 0x95, 0x0b, 0xff, 0x79, 0x9d, 0x25, + 0xef, 0x7c, 0xf6, 0x76, 0xc0, 0x6f, 0x00, 0x6f, 0x09, 0x1d, 0xb8, 0xee, 0x7c, 0x26, 0xf1, 0xda, 0xde, 0xea, 0x6b, + 0x04, 0x12, 0xf9, 0x02, 0x30, 0x62, 0x62, 0x7e, 0xbf, 0x85, 0x08, 0x8c, 0x18, 0x7c, 0x5b, 0xb5, 0x47, 0xfc, 0x96, + 0x1b, 0xc0, 0xaf, 0xcc, 0x67, 0xf7, 0x3c, 0xd4, 0x3f, 0x13, 0x9f, 0x5d, 0xf3, 0xf7, 0xfc, 0x99, 0x27, 0x25, 0xe9, + 0x72, 0xf6, 0x7e, 0x0e, 0xd7, 0x43, 0x29, 0x4f, 0x87, 0xf4, 0xb3, 0x31, 0x18, 0x40, 0x28, 0x64, 0x5e, 0x7b, 0xc0, + 0x9a, 0x14, 0xe2, 0x5f, 0xc0, 0xb7, 0xa3, 0x84, 0xcd, 0x6b, 0x6f, 0xeb, 0x6b, 0x79, 0xf3, 0xda, 0xbb, 0xf7, 0x29, + 0x0a, 0xb0, 0x0a, 0x4a, 0x59, 0x60, 0x15, 0x84, 0x8d, 0x36, 0xc2, 0x18, 0xb8, 0x7a, 0xd7, 0x18, 0xea, 0x7a, 0x8e, + 0xd8, 0xb6, 0xd2, 0x77, 0xe1, 0x3b, 0xc8, 0x80, 0x0f, 0x5e, 0x17, 0x25, 0xd1, 0xe7, 0xd4, 0x14, 0x49, 0xeb, 0x9e, + 0xfb, 0xad, 0x75, 0x47, 0x6b, 0x4a, 0x7d, 0xe4, 0x6a, 0x7c, 0x38, 0xd4, 0xcf, 0x84, 0x16, 0x09, 0xa6, 0xa0, 0x71, + 0x0d, 0xda, 0x02, 0x04, 0x7d, 0x1e, 0x20, 0x6b, 0x49, 0xb1, 0xe0, 0xdb, 0x5f, 0x21, 0x06, 0xaf, 0x4c, 0xef, 0x5c, + 0xae, 0x32, 0x12, 0xb6, 0x17, 0x7e, 0x39, 0xac, 0xfd, 0x89, 0x53, 0x0b, 0x4b, 0xab, 0x39, 0xa8, 0x9f, 0xd8, 0x72, + 0x9c, 0xaa, 0xda, 0xdf, 0x25, 0x49, 0xb5, 0xab, 0xb4, 0x9c, 0xde, 0xd9, 0x37, 0x5d, 0x26, 0xd8, 0xd8, 0x0f, 0xa8, + 0x3a, 0xb2, 0x1a, 0x76, 0x5f, 0xa8, 0x2f, 0x7a, 0x4a, 0x26, 0x34, 0x1f, 0x55, 0x34, 0xcf, 0xee, 0x37, 0x3b, 0xea, + 0x3f, 0xbd, 0x1c, 0x8a, 0x00, 0xc9, 0x2a, 0x2d, 0x96, 0x22, 0x67, 0x63, 0x3f, 0x1e, 0x26, 0x99, 0x0a, 0x2f, 0x48, + 0x47, 0x77, 0xbf, 0x71, 0x7f, 0xcb, 0x0d, 0x64, 0x85, 0x56, 0x6d, 0x30, 0x56, 0x8a, 0x96, 0xc1, 0xfa, 0x6a, 0xdc, + 0xef, 0x8b, 0xab, 0xf1, 0x54, 0x04, 0x35, 0x10, 0x17, 0x89, 0x67, 0xe3, 0x69, 0x4d, 0x2c, 0xa9, 0x5d, 0x81, 0x31, + 0x7a, 0x5c, 0x15, 0xb5, 0x4f, 0xfd, 0x0c, 0x42, 0x91, 0x6a, 0xcd, 0x1c, 0x6b, 0xdc, 0x18, 0x11, 0x77, 0x58, 0xb9, + 0x76, 0x6a, 0xaf, 0x03, 0xb0, 0xbc, 0x1a, 0x17, 0x84, 0x45, 0x72, 0xec, 0x5c, 0xc0, 0x6a, 0x34, 0xa4, 0xda, 0x0d, + 0xb7, 0x5e, 0x76, 0x7e, 0xf3, 0x4d, 0x62, 0x6b, 0x23, 0xdc, 0x52, 0x40, 0x19, 0xe5, 0x37, 0x96, 0x13, 0x76, 0xa7, + 0x7a, 0x47, 0xaa, 0x76, 0xc4, 0x89, 0x0b, 0x58, 0x6e, 0x78, 0x6a, 0xf5, 0x4d, 0x0c, 0x4e, 0x84, 0xaa, 0x95, 0x0e, + 0x77, 0x32, 0x81, 0xb8, 0x5f, 0xdd, 0xd7, 0xbd, 0x12, 0xfc, 0x24, 0xe4, 0xf5, 0x5b, 0xde, 0x01, 0x60, 0xc5, 0x87, + 0xbc, 0x98, 0x16, 0x8e, 0xd6, 0x65, 0x50, 0x06, 0x88, 0xd0, 0x0c, 0x80, 0x4e, 0xae, 0x0e, 0xa2, 0x34, 0x70, 0xc5, + 0x1d, 0x22, 0xfc, 0x34, 0x7a, 0x92, 0x3f, 0x0b, 0x9f, 0x54, 0xd3, 0xf0, 0x22, 0x0f, 0xa2, 0x8b, 0x2a, 0x88, 0x9e, + 0x54, 0x57, 0xe1, 0x93, 0x7c, 0x1a, 0x5d, 0xe4, 0x41, 0x78, 0x51, 0x35, 0xf6, 0x5d, 0xbb, 0xbb, 0x27, 0xe4, 0x6d, + 0x57, 0x7f, 0xe4, 0x5c, 0xd9, 0x53, 0xa6, 0xe7, 0xe7, 0xb5, 0x5e, 0xa9, 0xdd, 0xe6, 0x7a, 0x8d, 0x9a, 0xa9, 0x8f, + 0xb2, 0xbf, 0xd9, 0xc6, 0xc2, 0xa3, 0x39, 0x84, 0x3e, 0x23, 0x2d, 0xe6, 0x1e, 0xe7, 0x7a, 0xb3, 0x27, 0x85, 0x81, + 0x11, 0x93, 0x4a, 0x46, 0x4e, 0x2f, 0x70, 0x11, 0xaa, 0x10, 0xc3, 0x5a, 0xba, 0xda, 0x67, 0x5d, 0x7a, 0x03, 0x75, + 0x4d, 0xb1, 0xaf, 0x21, 0x03, 0x2f, 0x9a, 0x5e, 0x06, 0x63, 0x40, 0x8e, 0xc0, 0x3b, 0x3e, 0x5b, 0xc0, 0x81, 0xb9, + 0x06, 0xe8, 0x9b, 0x07, 0x7d, 0x5d, 0x96, 0x7c, 0xad, 0xfa, 0x66, 0xba, 0x1e, 0x29, 0xe5, 0xc7, 0x8a, 0x2f, 0x2f, + 0x9e, 0xb2, 0x5b, 0xae, 0x51, 0x51, 0x5e, 0xe8, 0xc5, 0x7a, 0x07, 0x5c, 0x75, 0x2f, 0xe0, 0x36, 0x8b, 0xc7, 0xae, + 0x3c, 0x60, 0xd9, 0x96, 0xdd, 0xb3, 0x6b, 0xf6, 0x9e, 0x3d, 0x62, 0xaf, 0xd8, 0x57, 0x56, 0x23, 0x44, 0x79, 0xa9, + 0xa4, 0x3c, 0xff, 0x86, 0xdf, 0x4a, 0xdb, 0xa3, 0x84, 0x25, 0xbb, 0xb7, 0xed, 0x34, 0xc3, 0x0d, 0x7b, 0xcf, 0x6f, + 0x86, 0x2b, 0xf6, 0x0a, 0xb2, 0xa1, 0x50, 0x3c, 0x58, 0xb1, 0x1a, 0xae, 0xb0, 0x94, 0x41, 0x9f, 0x86, 0xa5, 0x25, + 0x2c, 0x9a, 0x42, 0x51, 0x8a, 0x7e, 0xc5, 0x6b, 0xc2, 0x4e, 0xab, 0xb1, 0x10, 0xf9, 0xa1, 0xe1, 0x8a, 0xdd, 0xf3, + 0x9b, 0xc1, 0x8a, 0xbd, 0xd7, 0x36, 0xa2, 0xc1, 0xc6, 0x2d, 0x8e, 0xc0, 0xac, 0x74, 0x61, 0x52, 0xa0, 0xde, 0xda, + 0x37, 0xc1, 0x0d, 0xbb, 0xc6, 0xfa, 0x3d, 0xc2, 0xa2, 0x51, 0xe6, 0x1f, 0xac, 0xd8, 0x57, 0x2e, 0x31, 0xd4, 0xdc, + 0xf2, 0xa4, 0x63, 0xa8, 0x2e, 0x90, 0xae, 0x08, 0x8f, 0x38, 0xbd, 0xc8, 0xbe, 0x62, 0x19, 0xf4, 0x95, 0xe1, 0x8a, + 0x6d, 0xb1, 0x76, 0xd7, 0xc6, 0xb8, 0x65, 0x55, 0x4f, 0x82, 0x02, 0xa3, 0xac, 0x52, 0x5a, 0x2e, 0x8e, 0x58, 0x36, + 0x75, 0xd4, 0xa0, 0x36, 0x0c, 0xe8, 0x83, 0xd1, 0x7f, 0xf8, 0xfa, 0xdd, 0x0f, 0x5e, 0xa9, 0x6f, 0xbe, 0x2f, 0x1c, + 0xef, 0xca, 0x12, 0xbd, 0x2b, 0x3f, 0xf3, 0x72, 0xf6, 0x62, 0x3e, 0xd1, 0xb5, 0xa4, 0x4d, 0x86, 0xdc, 0x4d, 0x67, + 0x2f, 0x3a, 0xfc, 0x2d, 0x3f, 0xfb, 0x7e, 0x63, 0xf5, 0xb1, 0xfa, 0xae, 0xee, 0xde, 0xfb, 0xc1, 0xa6, 0x71, 0x2a, + 0xbe, 0x3b, 0x5d, 0x71, 0x6c, 0x67, 0xad, 0xbd, 0x33, 0xff, 0x87, 0x6b, 0xbd, 0xc5, 0xb1, 0xbb, 0xe6, 0xdb, 0xe1, + 0xc6, 0x1e, 0x06, 0xf9, 0x7d, 0xe5, 0x97, 0x5f, 0xf3, 0xe7, 0x5e, 0xa7, 0x24, 0x0b, 0xa8, 0x46, 0x9f, 0x8c, 0x34, + 0x74, 0xc9, 0x4c, 0x4c, 0x43, 0x7c, 0x91, 0x01, 0x3a, 0x17, 0x88, 0x67, 0x77, 0x7c, 0x3c, 0xb9, 0xbb, 0x8a, 0x27, + 0x77, 0x03, 0xfe, 0xc9, 0xb4, 0xa0, 0xbd, 0xe0, 0xee, 0x7c, 0xf6, 0x99, 0x17, 0xf6, 0x92, 0x7c, 0xe1, 0xb3, 0x77, + 0xc2, 0x5d, 0xa5, 0x2f, 0x7c, 0xf6, 0x55, 0xf0, 0xcf, 0x23, 0x4d, 0x96, 0xc1, 0xbe, 0xd6, 0xfc, 0xf3, 0x08, 0x59, + 0x3f, 0xd8, 0x17, 0xc1, 0xdf, 0x81, 0xff, 0x77, 0x95, 0xa0, 0x65, 0xfc, 0x4b, 0xad, 0x7e, 0xbe, 0x97, 0xb1, 0x39, + 0xf0, 0x26, 0xb4, 0x82, 0xde, 0xbc, 0xad, 0xe5, 0x4f, 0xe2, 0xe2, 0x48, 0xd5, 0x53, 0xc3, 0x41, 0x8b, 0xc5, 0xdc, + 0xd4, 0x47, 0xe9, 0x54, 0xde, 0xe4, 0x2d, 0x4f, 0xa4, 0x85, 0xf9, 0x0e, 0xc2, 0x81, 0xdf, 0xda, 0x30, 0x05, 0x3b, + 0x8e, 0x9b, 0xc1, 0x5b, 0x06, 0x10, 0x92, 0xd9, 0x74, 0xcb, 0xaf, 0xf9, 0x23, 0xfe, 0x95, 0xef, 0x82, 0x7b, 0xfe, + 0x9e, 0xbf, 0xe2, 0x75, 0xcd, 0x77, 0x6c, 0x21, 0x21, 0x4f, 0xeb, 0xed, 0x65, 0xb0, 0x65, 0xf5, 0xee, 0x32, 0xb8, + 0x67, 0xf5, 0xf6, 0x69, 0x70, 0xcd, 0xea, 0xdd, 0xd3, 0xe0, 0x3d, 0xdb, 0x5e, 0x06, 0x8f, 0xd8, 0xee, 0x32, 0x78, + 0xc5, 0xb6, 0x4f, 0x83, 0xaf, 0x6c, 0xf7, 0x34, 0xa8, 0x15, 0xd2, 0xc3, 0x57, 0x21, 0x99, 0x4e, 0xbe, 0xd6, 0xcc, + 0xb0, 0xea, 0x06, 0x5f, 0x84, 0xf5, 0x8b, 0x6a, 0x19, 0x7c, 0xa9, 0x99, 0x6e, 0x73, 0x20, 0x04, 0xd3, 0x2d, 0x0e, + 0x6e, 0xe9, 0x89, 0x69, 0x57, 0x90, 0x0a, 0xd6, 0xd5, 0xd2, 0xe0, 0xa6, 0x6e, 0x5a, 0x27, 0xb3, 0xe3, 0x9d, 0x18, + 0x77, 0x78, 0x27, 0xde, 0xb0, 0x45, 0xd3, 0xe9, 0xaa, 0x73, 0xfa, 0x3c, 0xd0, 0x47, 0x80, 0xde, 0xfb, 0x2b, 0xe9, + 0x41, 0x53, 0x34, 0x3c, 0x57, 0xba, 0xe3, 0xd6, 0x7e, 0x1f, 0x5a, 0xfb, 0x3d, 0x93, 0x8a, 0xb4, 0x88, 0x45, 0x65, + 0x51, 0x55, 0xc8, 0x27, 0x1e, 0x64, 0x5a, 0xab, 0x96, 0x30, 0x52, 0x67, 0x02, 0x26, 0x7d, 0x41, 0x87, 0x41, 0x4e, + 0x76, 0x05, 0xb6, 0xe0, 0x9b, 0x41, 0xc2, 0xd6, 0x3c, 0x9e, 0x0e, 0x93, 0x60, 0xc1, 0x96, 0x7c, 0xd8, 0x2d, 0x16, + 0xac, 0x54, 0x18, 0x93, 0xbe, 0x3e, 0x1d, 0xed, 0xee, 0xbc, 0xb7, 0x4a, 0xe3, 0x38, 0x13, 0xa8, 0x73, 0xab, 0xf4, + 0x36, 0xbf, 0x75, 0x76, 0xf5, 0xb5, 0xda, 0xe5, 0x41, 0x60, 0xf8, 0x0c, 0x44, 0x3b, 0xc4, 0x7b, 0x07, 0x35, 0x46, + 0xba, 0x25, 0xb3, 0xee, 0x2b, 0x7b, 0x5f, 0xdf, 0x9a, 0xad, 0xfa, 0xdf, 0x2d, 0x82, 0xf6, 0x72, 0xd9, 0xfb, 0x9f, + 0xcc, 0xab, 0xbf, 0x77, 0xbc, 0xba, 0xf1, 0x27, 0xf7, 0xfc, 0x13, 0x46, 0x27, 0x60, 0x22, 0xdb, 0xf1, 0x4f, 0xa3, + 0x6d, 0xe3, 0x94, 0x27, 0xf7, 0xf2, 0xff, 0x2b, 0x05, 0xda, 0xbb, 0x79, 0x65, 0x6f, 0x8a, 0x5b, 0xde, 0xb1, 0x97, + 0x2f, 0xac, 0x3d, 0xd1, 0x20, 0x94, 0x7c, 0xe2, 0x6e, 0x50, 0x34, 0xec, 0x89, 0x2f, 0x78, 0x35, 0xfb, 0x34, 0x9f, + 0x6c, 0xf9, 0xf1, 0x8e, 0xf8, 0xa9, 0x63, 0x47, 0x7c, 0xe1, 0x0f, 0x16, 0xcd, 0xb7, 0x7a, 0xb5, 0x73, 0x27, 0x77, + 0x2a, 0xbd, 0xe3, 0xc7, 0xfb, 0xf8, 0xf0, 0xdf, 0xae, 0xf4, 0xee, 0xbb, 0x2b, 0x6d, 0x57, 0xb9, 0xbb, 0xf3, 0x4d, + 0xc7, 0x37, 0xb2, 0xd6, 0x18, 0x6e, 0x66, 0x14, 0x8c, 0x30, 0x6d, 0x61, 0x9a, 0x06, 0x91, 0xa5, 0x58, 0x84, 0x44, + 0x8d, 0xd2, 0x39, 0xd1, 0x67, 0x41, 0xa7, 0xa0, 0x8b, 0x1b, 0xfd, 0x2d, 0x1f, 0xb3, 0x1b, 0xe3, 0xb2, 0x79, 0x7b, + 0x75, 0x33, 0x19, 0x0c, 0x6e, 0xfd, 0xfd, 0x1d, 0x0f, 0x67, 0xb7, 0x73, 0xf6, 0x96, 0xdf, 0xd1, 0x7a, 0x9a, 0xa8, + 0xc6, 0x17, 0x0f, 0x49, 0x60, 0xb7, 0xbe, 0x3f, 0xb1, 0x88, 0x60, 0xed, 0x1b, 0xe7, 0xad, 0x3f, 0x90, 0x66, 0x69, + 0xb9, 0xb5, 0xbf, 0x7f, 0x58, 0x43, 0x71, 0x0b, 0x42, 0xc6, 0x7b, 0x5b, 0xe5, 0xf0, 0x8a, 0x7f, 0xf4, 0xde, 0xfa, + 0xd3, 0xb7, 0x3a, 0xf8, 0x66, 0xa2, 0xce, 0xa5, 0x57, 0x17, 0x4f, 0xd9, 0x67, 0xfe, 0x49, 0x9e, 0x29, 0xef, 0x84, + 0x9c, 0xb6, 0xd7, 0x48, 0xe2, 0x44, 0x47, 0xc5, 0x57, 0x37, 0x91, 0x40, 0x21, 0x60, 0x57, 0xf8, 0x5a, 0xf3, 0xfb, + 0x49, 0x39, 0xf5, 0x76, 0x40, 0xf2, 0xca, 0x6d, 0x45, 0xf4, 0x2d, 0xe7, 0xfc, 0x66, 0x78, 0x39, 0xfd, 0xda, 0xed, + 0xdb, 0xa3, 0xc2, 0xda, 0x54, 0xc4, 0xdb, 0x2d, 0x06, 0x61, 0x9d, 0xcc, 0x2c, 0x73, 0xc9, 0x97, 0xbe, 0xd6, 0x66, + 0xee, 0x31, 0xbd, 0xe3, 0x4c, 0x33, 0x64, 0xf4, 0x05, 0x66, 0xa6, 0xc3, 0x61, 0x79, 0x8e, 0xe5, 0xf1, 0xe1, 0xab, + 0x27, 0x8f, 0x06, 0x8f, 0x30, 0x84, 0xcb, 0x0a, 0x0b, 0xf9, 0xca, 0x87, 0x59, 0xdd, 0xba, 0x76, 0x5c, 0x3c, 0x1d, + 0xbe, 0x80, 0xbc, 0x41, 0xd7, 0x43, 0x53, 0x44, 0xab, 0xfc, 0x8e, 0xa2, 0x4f, 0x94, 0x1c, 0x74, 0x3c, 0x81, 0xda, + 0x21, 0x17, 0xee, 0xd7, 0x27, 0x1c, 0x14, 0x1d, 0x58, 0x6a, 0xbf, 0x7f, 0xfe, 0x89, 0x08, 0xa5, 0x61, 0xbc, 0x5f, + 0x84, 0xd1, 0x9f, 0x71, 0x59, 0xac, 0xe1, 0x88, 0x1d, 0xc0, 0xe7, 0x9e, 0xe8, 0x6b, 0xd8, 0xd2, 0xf7, 0xfd, 0xc0, + 0xdb, 0xf2, 0x6b, 0xf6, 0x95, 0x7b, 0x97, 0xc3, 0x57, 0xfe, 0x93, 0x47, 0x20, 0x3f, 0x21, 0x4e, 0x0a, 0x86, 0xc4, + 0x76, 0x14, 0xa3, 0xd6, 0xe1, 0x97, 0x1a, 0x62, 0xb5, 0x3e, 0x21, 0x75, 0x17, 0xa4, 0x7f, 0x50, 0xc8, 0x7e, 0x42, + 0x60, 0x35, 0x49, 0x9f, 0x02, 0x93, 0xf8, 0xb6, 0x86, 0x04, 0xd2, 0xb4, 0x40, 0x0c, 0x0e, 0x14, 0x9f, 0x0a, 0xfe, + 0x75, 0xf8, 0x85, 0xe4, 0xbf, 0x9b, 0x9a, 0x8f, 0xe1, 0x6f, 0x18, 0x9a, 0x49, 0x75, 0x9f, 0xd6, 0x51, 0xe2, 0xd5, + 0x70, 0xea, 0x85, 0x95, 0x50, 0x27, 0x43, 0x90, 0x8a, 0x21, 0x17, 0xe2, 0xe2, 0xe9, 0xe4, 0xb6, 0x14, 0xe1, 0x9f, + 0x13, 0x7c, 0x26, 0x57, 0x9a, 0x7c, 0x46, 0x4f, 0x1a, 0x59, 0xc0, 0xbd, 0x7c, 0x5f, 0xf6, 0x6a, 0x70, 0x53, 0x0f, + 0xf9, 0x6d, 0xed, 0xbe, 0x2f, 0xe7, 0x04, 0x3d, 0xb2, 0x1f, 0xd0, 0x1c, 0x0c, 0xd4, 0x0c, 0xa4, 0x0c, 0xc1, 0x2d, + 0x5c, 0xfa, 0x3d, 0x55, 0x90, 0x2f, 0xbf, 0xf7, 0x45, 0xc8, 0xc0, 0x95, 0x1b, 0xc2, 0x94, 0x4b, 0x85, 0x14, 0x38, + 0x6e, 0xeb, 0xc1, 0x17, 0x8d, 0x4e, 0x22, 0xc1, 0xa7, 0x04, 0x24, 0x49, 0xcb, 0x03, 0x49, 0x23, 0xa6, 0x03, 0x71, + 0xa1, 0x34, 0xcd, 0x4a, 0x8a, 0x38, 0xc4, 0xae, 0xfa, 0x16, 0x09, 0xcf, 0x82, 0xf7, 0x0c, 0xd6, 0x8e, 0x14, 0x2d, + 0xbe, 0x1a, 0xd3, 0xb1, 0x0e, 0x1b, 0x5a, 0xca, 0xe2, 0x3e, 0x4b, 0xea, 0x34, 0x12, 0x57, 0xde, 0x09, 0xf9, 0xf3, + 0x9f, 0x4a, 0x04, 0xd2, 0xbb, 0x1a, 0x88, 0x41, 0xf0, 0x03, 0xf4, 0x1f, 0xb0, 0xc8, 0x41, 0x50, 0xaa, 0xcb, 0x30, + 0xaf, 0x32, 0x2a, 0x70, 0xb6, 0x63, 0xdb, 0x39, 0x53, 0x75, 0x0b, 0xbe, 0x08, 0xc3, 0x90, 0x76, 0xb6, 0x6a, 0x4e, + 0x6e, 0xf5, 0x06, 0xea, 0x99, 0xc4, 0x91, 0x5a, 0x8a, 0x23, 0x6d, 0xcd, 0x7d, 0xba, 0xf0, 0xba, 0xe5, 0x05, 0x0d, + 0x17, 0xa0, 0x17, 0xa5, 0xbb, 0xce, 0x27, 0x14, 0xba, 0xac, 0xc6, 0xd5, 0x50, 0xd4, 0xa1, 0x1c, 0x63, 0xed, 0xcf, + 0x95, 0x3c, 0xbf, 0x03, 0xeb, 0x11, 0x1a, 0xbe, 0x2a, 0x75, 0x10, 0xdb, 0x4f, 0xf4, 0xae, 0x53, 0xa9, 0xbf, 0x01, + 0x60, 0xe0, 0xd4, 0xf1, 0x50, 0x1f, 0xb5, 0x53, 0xc8, 0x76, 0xee, 0x2d, 0x31, 0x2a, 0x57, 0xc2, 0x53, 0xa5, 0xe5, + 0x29, 0x65, 0xd5, 0xd7, 0x82, 0x5b, 0xd9, 0x7d, 0x36, 0x80, 0x8c, 0x36, 0x28, 0x90, 0x67, 0xd4, 0xd6, 0x78, 0x90, + 0x6a, 0x9a, 0x25, 0x8e, 0xe1, 0x83, 0x22, 0xcd, 0x2a, 0xb0, 0x78, 0x99, 0x4b, 0xe6, 0xa0, 0x60, 0xb9, 0xde, 0x6c, + 0xa6, 0x99, 0xea, 0x8b, 0xdc, 0xde, 0x68, 0xbc, 0x4c, 0xff, 0xcd, 0x92, 0x01, 0x8f, 0x2e, 0x9e, 0xfa, 0x01, 0xa4, + 0x49, 0x8a, 0x07, 0x48, 0x82, 0xed, 0xc1, 0x2e, 0x76, 0x18, 0xb6, 0x8a, 0x95, 0x3d, 0x79, 0xba, 0xdc, 0xa1, 0x29, + 0x97, 0xe0, 0x92, 0x13, 0x73, 0x39, 0xf5, 0x7d, 0xc9, 0x7a, 0x43, 0x71, 0xca, 0xa6, 0x09, 0x28, 0x09, 0xb4, 0x5b, + 0xf0, 0x5f, 0xf8, 0xd4, 0xd0, 0x69, 0x01, 0x96, 0xda, 0x6e, 0xc0, 0x7f, 0xa1, 0x5f, 0x6c, 0x77, 0x51, 0x3f, 0x30, + 0x0f, 0xf6, 0x66, 0x71, 0x65, 0x0c, 0x38, 0x49, 0x5c, 0x69, 0x1e, 0xb9, 0x7e, 0x50, 0xf4, 0xe9, 0xb2, 0x76, 0xe0, + 0x4c, 0x71, 0x61, 0x95, 0xda, 0x24, 0xbd, 0xf6, 0x5b, 0x6a, 0xe2, 0x4d, 0x94, 0x54, 0x85, 0xed, 0x90, 0xf6, 0x2f, + 0x29, 0x67, 0xaa, 0xb8, 0x43, 0xf4, 0x64, 0x37, 0x71, 0x15, 0x78, 0x61, 0x55, 0xb1, 0x11, 0x6a, 0x33, 0xb2, 0x9c, + 0xc0, 0xe9, 0x1e, 0xab, 0x0b, 0x3e, 0xb6, 0xab, 0xd9, 0x05, 0x2b, 0xd9, 0x9a, 0x49, 0xf7, 0x79, 0x3b, 0xe6, 0x42, + 0x5e, 0xe9, 0x65, 0xd1, 0x0a, 0x68, 0x0f, 0x02, 0x87, 0x5f, 0x68, 0xba, 0x47, 0xcf, 0x36, 0xdb, 0xd4, 0x66, 0x63, + 0x6b, 0x11, 0x42, 0x06, 0xa2, 0xa1, 0x2f, 0xe4, 0x8c, 0x22, 0x5f, 0xa5, 0xe5, 0x5a, 0x6d, 0xac, 0x32, 0x5e, 0x60, + 0x22, 0xc8, 0x70, 0x16, 0xde, 0xa1, 0xa7, 0xf5, 0x48, 0x53, 0x4c, 0x82, 0x93, 0x2e, 0xfe, 0x02, 0x6c, 0x28, 0x4f, + 0x72, 0x73, 0x40, 0x0e, 0xa0, 0x72, 0x29, 0x4a, 0xa5, 0x0c, 0xfe, 0x45, 0xdd, 0x91, 0x6d, 0xd5, 0x7f, 0xa7, 0x81, + 0x0c, 0xee, 0x40, 0xdf, 0xf6, 0x42, 0x6b, 0x47, 0x3b, 0x57, 0xb6, 0xa6, 0x6d, 0x91, 0xe6, 0x31, 0xb2, 0xd8, 0x00, + 0xf2, 0x89, 0x74, 0x0e, 0x44, 0x5e, 0x13, 0x8d, 0x77, 0xf6, 0x8c, 0x8f, 0xa7, 0xe2, 0x21, 0x79, 0xaf, 0xf2, 0x7d, + 0x73, 0xaf, 0x0f, 0xc6, 0xd8, 0xb7, 0xa0, 0x4c, 0x7c, 0xb0, 0xda, 0x5a, 0x97, 0x58, 0x6f, 0x95, 0x26, 0xd1, 0x0d, + 0x57, 0xd0, 0x71, 0x24, 0x6e, 0x10, 0x83, 0x63, 0xc6, 0x6b, 0xab, 0x2c, 0x7d, 0x85, 0x65, 0xae, 0x63, 0x96, 0x0c, + 0x99, 0xd4, 0x79, 0xa2, 0xe0, 0xc9, 0xcf, 0x13, 0x92, 0x11, 0x51, 0xb3, 0x2d, 0x47, 0x29, 0x37, 0x2d, 0xe0, 0x32, + 0x23, 0x03, 0xf8, 0x26, 0x4d, 0x00, 0xca, 0xe5, 0x4b, 0x90, 0x4a, 0x43, 0x04, 0xd7, 0x6c, 0x2f, 0x19, 0xdd, 0x3a, + 0x5a, 0x07, 0x55, 0x92, 0xb9, 0x83, 0x73, 0x3b, 0x8b, 0x94, 0x7a, 0xf3, 0x11, 0x86, 0x9d, 0x7c, 0x08, 0xeb, 0x04, + 0xbf, 0x0d, 0xa8, 0x49, 0x9f, 0x0a, 0x2f, 0x1a, 0x01, 0x9a, 0xfa, 0x4e, 0x95, 0xf1, 0xa9, 0xf0, 0xb2, 0xd1, 0x96, + 0x65, 0x94, 0x42, 0x75, 0xc1, 0xec, 0xd6, 0x74, 0x21, 0xe6, 0x55, 0x35, 0xd0, 0x06, 0xb9, 0x5d, 0xc7, 0x0c, 0x68, + 0xd4, 0x76, 0xe5, 0x91, 0x05, 0xb8, 0x35, 0x13, 0x81, 0x91, 0xf3, 0xef, 0xf3, 0x97, 0x2a, 0x9c, 0xa7, 0xdf, 0x0f, + 0xbd, 0xfd, 0x36, 0x88, 0x46, 0xdb, 0x4b, 0xb6, 0x0b, 0xa2, 0xd1, 0xee, 0xb2, 0x61, 0xf4, 0xfb, 0x29, 0xfd, 0x7e, + 0xda, 0x80, 0xaa, 0x44, 0x98, 0x88, 0x7b, 0xfd, 0x46, 0x2d, 0x5f, 0xa9, 0xf5, 0x3b, 0xb5, 0x7c, 0xa9, 0x86, 0xb7, + 0xf6, 0x24, 0x12, 0x44, 0x96, 0xc6, 0xe6, 0x5e, 0xb2, 0xa5, 0x5a, 0x2a, 0x1d, 0xa3, 0xca, 0x88, 0x5a, 0x3a, 0x9b, + 0x63, 0xc5, 0x48, 0x3b, 0x07, 0x25, 0x03, 0x32, 0x2d, 0xae, 0x6a, 0x4c, 0x37, 0x2b, 0x5a, 0x62, 0x32, 0xc2, 0xca, + 0xb6, 0xbc, 0xdd, 0xa4, 0x6a, 0x3a, 0x27, 0x37, 0xb7, 0x4a, 0xb9, 0xb9, 0x15, 0x3c, 0xff, 0x86, 0x6e, 0xb9, 0xe4, + 0xda, 0xcb, 0x6c, 0x5a, 0x28, 0xdd, 0x32, 0xae, 0xc1, 0xd6, 0xbe, 0x09, 0x64, 0x99, 0x0f, 0x14, 0x35, 0xb6, 0x17, + 0x8d, 0xf2, 0x0d, 0xb2, 0x15, 0x31, 0xea, 0x94, 0x05, 0xe3, 0x6f, 0x77, 0xf4, 0x40, 0x06, 0xaa, 0xaa, 0xda, 0x38, + 0xb8, 0xb3, 0xd2, 0x1f, 0x96, 0x17, 0x4f, 0x59, 0x62, 0xa5, 0x93, 0x0b, 0x55, 0xe8, 0x0f, 0x42, 0x74, 0x53, 0xd9, + 0x70, 0x70, 0xa8, 0x8b, 0xad, 0x0c, 0x08, 0x3d, 0x4c, 0xef, 0x6d, 0xac, 0x64, 0xb9, 0x6b, 0xca, 0x17, 0x33, 0x9e, + 0x70, 0x1c, 0x7d, 0xb9, 0x5a, 0x84, 0xb5, 0x5a, 0x64, 0x27, 0xc0, 0x43, 0x6b, 0xb5, 0x14, 0x72, 0xb5, 0x08, 0x67, + 0xa6, 0x0b, 0x35, 0xd3, 0x33, 0x50, 0x40, 0x0a, 0x35, 0xcb, 0x13, 0x80, 0x85, 0x17, 0x66, 0x86, 0x0b, 0x33, 0xc3, + 0x71, 0x48, 0x8d, 0xff, 0x83, 0xde, 0xeb, 0xdc, 0x73, 0xcb, 0xdd, 0xe8, 0x34, 0xe2, 0xdb, 0xd1, 0x06, 0x73, 0x7c, + 0x10, 0x4e, 0xaa, 0x7e, 0x3f, 0x2d, 0x11, 0xab, 0xc7, 0xc0, 0x08, 0xca, 0xa1, 0x72, 0xb4, 0x5f, 0x16, 0x96, 0x64, + 0x49, 0x58, 0x92, 0x7b, 0x35, 0xce, 0xa5, 0xe5, 0xe2, 0x55, 0x12, 0x88, 0x44, 0xc6, 0x4b, 0x69, 0x82, 0x4f, 0x78, + 0x39, 0x32, 0x52, 0xf3, 0xe4, 0x26, 0xf5, 0x72, 0x96, 0xb1, 0x31, 0x62, 0x18, 0x85, 0x7e, 0x53, 0xf5, 0xfb, 0x79, + 0xe9, 0xe5, 0xd4, 0xce, 0x4f, 0xe0, 0x7a, 0x79, 0xea, 0x2c, 0x72, 0x84, 0xbc, 0x1a, 0x49, 0x85, 0xe5, 0xb5, 0x52, + 0x4f, 0x5f, 0x82, 0x0f, 0xea, 0xee, 0x8d, 0x02, 0x20, 0x2e, 0x72, 0xe9, 0x5f, 0x5b, 0xc2, 0xa5, 0x29, 0x37, 0x30, + 0xe8, 0x21, 0xcf, 0x49, 0x08, 0x95, 0x20, 0x24, 0x85, 0x75, 0xe3, 0xbe, 0x78, 0x3a, 0x71, 0xdd, 0x59, 0x6c, 0x60, + 0x82, 0xc3, 0x01, 0x10, 0x0f, 0xa6, 0x5e, 0x34, 0xe0, 0xa5, 0x9a, 0x33, 0x1f, 0xbd, 0x9c, 0x60, 0x32, 0x40, 0x55, + 0x31, 0x70, 0xca, 0x7a, 0x22, 0x1f, 0x19, 0x37, 0x33, 0xdf, 0x0f, 0xf0, 0xdd, 0xba, 0x90, 0xe8, 0x0f, 0x0a, 0xa0, + 0x20, 0x53, 0x00, 0x05, 0x89, 0x01, 0x28, 0x88, 0x0d, 0x40, 0xc1, 0xa6, 0xe1, 0x4b, 0xa9, 0xc3, 0x8d, 0x80, 0x2e, + 0xc2, 0x87, 0x9e, 0x85, 0x8d, 0x15, 0x8a, 0x67, 0x63, 0x36, 0x66, 0x85, 0xda, 0x79, 0x72, 0x39, 0x15, 0x3b, 0x8b, + 0xb1, 0xae, 0x22, 0xeb, 0xc4, 0x0b, 0x09, 0x45, 0xce, 0xb9, 0x91, 0xa8, 0xbb, 0x9f, 0x7b, 0x2f, 0xc9, 0x58, 0x32, + 0x6f, 0x68, 0xd4, 0x60, 0x5e, 0x76, 0x1d, 0xc0, 0xb4, 0xe4, 0xdb, 0x82, 0x06, 0xd3, 0xa9, 0xf2, 0x88, 0x34, 0x09, + 0x6a, 0xe7, 0x32, 0x29, 0x72, 0x42, 0x98, 0x04, 0xbd, 0x12, 0xfc, 0x46, 0xa2, 0xfc, 0x7f, 0xd3, 0x09, 0x1e, 0xe0, + 0x98, 0x68, 0x95, 0x7c, 0x05, 0x03, 0x66, 0xce, 0x9f, 0x4b, 0xa7, 0x6c, 0x84, 0x62, 0x2c, 0xd3, 0x78, 0xf4, 0x95, + 0x0d, 0x11, 0xda, 0xea, 0x39, 0x9a, 0x98, 0xa0, 0x0e, 0xf0, 0x88, 0xfe, 0x1a, 0x7d, 0x35, 0x14, 0x2a, 0x5d, 0x8d, + 0xd4, 0x35, 0x3b, 0xe7, 0xfc, 0x5d, 0x6d, 0x38, 0x91, 0x31, 0x6d, 0x0a, 0x7c, 0x03, 0x02, 0xf9, 0x06, 0x02, 0xc0, + 0x55, 0xd3, 0x99, 0xbd, 0x02, 0x38, 0x07, 0x02, 0x78, 0x9c, 0x77, 0x3c, 0x7e, 0xa0, 0xbf, 0x8a, 0xe3, 0xde, 0x69, + 0x1a, 0xb6, 0xff, 0x0a, 0x8c, 0xc5, 0x50, 0x8e, 0xe7, 0x3b, 0x05, 0xc9, 0x1e, 0xa5, 0x2c, 0x5d, 0x35, 0x91, 0x1d, + 0x8a, 0xf5, 0x69, 0x4e, 0x19, 0x4b, 0xdb, 0x72, 0x8c, 0x36, 0x5e, 0x3f, 0xc4, 0xe3, 0x9b, 0x1b, 0x3d, 0xf9, 0xa0, + 0x07, 0xb7, 0xb7, 0x37, 0xaf, 0x7a, 0xcc, 0xe6, 0x5b, 0xb1, 0x78, 0x56, 0xc4, 0x89, 0xd3, 0x3a, 0xe4, 0x00, 0x07, + 0x39, 0x09, 0x81, 0x74, 0x8c, 0x4b, 0x2d, 0x3a, 0xa8, 0x59, 0xce, 0x6b, 0x60, 0x99, 0x45, 0x90, 0x0d, 0x10, 0xd5, + 0x34, 0x15, 0xab, 0xe1, 0x41, 0xa9, 0x9a, 0x53, 0x2a, 0xb5, 0x6f, 0x38, 0x5b, 0x9d, 0x3e, 0xb1, 0x6a, 0x13, 0x6e, + 0xfd, 0xb9, 0xf6, 0x04, 0x6d, 0x25, 0x0d, 0x84, 0x7a, 0xbe, 0x4a, 0x97, 0x14, 0xc5, 0xe3, 0xcc, 0xc4, 0x53, 0x15, + 0x18, 0xfb, 0xd6, 0x8e, 0xa0, 0x20, 0x69, 0xba, 0x0e, 0x38, 0x4c, 0xa3, 0x13, 0x16, 0xff, 0x94, 0x3e, 0x94, 0x17, + 0xb5, 0x02, 0x27, 0xf9, 0x87, 0x70, 0x11, 0x49, 0x2c, 0xf4, 0x4b, 0x02, 0x20, 0x91, 0xc1, 0xab, 0x51, 0xb1, 0x16, + 0x2a, 0x40, 0x4e, 0x51, 0x7a, 0xab, 0xf8, 0xb8, 0x14, 0xa5, 0x4a, 0xa9, 0xcc, 0x8d, 0x4a, 0x01, 0x61, 0x6d, 0xe0, + 0xe8, 0x02, 0xbe, 0x80, 0xa0, 0xb5, 0xdc, 0xad, 0x6d, 0xcf, 0x1b, 0x99, 0xcf, 0x4c, 0xf3, 0xb4, 0xfa, 0xa0, 0xfe, + 0x7e, 0xbf, 0xc0, 0x30, 0x1b, 0x4f, 0x7f, 0xdf, 0x66, 0x08, 0x37, 0x7f, 0xc3, 0x10, 0x2d, 0x01, 0x1c, 0xb3, 0xb4, + 0x87, 0x42, 0x16, 0x4c, 0xb0, 0x86, 0xaa, 0x3c, 0xe5, 0xb3, 0x97, 0x4f, 0x6e, 0x00, 0x4d, 0x0d, 0x5d, 0xdc, 0xe8, + 0x54, 0x57, 0x25, 0x08, 0xdf, 0x77, 0x85, 0x7a, 0x6c, 0x0e, 0x38, 0x35, 0x00, 0x14, 0x8b, 0xbc, 0xd6, 0x63, 0xfb, + 0x07, 0xbd, 0x51, 0x6f, 0x80, 0x78, 0x3a, 0xe7, 0x85, 0x7f, 0x44, 0xbf, 0x4e, 0xfd, 0x19, 0x17, 0x82, 0xa8, 0xd7, + 0x93, 0xf0, 0x4e, 0x9c, 0xa5, 0x71, 0x70, 0xd6, 0x1b, 0x98, 0x8b, 0x40, 0x71, 0x96, 0xe6, 0x67, 0x20, 0x96, 0x23, + 0x3c, 0x62, 0xcd, 0x56, 0x80, 0x18, 0x58, 0xea, 0x90, 0x64, 0xd5, 0xb1, 0xfd, 0xfe, 0xeb, 0x91, 0xe1, 0x4d, 0x47, + 0x44, 0x18, 0xfd, 0xbb, 0x02, 0x01, 0x0a, 0x96, 0x99, 0xed, 0xcc, 0xa4, 0xab, 0x3d, 0xab, 0xe7, 0xcd, 0x26, 0xef, + 0xea, 0x1d, 0xab, 0x69, 0x39, 0x35, 0xad, 0xb2, 0x9a, 0x36, 0xc9, 0xa1, 0x66, 0xa2, 0xdf, 0xd7, 0xf8, 0xa8, 0xf9, + 0x1c, 0x70, 0xd9, 0x30, 0xf9, 0xf5, 0xac, 0x9a, 0xf7, 0xfb, 0x9e, 0x7c, 0x04, 0xbf, 0x90, 0xb8, 0xcc, 0xad, 0xb1, + 0x7c, 0xfa, 0x86, 0xf8, 0xcc, 0x0c, 0xe2, 0xd1, 0xea, 0x08, 0xea, 0xeb, 0x5a, 0x78, 0x1d, 0x73, 0x85, 0xcd, 0xc4, + 0xf4, 0x35, 0x0c, 0x9e, 0x27, 0x7c, 0xf0, 0x96, 0xa3, 0xbf, 0x91, 0xce, 0x4c, 0xc1, 0x42, 0xce, 0xfd, 0xc9, 0x6b, + 0x84, 0x4e, 0x46, 0xa4, 0x07, 0x9d, 0x4e, 0xd0, 0x90, 0xfd, 0xfe, 0x2d, 0x74, 0x66, 0x2b, 0x95, 0xb2, 0x55, 0x51, + 0x99, 0xae, 0xeb, 0xa2, 0xac, 0xa0, 0x63, 0xe9, 0xe7, 0xad, 0x90, 0x99, 0xf5, 0x33, 0x0b, 0xf9, 0xe9, 0x56, 0x62, + 0x4d, 0xd9, 0xf6, 0x89, 0xda, 0x20, 0xcd, 0xba, 0x50, 0x5d, 0xe0, 0xdc, 0x59, 0x7b, 0xbd, 0x11, 0xea, 0x9f, 0xf3, + 0xd1, 0xba, 0x58, 0x7b, 0xe0, 0x12, 0x33, 0x4b, 0xe7, 0x8a, 0x43, 0x23, 0xf7, 0x47, 0x5f, 0x8a, 0x34, 0xa7, 0x3c, + 0x40, 0x83, 0x28, 0xe6, 0xf6, 0x5b, 0x20, 0xfd, 0xd0, 0x5b, 0x20, 0xfb, 0xe8, 0x9c, 0x93, 0xd7, 0x00, 0x4e, 0x87, + 0x88, 0xb8, 0x15, 0x09, 0x3a, 0x56, 0x0d, 0x6f, 0x2c, 0xdc, 0xd3, 0x5e, 0x1a, 0xf7, 0xd2, 0xfc, 0x2c, 0xed, 0xf7, + 0x0d, 0x80, 0x66, 0x8a, 0xc8, 0xf0, 0x38, 0x23, 0x77, 0x49, 0x0b, 0xc1, 0x94, 0xf6, 0x5f, 0x8d, 0x21, 0x41, 0x20, + 0xe0, 0xff, 0x10, 0xde, 0x23, 0x40, 0xdb, 0xa4, 0x0d, 0xb8, 0xea, 0x31, 0x1d, 0x98, 0x2d, 0x39, 0x5b, 0x75, 0x36, + 0x00, 0xe5, 0x54, 0x69, 0x3d, 0xe5, 0x71, 0x4d, 0x11, 0x91, 0x2a, 0x0b, 0xf5, 0x1b, 0xeb, 0xc9, 0x64, 0x95, 0x8b, + 0x0c, 0x39, 0x2a, 0xd3, 0xbb, 0x9a, 0x11, 0x62, 0x97, 0x7e, 0x7e, 0x03, 0x4b, 0x36, 0xfe, 0x88, 0x93, 0xb7, 0x04, + 0x48, 0xdb, 0x59, 0xbb, 0xaa, 0x76, 0x39, 0x6e, 0xed, 0xe6, 0x80, 0xe4, 0xeb, 0x8d, 0x46, 0x23, 0xed, 0x27, 0x27, + 0x60, 0xa8, 0x7a, 0x6a, 0x29, 0xf4, 0x58, 0xad, 0xb0, 0x75, 0x3b, 0x72, 0x99, 0x25, 0x83, 0xf9, 0xc2, 0x38, 0x7e, + 0x69, 0x3e, 0xfa, 0x70, 0xa9, 0xac, 0x5d, 0x47, 0x7c, 0xfd, 0x47, 0x59, 0xad, 0xef, 0x79, 0x57, 0x35, 0x01, 0x5f, + 0x54, 0xb1, 0xa5, 0xdf, 0xf1, 0x9e, 0xec, 0x5d, 0x7c, 0xed, 0x1a, 0xbb, 0xe4, 0x7b, 0xde, 0xa2, 0xce, 0xf3, 0x95, + 0xaf, 0x1b, 0x55, 0xba, 0xbd, 0x97, 0xdc, 0xe0, 0xda, 0x3b, 0x6a, 0x1a, 0xeb, 0x99, 0x1f, 0x3d, 0x2c, 0x42, 0xb6, + 0xf3, 0xa1, 0xf7, 0x55, 0xf3, 0xf4, 0xac, 0xa1, 0x37, 0xa9, 0xa1, 0x0f, 0xbd, 0x28, 0xdb, 0xa7, 0xa6, 0x11, 0xbd, + 0x86, 0x0d, 0x7d, 0xe8, 0x2d, 0x39, 0x39, 0x24, 0x18, 0x9c, 0x1a, 0xf3, 0x87, 0x87, 0xd3, 0x19, 0xfe, 0x8e, 0x01, + 0x95, 0x98, 0xcc, 0xa7, 0xc7, 0xb4, 0xa3, 0x00, 0x33, 0xaa, 0xf4, 0xf6, 0xe9, 0x81, 0xed, 0x78, 0x59, 0x0f, 0x2d, + 0xbd, 0x7b, 0x72, 0x74, 0x3b, 0x5e, 0x55, 0xe3, 0x4b, 0x39, 0xe4, 0x79, 0x3e, 0x1b, 0x8d, 0x46, 0xc2, 0xa0, 0x73, + 0x57, 0x7a, 0x03, 0x2b, 0x90, 0xc1, 0x45, 0xf5, 0xa1, 0x5c, 0x7a, 0x3b, 0x75, 0x68, 0x57, 0xfe, 0x24, 0x3f, 0x1c, + 0x8a, 0x91, 0x39, 0xc6, 0x01, 0xe7, 0xa4, 0x50, 0x72, 0x94, 0xac, 0x25, 0x88, 0x4e, 0x69, 0x3c, 0x95, 0xf5, 0xda, + 0x8a, 0xc8, 0xab, 0x11, 0xf2, 0x21, 0xf8, 0xc9, 0x03, 0xb5, 0xf8, 0x33, 0x2d, 0x88, 0x3d, 0xf4, 0xa9, 0x52, 0x3a, + 0xc4, 0xab, 0x02, 0x42, 0x84, 0x01, 0x6f, 0xa0, 0x1d, 0x94, 0xe0, 0xb0, 0xc3, 0x7d, 0x40, 0x84, 0xe8, 0x37, 0x5e, + 0x3e, 0x93, 0xe1, 0xca, 0xbd, 0x41, 0x35, 0x67, 0x80, 0x58, 0xe9, 0x33, 0x70, 0xc1, 0x04, 0xd4, 0x53, 0x7c, 0x8a, + 0xfe, 0xf5, 0xe6, 0x61, 0xd3, 0xf5, 0x69, 0x09, 0xa8, 0x88, 0x9e, 0xfd, 0x7c, 0x0c, 0xe0, 0x9d, 0x5d, 0x9b, 0x91, + 0xf6, 0xf2, 0x37, 0xc0, 0xb0, 0x52, 0x92, 0x68, 0xe7, 0x94, 0x08, 0xdc, 0xf9, 0xc8, 0x96, 0x7e, 0x94, 0x02, 0x31, + 0x77, 0x3c, 0x49, 0x64, 0x0f, 0x36, 0x72, 0x02, 0xb7, 0x18, 0xf0, 0xe8, 0x00, 0x54, 0xae, 0x14, 0xe4, 0x5e, 0x73, + 0x24, 0x77, 0xfc, 0xd0, 0xfb, 0x61, 0x50, 0x0f, 0x7e, 0xe8, 0x9d, 0xa5, 0x24, 0x77, 0x84, 0x67, 0x6a, 0x4a, 0x88, + 0xf8, 0xec, 0x87, 0x41, 0x3e, 0xc0, 0xb3, 0x44, 0x8b, 0xb4, 0xc8, 0xad, 0x26, 0x6a, 0xdc, 0x84, 0x77, 0x89, 0xa4, + 0x21, 0xda, 0x76, 0x1e, 0x11, 0x37, 0x00, 0x92, 0xc5, 0x67, 0xf3, 0x86, 0xa2, 0xde, 0x4d, 0xf8, 0x16, 0xdd, 0x65, + 0xb1, 0xdf, 0xdf, 0xe4, 0x69, 0xdd, 0xd3, 0xa1, 0x32, 0xf8, 0x82, 0x54, 0x13, 0xe0, 0xd1, 0xfe, 0xca, 0x1c, 0xaf, + 0x5e, 0x6d, 0x8e, 0x94, 0x1b, 0x55, 0xa2, 0x7e, 0x8b, 0xd5, 0xac, 0x87, 0x88, 0xdc, 0x59, 0x66, 0xec, 0xed, 0x05, + 0xaf, 0xe4, 0xac, 0x8a, 0xed, 0x72, 0x7c, 0x45, 0x58, 0x5b, 0x49, 0x80, 0x8e, 0xd6, 0x63, 0x6d, 0x8a, 0x91, 0x5f, + 0x29, 0x24, 0xe0, 0xa2, 0x63, 0x6b, 0xa1, 0xd8, 0x78, 0x01, 0xfa, 0x92, 0x9d, 0x69, 0x80, 0xf5, 0x46, 0xaf, 0x22, + 0x6e, 0xcb, 0x07, 0x2a, 0xbc, 0xc9, 0x4d, 0x95, 0x59, 0xd9, 0xdc, 0xb4, 0xfb, 0xa9, 0xe2, 0x15, 0xe2, 0xd6, 0x1b, + 0xb5, 0x47, 0x01, 0x6a, 0x0f, 0x2d, 0x94, 0x01, 0xba, 0x34, 0xcd, 0x00, 0x90, 0x01, 0x40, 0xa6, 0x8a, 0xf8, 0x4c, + 0x80, 0x4a, 0x5b, 0xdd, 0x28, 0x70, 0x22, 0xbd, 0x01, 0xc6, 0x05, 0x56, 0xfa, 0xc8, 0x46, 0x06, 0x8b, 0x2d, 0x02, + 0xdc, 0x72, 0xa4, 0x0f, 0xd3, 0x70, 0xb2, 0x8d, 0xe6, 0x30, 0x49, 0xf3, 0xbb, 0x30, 0x4b, 0x25, 0xb4, 0xc4, 0x8f, + 0xb2, 0xc6, 0x88, 0x05, 0xa4, 0xef, 0xd3, 0x37, 0x45, 0x16, 0x13, 0x24, 0x9c, 0xf5, 0xd4, 0x01, 0x54, 0x93, 0x73, + 0xad, 0x69, 0xf5, 0xac, 0x36, 0x79, 0xc8, 0x02, 0x9d, 0x3d, 0x18, 0x93, 0x5a, 0x6e, 0xe8, 0x91, 0xfd, 0x95, 0xe3, + 0x19, 0xe1, 0xbb, 0x9e, 0xe1, 0xd4, 0x7f, 0xd7, 0x35, 0x90, 0x32, 0x25, 0x80, 0x20, 0x83, 0xa3, 0x09, 0xa1, 0x3c, + 0x1d, 0x93, 0xa9, 0xcd, 0x8f, 0x40, 0x38, 0x22, 0x78, 0x05, 0xcf, 0x0d, 0xad, 0x5b, 0x6e, 0xec, 0x2c, 0xf2, 0x34, + 0x01, 0x64, 0xf1, 0x82, 0xdf, 0x01, 0x32, 0xa7, 0x5e, 0x15, 0xb2, 0x67, 0xcf, 0xc5, 0x74, 0x36, 0x0f, 0xfe, 0x4c, + 0x68, 0xff, 0x62, 0xc2, 0x6f, 0xba, 0xab, 0xe4, 0xca, 0xd4, 0xba, 0x37, 0xd1, 0x63, 0x2e, 0x77, 0xfa, 0xb4, 0xe2, + 0x18, 0xf1, 0x0c, 0x56, 0x01, 0x39, 0x67, 0x43, 0xfe, 0xec, 0x1c, 0xb0, 0x5b, 0x56, 0xc2, 0x8b, 0xf8, 0xb3, 0x50, + 0x56, 0x0b, 0x90, 0x1f, 0x39, 0x8f, 0xcc, 0x2f, 0x5f, 0x6d, 0x87, 0x72, 0x4e, 0x51, 0x44, 0xcb, 0xa9, 0x69, 0x49, + 0x21, 0x3b, 0xf4, 0x14, 0x4c, 0xa6, 0xb6, 0xfc, 0x7d, 0x97, 0xb8, 0x24, 0xdf, 0x4c, 0x22, 0xfb, 0x3a, 0xc0, 0x9a, + 0xb5, 0xea, 0x1e, 0xba, 0x21, 0x18, 0x20, 0x32, 0x42, 0x99, 0xcd, 0xf5, 0xdd, 0x7a, 0x30, 0x50, 0x30, 0xbf, 0x82, + 0x6e, 0x5a, 0x74, 0x8a, 0x03, 0xe4, 0xac, 0x75, 0x8d, 0x4a, 0x55, 0x71, 0xe8, 0x30, 0xef, 0x96, 0x55, 0xd9, 0x65, + 0xe9, 0x85, 0x20, 0x35, 0xea, 0x2a, 0x58, 0xa4, 0x54, 0x44, 0xf1, 0x9e, 0xfc, 0x1a, 0x98, 0x78, 0x66, 0xe5, 0x28, + 0x8d, 0xe7, 0x80, 0x18, 0xa4, 0x80, 0x38, 0xe5, 0x57, 0x80, 0x26, 0xba, 0x88, 0xc2, 0xec, 0x4d, 0x5c, 0x05, 0xb5, + 0xd5, 0xf4, 0x7b, 0x07, 0x32, 0xf6, 0xbc, 0xee, 0xf7, 0x53, 0x62, 0xf4, 0xc3, 0x28, 0x0c, 0xfc, 0x7b, 0x3c, 0xdd, + 0x37, 0x41, 0x6a, 0x5e, 0xf9, 0x13, 0x5e, 0xd1, 0xe5, 0xd6, 0xa6, 0x5c, 0xd1, 0xb8, 0xf0, 0xd7, 0x08, 0x0e, 0x9f, + 0x3a, 0x8a, 0xed, 0x36, 0x55, 0x4e, 0x6d, 0x0c, 0x06, 0x21, 0xdc, 0xb7, 0x32, 0x7e, 0x9f, 0x78, 0xf9, 0x2c, 0x9a, + 0x83, 0xa2, 0x34, 0xd3, 0x7c, 0x21, 0x85, 0x74, 0x13, 0xa0, 0x8f, 0x06, 0xa1, 0x56, 0x57, 0x5e, 0x27, 0x5e, 0xaa, + 0xa6, 0xb5, 0x79, 0x8a, 0x35, 0x0a, 0xc4, 0x2c, 0x9a, 0x37, 0x2c, 0xa3, 0x43, 0x52, 0x5d, 0x2e, 0x4d, 0x33, 0xae, + 0xad, 0x66, 0xa8, 0x56, 0x1c, 0x35, 0x41, 0x8d, 0xd2, 0x35, 0x5c, 0x00, 0x7f, 0xa6, 0x3b, 0x8e, 0x6a, 0x14, 0x29, + 0x1a, 0xf0, 0x09, 0x62, 0xc4, 0x9a, 0xcd, 0x13, 0xd6, 0x9a, 0xba, 0x66, 0xf4, 0xfb, 0x32, 0x64, 0xc8, 0x24, 0x21, + 0x4f, 0x1f, 0x2e, 0xd7, 0x8f, 0xa4, 0xba, 0x00, 0x7e, 0xe5, 0x8a, 0xcd, 0x7a, 0xbd, 0x39, 0xc0, 0xf5, 0xc2, 0xfa, + 0x85, 0x8d, 0x2b, 0x38, 0xbf, 0x24, 0xf8, 0x5d, 0xf5, 0x23, 0xcc, 0x32, 0xa8, 0x02, 0x32, 0xfe, 0x58, 0x28, 0xea, + 0x79, 0x8b, 0xd9, 0x7d, 0xa4, 0x2e, 0x28, 0xb3, 0x74, 0x6e, 0x71, 0x82, 0x80, 0xf3, 0xb0, 0x7a, 0x02, 0xc9, 0xbe, + 0x7c, 0xec, 0xd3, 0x8c, 0x02, 0xd5, 0x11, 0xe0, 0xb3, 0x59, 0x3f, 0x84, 0xfd, 0x03, 0x22, 0x0b, 0xf5, 0x37, 0xdf, + 0xca, 0x59, 0x43, 0xf2, 0x40, 0xaa, 0xb9, 0x8f, 0xe1, 0xd4, 0xb8, 0xc1, 0x97, 0x6e, 0x7a, 0x53, 0xc1, 0x6b, 0x42, + 0xe6, 0xbe, 0x41, 0x6b, 0xdf, 0x0d, 0x1c, 0x21, 0x82, 0xcb, 0x28, 0xc5, 0x69, 0x6f, 0xd7, 0x0b, 0x90, 0xdb, 0xdc, + 0x82, 0xbc, 0x7e, 0xe9, 0xe2, 0x17, 0xa7, 0x48, 0xcf, 0xa2, 0x0b, 0x0c, 0x74, 0x41, 0xe6, 0x8d, 0x7f, 0x56, 0xb0, + 0x72, 0x01, 0xbd, 0x97, 0x8a, 0x95, 0x9c, 0x6c, 0x3b, 0xf5, 0x47, 0xa9, 0xec, 0xb7, 0x67, 0xd6, 0x04, 0x7e, 0x9f, + 0xd8, 0x2f, 0x91, 0xc9, 0x37, 0x3d, 0x36, 0xf9, 0xca, 0xb0, 0xe8, 0xd4, 0x32, 0x38, 0xa7, 0x47, 0x06, 0xe7, 0xde, + 0xce, 0xaa, 0x4d, 0x08, 0x43, 0x41, 0x12, 0x68, 0xba, 0xf0, 0xb0, 0x6e, 0xfa, 0xf3, 0x93, 0x16, 0xd5, 0x56, 0xed, + 0x5b, 0xf7, 0xe3, 0x10, 0xbb, 0xf8, 0x7d, 0xe2, 0x19, 0x22, 0x52, 0x1f, 0xe8, 0xc0, 0x64, 0xf0, 0xc4, 0x65, 0xbf, + 0x0f, 0x85, 0xcd, 0xc6, 0xf3, 0x51, 0x5d, 0xfc, 0x52, 0xdc, 0x03, 0xaa, 0x43, 0x05, 0x76, 0x39, 0x94, 0xa1, 0x8c, + 0xd8, 0xd4, 0x96, 0x7b, 0xfe, 0x78, 0x19, 0xe6, 0x20, 0xef, 0x68, 0x78, 0x9c, 0x33, 0x10, 0xc3, 0xe0, 0xeb, 0x3f, + 0x3c, 0xda, 0xa7, 0xcd, 0x0f, 0x67, 0xf0, 0xdd, 0xd1, 0xd9, 0x07, 0xa4, 0xbb, 0x39, 0x5b, 0x97, 0xc5, 0x5d, 0x1a, + 0x8b, 0xb3, 0x1f, 0x20, 0xf5, 0x87, 0xb3, 0xa2, 0x3c, 0xfb, 0x41, 0x55, 0xe6, 0x87, 0x33, 0x5a, 0x70, 0xa3, 0x3f, + 0xac, 0x89, 0xf7, 0x7b, 0xa5, 0x19, 0xd0, 0x16, 0x10, 0x99, 0xa5, 0xd5, 0x8f, 0xa0, 0x44, 0x54, 0xfc, 0xa8, 0x32, + 0xaa, 0xd5, 0xda, 0x71, 0x3e, 0x24, 0x1a, 0x29, 0x9b, 0x26, 0x24, 0xae, 0x96, 0xb0, 0x0e, 0xf5, 0xec, 0xb4, 0xf9, + 0x76, 0x9c, 0x07, 0xea, 0x80, 0xc8, 0xf9, 0xb3, 0x7c, 0xb4, 0xa5, 0xaf, 0xc1, 0xb7, 0x0e, 0x87, 0x7c, 0xb4, 0x33, + 0x3f, 0x7d, 0xb2, 0x56, 0xca, 0xb8, 0x23, 0x45, 0x2e, 0x84, 0x9c, 0x71, 0xdb, 0x1e, 0x03, 0x0e, 0x00, 0xff, 0x70, + 0xa0, 0xdf, 0x3b, 0xf9, 0x5b, 0xed, 0x96, 0x56, 0x3d, 0x1f, 0xb5, 0xb8, 0x33, 0xde, 0xd4, 0x86, 0xa8, 0x6d, 0x2f, + 0xb1, 0xa5, 0xf7, 0x4d, 0x83, 0x9a, 0x22, 0xfa, 0x09, 0xab, 0x89, 0x55, 0x1c, 0x16, 0xa4, 0x84, 0x24, 0x86, 0x63, + 0xb4, 0x43, 0x8f, 0xd3, 0xc5, 0xd2, 0x93, 0xfb, 0x0e, 0x2f, 0xb7, 0xbe, 0x0f, 0x48, 0x5a, 0x85, 0xf3, 0x0f, 0x5e, + 0x68, 0xe0, 0xd1, 0x8b, 0xbc, 0x2a, 0x32, 0x31, 0x12, 0x34, 0xca, 0x6f, 0x48, 0x9c, 0x39, 0xc3, 0x5a, 0x9c, 0x29, + 0xb0, 0xb0, 0x90, 0xd0, 0xbd, 0x8b, 0x92, 0xd2, 0x83, 0xb3, 0x47, 0xfb, 0xb2, 0xf9, 0x83, 0xe0, 0x21, 0x46, 0x37, + 0xc0, 0x88, 0xb3, 0x6b, 0x97, 0x77, 0x1f, 0x96, 0xb9, 0xf7, 0xc7, 0x9b, 0x65, 0x5e, 0x40, 0x88, 0xe6, 0x99, 0x54, + 0xac, 0x96, 0x67, 0xc0, 0x98, 0x27, 0xe2, 0xb3, 0xb0, 0x92, 0xd3, 0xa0, 0xea, 0x28, 0x56, 0x6f, 0xe3, 0xb9, 0x07, + 0x14, 0xdf, 0x1f, 0x12, 0xe0, 0x72, 0xf7, 0xd9, 0x6b, 0xe5, 0x9a, 0x4a, 0x7a, 0xe4, 0x39, 0x44, 0x4b, 0xbe, 0x4c, + 0x80, 0xe2, 0x19, 0xe2, 0x24, 0x85, 0xd5, 0x73, 0x13, 0xa4, 0x22, 0x5f, 0x9f, 0x50, 0x7c, 0xd1, 0x3c, 0x8a, 0x1a, + 0x16, 0xb2, 0x04, 0x8e, 0x87, 0x64, 0x96, 0xcd, 0x91, 0xa5, 0x3c, 0x6d, 0x4f, 0x91, 0x8e, 0x4e, 0x2c, 0xf1, 0xdb, + 0x9a, 0x5f, 0x2f, 0x52, 0x11, 0x98, 0xb4, 0xb3, 0x95, 0xb9, 0x17, 0xc2, 0x50, 0x25, 0xdc, 0x7b, 0x53, 0xcf, 0x42, + 0xb9, 0x29, 0x5a, 0x15, 0xb3, 0x87, 0x29, 0x31, 0xc3, 0x14, 0xeb, 0x2f, 0x6c, 0xf8, 0xdb, 0xc4, 0x8b, 0xc1, 0x70, + 0xbd, 0xe0, 0xe5, 0x6c, 0x63, 0x16, 0xc2, 0xe1, 0xb0, 0x99, 0x14, 0xb3, 0x05, 0x84, 0xb9, 0x2e, 0xe6, 0x87, 0x43, + 0x57, 0xcb, 0xd6, 0xc2, 0x83, 0x87, 0xaa, 0x85, 0x9b, 0x86, 0xe5, 0xf0, 0x33, 0x99, 0xc5, 0xd8, 0xbe, 0xc6, 0x67, + 0xf6, 0xe7, 0x8b, 0xee, 0x59, 0x82, 0xe4, 0x1b, 0x6b, 0xa0, 0x1d, 0x9b, 0xb5, 0x3b, 0x5c, 0x8d, 0x80, 0xa4, 0x74, + 0x37, 0xfa, 0xbb, 0xb2, 0x93, 0xa7, 0x04, 0xb9, 0xa3, 0x15, 0xd8, 0xef, 0xbe, 0xf1, 0x27, 0x5a, 0xec, 0x41, 0xbb, + 0x8d, 0x2d, 0x21, 0xaa, 0x69, 0xcf, 0xe5, 0x4a, 0xb1, 0x34, 0x6f, 0xa5, 0x8d, 0x9e, 0x0f, 0xeb, 0x73, 0xdf, 0xc8, + 0x81, 0x82, 0x31, 0xe2, 0xa9, 0x75, 0x10, 0xcd, 0xe6, 0x40, 0x83, 0x81, 0xe6, 0x11, 0x9e, 0x5a, 0xe8, 0xa0, 0xcc, + 0xda, 0xb0, 0x9f, 0x27, 0x27, 0xcb, 0xe3, 0xf0, 0x2d, 0xfc, 0xcb, 0x67, 0xd8, 0x24, 0xa6, 0xd8, 0x1e, 0xff, 0xaa, + 0x14, 0x15, 0x1e, 0xdb, 0x11, 0xd7, 0xda, 0xb5, 0xa8, 0x0d, 0x95, 0xc3, 0xbf, 0x84, 0x7d, 0x84, 0xfd, 0x85, 0x26, + 0x08, 0x83, 0x5d, 0x7f, 0x26, 0x10, 0x22, 0x16, 0xe2, 0x05, 0xff, 0xaa, 0x24, 0x15, 0x9d, 0xf0, 0xd9, 0xae, 0x04, + 0xde, 0x3a, 0x0c, 0xe8, 0x13, 0xf2, 0x33, 0x91, 0x30, 0x34, 0x13, 0x7a, 0x47, 0xff, 0x9d, 0xd8, 0xc9, 0x26, 0xb9, + 0x15, 0xf2, 0x81, 0xa4, 0x92, 0x60, 0x82, 0x95, 0x17, 0xca, 0x1f, 0xdd, 0x0b, 0xa5, 0xd6, 0x5a, 0xd0, 0xfa, 0xe5, + 0xcf, 0x13, 0xcf, 0xe0, 0xef, 0x81, 0x8c, 0x41, 0xb7, 0x11, 0xd5, 0x24, 0xc7, 0xf4, 0x51, 0x3a, 0xcf, 0x40, 0x05, + 0x74, 0xb6, 0xce, 0xc2, 0x7a, 0x51, 0x94, 0xab, 0x56, 0xa4, 0xa8, 0x2c, 0x7d, 0xa4, 0x1e, 0x63, 0x5e, 0x98, 0x27, + 0x27, 0xf2, 0xc1, 0x23, 0x00, 0xc6, 0xa3, 0x3c, 0xad, 0x3a, 0x4a, 0xeb, 0x07, 0x96, 0x01, 0x23, 0x70, 0xa2, 0x0c, + 0x78, 0x84, 0x65, 0x60, 0x9e, 0x76, 0x19, 0x6a, 0x10, 0x6b, 0x54, 0x5d, 0xa9, 0x0d, 0xe6, 0x44, 0x51, 0xf2, 0x29, + 0x96, 0x56, 0x18, 0x43, 0x53, 0x57, 0x1e, 0x59, 0x2f, 0x39, 0x61, 0x4f, 0x76, 0x03, 0xe9, 0x16, 0x36, 0x0a, 0x67, + 0xd0, 0xb5, 0x2c, 0x51, 0x2e, 0xba, 0x65, 0x44, 0x99, 0x08, 0xa9, 0x9f, 0x3d, 0x9c, 0x69, 0xb5, 0xdf, 0xd8, 0x49, + 0xfb, 0xf6, 0x48, 0xd1, 0x0b, 0x06, 0xed, 0xd3, 0x1e, 0x29, 0xf5, 0xac, 0x91, 0xcb, 0xc0, 0x96, 0x2e, 0x55, 0x3d, + 0xff, 0x05, 0xca, 0x77, 0x30, 0x33, 0xce, 0x66, 0x7f, 0xe8, 0xcd, 0xed, 0xd1, 0xbe, 0x6e, 0xfe, 0x60, 0xbd, 0x1e, + 0x6c, 0x0d, 0x32, 0xf1, 0xb9, 0x62, 0xa1, 0xb2, 0x0a, 0xb1, 0x82, 0xb4, 0xff, 0x25, 0xbc, 0x3f, 0xe0, 0xad, 0x11, + 0x9a, 0x95, 0xf1, 0x30, 0x1f, 0x3d, 0xda, 0x8b, 0xe6, 0x8f, 0xce, 0xb2, 0xad, 0x5c, 0x95, 0xcc, 0xf6, 0xc7, 0x51, + 0xd2, 0x9c, 0x3d, 0x5c, 0x23, 0xa9, 0x03, 0x7c, 0xb8, 0x3e, 0xc3, 0x07, 0x2a, 0xa1, 0xd4, 0x82, 0xaa, 0x06, 0xad, + 0x8f, 0xfd, 0xd1, 0x7a, 0x4e, 0x1f, 0x3f, 0x96, 0xd3, 0x2d, 0x29, 0xc2, 0xf8, 0x81, 0xc1, 0x94, 0x9d, 0x38, 0x75, + 0xc9, 0x9b, 0x21, 0xbd, 0xeb, 0x56, 0x49, 0x5d, 0xf6, 0x28, 0x11, 0x84, 0x3a, 0x58, 0xbf, 0xd8, 0x0f, 0x61, 0x66, + 0x8b, 0xfe, 0xb0, 0x59, 0xcd, 0x09, 0x10, 0x11, 0xd0, 0x5a, 0xe5, 0x7d, 0xe0, 0x98, 0x2f, 0xcc, 0x9a, 0x1b, 0xd2, + 0xad, 0x37, 0x57, 0xda, 0x2b, 0x29, 0xa0, 0x9f, 0x83, 0xcc, 0xed, 0xa3, 0x5b, 0xae, 0x5a, 0xe6, 0xb9, 0xb4, 0xe5, + 0x80, 0x45, 0x0b, 0x81, 0x9a, 0x9d, 0x4b, 0x87, 0x03, 0x05, 0xa1, 0xae, 0x44, 0x15, 0x71, 0x75, 0x14, 0x2d, 0x44, + 0xad, 0x56, 0xed, 0x72, 0xb2, 0xa9, 0x90, 0x2d, 0x89, 0x20, 0xa3, 0x14, 0x43, 0x97, 0x3e, 0xca, 0xd5, 0x9e, 0x69, + 0x38, 0x40, 0x13, 0xb0, 0x69, 0x83, 0xbf, 0x05, 0xee, 0x65, 0x70, 0x66, 0xda, 0xa7, 0x61, 0x04, 0x9c, 0xe6, 0x10, + 0xf3, 0xe7, 0x77, 0x3d, 0xa8, 0xe0, 0x41, 0x47, 0xfa, 0x9b, 0x7a, 0x56, 0xe0, 0x99, 0x7b, 0xe2, 0xf9, 0xeb, 0x13, + 0xe9, 0x45, 0x0e, 0x0f, 0x34, 0x0d, 0x62, 0xc6, 0x9f, 0x97, 0x65, 0xb8, 0x1b, 0x2d, 0xca, 0x62, 0xe5, 0x45, 0x7a, + 0x1f, 0xcf, 0xa4, 0x18, 0x48, 0xcc, 0x98, 0x19, 0x5d, 0xc5, 0x3a, 0xce, 0x61, 0xdc, 0xdb, 0x93, 0xb0, 0x42, 0xfb, + 0x67, 0x89, 0xbd, 0x2e, 0x00, 0xcb, 0x21, 0x6b, 0xd0, 0x0a, 0xef, 0x74, 0x7b, 0xbb, 0xc7, 0x25, 0x3b, 0x8a, 0x1b, + 0x40, 0x3f, 0xab, 0xa1, 0x65, 0x82, 0x5a, 0x66, 0xdd, 0xc9, 0x64, 0x8a, 0xe4, 0xf2, 0x6d, 0xd8, 0x6b, 0x56, 0xe4, + 0xf3, 0x46, 0x6e, 0x0f, 0xef, 0xc2, 0x95, 0x88, 0xb5, 0x05, 0x9d, 0x74, 0x64, 0x1c, 0xee, 0x85, 0xe6, 0x46, 0xba, + 0x7f, 0x54, 0x25, 0x61, 0x29, 0x62, 0xb8, 0x05, 0xb2, 0xbd, 0xda, 0x56, 0x82, 0x12, 0xf8, 0x60, 0x3f, 0x94, 0x62, + 0x91, 0x6e, 0x05, 0xe0, 0x3a, 0xf0, 0xcf, 0x12, 0x91, 0xd0, 0xdd, 0x79, 0x88, 0x62, 0x8d, 0xbc, 0x6f, 0x10, 0x8d, + 0xfd, 0x15, 0xc8, 0x69, 0x40, 0x26, 0x52, 0x8c, 0x64, 0xc1, 0xc0, 0x07, 0x90, 0xf3, 0x35, 0x98, 0xe4, 0xa6, 0xb9, + 0xe7, 0x07, 0xb9, 0xee, 0x60, 0xda, 0x07, 0xdd, 0x8b, 0x6b, 0xcd, 0x72, 0xf0, 0x8a, 0x89, 0xf8, 0xcf, 0xb5, 0x57, + 0xb2, 0x9c, 0x65, 0x7e, 0x63, 0x2e, 0x3a, 0x19, 0x5c, 0x35, 0x84, 0x5f, 0xcc, 0xb2, 0x39, 0x8f, 0x66, 0x99, 0x8e, + 0xfa, 0x2f, 0x9a, 0xa3, 0x52, 0x00, 0x4e, 0x1d, 0x2f, 0xc0, 0x1a, 0xfa, 0x4a, 0x37, 0xad, 0x78, 0xa0, 0x31, 0x46, + 0x41, 0x85, 0x0e, 0x42, 0x3f, 0xd7, 0x80, 0xb4, 0xc1, 0x24, 0x4d, 0x42, 0xe5, 0x83, 0x0b, 0xba, 0x61, 0x5e, 0xae, + 0x5c, 0xae, 0x9a, 0x54, 0x2d, 0xbf, 0x1c, 0x51, 0xdf, 0xd5, 0x92, 0x4b, 0xb5, 0xf9, 0xd4, 0x28, 0x6b, 0x04, 0x99, + 0x1c, 0xa5, 0xdf, 0xa7, 0x5c, 0xb8, 0x95, 0x31, 0x59, 0x1f, 0x0e, 0x5e, 0xc1, 0x4d, 0x8d, 0xdf, 0xe4, 0x44, 0x28, + 0x6a, 0x0f, 0x89, 0xb0, 0xb5, 0x5b, 0xa1, 0x7b, 0x8f, 0x1b, 0xa5, 0x79, 0x94, 0x6d, 0x62, 0x51, 0x79, 0xbd, 0x04, + 0xac, 0xc5, 0x3d, 0xe0, 0x45, 0xa5, 0xa5, 0x5f, 0xb1, 0x02, 0xd0, 0x03, 0xa4, 0xb0, 0xf1, 0x06, 0x19, 0xb0, 0x3e, + 0x78, 0xa9, 0xdf, 0xef, 0x1b, 0x53, 0xfe, 0xfb, 0xfb, 0x1c, 0x48, 0x0a, 0x45, 0x59, 0xef, 0x60, 0x02, 0xc1, 0xb5, + 0x93, 0xb4, 0x67, 0x35, 0x7f, 0xb6, 0xae, 0x3d, 0xe0, 0xb7, 0xf2, 0x2d, 0x12, 0xab, 0x57, 0xf6, 0xc5, 0x66, 0x9f, + 0x56, 0xd7, 0x46, 0xe3, 0x20, 0x58, 0x5a, 0xbd, 0xd1, 0x2a, 0x87, 0xbc, 0xe1, 0x05, 0x88, 0x54, 0xd6, 0xd5, 0xb5, + 0x72, 0xae, 0xae, 0x05, 0x47, 0x2e, 0xd9, 0x92, 0xe7, 0xf0, 0x5f, 0xc8, 0xbd, 0xf2, 0x70, 0x28, 0xfc, 0x7e, 0x3f, + 0x9d, 0x91, 0x56, 0x16, 0xd8, 0xd3, 0xd6, 0xb5, 0x17, 0xfa, 0x87, 0xc3, 0x1b, 0xf0, 0x1a, 0xf1, 0x0f, 0x87, 0xb2, + 0xdf, 0xff, 0x68, 0x6e, 0x32, 0xe7, 0x63, 0xa5, 0x94, 0xbd, 0x44, 0xa5, 0xfb, 0xa7, 0x84, 0xf7, 0xfe, 0xf7, 0xe8, + 0x7f, 0x8f, 0x2e, 0x7b, 0xb2, 0xeb, 0x7f, 0x49, 0xf8, 0x0c, 0x6f, 0xe8, 0x4c, 0x5d, 0xce, 0x99, 0x74, 0x77, 0x57, + 0x7e, 0xe8, 0x3d, 0x0d, 0x15, 0xdf, 0x9b, 0x9b, 0x36, 0xfe, 0x5c, 0x1d, 0x69, 0x12, 0x3a, 0x2e, 0xfa, 0x87, 0xc3, + 0x2f, 0x89, 0xd6, 0xa7, 0xa5, 0x4a, 0x9f, 0xa6, 0x70, 0x94, 0x0c, 0xb9, 0x9b, 0x5b, 0x98, 0x0e, 0xec, 0xc7, 0xcd, + 0x57, 0xc9, 0x8b, 0xb3, 0x14, 0xae, 0xbd, 0xf9, 0x2c, 0x9d, 0x4f, 0xc1, 0xba, 0x32, 0xcc, 0x67, 0xf5, 0x3c, 0x80, + 0xd4, 0x21, 0xa4, 0x59, 0xd3, 0xf0, 0x1f, 0x95, 0x2b, 0x78, 0x6b, 0x8f, 0x77, 0x03, 0x17, 0xa5, 0x8e, 0xf4, 0x49, + 0x1b, 0x4d, 0x97, 0x54, 0xf2, 0x1f, 0x45, 0x1e, 0x63, 0xcc, 0xc6, 0x1b, 0xe2, 0xfd, 0x2c, 0xf2, 0x97, 0x05, 0x60, + 0x17, 0x01, 0x18, 0x72, 0x3a, 0x77, 0x24, 0xf1, 0x8f, 0xc9, 0xf7, 0x7f, 0x4c, 0x97, 0xf6, 0xa1, 0x2c, 0x96, 0xa5, + 0xa8, 0xaa, 0xa3, 0xd2, 0xb6, 0xb6, 0x5c, 0x0f, 0x4c, 0xa2, 0xfd, 0xbe, 0x64, 0x12, 0x4d, 0x31, 0x14, 0x05, 0x6e, + 0x8d, 0xbd, 0x69, 0xca, 0x15, 0x63, 0xf5, 0xc8, 0x58, 0x3f, 0x5f, 0xec, 0xde, 0xc4, 0x5e, 0xea, 0x07, 0x29, 0x08, + 0xc2, 0x1a, 0x4a, 0x29, 0x45, 0x3e, 0x38, 0x9f, 0x61, 0x2a, 0x51, 0xeb, 0x52, 0xaa, 0xfc, 0x61, 0xa4, 0xf9, 0x30, + 0x05, 0xbd, 0xec, 0xbf, 0x2a, 0x98, 0xff, 0xba, 0x3d, 0x58, 0x9f, 0xd6, 0x65, 0x1a, 0x55, 0x44, 0x95, 0x17, 0xa6, + 0xda, 0x04, 0x22, 0xf8, 0x33, 0x61, 0xf1, 0xfd, 0xfa, 0xe4, 0x48, 0xd0, 0x98, 0xc9, 0xf2, 0xfa, 0xc8, 0xfd, 0xc2, + 0xbe, 0x72, 0x1d, 0xcf, 0xff, 0xdc, 0xcc, 0xff, 0x01, 0x3a, 0x43, 0x16, 0xcf, 0xb8, 0x65, 0xb0, 0xc0, 0xd9, 0x2f, + 0x5d, 0x3d, 0xe0, 0x6f, 0xe6, 0x89, 0x67, 0x40, 0xc7, 0xfc, 0x0c, 0x5d, 0x15, 0xd3, 0x59, 0x31, 0x00, 0x2e, 0x5b, + 0xbf, 0xb1, 0xe6, 0xc4, 0x3b, 0x8b, 0xf2, 0x4a, 0x2e, 0x08, 0x7d, 0x5d, 0x85, 0xd9, 0xb8, 0x2a, 0x36, 0x95, 0x28, + 0x36, 0x75, 0x8f, 0xd4, 0xb2, 0xf9, 0xb4, 0xb6, 0x15, 0xb2, 0x7f, 0x17, 0x2d, 0x06, 0x2f, 0xc3, 0x3a, 0x19, 0x65, + 0xe9, 0x7a, 0x0a, 0xfc, 0x7a, 0x01, 0x9c, 0x45, 0xe6, 0x95, 0xaf, 0xce, 0x1e, 0xb0, 0x45, 0xe3, 0x29, 0x90, 0xa3, + 0xd2, 0x1f, 0x79, 0x63, 0x74, 0x7a, 0xa2, 0xdf, 0xcf, 0xa7, 0x14, 0xf3, 0xf5, 0x77, 0x80, 0xe7, 0xaa, 0xe5, 0x02, + 0xf4, 0x65, 0xa8, 0x83, 0x4a, 0x94, 0x5a, 0x31, 0x8c, 0x58, 0xf8, 0xbb, 0x40, 0x22, 0x67, 0x0a, 0x6c, 0x56, 0x51, + 0x12, 0x2a, 0x51, 0x29, 0xd9, 0x9a, 0xa0, 0x96, 0xde, 0x17, 0x65, 0xbd, 0xaf, 0xc0, 0x51, 0x32, 0xd2, 0x66, 0x39, + 0x69, 0xc6, 0x15, 0x28, 0x73, 0xd1, 0x0f, 0xf6, 0xf7, 0xca, 0xf3, 0x1b, 0x99, 0xcf, 0x72, 0xdf, 0xd1, 0x39, 0x6d, + 0xc7, 0x05, 0xca, 0xdc, 0x72, 0xda, 0x6a, 0xc9, 0x63, 0xf2, 0x9e, 0x85, 0xda, 0xb2, 0x04, 0x29, 0x16, 0x61, 0x3e, + 0xa1, 0xca, 0xe6, 0x5f, 0x10, 0x6a, 0x8b, 0x03, 0x7b, 0xec, 0xc2, 0x44, 0xfc, 0xb7, 0x60, 0x49, 0x0c, 0xb3, 0x52, + 0x84, 0xf1, 0x0e, 0xbc, 0x7f, 0x36, 0x95, 0x18, 0x9d, 0xa1, 0x93, 0xfb, 0xd9, 0x7d, 0x5a, 0x27, 0x67, 0x6f, 0x5e, + 0x9d, 0xfd, 0xd0, 0x1b, 0x14, 0xa3, 0x34, 0x1e, 0xf4, 0x7e, 0x38, 0x5b, 0x6d, 0x00, 0x2d, 0x53, 0x9c, 0xc5, 0x64, + 0x4a, 0x13, 0xf1, 0x19, 0x19, 0x06, 0xcf, 0xea, 0x44, 0x9c, 0xd1, 0xc4, 0x74, 0x5f, 0xa3, 0x34, 0xf9, 0x76, 0x14, + 0xe6, 0xf0, 0x72, 0x29, 0x36, 0x95, 0x88, 0xc1, 0x4e, 0xa9, 0xe6, 0x59, 0xde, 0x3e, 0x8b, 0xf3, 0x51, 0x87, 0xac, + 0xd2, 0x81, 0xbf, 0x3d, 0x91, 0x76, 0x55, 0xba, 0x02, 0x42, 0x0f, 0x80, 0x93, 0xae, 0xfc, 0x79, 0x38, 0xa4, 0x09, + 0x84, 0x5a, 0x30, 0x27, 0xd3, 0x88, 0x6e, 0x48, 0x2f, 0xb1, 0xcf, 0xc0, 0x2c, 0xa4, 0x34, 0x0f, 0x6e, 0xae, 0x16, + 0x43, 0x77, 0xc5, 0xca, 0x51, 0x58, 0xad, 0x45, 0x54, 0x23, 0xeb, 0x31, 0x38, 0xef, 0x40, 0x04, 0x80, 0x22, 0x07, + 0xcf, 0x78, 0xd4, 0xef, 0x47, 0x2a, 0x28, 0x27, 0xa1, 0x5f, 0x14, 0xfa, 0xa5, 0xe1, 0x28, 0x63, 0xfe, 0x25, 0xd4, + 0x1c, 0x01, 0xf5, 0x96, 0x87, 0x8a, 0x2e, 0x00, 0x97, 0x73, 0xc4, 0x8c, 0xf3, 0xde, 0xff, 0xe1, 0xed, 0x4b, 0xb8, + 0xdb, 0xb6, 0xb5, 0x75, 0xff, 0x8a, 0xc5, 0x97, 0xaa, 0x44, 0x04, 0xc9, 0x92, 0x93, 0xf4, 0x9c, 0x52, 0x86, 0x75, + 0xdd, 0x0c, 0x6d, 0x7a, 0x9a, 0xa1, 0x71, 0xd2, 0x49, 0x4f, 0xd7, 0xa5, 0x49, 0xd8, 0x62, 0x43, 0x03, 0x2a, 0x49, + 0x79, 0x88, 0xc4, 0xff, 0xfe, 0xd6, 0xde, 0x18, 0x49, 0xd1, 0x4e, 0xce, 0x79, 0xf7, 0xbd, 0x95, 0xb5, 0x62, 0x11, + 0x04, 0x31, 0x63, 0x63, 0x63, 0x0f, 0xdf, 0x66, 0x4d, 0x60, 0x4e, 0x13, 0x82, 0xc2, 0x5c, 0x07, 0x0b, 0x03, 0x40, + 0xef, 0xda, 0xa3, 0x2d, 0x27, 0x5d, 0x82, 0xc5, 0x73, 0x03, 0x8b, 0x57, 0x17, 0x8b, 0xea, 0x92, 0x6b, 0xb9, 0x85, + 0x4d, 0x29, 0xab, 0x18, 0x02, 0x08, 0x34, 0x63, 0x86, 0xdd, 0x70, 0x97, 0x23, 0x59, 0x17, 0x05, 0x17, 0x3b, 0x81, + 0xa1, 0x9b, 0x71, 0xc9, 0xcc, 0xc1, 0xd5, 0x0c, 0xeb, 0xa4, 0xa2, 0x00, 0xbb, 0xba, 0x00, 0xd9, 0x0b, 0x43, 0x5d, + 0x37, 0xb3, 0xe5, 0x3a, 0xf0, 0x75, 0xe9, 0xc2, 0x97, 0x14, 0xbc, 0x5c, 0x49, 0x51, 0x66, 0x57, 0xfc, 0x27, 0xfb, + 0xb2, 0x19, 0x4b, 0x0a, 0xed, 0x48, 0x5f, 0xb5, 0xbb, 0xa3, 0xc5, 0x38, 0xb6, 0x1c, 0xdf, 0x52, 0xe9, 0x46, 0x8f, + 0xaa, 0x17, 0x42, 0x5b, 0xe7, 0x5a, 0x66, 0x69, 0xca, 0xc5, 0x4b, 0x91, 0x66, 0x89, 0x97, 0x1c, 0xeb, 0x58, 0xd5, + 0x2e, 0x08, 0x96, 0x0b, 0x93, 0xfc, 0x2c, 0x2b, 0x31, 0x76, 0x70, 0xa3, 0x51, 0xad, 0xa8, 0x53, 0x26, 0x06, 0x86, + 0x7c, 0x87, 0xc1, 0xb7, 0x99, 0x4c, 0x80, 0xe1, 0xc7, 0x44, 0x7d, 0x49, 0x4f, 0x21, 0xe0, 0x83, 0x0a, 0xcd, 0xfd, + 0x8c, 0x23, 0xf8, 0xb5, 0x55, 0x99, 0x03, 0x93, 0xad, 0x55, 0x90, 0x88, 0x7b, 0x97, 0xcd, 0xf5, 0x22, 0x5a, 0xa8, + 0xbb, 0x50, 0x2f, 0xde, 0x6e, 0x7b, 0x89, 0xa2, 0x03, 0x4e, 0x7e, 0x1a, 0xbc, 0x88, 0xb3, 0x9c, 0xa7, 0x7b, 0x95, + 0xdc, 0x53, 0x1b, 0x6a, 0x4f, 0x39, 0x73, 0xc0, 0xce, 0xfb, 0xba, 0xda, 0xd3, 0x6b, 0x7a, 0x4f, 0xb7, 0x73, 0x0f, + 0x2e, 0x18, 0xb8, 0x73, 0x2f, 0xb2, 0x2b, 0x2e, 0xf6, 0x40, 0x19, 0x68, 0x8d, 0x07, 0xea, 0xb2, 0x1a, 0xa9, 0x89, + 0xd1, 0x31, 0xac, 0x13, 0x7d, 0x30, 0x07, 0xf4, 0x67, 0x08, 0x6b, 0xdf, 0x7a, 0xbb, 0xd2, 0x07, 0x6d, 0x40, 0xdf, + 0x2d, 0x4d, 0x1f, 0x74, 0xe0, 0x78, 0x15, 0x1d, 0xb8, 0x31, 0xa4, 0x1a, 0xb4, 0xd5, 0xc8, 0x2a, 0x50, 0xbc, 0xe1, + 0x2d, 0xde, 0x9d, 0x6b, 0xc9, 0xc6, 0x7b, 0x89, 0x18, 0x5f, 0x99, 0xa8, 0xe2, 0x4c, 0x1c, 0x7b, 0xa9, 0xbc, 0xd6, + 0x4e, 0x32, 0xc2, 0xf8, 0x96, 0x95, 0xd4, 0xdf, 0x21, 0xe6, 0x16, 0x69, 0x0e, 0x83, 0xe7, 0x61, 0x45, 0x66, 0xbc, + 0xdf, 0x97, 0x33, 0x19, 0x95, 0x33, 0xb1, 0x5f, 0x46, 0x0a, 0xac, 0xed, 0x2e, 0x11, 0xd0, 0xbd, 0x12, 0x20, 0x5f, + 0x00, 0x54, 0xdd, 0x27, 0xfc, 0xb9, 0x4f, 0xea, 0xd3, 0x29, 0xf4, 0x29, 0xb4, 0xf5, 0x8a, 0x2b, 0x88, 0x57, 0x75, + 0x63, 0x64, 0x1b, 0x15, 0xb4, 0x78, 0x2c, 0xcf, 0x6a, 0xc3, 0xd8, 0x9c, 0x5a, 0xff, 0x7a, 0xb3, 0xc1, 0x94, 0xcd, + 0x85, 0x5a, 0x85, 0x21, 0x89, 0x3e, 0x96, 0x5e, 0x24, 0x11, 0x0b, 0x9b, 0xd5, 0xda, 0xfc, 0x26, 0x0c, 0x48, 0x26, + 0x52, 0xdc, 0xcf, 0x96, 0x38, 0x77, 0xf1, 0x78, 0x5e, 0xf5, 0xb5, 0x96, 0x16, 0x99, 0x36, 0xdf, 0xe8, 0xcb, 0x90, + 0xa6, 0xa2, 0x86, 0x34, 0xea, 0xcc, 0xa0, 0xfb, 0x76, 0x79, 0xcb, 0x6a, 0x84, 0x09, 0xf0, 0x4a, 0x67, 0xd0, 0x8d, + 0xc6, 0x03, 0xb1, 0xac, 0x46, 0xc5, 0x5a, 0x08, 0x04, 0x1e, 0x86, 0x1c, 0x33, 0x4b, 0x48, 0xb2, 0x4f, 0xfc, 0x3b, + 0x15, 0x67, 0xa1, 0x88, 0xaf, 0x0d, 0xb2, 0x77, 0x65, 0x5d, 0xbb, 0xeb, 0xc8, 0xcf, 0x89, 0x85, 0xd5, 0xfe, 0x43, + 0xf3, 0xa8, 0x35, 0xce, 0x02, 0xda, 0x9a, 0x56, 0x37, 0x1c, 0xee, 0x51, 0x1d, 0x8b, 0xd2, 0x60, 0x13, 0x7b, 0x64, + 0xb9, 0x68, 0x1d, 0x33, 0x68, 0x40, 0x7f, 0x93, 0x5d, 0xae, 0x2f, 0x11, 0xc0, 0xad, 0x44, 0xd6, 0x49, 0x2a, 0xff, + 0x92, 0xf6, 0xa8, 0x6b, 0x7b, 0x2a, 0xff, 0xdb, 0x36, 0x55, 0x0e, 0x2d, 0xa6, 0x3c, 0x76, 0x73, 0x16, 0xa8, 0x8e, + 0x04, 0x51, 0xa0, 0xb6, 0x5e, 0x30, 0xf5, 0x4e, 0x99, 0xa2, 0x03, 0x04, 0xba, 0x30, 0x67, 0xd8, 0x17, 0x1c, 0x31, + 0x66, 0xa9, 0xc4, 0x60, 0xea, 0x63, 0x8c, 0x6a, 0x5a, 0x2b, 0x40, 0xd7, 0x4f, 0x37, 0xf0, 0x27, 0x2a, 0x6a, 0x34, + 0xd4, 0x1a, 0x49, 0xa1, 0x68, 0xa2, 0x42, 0x91, 0xa5, 0x85, 0x8e, 0xab, 0xd0, 0x49, 0x24, 0x2c, 0x01, 0x0d, 0x13, + 0xa2, 0x93, 0x0a, 0xbc, 0x35, 0x80, 0x33, 0x1f, 0x17, 0xe5, 0xba, 0xd0, 0x06, 0x73, 0x3f, 0xc4, 0x57, 0xfc, 0xe5, + 0x33, 0x67, 0x54, 0xdf, 0xb2, 0xd6, 0xf7, 0xb4, 0x20, 0x3f, 0x84, 0x9c, 0xa2, 0x03, 0x13, 0x3b, 0xda, 0xa0, 0x31, + 0x46, 0x59, 0xeb, 0xa8, 0x17, 0x6f, 0x74, 0x28, 0x16, 0x6d, 0x82, 0x77, 0x8f, 0xa7, 0x88, 0x36, 0x3c, 0x14, 0xc6, + 0xaa, 0x1a, 0x9f, 0x4a, 0xd6, 0xd2, 0x83, 0x15, 0x3c, 0x5d, 0x27, 0x3c, 0x04, 0x3d, 0x12, 0x61, 0x47, 0x61, 0x31, + 0x8f, 0x17, 0x70, 0x9c, 0x14, 0x04, 0xd4, 0x0e, 0xfa, 0x0a, 0x3e, 0x5f, 0xa0, 0xfb, 0xab, 0x44, 0x0f, 0x30, 0xb4, + 0x20, 0x6e, 0x46, 0x41, 0x1d, 0x5d, 0xc6, 0xab, 0x86, 0x8a, 0x84, 0xcf, 0x0b, 0xb0, 0x1d, 0x52, 0xea, 0x29, 0xd0, + 0x42, 0x25, 0x4a, 0x3f, 0x0c, 0x7c, 0x87, 0xc6, 0xc0, 0xd6, 0x3a, 0x40, 0x43, 0x3f, 0x63, 0x9a, 0x5a, 0x67, 0xa8, + 0x7c, 0xe6, 0xdd, 0x33, 0xa3, 0xe5, 0xcc, 0xa2, 0x31, 0xe8, 0xdb, 0x68, 0x8a, 0xe2, 0x9c, 0x7c, 0x16, 0x14, 0x71, + 0x9a, 0xc5, 0x39, 0xf8, 0x6d, 0xc6, 0x05, 0x66, 0x4c, 0xe2, 0x8a, 0x5f, 0xc8, 0x02, 0xb4, 0xdd, 0xb9, 0x4a, 0xad, + 0x6b, 0x10, 0x90, 0xfd, 0x00, 0x56, 0x2f, 0x0d, 0x1d, 0x95, 0xf3, 0xee, 0xd2, 0xa6, 0x10, 0xb1, 0x08, 0xc1, 0xa6, + 0x99, 0x2e, 0xd9, 0x71, 0xa8, 0xb4, 0x39, 0x10, 0xea, 0x08, 0x8d, 0xfb, 0xa7, 0x61, 0x6c, 0x35, 0xc5, 0xd6, 0xee, + 0x6d, 0xbb, 0xfd, 0x57, 0xe9, 0xa5, 0xd3, 0x9c, 0xf4, 0x18, 0xfb, 0x57, 0x19, 0x16, 0x23, 0xdb, 0x11, 0x02, 0x4b, + 0xce, 0xfb, 0xd4, 0x7f, 0x45, 0xcb, 0x79, 0x02, 0xa6, 0x23, 0x3a, 0x58, 0x2e, 0x50, 0x76, 0x0c, 0xe8, 0x0e, 0x0c, + 0xae, 0xe8, 0xf7, 0xc1, 0x2a, 0xc3, 0x5c, 0x48, 0x96, 0x24, 0x65, 0xf0, 0x3c, 0xf5, 0xe0, 0xe0, 0xd7, 0x4c, 0x99, + 0xbb, 0x28, 0xeb, 0xd3, 0x25, 0x99, 0xa6, 0xc8, 0x40, 0xac, 0xc3, 0x4d, 0x96, 0x46, 0x89, 0x12, 0x91, 0x2d, 0xd1, + 0x3f, 0xd2, 0x50, 0x2c, 0x1d, 0xb9, 0x17, 0xa9, 0x12, 0xa1, 0x62, 0x9e, 0xe2, 0x49, 0x9d, 0xd6, 0xe9, 0x08, 0x43, + 0x4f, 0x82, 0x52, 0xae, 0x86, 0x81, 0x2a, 0xa9, 0x5e, 0x0a, 0x9b, 0x62, 0xbb, 0xd5, 0x17, 0x2b, 0x31, 0x8f, 0x17, + 0xf8, 0x52, 0xe0, 0x28, 0xfe, 0x8b, 0x7b, 0x61, 0xa7, 0xd4, 0xf6, 0xa0, 0x76, 0x44, 0x09, 0xfd, 0x17, 0x87, 0x8b, + 0xc4, 0x77, 0x52, 0x87, 0x00, 0x44, 0x8b, 0x90, 0x53, 0x75, 0x90, 0x1a, 0x6e, 0x68, 0x47, 0xf8, 0x6f, 0xb8, 0x3e, + 0xe3, 0x8c, 0xde, 0x54, 0x33, 0x6a, 0x28, 0x5f, 0x0f, 0xda, 0x18, 0xf5, 0xd9, 0xc0, 0x61, 0x85, 0x28, 0xb4, 0x61, + 0x47, 0xa5, 0x12, 0x2d, 0x0c, 0xa5, 0xfa, 0x4b, 0xa8, 0x38, 0xe2, 0xce, 0x8c, 0xb2, 0x64, 0x7c, 0x5a, 0x1e, 0x8a, + 0xe9, 0x60, 0x50, 0x92, 0xca, 0x58, 0xe8, 0xc1, 0xf5, 0xc0, 0xf3, 0xef, 0x81, 0x5b, 0x88, 0x87, 0x8c, 0x2c, 0x86, + 0xdc, 0xe0, 0xe4, 0xb7, 0x38, 0xb9, 0x6a, 0x54, 0xaa, 0x38, 0xd6, 0x44, 0xb5, 0xe0, 0xfb, 0x32, 0x0c, 0xd0, 0x27, + 0x29, 0x00, 0x93, 0xc1, 0x94, 0xdf, 0x80, 0x44, 0xe9, 0x54, 0xdd, 0x90, 0x3e, 0x88, 0x82, 0x9f, 0xf3, 0x82, 0x8b, + 0xc4, 0x15, 0x60, 0x79, 0x07, 0xdb, 0xeb, 0xa8, 0xa2, 0x0a, 0x93, 0xd7, 0xf4, 0x38, 0xe2, 0xc6, 0xfb, 0xcf, 0xf4, + 0xd8, 0x62, 0xb6, 0x5a, 0xc7, 0x06, 0x9f, 0x39, 0x06, 0x17, 0x74, 0x2d, 0xb1, 0x35, 0x54, 0xc3, 0x8a, 0xc0, 0xc0, + 0x05, 0x1c, 0x84, 0x25, 0x8a, 0x63, 0x2b, 0x79, 0x45, 0x1a, 0x52, 0xda, 0x7b, 0x86, 0xa3, 0x4d, 0x72, 0x7c, 0x9b, + 0x65, 0x37, 0x81, 0xf3, 0x45, 0xe7, 0xa4, 0x99, 0xb0, 0x36, 0x78, 0x9f, 0x37, 0xe7, 0xd7, 0xdd, 0x43, 0x42, 0x55, + 0xdc, 0x1b, 0xde, 0x8e, 0x7b, 0xe3, 0x84, 0x5f, 0x73, 0xb1, 0xd0, 0xa1, 0x5a, 0xcc, 0x25, 0xcb, 0x6f, 0xad, 0x77, + 0x4b, 0x92, 0x5a, 0x01, 0xed, 0xb3, 0x2c, 0xa8, 0x89, 0x00, 0x90, 0x3f, 0xfc, 0x05, 0x42, 0x67, 0xf8, 0xdb, 0x63, + 0x70, 0x45, 0x0a, 0xef, 0x1c, 0x02, 0x61, 0x4d, 0x37, 0x77, 0x6a, 0x03, 0xbe, 0x18, 0xf7, 0x67, 0x4c, 0x3d, 0xfd, + 0x36, 0x93, 0xbb, 0xba, 0x6e, 0x8f, 0x2c, 0xc3, 0x47, 0xb8, 0x52, 0x00, 0x37, 0x13, 0xfe, 0x62, 0x98, 0x49, 0xf5, + 0x09, 0x60, 0xaa, 0xe9, 0xe0, 0x3e, 0x41, 0x60, 0x00, 0x95, 0x68, 0x31, 0xba, 0x52, 0x8e, 0x68, 0x06, 0x6e, 0x4d, + 0xb7, 0xc2, 0x78, 0xeb, 0x41, 0x0b, 0x3d, 0xd3, 0x70, 0xe2, 0x3f, 0x68, 0xe6, 0x55, 0x01, 0x01, 0xb4, 0x32, 0x82, + 0xb7, 0xd6, 0x47, 0x73, 0x84, 0xf8, 0x84, 0x25, 0xd1, 0x84, 0xc5, 0x33, 0xc5, 0x8f, 0x09, 0xdd, 0x34, 0xb5, 0x4d, + 0xef, 0x91, 0xfe, 0xe2, 0x9a, 0xf5, 0x53, 0x96, 0xb5, 0x6f, 0x0f, 0x15, 0x2f, 0xa6, 0xcd, 0x38, 0x88, 0x89, 0x2a, + 0xc6, 0xff, 0x82, 0xfb, 0x52, 0x2b, 0x40, 0x64, 0xee, 0xaa, 0xa7, 0xdf, 0x6f, 0x66, 0xcb, 0x81, 0x50, 0xf9, 0x9d, + 0x41, 0xd2, 0xa7, 0x43, 0xfb, 0x81, 0x4d, 0xa2, 0xb6, 0xd0, 0xf3, 0xc7, 0xa5, 0x6e, 0xe2, 0xe5, 0xb5, 0xa9, 0x11, + 0xad, 0x90, 0xa1, 0xb2, 0x75, 0xc0, 0xfa, 0xfe, 0x21, 0xdc, 0x5d, 0xd4, 0x34, 0xd4, 0xba, 0xe7, 0xae, 0x45, 0xc1, + 0x89, 0x3f, 0xc0, 0x58, 0x5c, 0x48, 0x6a, 0x1d, 0x8f, 0x49, 0x3f, 0x5a, 0xc8, 0xe4, 0x46, 0x5d, 0x9d, 0x9c, 0x29, + 0xe6, 0x09, 0x5c, 0x80, 0xcb, 0xb6, 0xbf, 0xa2, 0x52, 0x97, 0x72, 0x7b, 0x45, 0x69, 0x7a, 0x48, 0xdb, 0xab, 0x38, + 0x6f, 0x0b, 0x2e, 0xf8, 0x17, 0x0a, 0x2e, 0xac, 0x83, 0x75, 0xc7, 0x9d, 0xb2, 0x27, 0x3c, 0x51, 0xa6, 0xb5, 0xc1, + 0x5d, 0x37, 0x18, 0x13, 0x63, 0xbf, 0xbb, 0xe4, 0xc9, 0x47, 0x64, 0xc1, 0xbf, 0xcb, 0x04, 0x78, 0x26, 0xbb, 0x57, + 0x2a, 0xff, 0x0f, 0xfe, 0xd5, 0xd6, 0xbe, 0xb3, 0xe6, 0x9f, 0x9e, 0xf5, 0x70, 0xe7, 0x30, 0xf9, 0xb1, 0x3a, 0x03, + 0xba, 0xb9, 0x94, 0x29, 0x07, 0x64, 0x00, 0x6b, 0x91, 0x8c, 0x06, 0x7c, 0x68, 0x65, 0xd9, 0xf6, 0x9d, 0x56, 0x17, + 0x84, 0x3b, 0x09, 0xdc, 0xf4, 0xee, 0xda, 0xcc, 0xcc, 0xe9, 0x5a, 0x89, 0xa6, 0x4b, 0x63, 0x6b, 0x59, 0xaa, 0x30, + 0xde, 0xef, 0x3c, 0xc9, 0xa6, 0xf9, 0xe1, 0x72, 0x9a, 0x5b, 0xea, 0xb6, 0x71, 0xcb, 0x06, 0xd0, 0x10, 0xbb, 0xd6, + 0x56, 0x0e, 0x78, 0xb9, 0x3d, 0x88, 0xe6, 0x6b, 0x45, 0xe8, 0xa9, 0x12, 0xa1, 0x4f, 0xd3, 0x66, 0x1f, 0xec, 0xaa, + 0x5a, 0x37, 0x42, 0x1e, 0x0d, 0x52, 0xcd, 0xc8, 0xbf, 0xb9, 0xe2, 0xc5, 0x79, 0x2e, 0xaf, 0x01, 0x0e, 0x99, 0xd4, + 0x46, 0x61, 0x79, 0x09, 0xee, 0xfc, 0xe8, 0x38, 0xce, 0xc4, 0x28, 0xc7, 0xb8, 0xad, 0x88, 0x94, 0xac, 0x13, 0x67, + 0x80, 0x87, 0xec, 0x4f, 0x9a, 0x0e, 0xed, 0x5a, 0x60, 0x78, 0x5f, 0xe0, 0xae, 0x72, 0x76, 0xb4, 0xc9, 0xed, 0xa2, + 0x6f, 0xce, 0xb0, 0xee, 0x48, 0x69, 0x6d, 0x2c, 0xba, 0xee, 0x60, 0xad, 0x19, 0xb4, 0x45, 0x28, 0xf9, 0x90, 0x3b, + 0x69, 0x3f, 0x05, 0x34, 0x38, 0xcd, 0xd2, 0x1b, 0x6b, 0x95, 0xbf, 0xd1, 0x42, 0x9c, 0x28, 0xa6, 0x4e, 0x7c, 0x13, + 0x25, 0xfa, 0xfc, 0x4c, 0x8c, 0x1b, 0x08, 0xa4, 0xfe, 0x80, 0xf1, 0x35, 0x8a, 0x30, 0x81, 0xeb, 0x40, 0x14, 0xdb, + 0x13, 0xb5, 0xb1, 0x1c, 0x41, 0x27, 0x84, 0x78, 0x07, 0x65, 0x18, 0xab, 0x8b, 0x03, 0x6d, 0xb0, 0xf4, 0x75, 0x6b, + 0x9d, 0x1b, 0x42, 0x61, 0x9c, 0xc0, 0x14, 0x83, 0xa4, 0xce, 0x3a, 0xcb, 0x04, 0x55, 0x76, 0x4c, 0x3a, 0xef, 0x03, + 0x74, 0x77, 0x2d, 0x9a, 0xe2, 0xeb, 0xce, 0x1d, 0x74, 0x17, 0xd7, 0xaf, 0xb5, 0xc8, 0x0d, 0xfe, 0xbc, 0x25, 0xc2, + 0x22, 0x70, 0xd6, 0x9a, 0x7c, 0xd5, 0x08, 0x07, 0xa6, 0x24, 0xd3, 0xb0, 0x97, 0x2b, 0x9b, 0xee, 0xed, 0xb6, 0xd7, + 0xbb, 0x53, 0xc4, 0xd5, 0x63, 0xac, 0xf2, 0x6e, 0xe6, 0xf6, 0x4e, 0xb5, 0x16, 0xbb, 0x37, 0x6d, 0x3f, 0xc5, 0x8e, + 0x5a, 0x6b, 0xb7, 0x1b, 0x4e, 0xa8, 0x21, 0xdf, 0x8a, 0x2a, 0xad, 0x4e, 0x37, 0x06, 0xed, 0x10, 0xda, 0x5a, 0x64, + 0x70, 0xa3, 0x7c, 0xe6, 0x84, 0x4e, 0x2a, 0xe4, 0xaa, 0x53, 0x17, 0x6c, 0x2e, 0x79, 0xb5, 0x94, 0x69, 0x24, 0x28, + 0xda, 0x9c, 0x47, 0x25, 0x4d, 0xe4, 0x5a, 0x54, 0x91, 0xac, 0x51, 0x2f, 0x6a, 0x35, 0x06, 0x08, 0xc8, 0x74, 0xda, + 0xf4, 0xa0, 0x0a, 0x66, 0x43, 0x19, 0xc9, 0xe9, 0x0b, 0xb0, 0xb4, 0x47, 0x8e, 0xb5, 0xbe, 0xab, 0xce, 0x16, 0xdf, + 0xea, 0x09, 0xc1, 0x14, 0x66, 0x0f, 0x44, 0x84, 0x6b, 0x1a, 0x43, 0x4e, 0xbb, 0xc4, 0x65, 0x4d, 0xb7, 0x84, 0x3b, + 0xb8, 0x5d, 0xc9, 0x8e, 0xdc, 0x3c, 0x69, 0x6e, 0xae, 0x60, 0x47, 0xc5, 0x7c, 0x0c, 0xda, 0x2f, 0xa9, 0xae, 0x5d, + 0x9a, 0x5b, 0x8f, 0x07, 0x01, 0x0d, 0x06, 0x85, 0xe1, 0x5f, 0x27, 0xc6, 0xc3, 0x93, 0x06, 0x04, 0x49, 0xb9, 0x08, + 0xc7, 0xbe, 0x11, 0xfd, 0x64, 0x2a, 0x0f, 0x39, 0x5a, 0xbc, 0x43, 0xab, 0x73, 0x08, 0xe8, 0x25, 0x42, 0x49, 0x8c, + 0xaa, 0xd0, 0x88, 0xa0, 0x3c, 0x2d, 0x7f, 0xa9, 0xaa, 0x43, 0x40, 0x21, 0xed, 0x2b, 0x0a, 0x65, 0x9b, 0xc4, 0xd0, + 0x0c, 0xbf, 0x9c, 0x4f, 0x16, 0x7a, 0x06, 0x06, 0x72, 0x7e, 0xb0, 0xd0, 0xb3, 0x30, 0x90, 0xf3, 0x47, 0x8b, 0xda, + 0xad, 0x03, 0x4d, 0x40, 0x3c, 0x17, 0x8e, 0x4e, 0x4a, 0xab, 0xb2, 0x05, 0x74, 0x73, 0x1f, 0x41, 0xff, 0x97, 0x3d, + 0x04, 0x9d, 0x5c, 0x68, 0x47, 0x6e, 0x40, 0xdb, 0x21, 0x09, 0xec, 0x15, 0x93, 0x0a, 0x13, 0x8b, 0xe8, 0x90, 0x8d, + 0xc1, 0x10, 0x5b, 0x7d, 0x70, 0xc8, 0xc6, 0x53, 0x9f, 0x04, 0x01, 0xa3, 0xfb, 0x83, 0x01, 0x07, 0xbf, 0xc1, 0xab, + 0xf4, 0xd1, 0x46, 0xa0, 0x9b, 0xbe, 0xbb, 0x1b, 0x7a, 0x17, 0x57, 0x70, 0xaa, 0x76, 0xf7, 0x24, 0x74, 0x93, 0x69, + 0xc7, 0xea, 0x35, 0xc4, 0x0d, 0xf9, 0x95, 0xd1, 0x68, 0x64, 0x53, 0x42, 0x42, 0x0c, 0xe7, 0xd0, 0xcc, 0x69, 0xb9, + 0x7c, 0x75, 0xeb, 0xd9, 0x80, 0x0c, 0x33, 0xbd, 0x61, 0xb2, 0xbe, 0x87, 0xb2, 0xea, 0x31, 0xb4, 0x43, 0xef, 0x91, + 0xe3, 0xfb, 0x07, 0xdf, 0x64, 0xfc, 0xcc, 0xe1, 0xda, 0xc3, 0xb9, 0xf0, 0x5d, 0xd6, 0x8c, 0xcc, 0xa1, 0xf3, 0xec, + 0xe3, 0x78, 0x0f, 0xe3, 0xe4, 0xf3, 0x2c, 0x94, 0x37, 0x5e, 0xd3, 0xff, 0xa8, 0xf4, 0x66, 0x87, 0x43, 0x4e, 0x57, + 0xb0, 0xe2, 0x66, 0x55, 0x68, 0xf8, 0x59, 0xe4, 0x8d, 0x23, 0x5e, 0x93, 0xa8, 0xea, 0x3e, 0xef, 0x6d, 0xc4, 0xd2, + 0x8e, 0x71, 0x00, 0x70, 0xa2, 0x56, 0x0d, 0xbb, 0xd2, 0xb8, 0x56, 0x07, 0x31, 0x22, 0x25, 0x6c, 0x95, 0x38, 0x12, + 0xca, 0xdf, 0x00, 0x84, 0xc5, 0x50, 0x1c, 0x6f, 0x0d, 0xeb, 0x3d, 0xec, 0x87, 0x2e, 0xd0, 0x34, 0xa7, 0x54, 0x33, + 0x00, 0x48, 0x02, 0xfe, 0xe8, 0xe9, 0xa6, 0xa1, 0xb2, 0xcd, 0xf3, 0xd0, 0xb2, 0xba, 0x82, 0x7b, 0x7a, 0xea, 0x4a, + 0x06, 0xc6, 0x55, 0x1d, 0x7b, 0x9b, 0xbb, 0xdb, 0xa3, 0x55, 0xe4, 0x3b, 0x9b, 0xd4, 0x34, 0x0b, 0x20, 0x45, 0xe3, + 0xd2, 0x17, 0x7a, 0x3a, 0x01, 0x5a, 0xaf, 0x2d, 0x15, 0xed, 0xf7, 0x51, 0x8c, 0x1a, 0x17, 0x0a, 0xac, 0xc2, 0x04, + 0x85, 0x43, 0x84, 0x11, 0x42, 0x7f, 0x2e, 0xc3, 0x8d, 0x2f, 0xc8, 0x20, 0x1a, 0xae, 0x45, 0x87, 0x22, 0x72, 0xbc, + 0x68, 0x5b, 0xaa, 0x6a, 0x4e, 0x9a, 0xb6, 0x04, 0xde, 0x44, 0x06, 0x6c, 0xe7, 0x9f, 0x36, 0x44, 0xae, 0xc2, 0x05, + 0x0c, 0xdf, 0x11, 0xd7, 0x82, 0xe8, 0xa6, 0x36, 0xf5, 0x36, 0xec, 0x10, 0x1d, 0x4d, 0xf1, 0xe8, 0x90, 0x7b, 0xee, + 0x9e, 0xdb, 0x22, 0xbe, 0xfe, 0x0c, 0xb9, 0x6b, 0x3a, 0x7b, 0x29, 0xc2, 0xa0, 0x6e, 0xd9, 0x40, 0xb1, 0x0e, 0x9d, + 0xa0, 0x00, 0x03, 0xb8, 0x7c, 0x02, 0x3a, 0x36, 0x18, 0x54, 0x04, 0x9f, 0x14, 0xb6, 0x4d, 0x83, 0xfc, 0x11, 0xef, + 0x86, 0x0e, 0xaf, 0x2d, 0x79, 0x20, 0x5e, 0x61, 0x9f, 0x29, 0xe1, 0xee, 0x05, 0x05, 0xdd, 0x51, 0x5e, 0xae, 0x0a, + 0x57, 0xa5, 0x01, 0xa8, 0xb2, 0xe3, 0xb9, 0xd6, 0x94, 0xb4, 0x80, 0x95, 0x92, 0xba, 0xf3, 0x9b, 0xe0, 0xb8, 0x25, + 0x53, 0xe1, 0x5b, 0x75, 0xa3, 0xca, 0x43, 0x89, 0x22, 0x1d, 0x7b, 0xb6, 0x73, 0xb0, 0x06, 0xc0, 0x53, 0xd8, 0x5e, + 0x9c, 0x09, 0xf8, 0xdc, 0x69, 0x97, 0x2d, 0x73, 0x09, 0x14, 0xf5, 0xfd, 0x38, 0x2f, 0x3b, 0xbe, 0xdc, 0x1d, 0x6d, + 0xef, 0xa1, 0x37, 0x62, 0x63, 0xbc, 0xbe, 0x8c, 0x9a, 0x7e, 0xf1, 0x0c, 0x57, 0x96, 0x82, 0xdc, 0xd3, 0x54, 0x8f, + 0x30, 0x3a, 0x04, 0xa6, 0x29, 0x3f, 0x62, 0xe3, 0xe9, 0x70, 0x68, 0xc8, 0xa0, 0xd7, 0x4c, 0x0c, 0x05, 0xf6, 0x05, + 0xb4, 0xce, 0x4c, 0x5c, 0xe3, 0xd3, 0xf6, 0x15, 0xb4, 0xba, 0x41, 0x99, 0xdc, 0x29, 0x18, 0x3e, 0xd0, 0x92, 0x29, + 0x98, 0x2a, 0xbc, 0x21, 0x52, 0xc9, 0x3e, 0x2d, 0xad, 0xc3, 0xbe, 0x5d, 0x28, 0xb4, 0xd0, 0xc4, 0xaf, 0x32, 0xc4, + 0x4f, 0x5d, 0x67, 0xfe, 0x6d, 0xda, 0xa7, 0x06, 0xb1, 0x70, 0x24, 0x06, 0x11, 0xbf, 0x38, 0x55, 0xb6, 0x13, 0x42, + 0xc5, 0xc6, 0x43, 0xd7, 0xba, 0x71, 0x24, 0x55, 0x18, 0x4a, 0xa1, 0xf1, 0xd4, 0x70, 0xdf, 0x0b, 0x1d, 0xbe, 0x0e, + 0xb3, 0xb8, 0xcd, 0x1a, 0x49, 0x8d, 0x71, 0x2a, 0x4c, 0x9c, 0x4a, 0xb9, 0x8a, 0x04, 0x06, 0xca, 0xb3, 0x85, 0x41, + 0x80, 0x49, 0x4c, 0x32, 0xb6, 0x16, 0xc2, 0x84, 0xb1, 0x73, 0x85, 0x69, 0xea, 0x22, 0xf5, 0x9b, 0x81, 0xc9, 0x82, + 0x86, 0xfc, 0x1e, 0x8d, 0xd6, 0x54, 0x4d, 0x01, 0x86, 0x71, 0x94, 0x6a, 0xfc, 0x5b, 0x84, 0xda, 0x0c, 0x03, 0x00, + 0xdb, 0xbc, 0x95, 0x99, 0xa8, 0x5e, 0x0a, 0x84, 0x40, 0x73, 0xf6, 0x53, 0x71, 0xb5, 0x33, 0x0b, 0x46, 0xd1, 0x6e, + 0xaf, 0x7c, 0x3e, 0x70, 0x42, 0x79, 0xac, 0x2e, 0x50, 0x2f, 0x64, 0xf1, 0x4a, 0xa6, 0xbc, 0x15, 0x22, 0x73, 0x4f, + 0xb2, 0x9f, 0xf2, 0x11, 0x9c, 0x57, 0xe8, 0x54, 0x6e, 0xb6, 0x89, 0x32, 0x4b, 0x92, 0x8c, 0x05, 0xc6, 0xe6, 0x25, + 0x98, 0x49, 0xcd, 0x8c, 0xe1, 0xd7, 0x10, 0x67, 0x6c, 0xe7, 0x24, 0xdc, 0xdc, 0xcd, 0x03, 0x43, 0x94, 0x72, 0xd1, + 0x12, 0x0d, 0x5b, 0x3b, 0x5e, 0x4f, 0xae, 0x09, 0xf7, 0x61, 0x23, 0xd6, 0x64, 0x8c, 0x71, 0x6d, 0x6e, 0x64, 0xfd, + 0x68, 0x81, 0x07, 0x63, 0xca, 0xfa, 0x13, 0xc8, 0xb4, 0x92, 0xb2, 0xce, 0x17, 0x46, 0xcc, 0xa4, 0x12, 0xbd, 0xdb, + 0x37, 0x3e, 0xab, 0xbb, 0x88, 0xfa, 0xad, 0xfd, 0x9e, 0xd4, 0xc3, 0xad, 0xff, 0xa0, 0xb0, 0x06, 0x95, 0x11, 0x97, + 0x11, 0xe5, 0x99, 0x03, 0xdd, 0x34, 0x29, 0xe2, 0xf4, 0x74, 0x15, 0x17, 0x25, 0x4f, 0xa1, 0x52, 0x4d, 0xdd, 0xa2, + 0xde, 0x04, 0xec, 0x0d, 0x91, 0x24, 0x59, 0x4b, 0x63, 0x2b, 0x76, 0x69, 0x90, 0x9e, 0x3b, 0x23, 0x2e, 0xbd, 0xa8, + 0xd0, 0x90, 0x96, 0x7a, 0x67, 0xa1, 0x92, 0xf9, 0x2b, 0xfe, 0x33, 0xa8, 0x15, 0xe8, 0x68, 0x93, 0x62, 0x3c, 0x05, + 0x46, 0x7c, 0x37, 0x98, 0xd5, 0x3d, 0xc4, 0x45, 0x13, 0x94, 0x7a, 0x47, 0xec, 0xf8, 0xb9, 0xc9, 0xc3, 0xbb, 0x90, + 0x73, 0x06, 0x9f, 0xde, 0xcf, 0x12, 0xb5, 0xd6, 0x91, 0x18, 0xa9, 0x19, 0x40, 0xd3, 0x41, 0x99, 0xf3, 0x58, 0x04, + 0xb3, 0x9e, 0x49, 0x8c, 0x7a, 0x5c, 0xff, 0x02, 0x0d, 0xb5, 0xdf, 0xac, 0x2c, 0xcf, 0xaa, 0xdb, 0x2f, 0xe1, 0xc0, + 0xa6, 0xb6, 0x82, 0x1e, 0xaf, 0x2b, 0x79, 0x71, 0xa1, 0xba, 0xed, 0x17, 0x62, 0xe4, 0x74, 0x8d, 0x6b, 0xe9, 0xbc, + 0x5a, 0xb0, 0x5e, 0x77, 0xba, 0x59, 0xdc, 0xcd, 0x32, 0x1a, 0x08, 0x6b, 0x3b, 0x9f, 0x68, 0xfe, 0xac, 0xd9, 0x76, + 0x1f, 0x6f, 0x41, 0xcc, 0x02, 0x80, 0x48, 0x0f, 0xa2, 0x60, 0x99, 0xa5, 0x3c, 0xa0, 0xf2, 0x2e, 0x8e, 0xb2, 0x50, + 0x7a, 0x39, 0xcb, 0xf8, 0x69, 0xd3, 0x58, 0xeb, 0xac, 0x50, 0x86, 0xd6, 0x46, 0x77, 0xba, 0xca, 0x10, 0xdb, 0x4f, + 0xe2, 0x6c, 0x01, 0xee, 0x8f, 0x19, 0x0a, 0x0d, 0x9d, 0x65, 0xa4, 0x89, 0x86, 0xef, 0xba, 0x63, 0x90, 0x51, 0x9c, + 0xac, 0xf3, 0x4a, 0xba, 0xd1, 0x67, 0x6d, 0x24, 0xcc, 0x3d, 0x44, 0xbf, 0x8a, 0xc1, 0xa3, 0xdc, 0xe7, 0xb5, 0xd1, + 0xc9, 0xb4, 0x8c, 0xb4, 0x3b, 0x3f, 0xa9, 0x97, 0x59, 0xaa, 0x75, 0xd8, 0x3e, 0xc3, 0xde, 0x1a, 0x93, 0xde, 0x84, + 0xd4, 0x30, 0x12, 0x9f, 0xcf, 0xa8, 0x11, 0x02, 0xda, 0x72, 0xfc, 0x1d, 0x3e, 0xc3, 0xd0, 0x14, 0x58, 0xaa, 0xb8, + 0x85, 0xdd, 0xf0, 0x35, 0x9f, 0xac, 0x5a, 0x00, 0x82, 0x59, 0xf9, 0x7a, 0x17, 0xaf, 0x84, 0xfa, 0x54, 0x9b, 0x01, + 0x20, 0x0b, 0x4a, 0xb9, 0xe3, 0xa7, 0x54, 0x3a, 0x58, 0xa2, 0x68, 0x7b, 0x39, 0x7d, 0xa3, 0x63, 0xe3, 0xfb, 0xf4, + 0x5c, 0xc0, 0x76, 0x21, 0xbf, 0x75, 0xa7, 0x5e, 0xa2, 0x22, 0xb5, 0x6d, 0xd6, 0x3d, 0x7c, 0xb9, 0x41, 0x93, 0x30, + 0x82, 0x32, 0x65, 0x0a, 0x60, 0x70, 0x53, 0x8d, 0x82, 0x49, 0xab, 0x91, 0xb0, 0xa5, 0x9e, 0x64, 0xb9, 0xe9, 0x83, + 0x53, 0xdd, 0x21, 0xe8, 0xb9, 0x51, 0xce, 0x17, 0x2d, 0xfb, 0xb5, 0x82, 0xa3, 0x93, 0xab, 0x21, 0x6a, 0xe6, 0xbd, + 0xb6, 0x23, 0x43, 0xca, 0x65, 0x18, 0x08, 0xa6, 0x1c, 0xf3, 0xf4, 0xd8, 0x7a, 0x46, 0x44, 0xf7, 0x9c, 0x7d, 0xa6, + 0x5b, 0x75, 0x25, 0x01, 0xd1, 0xf1, 0x9b, 0xc7, 0x2f, 0x2f, 0xe3, 0x0b, 0x83, 0xa2, 0xd4, 0xb0, 0x88, 0x51, 0xa6, + 0x7d, 0x95, 0x84, 0xc1, 0xfb, 0xf0, 0xee, 0x27, 0x95, 0xa5, 0xf6, 0x7b, 0xb0, 0xb1, 0xa2, 0xaa, 0x0f, 0x25, 0x2f, + 0x9a, 0x02, 0xac, 0xbb, 0x2c, 0x51, 0x20, 0xf7, 0x3b, 0x9b, 0x66, 0xbe, 0x89, 0x1a, 0x37, 0x1b, 0xd6, 0x1b, 0xd7, + 0xed, 0x52, 0x5b, 0xb2, 0x23, 0x2b, 0x91, 0x33, 0x8b, 0xc1, 0x8c, 0x1f, 0x15, 0x06, 0xa5, 0x61, 0x83, 0xaa, 0x54, + 0xfc, 0xde, 0x88, 0xe0, 0xd4, 0xb1, 0xaa, 0x30, 0xa6, 0x01, 0xb3, 0xad, 0xa8, 0x35, 0xa8, 0x83, 0x52, 0xda, 0x9a, + 0x80, 0x6c, 0xbf, 0xb1, 0x82, 0x9a, 0xdf, 0xbf, 0x1b, 0x43, 0xbe, 0xa6, 0x14, 0x54, 0x12, 0xb0, 0x33, 0x68, 0xf4, + 0x54, 0x09, 0x03, 0x29, 0x08, 0x9e, 0x00, 0xe5, 0x8b, 0xa8, 0xb1, 0xda, 0xed, 0xab, 0x53, 0x63, 0xb4, 0x05, 0x84, + 0x16, 0xd2, 0xa3, 0xcb, 0x3e, 0x6e, 0x63, 0x1d, 0x48, 0x3c, 0x38, 0xc1, 0x76, 0xae, 0xae, 0xd1, 0x48, 0x68, 0x7e, + 0xdf, 0x68, 0xc0, 0x6b, 0x5a, 0x81, 0x42, 0x3d, 0xc7, 0xd1, 0xd0, 0xd9, 0x21, 0x05, 0x11, 0x1b, 0xb4, 0xb0, 0xef, + 0x8e, 0x0f, 0xcd, 0xbe, 0x9e, 0x27, 0x0b, 0x52, 0x53, 0xe9, 0x3e, 0x77, 0x4b, 0xc8, 0x5a, 0x75, 0x28, 0x2b, 0x0f, + 0x70, 0xbc, 0x50, 0x32, 0x7f, 0x87, 0x49, 0x8d, 0xd2, 0x98, 0xd0, 0x18, 0xb1, 0x80, 0x25, 0x41, 0x7b, 0x3d, 0x50, + 0xbf, 0x0c, 0x42, 0x85, 0x33, 0x3d, 0x91, 0xf8, 0x94, 0x72, 0xf5, 0x69, 0x41, 0xea, 0x69, 0xc1, 0x1c, 0xe8, 0xa5, + 0x6f, 0xe5, 0x57, 0x36, 0x3e, 0xda, 0xdd, 0xbb, 0xe6, 0xc2, 0x3a, 0x86, 0xb8, 0xd8, 0xc2, 0x6f, 0x4e, 0x4d, 0x01, + 0xd8, 0xf0, 0x58, 0x97, 0xe5, 0x1b, 0x35, 0x91, 0x59, 0x1c, 0x92, 0x08, 0x24, 0xdb, 0xcd, 0xcd, 0x6d, 0x04, 0xdb, + 0xde, 0x42, 0x6d, 0xa8, 0xbf, 0xbc, 0xed, 0x7e, 0xc7, 0xf0, 0x72, 0x4f, 0xee, 0xdd, 0xb4, 0xa1, 0xfc, 0xe1, 0xee, + 0x55, 0xf2, 0x7f, 0x55, 0xc9, 0xdd, 0x56, 0x99, 0x75, 0x5b, 0xbc, 0xdf, 0x75, 0xdc, 0x72, 0x8c, 0x06, 0x81, 0x35, + 0x05, 0x06, 0xd2, 0x93, 0xc6, 0x34, 0xd1, 0xd1, 0x95, 0x19, 0x33, 0x78, 0x74, 0x01, 0x9a, 0xc3, 0x74, 0x9e, 0xc7, + 0x00, 0x1c, 0xe0, 0x1f, 0x79, 0x84, 0xfa, 0xa7, 0xf3, 0x3c, 0x38, 0x0d, 0x06, 0xe5, 0x20, 0xd0, 0x9f, 0xb8, 0xe6, + 0x04, 0x0b, 0xd0, 0xb9, 0xc5, 0x0c, 0xe2, 0x4e, 0x5a, 0x33, 0x87, 0xf8, 0x30, 0x99, 0x0e, 0x06, 0x31, 0xd9, 0x00, + 0x48, 0x5f, 0xbc, 0xb0, 0xce, 0x41, 0x85, 0x5e, 0x90, 0xad, 0xba, 0x8b, 0x66, 0xc5, 0x5e, 0xb5, 0xd3, 0xbc, 0xdf, + 0xcf, 0xe7, 0xe5, 0x20, 0x68, 0x54, 0x58, 0x18, 0xef, 0x3f, 0xda, 0xfc, 0xd2, 0xe8, 0xa4, 0x09, 0x46, 0xac, 0x3d, + 0x46, 0xf5, 0x8a, 0xa7, 0x19, 0x6d, 0xdc, 0x8e, 0x95, 0xf2, 0x05, 0x44, 0xf1, 0xc0, 0x90, 0xb5, 0xf2, 0xee, 0x1c, + 0xbc, 0x2e, 0x37, 0xde, 0x1c, 0x51, 0x80, 0xdd, 0x14, 0xc6, 0x49, 0xcd, 0x45, 0x17, 0x35, 0xf1, 0x0c, 0x76, 0xba, + 0x7a, 0x2b, 0xd1, 0x6a, 0xbc, 0x17, 0xef, 0x9a, 0x8d, 0xbf, 0x96, 0x7b, 0xba, 0xcc, 0xbd, 0x73, 0x40, 0x9c, 0xdd, + 0x8b, 0xab, 0x3d, 0x2c, 0x75, 0x2f, 0x18, 0x58, 0xe4, 0x90, 0x76, 0xb5, 0x7a, 0x28, 0x22, 0x75, 0x1e, 0x83, 0x01, + 0x93, 0x69, 0x48, 0x4d, 0xa6, 0xbd, 0x58, 0x41, 0xda, 0x58, 0x6b, 0x01, 0x6d, 0x38, 0x2c, 0x76, 0xec, 0x86, 0xdd, + 0xe9, 0xd6, 0xa1, 0x50, 0xc2, 0x40, 0xd6, 0x75, 0xf3, 0x50, 0x6b, 0x78, 0x22, 0xe8, 0x41, 0x35, 0xda, 0x4f, 0x0f, + 0xe5, 0x49, 0x7b, 0x2c, 0xc0, 0x45, 0x0f, 0x5f, 0x3e, 0x17, 0x78, 0xd1, 0xde, 0x41, 0x9e, 0x33, 0x9f, 0x2a, 0x1f, + 0xc4, 0x86, 0x5b, 0x86, 0x0f, 0xed, 0xe3, 0x5b, 0x81, 0x4c, 0xea, 0x8e, 0xa6, 0xb6, 0x76, 0x47, 0xe3, 0x98, 0x40, + 0xbf, 0x29, 0x47, 0x29, 0x13, 0x53, 0xcb, 0x92, 0x1d, 0xf5, 0x72, 0xe5, 0x0d, 0x95, 0xb2, 0xa3, 0x65, 0x9b, 0xf3, + 0x4b, 0x1b, 0x09, 0xfd, 0xbe, 0x76, 0x07, 0xc2, 0x37, 0x6a, 0xbd, 0x21, 0x2f, 0x1b, 0x22, 0x96, 0x43, 0xcc, 0xc0, + 0xf1, 0x42, 0x2a, 0xd7, 0xee, 0xa2, 0xa9, 0xaa, 0xdb, 0xd9, 0xca, 0x05, 0x2d, 0xf1, 0x56, 0x0a, 0xac, 0x22, 0x75, + 0x7a, 0x3d, 0x95, 0x78, 0xd7, 0x47, 0xb1, 0xfd, 0x08, 0xd8, 0xc6, 0xc6, 0xd1, 0xd8, 0xb8, 0x45, 0x6c, 0xf0, 0x55, + 0x54, 0xd1, 0x82, 0x03, 0x04, 0x77, 0x5b, 0x52, 0x4b, 0x33, 0x87, 0xb8, 0xaf, 0x78, 0x80, 0xf6, 0x5d, 0x1c, 0x71, + 0x2a, 0xc0, 0xb6, 0xae, 0x75, 0xce, 0x6a, 0x39, 0x60, 0x33, 0xd1, 0xf3, 0x4f, 0xab, 0x46, 0x22, 0x86, 0x55, 0x36, + 0x52, 0x56, 0x68, 0xf7, 0x4a, 0x97, 0x70, 0xf1, 0x05, 0x78, 0xd9, 0xbe, 0x5b, 0xd9, 0x7d, 0xba, 0xc4, 0xfe, 0x61, + 0x5e, 0x35, 0xc1, 0x23, 0xaf, 0xf1, 0xf6, 0x1e, 0x26, 0xbe, 0x54, 0x0a, 0xe1, 0x55, 0x4a, 0x43, 0x09, 0xc0, 0x20, + 0x09, 0x6a, 0xb8, 0xd2, 0xb6, 0x19, 0xa4, 0x32, 0x86, 0xdd, 0xad, 0xde, 0xea, 0xff, 0xb4, 0x0a, 0x17, 0x95, 0x2c, + 0xc6, 0x24, 0xd0, 0x39, 0xd5, 0x72, 0x13, 0x58, 0xf0, 0x74, 0x97, 0x1c, 0x81, 0xc2, 0x4e, 0x00, 0x37, 0x94, 0xb0, + 0xdf, 0xf1, 0x36, 0x94, 0xb3, 0xd7, 0x56, 0xf2, 0xe4, 0xf6, 0x25, 0x15, 0x34, 0x21, 0x53, 0x61, 0xf7, 0x6f, 0x6b, + 0xc3, 0xbe, 0x0c, 0xe5, 0x48, 0x0a, 0x5c, 0x1c, 0x74, 0x0e, 0x60, 0x7f, 0x90, 0xcb, 0xd8, 0x7c, 0x26, 0xfd, 0xbe, + 0x7a, 0xff, 0x34, 0xcf, 0x92, 0x8f, 0x3b, 0xef, 0x0d, 0x4f, 0xb3, 0x64, 0x40, 0x25, 0x62, 0x6a, 0x5d, 0x15, 0xc3, + 0xa5, 0x76, 0x31, 0x6e, 0x90, 0x8c, 0xf8, 0x4e, 0xea, 0x10, 0x23, 0xc6, 0x17, 0xd9, 0x21, 0x29, 0x39, 0x5d, 0xd6, + 0x9d, 0x3d, 0xd7, 0xa2, 0x19, 0x34, 0x86, 0xdb, 0xf1, 0x5e, 0xd2, 0x2b, 0x40, 0x05, 0x88, 0xee, 0x59, 0xe0, 0x1a, + 0xde, 0x5c, 0x12, 0x8d, 0x2d, 0x3d, 0x6d, 0x89, 0x06, 0xee, 0x94, 0x09, 0x49, 0xb5, 0x71, 0x80, 0x45, 0xac, 0xeb, + 0x8f, 0x61, 0x01, 0x40, 0xad, 0x06, 0xe9, 0x95, 0xbe, 0x20, 0x54, 0x25, 0x21, 0x18, 0x9d, 0x48, 0x78, 0x19, 0xd0, + 0x38, 0x33, 0x89, 0x16, 0x36, 0x38, 0xa0, 0x2f, 0x2b, 0x93, 0x68, 0x6c, 0xc8, 0x03, 0xca, 0x6d, 0x1a, 0xc0, 0xe0, + 0x83, 0x24, 0x89, 0xbe, 0x5f, 0x9a, 0x24, 0x10, 0x94, 0xa0, 0x7c, 0x83, 0xfe, 0x51, 0x7a, 0x3e, 0x96, 0x3f, 0x7a, + 0x87, 0xd2, 0x0f, 0x61, 0x01, 0x32, 0x45, 0x5d, 0x31, 0xcd, 0xd8, 0x51, 0xd6, 0x6d, 0x4c, 0xe2, 0x79, 0xda, 0x5d, + 0x15, 0xca, 0xa5, 0x0b, 0xfc, 0xca, 0x32, 0xc4, 0xb1, 0x7e, 0x1a, 0xaf, 0xd8, 0x71, 0xc8, 0x35, 0x5e, 0xfa, 0xd3, + 0x78, 0x85, 0x33, 0x44, 0xab, 0x56, 0x02, 0x51, 0xfe, 0xab, 0x36, 0x70, 0x88, 0xfb, 0x04, 0x83, 0x5c, 0x54, 0xde, + 0x03, 0x81, 0xbc, 0xad, 0x20, 0x22, 0xcd, 0xec, 0x3a, 0x8c, 0x48, 0xb5, 0x93, 0x64, 0xbe, 0xfc, 0x51, 0x66, 0xc2, + 0xfb, 0x06, 0x1e, 0x9b, 0xcd, 0xb2, 0x29, 0xe6, 0x0b, 0x15, 0xcc, 0xc1, 0x7d, 0xa2, 0xe2, 0x52, 0x54, 0xfe, 0x13, + 0x76, 0xc1, 0x8b, 0xf1, 0xe0, 0xf5, 0x1a, 0x01, 0xf6, 0x2b, 0xff, 0xc9, 0x1b, 0xb3, 0xbf, 0xac, 0x1b, 0x5f, 0x66, + 0x22, 0x3e, 0xf0, 0xd1, 0x0d, 0xe5, 0xa3, 0x5b, 0x2f, 0xd3, 0x77, 0x0d, 0x28, 0x91, 0x51, 0x59, 0xf1, 0xd5, 0x8a, + 0xa7, 0xb3, 0xab, 0x24, 0xca, 0x46, 0x15, 0x17, 0x30, 0xbd, 0xe0, 0x78, 0x97, 0xac, 0xcf, 0xb2, 0xe4, 0x25, 0xc4, + 0x1e, 0x58, 0x49, 0x85, 0xc5, 0x0f, 0xcb, 0x4c, 0x2d, 0x66, 0x21, 0x2b, 0x29, 0x78, 0x30, 0xbb, 0x4e, 0xa2, 0xbf, + 0x96, 0x1e, 0x92, 0x9a, 0x99, 0xb2, 0x4d, 0xed, 0x08, 0xb5, 0xf1, 0x75, 0xa4, 0x1b, 0x6d, 0x01, 0x00, 0xf7, 0x6c, + 0x91, 0x46, 0x92, 0x89, 0xe1, 0xa4, 0x66, 0xdc, 0xa4, 0x17, 0x98, 0x1a, 0xd7, 0xac, 0xa2, 0x89, 0xb3, 0x90, 0x01, + 0xbd, 0x3f, 0xcd, 0xf5, 0x73, 0x06, 0xf7, 0x1f, 0xb4, 0x06, 0x2e, 0x0f, 0x8b, 0x7e, 0x5f, 0x1e, 0x16, 0xdb, 0x6d, + 0x79, 0x14, 0xf7, 0xfb, 0xf2, 0x28, 0x36, 0xfc, 0x83, 0x52, 0x6c, 0x1b, 0x73, 0x83, 0x84, 0xe6, 0x12, 0xa2, 0x16, + 0x8d, 0xe0, 0x0f, 0xcd, 0x72, 0x2e, 0xa2, 0xfc, 0x30, 0xe9, 0xf7, 0x7b, 0xcb, 0x99, 0x18, 0xe4, 0xc3, 0x24, 0xca, + 0x87, 0x89, 0xe7, 0x84, 0xf8, 0x8b, 0xe7, 0x84, 0xa8, 0x68, 0xe0, 0x0a, 0xce, 0x0c, 0x40, 0x14, 0xf0, 0xe9, 0x1f, + 0xd5, 0xb5, 0x14, 0xba, 0x96, 0x58, 0xd5, 0x92, 0xe8, 0x0a, 0x6a, 0x76, 0x5d, 0x84, 0x25, 0x96, 0x42, 0x97, 0xec, + 0xbb, 0x25, 0xf0, 0x44, 0x39, 0xaf, 0x36, 0xc0, 0xc0, 0x46, 0x78, 0xe7, 0x30, 0xe1, 0x24, 0xd6, 0x35, 0xa0, 0x9d, + 0x6e, 0x6a, 0x7a, 0x4e, 0x57, 0xf4, 0x02, 0xf9, 0xd9, 0x73, 0x30, 0x58, 0x3a, 0x64, 0xf9, 0x74, 0x30, 0x38, 0x27, + 0x2b, 0x56, 0xce, 0xc3, 0x78, 0x10, 0xae, 0x67, 0xf9, 0xf0, 0x3c, 0x3a, 0x27, 0xe4, 0xab, 0x62, 0x41, 0x7b, 0xab, + 0x51, 0xf9, 0x31, 0x83, 0xf0, 0x7e, 0xe9, 0x2c, 0xcc, 0x4c, 0x9c, 0x8f, 0xd5, 0xe8, 0x86, 0xae, 0x20, 0x7e, 0x0d, + 0xdc, 0x48, 0x48, 0x04, 0x1d, 0xb9, 0xa0, 0x2b, 0xba, 0xa6, 0xd2, 0xcc, 0x30, 0x46, 0xeb, 0xb6, 0xc7, 0x49, 0x02, + 0x8e, 0xc9, 0xae, 0xf8, 0x68, 0xac, 0x0a, 0xef, 0xfa, 0x8e, 0xd0, 0x5e, 0x2f, 0x71, 0x83, 0xf4, 0x43, 0x7b, 0x90, + 0x80, 0x11, 0x19, 0xa9, 0x81, 0x32, 0x23, 0x23, 0xa9, 0x99, 0x54, 0x1c, 0x92, 0xd8, 0x1f, 0x12, 0x35, 0x0e, 0x89, + 0x3f, 0x0e, 0xb9, 0x1e, 0x07, 0xe4, 0xee, 0x97, 0x6c, 0x4c, 0x53, 0x36, 0xa6, 0x6b, 0x35, 0x2a, 0xf4, 0x92, 0x9e, + 0x69, 0xea, 0x78, 0xca, 0x5e, 0xc1, 0x81, 0x3d, 0x08, 0xf3, 0x59, 0x3c, 0x7c, 0x15, 0xbd, 0x22, 0xe4, 0x2b, 0x49, + 0xaf, 0xd4, 0xa5, 0x0c, 0x02, 0x21, 0x5e, 0x82, 0x73, 0xa9, 0x0b, 0x75, 0x72, 0x69, 0x76, 0x1c, 0x3e, 0x5d, 0x34, + 0x9e, 0xce, 0x20, 0xa2, 0x0f, 0x5a, 0xa9, 0xf4, 0xfb, 0xe1, 0x39, 0x2b, 0xe7, 0xa7, 0xe1, 0x98, 0x00, 0x0e, 0x8f, + 0x1e, 0xce, 0xf3, 0xd1, 0x0d, 0x3d, 0x1f, 0xdd, 0x12, 0xb0, 0xf0, 0x1a, 0x4f, 0xd7, 0x87, 0x2c, 0x9e, 0x0e, 0x06, + 0x6b, 0xa4, 0xea, 0x2a, 0xf7, 0x9a, 0x2c, 0xe8, 0x39, 0x4e, 0x04, 0x01, 0x86, 0x3e, 0x13, 0x6b, 0x43, 0xc3, 0x5f, + 0x31, 0xf8, 0xf8, 0x96, 0x9d, 0x8f, 0x6e, 0xe9, 0x0d, 0x7b, 0xb5, 0x1d, 0x4f, 0x81, 0x99, 0x5a, 0xcd, 0xc2, 0xdb, + 0xc3, 0x8b, 0xd9, 0x05, 0xbb, 0x8d, 0x6e, 0x8f, 0xa0, 0xa1, 0x97, 0xec, 0x16, 0x01, 0x97, 0xd2, 0x87, 0xcb, 0xc1, + 0x2b, 0xb2, 0x3f, 0x18, 0xa4, 0x24, 0x0a, 0xaf, 0x42, 0xaf, 0x95, 0xaf, 0xe8, 0x2d, 0xa1, 0x2b, 0x76, 0x83, 0xa3, + 0x71, 0xc1, 0xf0, 0x83, 0x33, 0x76, 0x5b, 0x5f, 0x85, 0xde, 0x6e, 0x4e, 0x44, 0x27, 0x88, 0x11, 0xfa, 0x1a, 0x38, + 0x9a, 0xe5, 0xc2, 0x4c, 0xc0, 0x93, 0xb9, 0xc8, 0x68, 0x51, 0x68, 0x06, 0xe2, 0xac, 0x04, 0xc4, 0x92, 0xa8, 0xfb, + 0xcd, 0x46, 0xa7, 0xb0, 0x9c, 0xfb, 0xfd, 0x5e, 0x65, 0xe8, 0x01, 0x22, 0x67, 0x76, 0xd2, 0x83, 0x9e, 0x4f, 0x0f, + 0xf0, 0x13, 0xbd, 0x6a, 0x10, 0x27, 0xf3, 0x87, 0x65, 0xf4, 0x8b, 0x47, 0x1f, 0x3e, 0x74, 0x53, 0x9e, 0x32, 0xff, + 0xf7, 0x29, 0x8f, 0xcc, 0xa3, 0x57, 0x95, 0x07, 0x82, 0xe7, 0xad, 0x49, 0xa5, 0x91, 0xa8, 0x46, 0xa7, 0xab, 0x18, + 0xb4, 0x91, 0xa8, 0x6d, 0xd0, 0x4f, 0x68, 0x61, 0x05, 0x11, 0x72, 0x0e, 0x9e, 0x81, 0x41, 0x2a, 0x84, 0xca, 0x51, + 0x8b, 0x12, 0x0d, 0x41, 0x72, 0x59, 0x72, 0x15, 0x3e, 0x87, 0x50, 0x75, 0xfa, 0x38, 0x13, 0x61, 0x43, 0x8f, 0x43, + 0x1f, 0x00, 0xfe, 0xf7, 0x1d, 0x72, 0x51, 0xf2, 0x0b, 0x3c, 0x9b, 0xdb, 0x04, 0xa3, 0x60, 0x89, 0x68, 0x86, 0xb6, + 0x41, 0xec, 0xc7, 0x92, 0x60, 0x3d, 0x92, 0xc6, 0xa3, 0xd2, 0x1c, 0x11, 0x7e, 0x14, 0x1f, 0x45, 0x4f, 0x63, 0x43, + 0x22, 0x39, 0x92, 0x48, 0x3e, 0x00, 0xc2, 0x49, 0xd0, 0x5f, 0xdc, 0x35, 0xd9, 0xb5, 0x90, 0x18, 0xf4, 0xa7, 0x25, + 0xd3, 0xb2, 0x7b, 0xd5, 0x63, 0x5f, 0x11, 0xe4, 0x8e, 0xe9, 0xdf, 0xbc, 0x3e, 0xfc, 0xbd, 0xc4, 0x19, 0xb4, 0x9e, + 0x2f, 0xaa, 0x33, 0x33, 0x6f, 0x70, 0x23, 0xaf, 0xcb, 0xda, 0x75, 0xf9, 0x9c, 0xef, 0xf1, 0x9b, 0x8a, 0x8b, 0xb4, + 0xdc, 0xfb, 0xb9, 0x6a, 0xe3, 0x39, 0x95, 0xeb, 0x95, 0x8b, 0xb3, 0xa2, 0x8c, 0x53, 0x3d, 0xa9, 0x8b, 0xb1, 0x86, + 0x6d, 0xf8, 0x3d, 0xa2, 0xae, 0xa4, 0xe5, 0xe8, 0x29, 0xe5, 0xaa, 0x99, 0x72, 0xbe, 0xce, 0xf3, 0x9f, 0x76, 0x52, + 0x71, 0x8a, 0x9b, 0x29, 0x48, 0x95, 0x5a, 0x2e, 0xa0, 0x7a, 0x8e, 0x5a, 0xee, 0x96, 0x66, 0x07, 0x38, 0xb7, 0x4d, + 0xf5, 0xb1, 0x32, 0xbb, 0xf0, 0x92, 0x1b, 0xf7, 0x27, 0x53, 0x86, 0x05, 0xa3, 0xd0, 0x66, 0xd5, 0x95, 0xb6, 0x2f, + 0xb4, 0x4e, 0xc3, 0x70, 0xe5, 0xc7, 0x0b, 0x48, 0x17, 0x30, 0x8e, 0x17, 0x25, 0x13, 0xe3, 0xf6, 0xe8, 0xad, 0x20, + 0xbe, 0x64, 0x2b, 0x90, 0x7e, 0xbf, 0x27, 0xbc, 0x5d, 0xd7, 0xd1, 0x76, 0x4f, 0x9c, 0x32, 0x2a, 0x57, 0xb1, 0xf8, + 0x3e, 0x5e, 0x19, 0xc8, 0x64, 0x75, 0x3c, 0x36, 0xc6, 0x74, 0xfa, 0x7d, 0x12, 0xfa, 0x85, 0x50, 0xf0, 0x59, 0x2f, + 0xad, 0x3c, 0xb9, 0x3d, 0x2c, 0xe3, 0x1a, 0xbd, 0x12, 0x57, 0xba, 0x6f, 0x46, 0x0a, 0xa9, 0x47, 0xbe, 0x6a, 0x0a, + 0xe8, 0xcd, 0xd8, 0x37, 0x53, 0x61, 0xde, 0xee, 0x18, 0x73, 0x85, 0x60, 0xa5, 0xca, 0x6e, 0xdf, 0xa9, 0x31, 0x15, + 0x33, 0x98, 0x62, 0xdb, 0x59, 0x4c, 0xba, 0x95, 0x7f, 0xda, 0xb9, 0x4f, 0xf3, 0x0e, 0x77, 0x45, 0xfd, 0x16, 0xb8, + 0xd0, 0xac, 0x28, 0xab, 0xb6, 0x6c, 0xd8, 0x36, 0xde, 0xc8, 0x42, 0xb1, 0x01, 0x96, 0x3d, 0xf7, 0x2d, 0x3c, 0x40, + 0xdc, 0x84, 0x7b, 0x76, 0x51, 0xc3, 0x8d, 0xe1, 0xcb, 0x4a, 0xf2, 0x5d, 0x69, 0xcc, 0xa5, 0x4f, 0x95, 0x26, 0x86, + 0x93, 0xc5, 0x88, 0x8b, 0x74, 0x51, 0x67, 0x76, 0x2d, 0x7c, 0xc6, 0xcb, 0x70, 0xce, 0x17, 0x46, 0x37, 0xa5, 0x4b, + 0x2f, 0x58, 0xa2, 0x3b, 0xbd, 0x59, 0x69, 0xac, 0x94, 0x88, 0x5b, 0xb3, 0x4c, 0xa0, 0x2c, 0x65, 0xad, 0x84, 0x37, + 0x45, 0xcb, 0x56, 0xd2, 0xc8, 0x7b, 0xe6, 0xe0, 0x3e, 0xf6, 0x01, 0x31, 0x91, 0x4d, 0x60, 0x52, 0x34, 0x74, 0x40, + 0xbb, 0xea, 0xc2, 0x37, 0xa3, 0x1e, 0x0c, 0x72, 0x4b, 0x12, 0xb1, 0x82, 0x14, 0x2b, 0x58, 0xd7, 0xac, 0x98, 0xe7, + 0x0b, 0x7a, 0xce, 0xe4, 0x3c, 0x5d, 0xd0, 0x15, 0x93, 0xf3, 0x35, 0xde, 0x84, 0xce, 0xe1, 0x84, 0x24, 0x9b, 0x58, + 0x29, 0x60, 0xcf, 0xf1, 0xf2, 0x86, 0x67, 0xaa, 0xa6, 0x65, 0x17, 0x8a, 0x03, 0x8c, 0xcf, 0xca, 0x30, 0x2c, 0x87, + 0xe7, 0x60, 0x2d, 0xb1, 0x1f, 0xae, 0xe6, 0x7c, 0xa1, 0x7e, 0x43, 0xd4, 0xf9, 0x24, 0x54, 0xec, 0x82, 0xdd, 0x0b, + 0x64, 0x7a, 0x39, 0xe7, 0x0b, 0x35, 0x12, 0xba, 0xe0, 0x4b, 0x6b, 0x6c, 0x12, 0x7b, 0x82, 0x96, 0x59, 0x3c, 0x1f, + 0x2f, 0xa2, 0xb8, 0x86, 0x65, 0x78, 0xa2, 0x66, 0xa6, 0x25, 0xff, 0x49, 0xd4, 0x86, 0x26, 0xfa, 0x06, 0xab, 0xc8, + 0x1f, 0x1e, 0x1f, 0x5d, 0x02, 0x19, 0x3b, 0xbb, 0x92, 0x99, 0x0f, 0x7d, 0x1f, 0x19, 0xdc, 0x73, 0x53, 0xce, 0xb8, + 0x0a, 0x12, 0x65, 0xe0, 0xee, 0xd5, 0x2c, 0x19, 0x6b, 0x11, 0xbe, 0x7b, 0x54, 0x14, 0x7d, 0x26, 0x4d, 0x03, 0xba, + 0x8f, 0x04, 0x73, 0xa0, 0xf7, 0x0a, 0x1d, 0x2e, 0xab, 0x6d, 0x26, 0xe0, 0x2f, 0x12, 0xe4, 0xb7, 0x42, 0xaf, 0x6a, + 0x0c, 0xaa, 0x68, 0x17, 0xb1, 0xf4, 0xef, 0x23, 0x7e, 0x94, 0xcd, 0xdf, 0xcc, 0x3d, 0x5e, 0x49, 0x18, 0xfc, 0x90, + 0x9a, 0x4d, 0x32, 0x6f, 0xaf, 0xd8, 0x77, 0xd0, 0x51, 0x8f, 0x5a, 0xe3, 0x7d, 0xf5, 0x9c, 0x53, 0x88, 0x51, 0x42, + 0xd1, 0x49, 0x30, 0x80, 0xdb, 0x25, 0xa4, 0xb8, 0x1b, 0xec, 0xa6, 0x79, 0xcd, 0x8b, 0x82, 0xb3, 0x75, 0x55, 0x05, + 0x7e, 0x40, 0xc3, 0xf9, 0x62, 0x37, 0x84, 0xe1, 0x98, 0xb6, 0xae, 0x61, 0x10, 0x66, 0x0c, 0x23, 0x21, 0x78, 0xfd, + 0x8b, 0x1e, 0xd1, 0x24, 0x5e, 0x7d, 0xc7, 0x3f, 0x65, 0xbc, 0x50, 0x44, 0x1a, 0x44, 0x48, 0xdd, 0xc4, 0x37, 0x32, + 0x4d, 0x0a, 0x28, 0x04, 0x18, 0x05, 0x54, 0x62, 0x43, 0x53, 0xf1, 0xb7, 0x5a, 0x7c, 0xf0, 0x53, 0xd3, 0xf1, 0x68, + 0x5c, 0xb7, 0x3a, 0xa3, 0x82, 0xce, 0x40, 0x8f, 0x5a, 0x51, 0x4f, 0x83, 0x56, 0x82, 0x69, 0xa4, 0x79, 0xeb, 0x1e, + 0x02, 0xaf, 0x4c, 0x8b, 0x77, 0x1e, 0xd0, 0xcd, 0xa9, 0x0f, 0x9e, 0x3c, 0xa6, 0xa7, 0x0e, 0x3d, 0xb9, 0x62, 0x47, + 0x55, 0x0f, 0xb5, 0xf7, 0x66, 0x84, 0x82, 0x7e, 0x1f, 0x53, 0xa0, 0x1b, 0x41, 0xed, 0x5d, 0xdd, 0x2b, 0xb9, 0xcb, + 0xe1, 0x3b, 0xce, 0x72, 0x03, 0x58, 0x2a, 0xb2, 0x56, 0xe0, 0x51, 0x80, 0xba, 0x54, 0x86, 0xb0, 0xc5, 0x1c, 0x0e, + 0x95, 0xdd, 0xaa, 0xd5, 0x50, 0x92, 0xc3, 0x72, 0x04, 0x0e, 0xa1, 0xeb, 0x72, 0x50, 0x8e, 0x96, 0x59, 0xf5, 0x0e, + 0x7f, 0x6b, 0xd6, 0x21, 0xc9, 0xee, 0x62, 0x1d, 0xb8, 0x65, 0x1d, 0xa6, 0x1f, 0x0d, 0x52, 0x00, 0x9a, 0x6c, 0x04, + 0x2e, 0x01, 0x78, 0x6f, 0xff, 0x11, 0xa1, 0x56, 0xa6, 0x77, 0x32, 0x16, 0xea, 0xfb, 0x46, 0x12, 0x94, 0xd0, 0x4c, + 0xa8, 0x1c, 0x4b, 0xc1, 0x3b, 0x8f, 0x74, 0x4e, 0xea, 0x4c, 0xbc, 0x03, 0x71, 0x5a, 0x78, 0xcf, 0xde, 0x82, 0xe0, + 0x9c, 0x05, 0xbd, 0xc5, 0xdb, 0xac, 0x96, 0xda, 0xe8, 0x81, 0x02, 0xf8, 0xdd, 0xe0, 0x16, 0x41, 0xbe, 0x1a, 0xc3, + 0xb5, 0x92, 0xd7, 0x21, 0x1f, 0x16, 0xf4, 0x80, 0x0c, 0xec, 0xb3, 0x18, 0xc6, 0xf4, 0x80, 0x1c, 0xda, 0x67, 0xe9, + 0x06, 0x70, 0x20, 0xf5, 0xa8, 0xd2, 0x03, 0x68, 0xd0, 0x6f, 0xb6, 0x45, 0xee, 0x00, 0x94, 0x46, 0x11, 0x03, 0x55, + 0x82, 0x88, 0x5a, 0xfc, 0x7e, 0x6f, 0xae, 0x5b, 0xcc, 0x05, 0xc2, 0x1c, 0x0c, 0x38, 0x88, 0xdb, 0x20, 0x34, 0x07, + 0xcc, 0xe6, 0x26, 0x12, 0xf4, 0xd6, 0x1a, 0x66, 0x76, 0xf4, 0x87, 0x5b, 0x09, 0xbe, 0xc9, 0x5a, 0xa3, 0xce, 0x8b, + 0x43, 0x20, 0x08, 0xde, 0x14, 0xaa, 0xda, 0xab, 0x1e, 0xd8, 0x78, 0xab, 0x7e, 0x6c, 0xb7, 0xe3, 0xa9, 0x70, 0xd7, + 0x7e, 0x41, 0xe1, 0xe4, 0x53, 0xf2, 0xaf, 0x77, 0x26, 0x83, 0x03, 0x23, 0xc3, 0x97, 0xde, 0xfe, 0x85, 0xaf, 0xb5, + 0x74, 0x4f, 0x0c, 0x4a, 0xf2, 0xf0, 0x40, 0xd1, 0xbf, 0x3b, 0x65, 0xe5, 0x53, 0x3b, 0xfd, 0xdb, 0xad, 0x59, 0x9f, + 0x87, 0xa3, 0xc9, 0x76, 0xdb, 0x8b, 0x2b, 0xed, 0xb1, 0xa6, 0x17, 0x04, 0x3a, 0xd7, 0x93, 0xfd, 0x03, 0x88, 0x8a, + 0xd0, 0x8c, 0xbb, 0x59, 0x36, 0x24, 0x32, 0x7e, 0x9c, 0xce, 0xb2, 0x21, 0xd8, 0xe1, 0x5e, 0x54, 0xe2, 0x72, 0xd4, + 0xda, 0xe0, 0xf4, 0x36, 0x09, 0x21, 0x94, 0x03, 0x56, 0x76, 0xa3, 0xfe, 0xdc, 0x2a, 0x33, 0x21, 0x35, 0x59, 0xdd, + 0x4e, 0xe9, 0x1e, 0xa6, 0xf9, 0x9e, 0x19, 0xc1, 0x01, 0xf7, 0xf6, 0x57, 0xfd, 0x31, 0x4c, 0x32, 0x4d, 0x4e, 0x91, + 0xfc, 0x22, 0x3d, 0x85, 0xa4, 0x1d, 0x7a, 0xaa, 0x08, 0xe0, 0x84, 0xda, 0x8f, 0xe1, 0x37, 0x8c, 0xfb, 0x77, 0xcd, + 0xd7, 0x6e, 0x2a, 0xa2, 0xc7, 0x14, 0xcb, 0xd4, 0xe4, 0x34, 0xc9, 0x8a, 0x04, 0xa2, 0x36, 0xaa, 0x66, 0x44, 0x8f, + 0x5c, 0xcc, 0x47, 0x45, 0xf8, 0xbc, 0x5a, 0xff, 0x67, 0x08, 0x9f, 0x51, 0xb8, 0x01, 0x5c, 0x5e, 0x71, 0x71, 0x16, + 0x3e, 0x79, 0x4c, 0xf7, 0x26, 0xdf, 0x1c, 0xd0, 0xbd, 0x83, 0x47, 0x4f, 0x08, 0xc0, 0xa2, 0x5d, 0x9c, 0x85, 0x07, + 0x4f, 0x9e, 0xd0, 0xbd, 0x6f, 0xbf, 0xa5, 0x7b, 0x93, 0x47, 0x07, 0x8d, 0xb4, 0xc9, 0x93, 0x6f, 0xe9, 0xde, 0x37, + 0x8f, 0x1b, 0x69, 0x07, 0xe3, 0x27, 0x74, 0xef, 0x9f, 0xdf, 0x98, 0xb4, 0x7f, 0x40, 0xb6, 0x6f, 0x0f, 0xf0, 0x3f, + 0x93, 0x36, 0x79, 0xf2, 0x88, 0xee, 0x4d, 0xc6, 0x50, 0xc9, 0x13, 0x57, 0xc9, 0x78, 0x02, 0x1f, 0x3f, 0x82, 0xff, + 0xfe, 0x41, 0x60, 0x13, 0x48, 0x96, 0x0b, 0xd4, 0x9f, 0xa1, 0x88, 0x13, 0x55, 0x13, 0x09, 0x0f, 0x31, 0xb3, 0xfa, + 0x26, 0x0e, 0x03, 0xe2, 0xd2, 0xa1, 0x20, 0xba, 0x37, 0x1e, 0x3d, 0x21, 0x81, 0x0f, 0x4f, 0xf7, 0xd1, 0x07, 0x19, + 0xcb, 0xc5, 0x3c, 0xfb, 0x2a, 0x37, 0xb1, 0x15, 0x3c, 0x00, 0xab, 0x13, 0x3f, 0x17, 0x97, 0xf3, 0xec, 0x2b, 0x2e, + 0x77, 0x73, 0xfd, 0xab, 0x05, 0x28, 0xef, 0xaf, 0x5a, 0xf6, 0xb1, 0x50, 0xa1, 0xd3, 0x5a, 0xa3, 0xcf, 0x4e, 0x30, + 0x7d, 0x30, 0xf0, 0x6e, 0xd8, 0xdf, 0xef, 0x94, 0xd3, 0xfa, 0x46, 0xa3, 0x50, 0xa3, 0xf2, 0x90, 0xb0, 0x23, 0x28, + 0x7a, 0x30, 0x00, 0x9e, 0xc0, 0xc3, 0x7d, 0xfb, 0x37, 0xcb, 0x38, 0xe9, 0x28, 0xe3, 0x0f, 0x94, 0x21, 0xa0, 0x51, + 0x0f, 0xb3, 0x9b, 0x1e, 0x36, 0xba, 0xd5, 0x4b, 0x96, 0xea, 0x64, 0x6a, 0x7a, 0x06, 0xfb, 0x5a, 0xd7, 0x72, 0xcf, + 0x88, 0xa2, 0xe5, 0xf9, 0x5e, 0xca, 0x67, 0x15, 0xfb, 0x7e, 0x89, 0xea, 0xad, 0xa8, 0xf1, 0x46, 0x66, 0xb3, 0x8a, + 0xfd, 0x6c, 0xde, 0x00, 0x37, 0xc3, 0xfe, 0xa5, 0x9e, 0xfc, 0xc0, 0x19, 0x99, 0xb4, 0xed, 0x51, 0x26, 0x46, 0x80, + 0x15, 0x90, 0x81, 0x03, 0x0f, 0x80, 0x0e, 0xfa, 0xa3, 0xbd, 0xdd, 0xaa, 0x94, 0x66, 0x9f, 0x2d, 0x0c, 0xa0, 0x61, + 0xde, 0x26, 0x1e, 0xaa, 0x59, 0x43, 0x5e, 0x82, 0xc2, 0xad, 0x66, 0x79, 0x3b, 0x85, 0x21, 0x84, 0x60, 0x95, 0x32, + 0x00, 0x1c, 0x08, 0x30, 0x18, 0x6b, 0x19, 0x50, 0xb3, 0xe5, 0xa3, 0x0d, 0x57, 0xea, 0x49, 0xe0, 0x0c, 0xce, 0x65, + 0x91, 0xf0, 0x37, 0x5a, 0xec, 0x8f, 0xd6, 0x8f, 0xbe, 0x6f, 0x8f, 0x07, 0x6b, 0xdf, 0xe3, 0x23, 0xfd, 0x59, 0xe3, + 0x3a, 0xb0, 0x69, 0xf9, 0xc6, 0x8b, 0xda, 0x4a, 0x3c, 0x4a, 0xe0, 0x0d, 0x4c, 0x44, 0x0a, 0x83, 0x54, 0x0b, 0x1c, + 0x83, 0xf2, 0xc6, 0x42, 0x2c, 0x55, 0x57, 0x37, 0x74, 0x4b, 0x86, 0xe0, 0xe1, 0xf6, 0xe3, 0x52, 0x05, 0x8e, 0xea, + 0xf7, 0x33, 0xe9, 0xbb, 0x3d, 0x19, 0x3b, 0x72, 0x9c, 0xfa, 0xa9, 0x70, 0xf0, 0xdf, 0xa4, 0xae, 0x8d, 0xdd, 0x7d, + 0xca, 0x2c, 0xcb, 0xc2, 0x8e, 0x42, 0x2d, 0xf7, 0xa8, 0x3c, 0x48, 0xbe, 0x90, 0x43, 0x24, 0x0b, 0x8c, 0x42, 0x41, + 0x86, 0x13, 0x2a, 0x46, 0x6b, 0x51, 0x2e, 0xb3, 0xf3, 0x2a, 0xdc, 0x28, 0x85, 0x32, 0xa7, 0xe8, 0xdb, 0x0d, 0x0e, + 0x24, 0x24, 0xca, 0xca, 0xd7, 0xf1, 0xeb, 0x10, 0xc1, 0xea, 0xb8, 0xb6, 0x85, 0xe2, 0xde, 0xfe, 0xcc, 0xd2, 0x2e, + 0xfe, 0xc8, 0xb8, 0x80, 0xba, 0x58, 0x4c, 0xc3, 0x89, 0xd5, 0xef, 0xb8, 0x2f, 0xac, 0xa6, 0x07, 0xa0, 0xbe, 0x4b, + 0x25, 0x46, 0x50, 0x5f, 0x19, 0xfb, 0xd8, 0x1e, 0x63, 0x72, 0x06, 0xb1, 0x86, 0xf5, 0xdd, 0x4e, 0xf5, 0x8d, 0xb0, + 0x23, 0x00, 0x6e, 0x84, 0xd6, 0xe8, 0xc8, 0x24, 0x55, 0x88, 0xe7, 0xa5, 0x0a, 0xdf, 0x9a, 0x11, 0x3a, 0x06, 0x6f, + 0x2a, 0xdb, 0x48, 0x21, 0x7d, 0xc1, 0xa0, 0x39, 0xb6, 0x75, 0x14, 0x56, 0x5b, 0x59, 0x76, 0x04, 0x70, 0x03, 0xd9, + 0xa1, 0xb9, 0x78, 0xce, 0xaa, 0x79, 0xb6, 0x88, 0x4c, 0x50, 0xc0, 0xa5, 0xb0, 0x0c, 0xda, 0xeb, 0x3b, 0x64, 0x3b, + 0x0e, 0xa1, 0x1b, 0xee, 0x23, 0x18, 0x4f, 0xbb, 0x29, 0x58, 0x41, 0x34, 0x42, 0x3c, 0xcc, 0x98, 0xc5, 0xf7, 0x4a, + 0x53, 0x9e, 0xaa, 0x96, 0x40, 0xe0, 0x28, 0x84, 0xba, 0xd8, 0x35, 0x4a, 0x70, 0x99, 0x1a, 0xc1, 0x0c, 0x76, 0xec, + 0x48, 0x6d, 0x97, 0x9c, 0xd3, 0xa1, 0x9a, 0xd2, 0x52, 0x4f, 0xa9, 0xf6, 0x35, 0x14, 0xf3, 0x12, 0x3d, 0xf4, 0xc0, + 0xf5, 0x40, 0x3b, 0xe4, 0x95, 0x74, 0x62, 0x22, 0xe8, 0xb4, 0xda, 0x84, 0x9d, 0x1b, 0xe9, 0x96, 0xd5, 0xc8, 0x3b, + 0x86, 0x66, 0x47, 0x3c, 0xf7, 0x03, 0x75, 0x01, 0x44, 0xc8, 0x9d, 0x2d, 0x32, 0xb3, 0xcf, 0xb2, 0xf2, 0x05, 0x94, + 0xc5, 0x11, 0x5b, 0x57, 0xc0, 0xb5, 0x14, 0x4c, 0x2e, 0x79, 0x94, 0xa5, 0x88, 0x08, 0x78, 0xac, 0xb4, 0xeb, 0x3b, + 0x2d, 0x21, 0x54, 0xa4, 0x40, 0xdc, 0x5c, 0x14, 0xe7, 0xda, 0x06, 0xb2, 0x00, 0xfa, 0xf6, 0x53, 0x76, 0xe9, 0x85, + 0x83, 0xdd, 0x5c, 0x66, 0xe2, 0x19, 0x3f, 0xcf, 0x04, 0x4f, 0x11, 0xec, 0xea, 0xc6, 0x3c, 0x70, 0xc7, 0xb6, 0x81, + 0xe5, 0xdb, 0x77, 0xb0, 0x60, 0xca, 0x50, 0x2b, 0x25, 0x32, 0x11, 0x09, 0xc8, 0xec, 0x33, 0x77, 0xaf, 0x32, 0xf1, + 0x2a, 0xbe, 0x01, 0x6f, 0x8a, 0x06, 0x3f, 0x3d, 0x3a, 0xc3, 0x2f, 0x11, 0x49, 0x14, 0x62, 0xd8, 0x62, 0x44, 0x2c, + 0x44, 0x8e, 0x1d, 0x13, 0xca, 0x95, 0xa0, 0xb5, 0x35, 0x04, 0x5e, 0xfc, 0x69, 0xd5, 0xbd, 0xcb, 0x4c, 0x18, 0xfb, + 0x8c, 0xcb, 0xf8, 0x86, 0x95, 0x0a, 0xcc, 0x02, 0xe3, 0xdc, 0xb7, 0xa5, 0x24, 0x97, 0x99, 0x30, 0x02, 0x92, 0xcb, + 0xf8, 0x86, 0x36, 0x65, 0x1c, 0xda, 0x8a, 0xce, 0x8b, 0xf3, 0xbb, 0x3b, 0xfc, 0x12, 0x43, 0xad, 0x8c, 0xfb, 0x7d, + 0x90, 0x98, 0x49, 0xdb, 0x94, 0x99, 0x8c, 0xa4, 0x46, 0x0b, 0xa9, 0x28, 0x1f, 0x4c, 0xc8, 0xee, 0x4a, 0xb5, 0x8c, + 0xa8, 0xfd, 0x2a, 0x14, 0xb3, 0x71, 0x34, 0x21, 0x74, 0xd2, 0xb1, 0xde, 0x4d, 0x6b, 0x21, 0xd3, 0xe8, 0x49, 0xe4, + 0xf9, 0x74, 0x16, 0xac, 0x9a, 0x16, 0x87, 0x8c, 0x4f, 0x8b, 0xc1, 0x80, 0x68, 0x97, 0xc2, 0x0d, 0xd6, 0x03, 0xa6, + 0x34, 0x2e, 0xde, 0x9a, 0x69, 0xf5, 0x0b, 0xa9, 0x42, 0xd2, 0x7b, 0x06, 0x24, 0x42, 0xba, 0x60, 0xb7, 0x20, 0x51, + 0xf4, 0xfc, 0xef, 0xd4, 0x16, 0xdc, 0xf5, 0x60, 0x6c, 0x46, 0xf7, 0xf5, 0x8c, 0xff, 0x50, 0xdb, 0x82, 0xa8, 0x4f, + 0x25, 0xeb, 0x75, 0x24, 0xaa, 0x90, 0x8b, 0xf0, 0xb3, 0xa3, 0x21, 0x86, 0xa8, 0xf6, 0x58, 0x20, 0xd6, 0x97, 0x67, + 0xbc, 0xc0, 0xe9, 0x67, 0xee, 0x72, 0x05, 0xdb, 0x82, 0x56, 0x86, 0x46, 0xbd, 0x8e, 0x5f, 0x47, 0xf6, 0xb2, 0xa0, + 0x8b, 0x7c, 0x86, 0x42, 0xd6, 0x3c, 0x0c, 0xab, 0x61, 0x7b, 0x10, 0xc9, 0x7e, 0x7b, 0x12, 0x1a, 0x8d, 0x81, 0x05, + 0xb2, 0x43, 0x23, 0x70, 0x11, 0x5a, 0xf9, 0xdb, 0x21, 0xb8, 0x70, 0x59, 0x44, 0x96, 0xa1, 0x8e, 0xdf, 0xd4, 0x6e, + 0x82, 0xea, 0x15, 0x3a, 0x4d, 0x61, 0x55, 0xca, 0x24, 0x1f, 0x7e, 0xbd, 0x90, 0x05, 0x66, 0xf2, 0xba, 0xec, 0xd1, + 0xd7, 0x76, 0x7b, 0x07, 0xa6, 0x60, 0xdd, 0x27, 0xef, 0xeb, 0x87, 0x9d, 0x3d, 0x01, 0xa3, 0x58, 0x95, 0xa3, 0x29, + 0xa4, 0xd4, 0x3e, 0x28, 0xf5, 0xc7, 0x70, 0x29, 0x34, 0xc7, 0x6e, 0x01, 0x93, 0x80, 0x7d, 0x86, 0x54, 0x8f, 0x69, + 0xc7, 0x3e, 0x47, 0x1b, 0x58, 0x12, 0x70, 0xf8, 0x47, 0x42, 0xd6, 0xfe, 0xd5, 0xbd, 0x4c, 0x9b, 0x21, 0x5b, 0xe6, + 0x0b, 0xe0, 0xf3, 0x61, 0xd7, 0x46, 0x25, 0xca, 0x26, 0x22, 0x49, 0x61, 0xcb, 0x63, 0x90, 0xf6, 0x28, 0xa6, 0xab, + 0x82, 0x27, 0x19, 0x4a, 0x29, 0x12, 0xed, 0x13, 0x9c, 0xc3, 0x1b, 0xdc, 0x8f, 0x2a, 0x20, 0xbc, 0x0a, 0x39, 0x1d, + 0xa5, 0x54, 0x5b, 0xc0, 0x28, 0xea, 0x01, 0xa2, 0xbc, 0x0c, 0xe4, 0x78, 0xdb, 0xed, 0x84, 0xae, 0xd8, 0x72, 0x38, + 0xa1, 0x48, 0x4a, 0x2e, 0xb0, 0xdc, 0x4b, 0xd0, 0x79, 0x9c, 0xb1, 0xde, 0x73, 0xc0, 0x22, 0x38, 0x85, 0xbf, 0x31, + 0xa1, 0x57, 0xf0, 0x37, 0x27, 0xf4, 0x15, 0x0b, 0x2f, 0x87, 0x17, 0x64, 0x3f, 0x4c, 0x07, 0x13, 0x25, 0x18, 0xbb, + 0x65, 0x69, 0x19, 0xaa, 0xc4, 0xd5, 0xfe, 0x39, 0x79, 0x78, 0x4e, 0x6f, 0xe8, 0x35, 0x3d, 0xa1, 0x6f, 0x80, 0xf0, + 0xdf, 0x1e, 0x4e, 0xf8, 0x70, 0xf2, 0xb8, 0xdf, 0xef, 0x9d, 0xf5, 0xfb, 0xbd, 0x53, 0x63, 0x40, 0xa1, 0x77, 0xd1, + 0x45, 0x4d, 0xf5, 0xaf, 0xcb, 0x7a, 0x31, 0x7d, 0xa3, 0x36, 0x6e, 0xc2, 0xb3, 0x3c, 0xbc, 0xdc, 0xbf, 0x25, 0x43, + 0x7c, 0x3c, 0xcf, 0xa5, 0x2c, 0xc2, 0x8b, 0xfd, 0x5b, 0x42, 0xdf, 0x1c, 0x81, 0xde, 0x14, 0xeb, 0x7b, 0xf3, 0xf0, + 0x56, 0xd7, 0x46, 0xe8, 0xf3, 0x30, 0x81, 0x6d, 0x72, 0xc3, 0xec, 0x5d, 0x7b, 0x32, 0x86, 0x58, 0x26, 0xb7, 0x5e, + 0x79, 0xb7, 0x0f, 0x6f, 0xc8, 0xfe, 0x0d, 0x78, 0x8a, 0x5a, 0xf2, 0x37, 0x0b, 0xaf, 0x59, 0xab, 0x86, 0x87, 0xb7, + 0xf4, 0xa4, 0xd5, 0x88, 0x87, 0xb7, 0x24, 0x0a, 0xaf, 0xd9, 0x05, 0x3d, 0x61, 0x97, 0x84, 0x9e, 0xf5, 0xfb, 0xa7, + 0xfd, 0xbe, 0xec, 0xf7, 0xbf, 0x8f, 0xc3, 0x30, 0x1e, 0x16, 0x64, 0x5f, 0xd2, 0xdb, 0xfd, 0x09, 0x7f, 0x44, 0x66, + 0xa1, 0x6e, 0xbe, 0x5a, 0x70, 0x56, 0xe5, 0xad, 0x72, 0xdd, 0x52, 0xb0, 0x56, 0xb8, 0x65, 0xea, 0xe9, 0x0d, 0xbd, + 0x66, 0x05, 0x3d, 0x61, 0x31, 0x89, 0xae, 0xa0, 0x15, 0x67, 0xb3, 0x22, 0xba, 0xa6, 0x27, 0xec, 0x74, 0x16, 0x47, + 0x27, 0xf4, 0x0d, 0xcb, 0x87, 0x13, 0xc8, 0x7b, 0x32, 0xbc, 0x26, 0xfb, 0x6f, 0x48, 0x14, 0xbe, 0xd1, 0xbf, 0x6f, + 0xe9, 0x05, 0x0f, 0xdf, 0x50, 0xaf, 0x9a, 0x37, 0xc4, 0x54, 0xdf, 0xa8, 0xfd, 0x0d, 0x89, 0xfc, 0xc1, 0x7c, 0x63, + 0xed, 0x69, 0x1e, 0x38, 0xda, 0xb8, 0x2e, 0xc3, 0x5b, 0x42, 0xd7, 0x65, 0x78, 0x4d, 0xc8, 0xb4, 0x39, 0x76, 0x30, + 0xa0, 0xb3, 0x07, 0x51, 0x42, 0xe8, 0xb5, 0x5f, 0xea, 0x35, 0x8e, 0xa1, 0x19, 0x21, 0x95, 0x76, 0x82, 0x69, 0xb8, + 0x0e, 0x9e, 0x69, 0xb0, 0x8e, 0xb3, 0x7e, 0x3f, 0x5c, 0xf7, 0xfb, 0x10, 0xe9, 0xbe, 0x98, 0x99, 0xd8, 0x6e, 0x8e, + 0x6c, 0xd2, 0x6b, 0xd0, 0xfe, 0x3f, 0x1b, 0x0c, 0xa0, 0x33, 0x5e, 0x49, 0xe1, 0xf5, 0xe0, 0xd9, 0xc3, 0x5b, 0xa2, + 0xea, 0x28, 0x68, 0x29, 0xc3, 0x82, 0xbe, 0xa2, 0x19, 0x00, 0x7e, 0x3d, 0x1b, 0x0c, 0x48, 0x64, 0x3e, 0x23, 0xd3, + 0x67, 0x87, 0x6f, 0xa6, 0x83, 0xc1, 0x33, 0xb3, 0x4d, 0x3e, 0xb1, 0x3b, 0x4a, 0x81, 0xf5, 0x77, 0xda, 0xef, 0x7f, + 0x3a, 0x8a, 0xc9, 0x59, 0xc1, 0xe3, 0x8f, 0xd3, 0x66, 0x5b, 0x3e, 0xb9, 0xa8, 0x6a, 0xa7, 0xfd, 0xfe, 0xba, 0xdf, + 0x3f, 0x01, 0xec, 0xa2, 0x99, 0xf3, 0xf5, 0x04, 0x69, 0xcb, 0xdc, 0x51, 0x24, 0x4d, 0x72, 0x68, 0x0c, 0x6d, 0x8b, + 0x55, 0xdb, 0x66, 0x1d, 0x19, 0x58, 0x1c, 0x35, 0x2b, 0x8a, 0x6b, 0x12, 0x85, 0xbd, 0xd3, 0xed, 0xf6, 0x84, 0x31, + 0x16, 0x13, 0x90, 0x7e, 0xf8, 0xaf, 0x4f, 0xea, 0x46, 0x0c, 0xb1, 0x52, 0x89, 0xef, 0x36, 0x4b, 0x7b, 0x08, 0x44, + 0x1c, 0x36, 0xfd, 0x3b, 0x73, 0x2f, 0x17, 0xb5, 0xe3, 0x5b, 0xff, 0x00, 0x10, 0x22, 0xc9, 0x42, 0x3e, 0xc3, 0x31, + 0x28, 0x33, 0x00, 0x32, 0x8f, 0xd4, 0xcc, 0x4b, 0x00, 0x01, 0x26, 0xdb, 0xed, 0x68, 0x3c, 0x9e, 0xd0, 0x82, 0x8d, + 0xfe, 0xf1, 0xe4, 0x61, 0xf5, 0x30, 0x0c, 0x82, 0x41, 0x46, 0x5a, 0x7a, 0x0a, 0xbb, 0x58, 0xab, 0x7d, 0x30, 0x82, + 0xd7, 0xec, 0xe3, 0x55, 0xf6, 0xc5, 0xec, 0x23, 0x12, 0xd6, 0x06, 0xe3, 0xc8, 0x45, 0xda, 0xd2, 0xdb, 0xdd, 0xc1, + 0x60, 0x72, 0x91, 0x7e, 0x86, 0xed, 0xf4, 0xf9, 0x37, 0x0f, 0xc6, 0x13, 0x0e, 0x46, 0x77, 0x51, 0xd0, 0x67, 0xda, + 0x76, 0x5b, 0xf9, 0x97, 0xc0, 0xd7, 0x98, 0x0a, 0x3a, 0x36, 0xcb, 0xc2, 0x0d, 0x2a, 0xa2, 0x8e, 0x96, 0x41, 0x55, + 0x2b, 0xdb, 0x39, 0xa0, 0x96, 0x58, 0x95, 0x89, 0x5b, 0x60, 0x18, 0x32, 0xd4, 0xe5, 0x1e, 0x57, 0x7f, 0xf0, 0x42, + 0x1a, 0xf8, 0x0c, 0x27, 0x22, 0xf4, 0xb8, 0x35, 0xee, 0x73, 0x6b, 0xe2, 0x33, 0xdc, 0x5a, 0x89, 0x24, 0xd6, 0xc0, + 0x92, 0x9a, 0xcb, 0x51, 0xc2, 0x8e, 0x4a, 0xc6, 0x67, 0x65, 0x94, 0xd0, 0x18, 0x1e, 0x24, 0x13, 0x33, 0x19, 0x25, + 0x68, 0x9f, 0xe8, 0x22, 0x0c, 0xfe, 0x0d, 0x98, 0xfd, 0x34, 0x87, 0xbf, 0x92, 0x4c, 0x93, 0x43, 0x08, 0x08, 0x71, + 0x38, 0x9e, 0xc5, 0xe1, 0x98, 0x44, 0xc9, 0x11, 0x3c, 0xc1, 0x7f, 0x45, 0x38, 0x26, 0xb5, 0xbe, 0xc3, 0x48, 0x75, + 0xb9, 0x4d, 0x18, 0xc0, 0x95, 0x8d, 0x67, 0x93, 0xc8, 0x4a, 0x77, 0xe5, 0xc3, 0xd1, 0xf8, 0x09, 0x99, 0xc6, 0xa1, + 0x1c, 0x24, 0x84, 0x82, 0x77, 0x6f, 0x58, 0x0e, 0x13, 0x0d, 0xcf, 0x06, 0x6c, 0x5e, 0xe9, 0xd8, 0x3c, 0x09, 0x27, + 0x20, 0x0c, 0x13, 0x72, 0xac, 0x77, 0x20, 0xa5, 0xe8, 0xf3, 0x1c, 0xfb, 0xa9, 0x8f, 0x20, 0xcc, 0x8e, 0x5a, 0x2a, + 0xbe, 0x02, 0xa0, 0x4b, 0x1c, 0x1c, 0x6a, 0xcf, 0x7c, 0x31, 0x0b, 0x4b, 0x8f, 0x4a, 0x99, 0xea, 0xf6, 0x45, 0x83, + 0xf2, 0x9b, 0x06, 0xed, 0x0b, 0x32, 0x98, 0xd0, 0xf2, 0x68, 0xc2, 0x1f, 0x41, 0x00, 0x8f, 0x46, 0xc4, 0x2f, 0x85, + 0x13, 0x03, 0xe1, 0x55, 0x90, 0x81, 0x4a, 0x6b, 0xd5, 0x98, 0x91, 0xad, 0x78, 0x0f, 0xc2, 0xa4, 0xec, 0x5d, 0xcb, + 0x75, 0x9e, 0x42, 0x54, 0xb0, 0x75, 0x5e, 0xed, 0x5d, 0x80, 0x25, 0x7b, 0x5c, 0x41, 0x9c, 0xb0, 0xf5, 0x0a, 0xb0, + 0x73, 0x1f, 0x6c, 0xca, 0x7a, 0x4f, 0x7d, 0xb7, 0x87, 0x2d, 0x87, 0x57, 0x95, 0xdc, 0x9b, 0x8c, 0xc7, 0xe3, 0xd1, + 0x9f, 0x70, 0x74, 0x00, 0xa1, 0x25, 0x91, 0xe1, 0x93, 0x01, 0x1a, 0x77, 0x5d, 0x71, 0x6f, 0x5c, 0x28, 0xca, 0x4a, + 0x27, 0x13, 0x02, 0xe2, 0x67, 0xd3, 0x37, 0xd8, 0x57, 0x5c, 0xc7, 0x3f, 0xd9, 0xfd, 0xc4, 0xac, 0x68, 0xb5, 0x52, + 0x47, 0x6f, 0xdf, 0x9c, 0xbc, 0x7c, 0xff, 0xf2, 0x97, 0xe7, 0xa7, 0x2f, 0x5f, 0xbf, 0x78, 0xf9, 0xfa, 0xe5, 0xfb, + 0xdf, 0xef, 0x61, 0xb0, 0x7d, 0x5b, 0x11, 0x3b, 0xf6, 0xde, 0x3d, 0xc6, 0xab, 0xc5, 0x17, 0xce, 0x1e, 0xb8, 0x5b, + 0x2c, 0xc0, 0x26, 0x18, 0x6e, 0x41, 0x50, 0xcd, 0x68, 0x54, 0xfa, 0x9e, 0x80, 0x8c, 0x46, 0x85, 0x6c, 0x3c, 0xac, + 0xd8, 0x0a, 0xb9, 0x78, 0xc7, 0x70, 0xf0, 0x91, 0xfd, 0xad, 0x38, 0x13, 0x6e, 0x47, 0x5b, 0xb3, 0x22, 0xe0, 0xf3, + 0xb5, 0x16, 0x95, 0xc7, 0x85, 0xa8, 0xbd, 0x6d, 0x9f, 0x43, 0x42, 0x3d, 0x22, 0xd7, 0xc1, 0xfb, 0x36, 0xc8, 0x1e, + 0x1f, 0x79, 0x4f, 0xca, 0x33, 0xd4, 0xe7, 0x68, 0xf8, 0xa8, 0xf1, 0x8c, 0x4e, 0xcc, 0xb5, 0xd1, 0xa1, 0x9e, 0x16, + 0xb0, 0xbf, 0x95, 0x18, 0x9b, 0x16, 0xac, 0x4c, 0x11, 0xeb, 0xc3, 0xe9, 0x7e, 0x77, 0x6f, 0x46, 0x3f, 0xc3, 0xf1, + 0xa3, 0x54, 0x13, 0x48, 0x8b, 0x02, 0xa5, 0x2b, 0x43, 0x6e, 0x7b, 0x16, 0x16, 0xe6, 0x67, 0xd8, 0x20, 0x80, 0xf6, + 0xb2, 0x63, 0x49, 0xa0, 0x59, 0xbc, 0xd6, 0xf5, 0xcf, 0xcb, 0x97, 0x89, 0x76, 0xbe, 0xf8, 0x06, 0x42, 0x0c, 0xfb, + 0x57, 0x84, 0xc6, 0x84, 0xbb, 0x49, 0x76, 0x97, 0x16, 0x73, 0xaf, 0xba, 0x8c, 0xf1, 0xb8, 0xbb, 0xe3, 0x4a, 0xd1, + 0xbc, 0x75, 0x81, 0x3d, 0x50, 0xf3, 0x3a, 0x5e, 0xb2, 0x10, 0xb0, 0x19, 0xf7, 0xed, 0x22, 0x71, 0x7e, 0xef, 0x74, + 0x42, 0xf6, 0x0f, 0xa6, 0x7c, 0xc8, 0x4a, 0x2a, 0x06, 0xac, 0xac, 0x77, 0xa8, 0x39, 0x6f, 0x13, 0x72, 0xb1, 0x4b, + 0xc3, 0xc5, 0x90, 0xdf, 0x77, 0x49, 0x7a, 0xcf, 0x1b, 0x0e, 0xd5, 0xb6, 0xb9, 0x18, 0xd2, 0x94, 0xd3, 0x5d, 0x2a, + 0x03, 0x42, 0xa4, 0xcb, 0xb8, 0x22, 0xb5, 0x3e, 0xaa, 0x52, 0x27, 0xe9, 0xb8, 0xca, 0x36, 0x9f, 0xb9, 0x64, 0xab, + 0xdb, 0xb5, 0x7f, 0xad, 0x6e, 0x5f, 0x98, 0x81, 0xfc, 0xfd, 0x85, 0xa8, 0x26, 0x06, 0xa2, 0x0b, 0xa8, 0xe0, 0x5f, + 0xe0, 0xe5, 0xc9, 0x23, 0xad, 0x00, 0xbd, 0xeb, 0xec, 0xe8, 0xda, 0xe3, 0x8d, 0x59, 0x6c, 0x2d, 0x71, 0xce, 0x2a, + 0xdf, 0x59, 0x5e, 0x95, 0xad, 0xd0, 0x75, 0x04, 0xfb, 0x23, 0xec, 0xe8, 0xbb, 0xb7, 0x0d, 0x80, 0x28, 0x85, 0x95, + 0x3b, 0xfb, 0x85, 0x77, 0xf6, 0x0b, 0x7b, 0xf6, 0xdb, 0x4d, 0xa0, 0x7c, 0x58, 0xa1, 0x65, 0x2f, 0xa4, 0xa8, 0x4c, + 0x93, 0xc7, 0x4d, 0x5d, 0x16, 0xd2, 0x62, 0xbe, 0x6f, 0x69, 0xd7, 0xe3, 0x31, 0x95, 0xa8, 0x1e, 0xf9, 0x01, 0x5b, + 0xb5, 0x5f, 0x92, 0xfb, 0xef, 0x99, 0xff, 0xb3, 0x37, 0xc8, 0xbb, 0xee, 0x76, 0xff, 0x37, 0x17, 0x3a, 0xb8, 0xad, + 0xa5, 0xc2, 0x53, 0x57, 0xc7, 0x05, 0xde, 0xd5, 0xd2, 0xfb, 0xef, 0x6a, 0x6f, 0x33, 0xbd, 0xec, 0x2a, 0x40, 0x0d, + 0x12, 0xeb, 0x4b, 0x5e, 0x64, 0x49, 0x6d, 0x15, 0x1a, 0x6f, 0x38, 0x84, 0xf6, 0xf0, 0x0e, 0x2e, 0x90, 0xc3, 0x12, + 0x42, 0x3f, 0x56, 0x46, 0x00, 0xe8, 0xb3, 0xd8, 0x6f, 0x78, 0x98, 0x91, 0x81, 0x2f, 0xf1, 0x93, 0xd2, 0x17, 0x17, + 0xef, 0xef, 0x64, 0x26, 0xe8, 0x55, 0xe2, 0xa2, 0xe6, 0xca, 0x76, 0xcc, 0x0f, 0xff, 0x0b, 0x8c, 0x06, 0xe1, 0xb5, + 0x25, 0xdb, 0x17, 0x1d, 0xb3, 0x5c, 0xc1, 0x51, 0x5b, 0xba, 0x32, 0x65, 0xeb, 0xfa, 0x59, 0x0d, 0x33, 0x7d, 0xa6, + 0xbc, 0x01, 0xd9, 0x17, 0x72, 0xf7, 0x53, 0x5d, 0xb1, 0x20, 0x47, 0x93, 0xf1, 0x94, 0x88, 0xc1, 0xa0, 0x95, 0x7c, + 0x88, 0xc9, 0xc3, 0xe1, 0x0e, 0x73, 0x29, 0x74, 0x3f, 0xbc, 0x3e, 0x40, 0x7d, 0x8d, 0x2d, 0x49, 0x36, 0x15, 0xfb, + 0x1b, 0xcc, 0x62, 0x81, 0x38, 0x3a, 0xf8, 0xc5, 0xf9, 0x02, 0x40, 0x96, 0x61, 0x99, 0x69, 0x61, 0x91, 0x4c, 0x95, + 0x8f, 0x6c, 0xc1, 0xe4, 0xe1, 0x78, 0xe6, 0xf7, 0xdc, 0x31, 0x38, 0x84, 0x44, 0x13, 0x6b, 0xfc, 0xe2, 0x67, 0xc1, + 0x38, 0x0e, 0xe5, 0x91, 0x6c, 0x7c, 0x57, 0x92, 0x68, 0x6c, 0x4c, 0x95, 0xf5, 0x55, 0xa2, 0x1a, 0x26, 0xe4, 0x61, + 0x41, 0xf6, 0x0b, 0xba, 0xf4, 0xc7, 0x12, 0xd3, 0xf7, 0xe3, 0xfd, 0xc9, 0x98, 0x3c, 0x8c, 0x1f, 0x4e, 0x0c, 0xdc, + 0xb0, 0x9f, 0x23, 0x1f, 0x2e, 0xc9, 0x7e, 0xb3, 0x4a, 0x30, 0x45, 0x35, 0x3d, 0xf3, 0x2b, 0x49, 0x06, 0xcb, 0x41, + 0xfa, 0xb0, 0x95, 0x17, 0x6b, 0xd5, 0xe3, 0xbd, 0x3e, 0xe4, 0x53, 0x22, 0x1a, 0x37, 0x86, 0x35, 0xbd, 0x8c, 0xff, + 0x92, 0x45, 0x24, 0x25, 0x20, 0x12, 0x82, 0x7a, 0x3b, 0x3b, 0xcf, 0x92, 0x58, 0xa4, 0x51, 0x5a, 0x13, 0x9a, 0x1e, + 0xb1, 0xc9, 0x78, 0x96, 0xb2, 0xf4, 0x70, 0xf2, 0x64, 0x36, 0x79, 0x12, 0x1d, 0x8c, 0xa3, 0x74, 0x30, 0x80, 0xe4, + 0x83, 0x31, 0xb8, 0xd8, 0xc1, 0x6f, 0x76, 0x00, 0x43, 0x77, 0x84, 0x2c, 0x61, 0x01, 0x4d, 0xfb, 0xb2, 0x26, 0xe9, + 0xe1, 0x3c, 0x57, 0x3d, 0x89, 0x6f, 0xe8, 0xda, 0x73, 0x70, 0xf1, 0x5b, 0x78, 0xee, 0x5a, 0x78, 0xbe, 0xdb, 0x42, + 0xa1, 0xc9, 0x76, 0x2c, 0xff, 0x7f, 0xdc, 0x30, 0xee, 0xba, 0x4b, 0x98, 0xc5, 0x75, 0x95, 0x8d, 0x56, 0x85, 0xac, + 0x24, 0xdc, 0x26, 0x94, 0x28, 0x6c, 0x14, 0xaf, 0x56, 0xb9, 0x76, 0x11, 0x9b, 0x57, 0x14, 0xc0, 0x5d, 0x20, 0x4e, + 0x31, 0xb0, 0xd0, 0xc6, 0x40, 0xee, 0x13, 0x2f, 0x24, 0xb3, 0x6a, 0x1f, 0x73, 0x8f, 0xfc, 0x2b, 0x04, 0x63, 0x54, + 0x71, 0x34, 0x9e, 0x29, 0xac, 0x8b, 0xcf, 0xc9, 0x7b, 0xff, 0x8d, 0xa3, 0xc8, 0x1e, 0xcd, 0xa0, 0x27, 0x88, 0x9c, + 0x47, 0x9c, 0x3d, 0x99, 0xbc, 0x0c, 0xdc, 0xcf, 0x60, 0xa5, 0xbf, 0xee, 0x36, 0x63, 0x6d, 0x7b, 0x74, 0x2f, 0x8c, + 0x50, 0xf4, 0x13, 0xbe, 0x33, 0xf5, 0x02, 0x2e, 0xa1, 0x1a, 0xd8, 0xf5, 0xc5, 0x05, 0x2f, 0x01, 0x44, 0x28, 0x13, + 0xfd, 0x7e, 0xef, 0x2f, 0x03, 0x4d, 0x5a, 0xf2, 0xe2, 0x55, 0x26, 0xac, 0x33, 0x0e, 0x34, 0x15, 0xa8, 0xff, 0xc7, + 0xca, 0x3e, 0xd3, 0x31, 0x99, 0xf9, 0x8f, 0xc3, 0x09, 0x89, 0x9a, 0xaf, 0xc9, 0x67, 0x4e, 0xd3, 0xcf, 0x5c, 0xd1, + 0xfe, 0x03, 0x99, 0xb9, 0xe1, 0x90, 0xa1, 0xfe, 0xd2, 0x31, 0x4f, 0x46, 0xaf, 0x13, 0xb3, 0x23, 0xc1, 0xaa, 0x19, + 0x44, 0x61, 0x2f, 0xe0, 0x41, 0x5d, 0xcb, 0xe2, 0x29, 0xcc, 0x3e, 0xa8, 0x11, 0xc5, 0x21, 0x1b, 0xcf, 0x42, 0x19, + 0x4e, 0xc0, 0xbe, 0x77, 0x32, 0x86, 0xfb, 0x80, 0x0c, 0x3f, 0x56, 0x21, 0x76, 0x0e, 0xd2, 0x3e, 0x56, 0xa8, 0x98, + 0x00, 0x88, 0x40, 0xc8, 0xdb, 0xef, 0x4b, 0x95, 0x84, 0xaf, 0x4b, 0x4c, 0x29, 0xd4, 0x07, 0xff, 0x89, 0x54, 0xdd, + 0x31, 0xfd, 0x6a, 0xfd, 0xf8, 0x33, 0xa1, 0xf8, 0x74, 0x97, 0x12, 0xdf, 0x40, 0x70, 0xe7, 0x02, 0x74, 0x10, 0x15, + 0x9a, 0xb1, 0xdd, 0xcf, 0xef, 0x8a, 0xbb, 0xf9, 0x5d, 0xf1, 0xff, 0x8e, 0xdf, 0x15, 0xf7, 0x31, 0x86, 0x95, 0x85, + 0x86, 0x9f, 0x05, 0xe3, 0x20, 0xfa, 0xcf, 0xf9, 0xc4, 0x3b, 0x79, 0xea, 0xcb, 0x4c, 0x4c, 0xef, 0x60, 0x9a, 0x7d, + 0x82, 0x82, 0xb0, 0x8a, 0xbb, 0xf4, 0x64, 0x5d, 0xd9, 0x5b, 0x2b, 0x19, 0x62, 0x9e, 0x7b, 0x58, 0xa3, 0xb0, 0xf2, + 0x80, 0xee, 0x51, 0xb5, 0x41, 0x9c, 0x08, 0x1e, 0xc6, 0xcc, 0x4a, 0xdf, 0xb7, 0x5b, 0xa3, 0xc2, 0xbc, 0x97, 0x8b, + 0x82, 0xec, 0xe6, 0xe3, 0xd9, 0x38, 0x0a, 0xb1, 0x01, 0xff, 0x31, 0x63, 0xd5, 0x90, 0xcd, 0x77, 0x32, 0x52, 0x3b, + 0x26, 0x4f, 0x93, 0x5d, 0xd2, 0x3b, 0xe0, 0x1d, 0xf2, 0xf3, 0xfa, 0x63, 0x18, 0x4b, 0xc3, 0x6f, 0xc9, 0x8b, 0xb8, + 0xc8, 0xaa, 0xe5, 0x65, 0x96, 0x20, 0xd3, 0x05, 0x2f, 0xbe, 0x98, 0xe9, 0xf2, 0x3e, 0xd6, 0x07, 0x8c, 0xa7, 0x14, + 0xaf, 0x1b, 0xa2, 0xf4, 0x75, 0xcb, 0xb3, 0x42, 0x5d, 0x9e, 0x54, 0xcc, 0xf6, 0xac, 0x04, 0xa7, 0x53, 0x30, 0xc1, + 0xd7, 0x3f, 0x5d, 0xef, 0x13, 0xc0, 0x05, 0x85, 0x9a, 0xd3, 0x42, 0xae, 0x0c, 0x96, 0x93, 0x85, 0xee, 0x04, 0xcc, + 0x50, 0x29, 0xf0, 0x02, 0x05, 0x7f, 0xd1, 0xc0, 0x88, 0xbe, 0x70, 0xbf, 0xc9, 0xc0, 0x20, 0x5d, 0x9a, 0x13, 0x61, + 0xec, 0xb8, 0x9d, 0x38, 0x6d, 0x45, 0x39, 0xe3, 0xec, 0x9d, 0xba, 0x52, 0x80, 0x01, 0xde, 0xe6, 0x3a, 0x3a, 0x4d, + 0xd0, 0x6b, 0x41, 0xe9, 0xbc, 0x81, 0xbb, 0x59, 0x46, 0x46, 0xb8, 0xf8, 0xb0, 0xf2, 0x58, 0x70, 0xcf, 0x7e, 0x21, + 0xb1, 0xb6, 0x7e, 0x60, 0xcc, 0xe6, 0x05, 0x0b, 0x14, 0x2a, 0x50, 0x60, 0x39, 0xd3, 0x96, 0xa6, 0xd5, 0x90, 0xef, + 0x1f, 0xa0, 0xb5, 0x69, 0x35, 0xe0, 0xfb, 0x07, 0x75, 0x94, 0x1d, 0x42, 0x96, 0x23, 0x3f, 0x83, 0x7a, 0x5d, 0x47, + 0x26, 0xc5, 0x64, 0xf7, 0xeb, 0x4b, 0xfd, 0x51, 0xdd, 0x80, 0xeb, 0x07, 0x20, 0x80, 0x0d, 0xc0, 0x21, 0x50, 0x0d, + 0x96, 0x46, 0x04, 0x8b, 0x32, 0x85, 0xf6, 0x35, 0xf4, 0xde, 0x68, 0xf8, 0x2f, 0x70, 0x17, 0x91, 0x2b, 0xff, 0x13, + 0x04, 0xfe, 0x8a, 0x32, 0xad, 0x4c, 0xf1, 0x3f, 0xd1, 0xea, 0x15, 0xca, 0x59, 0xd3, 0x9a, 0x0f, 0xa2, 0x35, 0x11, + 0xaa, 0x19, 0x43, 0xf0, 0x6f, 0x65, 0x99, 0xb6, 0x54, 0x55, 0xea, 0x43, 0xe3, 0xb5, 0x56, 0x38, 0xcb, 0xc7, 0x91, + 0xf7, 0x1a, 0x43, 0xc7, 0x26, 0xce, 0x52, 0x4e, 0xa5, 0xce, 0x5e, 0xef, 0xcb, 0xc8, 0x01, 0x4e, 0x27, 0x6c, 0x3c, + 0x4d, 0x0e, 0xe5, 0x34, 0x71, 0x90, 0xf9, 0x39, 0xc3, 0xc8, 0xaa, 0x06, 0x84, 0x45, 0xd9, 0x50, 0xda, 0x02, 0x4c, + 0x72, 0x42, 0xc8, 0x14, 0x43, 0x51, 0xe4, 0x23, 0xdd, 0x0f, 0xeb, 0xcd, 0xea, 0xbe, 0x78, 0xab, 0x01, 0x4e, 0xc3, + 0x04, 0x02, 0x81, 0x17, 0xf1, 0x75, 0x26, 0x2e, 0xc0, 0x63, 0x78, 0x00, 0x5f, 0x82, 0x9b, 0x5c, 0xca, 0x7e, 0xab, + 0xc2, 0x1c, 0xd7, 0x16, 0x30, 0x68, 0xb0, 0x7a, 0x10, 0x1d, 0x2e, 0xa5, 0xcd, 0xae, 0x02, 0xc4, 0xc6, 0x14, 0x62, + 0x59, 0xb0, 0xb5, 0x65, 0xcf, 0x7e, 0x56, 0x4d, 0x43, 0xeb, 0x84, 0x63, 0x71, 0x91, 0x43, 0x14, 0x95, 0x41, 0x0c, + 0xee, 0x48, 0x1e, 0x9f, 0xf7, 0x40, 0x84, 0xe7, 0x04, 0xdc, 0xca, 0x12, 0x19, 0xae, 0xe8, 0x72, 0x74, 0x43, 0xd7, + 0xa3, 0x6b, 0x3a, 0xa6, 0x93, 0x7f, 0x8e, 0xd1, 0x22, 0x5b, 0xa5, 0xde, 0xd2, 0xf5, 0x68, 0x49, 0xbf, 0x1d, 0xd3, + 0x83, 0x7f, 0x8c, 0xc9, 0x34, 0xc7, 0xc3, 0x84, 0x9e, 0x83, 0x63, 0x17, 0xa9, 0xd1, 0x53, 0xd3, 0x37, 0x38, 0xac, + 0x46, 0xf9, 0x90, 0x8f, 0x72, 0xca, 0x47, 0xc5, 0xb0, 0x1a, 0x81, 0xa7, 0x63, 0x35, 0xe4, 0xa3, 0x8a, 0xf2, 0xd1, + 0xd9, 0xb0, 0x1a, 0x9d, 0x91, 0x66, 0xd3, 0x5f, 0x56, 0xfc, 0xb2, 0x64, 0x6b, 0xd8, 0x16, 0xb0, 0x7c, 0xdd, 0x2a, + 0xcb, 0x53, 0x7f, 0x55, 0x9b, 0x93, 0xd9, 0x72, 0xf6, 0xf6, 0xba, 0xcb, 0x89, 0xc5, 0xe3, 0xb6, 0xe9, 0x70, 0xf5, + 0xe5, 0x44, 0x9d, 0xf4, 0x0a, 0xf9, 0x61, 0x3c, 0x15, 0xea, 0x1c, 0x02, 0x33, 0x89, 0x59, 0x18, 0x33, 0x6c, 0xa6, + 0x4e, 0x03, 0x05, 0x4e, 0x36, 0xf2, 0x5c, 0x14, 0xb3, 0x51, 0x4e, 0xe1, 0x7d, 0x4c, 0x48, 0x24, 0xe0, 0xac, 0x3a, + 0xaa, 0x46, 0x05, 0xc4, 0x1c, 0x61, 0x21, 0x3e, 0x42, 0xbf, 0xd4, 0x47, 0x1e, 0x12, 0x78, 0x86, 0x7d, 0x2d, 0x06, + 0x31, 0x1c, 0xf1, 0xb6, 0xb2, 0x6a, 0x16, 0x26, 0x50, 0x59, 0x35, 0x2c, 0x4d, 0x65, 0x05, 0xcd, 0x46, 0x95, 0x5f, + 0x59, 0x85, 0x63, 0x94, 0x10, 0x12, 0x95, 0xba, 0x32, 0x50, 0x9f, 0x24, 0x2c, 0x2c, 0x75, 0x65, 0x67, 0xea, 0xa3, + 0x33, 0xbf, 0xb2, 0x33, 0x70, 0x21, 0x1d, 0x24, 0xfe, 0x55, 0x6a, 0x99, 0xb6, 0xaf, 0x83, 0x8d, 0x55, 0x45, 0x37, + 0xfc, 0xa6, 0x2a, 0xe2, 0xa8, 0xa4, 0x2e, 0x06, 0x34, 0x2e, 0x8c, 0x48, 0x52, 0xbd, 0x46, 0xc1, 0x1f, 0x12, 0x44, + 0xa5, 0x31, 0x78, 0x75, 0x26, 0x5d, 0x2b, 0xb5, 0xa2, 0x62, 0x50, 0x0e, 0x0a, 0xb8, 0x3f, 0xe5, 0xad, 0x85, 0xf4, + 0x33, 0x44, 0x54, 0x86, 0xf2, 0x06, 0x1f, 0x30, 0x78, 0x32, 0xbb, 0x48, 0xc3, 0x64, 0x74, 0x4b, 0xe3, 0xd1, 0x12, + 0xe1, 0x60, 0xd8, 0x79, 0xaa, 0xf0, 0xd6, 0x57, 0x90, 0x7e, 0x43, 0xe3, 0xd1, 0x35, 0x4d, 0xad, 0xcd, 0xa9, 0x81, + 0xba, 0xea, 0x8d, 0xe9, 0x4d, 0x04, 0xaf, 0x6f, 0xa3, 0x25, 0x85, 0xad, 0x74, 0x9c, 0x67, 0x17, 0x22, 0x4a, 0x29, + 0x22, 0x10, 0xae, 0x11, 0x39, 0x70, 0xa9, 0xd1, 0x06, 0xd7, 0x03, 0x28, 0x43, 0xc3, 0x05, 0x2e, 0x07, 0xf1, 0x68, + 0xe9, 0x91, 0xa9, 0x54, 0x5f, 0x64, 0x11, 0x3e, 0xda, 0xd9, 0x68, 0x29, 0x9e, 0x11, 0x0b, 0xe3, 0x0a, 0x86, 0x50, + 0x17, 0x56, 0x9a, 0x82, 0xa4, 0x0b, 0x1c, 0xd9, 0x0b, 0xe3, 0x2a, 0xdc, 0x80, 0x69, 0xd1, 0x2d, 0x98, 0x47, 0x81, + 0xc2, 0xc1, 0x25, 0x48, 0x3f, 0xa1, 0x6c, 0xe7, 0x28, 0x4d, 0x0e, 0x6f, 0x82, 0xd6, 0x3b, 0x13, 0x84, 0xb4, 0xab, + 0x9b, 0x6c, 0x49, 0xdf, 0x60, 0x7b, 0x87, 0x4e, 0x45, 0x05, 0xd5, 0xe7, 0x16, 0x4c, 0x96, 0x6c, 0x10, 0xb6, 0x84, + 0xe9, 0x99, 0x5e, 0x03, 0xf6, 0xf4, 0xfe, 0xc1, 0xce, 0x7c, 0x17, 0xb3, 0xd7, 0xfb, 0x65, 0x34, 0x56, 0x16, 0xbc, + 0xb9, 0x25, 0x76, 0x4b, 0x36, 0x9e, 0x2e, 0x0f, 0xcb, 0xe9, 0x12, 0x89, 0x9d, 0xa1, 0x5b, 0x8c, 0xcf, 0x97, 0x0b, + 0x9a, 0xe0, 0xd9, 0xc6, 0xaa, 0xf9, 0xd2, 0xa0, 0xa5, 0xa4, 0x0c, 0xd7, 0xdb, 0x12, 0xfd, 0xff, 0xd5, 0xc5, 0x2f, + 0x05, 0x78, 0x09, 0xc6, 0x02, 0x40, 0xb8, 0x07, 0xd3, 0x82, 0xd4, 0x46, 0xd9, 0x48, 0xd3, 0x30, 0xc5, 0x45, 0x60, + 0x52, 0xfa, 0xfd, 0x30, 0x67, 0x29, 0xf1, 0xa0, 0x43, 0xed, 0x28, 0x9d, 0xa7, 0xbe, 0x10, 0x04, 0x78, 0x24, 0x75, + 0x8e, 0x4d, 0xfe, 0x39, 0x9e, 0x05, 0x6a, 0x20, 0x82, 0x28, 0x3b, 0xc4, 0x47, 0x0c, 0x5c, 0x14, 0xe9, 0xb8, 0x9d, + 0xae, 0x88, 0xd5, 0xee, 0x31, 0x0b, 0x71, 0x92, 0x30, 0xd7, 0x2c, 0x1b, 0xb2, 0x2a, 0xc2, 0x04, 0x5d, 0x18, 0xd8, + 0xaf, 0x0d, 0x59, 0xb5, 0x7f, 0x00, 0x91, 0x5a, 0x6d, 0x19, 0x17, 0x5d, 0x65, 0x7c, 0x0b, 0x40, 0xd6, 0x8c, 0xb1, + 0x83, 0x7f, 0x8c, 0x67, 0xea, 0x9b, 0x28, 0xe4, 0x47, 0x07, 0xff, 0x80, 0xe4, 0xc3, 0x6f, 0x91, 0x99, 0x83, 0xe4, + 0x46, 0x41, 0x97, 0xcd, 0x59, 0xd7, 0x50, 0x9a, 0xb8, 0xf6, 0x4a, 0xbd, 0xf6, 0xa4, 0x59, 0x7b, 0x05, 0xba, 0x53, + 0x1b, 0xde, 0x43, 0xd9, 0xce, 0x82, 0x09, 0x3a, 0x9a, 0xdd, 0x81, 0x0e, 0xde, 0x29, 0x82, 0x5e, 0x26, 0xa1, 0xf1, + 0x08, 0x55, 0x46, 0xbd, 0x18, 0x0f, 0xaa, 0x93, 0x75, 0xc9, 0x3c, 0x03, 0xe6, 0xd8, 0x9e, 0x43, 0x62, 0x98, 0xab, + 0x83, 0x3a, 0x65, 0xe5, 0x30, 0xc7, 0x03, 0x78, 0xcd, 0xe4, 0x50, 0x0c, 0x72, 0x8d, 0xf2, 0x7d, 0xce, 0x8a, 0x61, + 0x39, 0xc8, 0x35, 0x37, 0x33, 0x6d, 0xc6, 0xa6, 0x4d, 0x74, 0x78, 0xe6, 0x15, 0x3b, 0x5a, 0xf5, 0x80, 0x8f, 0x05, + 0x4f, 0x66, 0xdf, 0xf3, 0xf1, 0x29, 0x70, 0x32, 0x9b, 0x9b, 0x68, 0x49, 0x6f, 0xa3, 0x94, 0x5e, 0x47, 0x6b, 0xba, + 0x8c, 0xce, 0x8d, 0x89, 0x71, 0x52, 0xc3, 0x39, 0x00, 0xad, 0x02, 0x48, 0x3c, 0xf5, 0xeb, 0x1d, 0x4f, 0xaa, 0x70, + 0x49, 0x53, 0x70, 0x1b, 0xf6, 0xed, 0x33, 0xcf, 0x7c, 0x89, 0xd4, 0x06, 0x31, 0xd6, 0xac, 0xa1, 0xe2, 0xc6, 0x5b, + 0xf7, 0x91, 0xa8, 0x61, 0xe7, 0xba, 0xd8, 0x44, 0xd5, 0x70, 0x32, 0x2d, 0x01, 0xb1, 0xb5, 0x1c, 0x0e, 0xdd, 0x11, + 0xb2, 0x7b, 0xfc, 0xe8, 0x40, 0xcf, 0x3d, 0x69, 0xb1, 0x6d, 0x5b, 0xfe, 0xc0, 0x10, 0xa6, 0xf4, 0xf3, 0x47, 0x3e, + 0x20, 0x56, 0x5c, 0xc2, 0xd9, 0x08, 0xd4, 0xd1, 0x0a, 0x9d, 0x7e, 0xab, 0xc2, 0x42, 0x1f, 0xe0, 0x9b, 0x9b, 0x28, + 0xa1, 0xb7, 0x51, 0xee, 0x91, 0xb5, 0x65, 0xcd, 0xe4, 0xf4, 0x34, 0x0b, 0x79, 0xfb, 0x40, 0x2f, 0x17, 0x00, 0xa2, + 0x35, 0x88, 0x7d, 0xa9, 0xeb, 0x01, 0x38, 0x0d, 0xa1, 0x49, 0x68, 0x04, 0x57, 0x15, 0x84, 0x11, 0x70, 0x25, 0xe1, + 0x6f, 0x30, 0x51, 0x81, 0x2f, 0xc0, 0x45, 0x26, 0x4d, 0x73, 0x1e, 0xd4, 0xfe, 0x48, 0xbe, 0x2a, 0xda, 0xde, 0xae, + 0x30, 0x9a, 0x60, 0xec, 0x89, 0xf6, 0x79, 0xa4, 0x1c, 0xc5, 0x45, 0x12, 0x66, 0xa3, 0x1b, 0x75, 0x9e, 0xd3, 0x6c, + 0x74, 0xab, 0x7f, 0x55, 0x74, 0x4c, 0x7f, 0xd1, 0x01, 0x6d, 0x94, 0xf4, 0xad, 0xe3, 0x6c, 0x40, 0xeb, 0xc5, 0xd2, + 0xf8, 0x5f, 0xcb, 0xd1, 0x0d, 0x95, 0xa3, 0x5b, 0xdf, 0x92, 0x6a, 0x32, 0x2d, 0x0e, 0x05, 0x1a, 0x52, 0x75, 0x7e, + 0x5f, 0x00, 0x3f, 0x57, 0x1a, 0xdf, 0x69, 0xf3, 0xbd, 0xd7, 0xfe, 0xd3, 0x4e, 0x9e, 0x40, 0xb1, 0x44, 0x05, 0xab, + 0x46, 0x60, 0xc7, 0xbe, 0xce, 0xe3, 0xc2, 0x8c, 0x52, 0x4c, 0xad, 0x49, 0x3f, 0x06, 0xae, 0x98, 0xf6, 0x0a, 0x70, + 0xb5, 0x04, 0x27, 0x01, 0x88, 0xa1, 0x09, 0x7b, 0x76, 0x0c, 0x51, 0xcf, 0x8d, 0x63, 0x94, 0x6c, 0xb8, 0x07, 0xc4, + 0x5a, 0xe6, 0xad, 0x5c, 0x02, 0x12, 0x78, 0xeb, 0x61, 0x52, 0x00, 0xc6, 0x60, 0xb9, 0x24, 0x3a, 0x8f, 0x87, 0x3e, + 0xa1, 0x5e, 0x68, 0xd4, 0x09, 0xd9, 0xd8, 0x12, 0x38, 0xfe, 0xb0, 0x3e, 0x04, 0x82, 0x57, 0x79, 0xae, 0xbf, 0xd2, + 0xba, 0xfe, 0x52, 0xe9, 0xb9, 0x63, 0xb9, 0xae, 0xdf, 0xb6, 0xa9, 0xd1, 0x0b, 0xb0, 0xf0, 0xdd, 0x28, 0xf3, 0x48, + 0x6e, 0x11, 0x52, 0x15, 0x58, 0xa9, 0x5b, 0x48, 0x30, 0xff, 0x4a, 0xce, 0x56, 0x65, 0xbe, 0x7a, 0xe4, 0x5e, 0x39, + 0x9b, 0x9e, 0xfe, 0x86, 0x04, 0xed, 0xb6, 0x23, 0xcd, 0xe3, 0x2d, 0x3a, 0x7c, 0x76, 0xad, 0x25, 0xe6, 0x4e, 0xa2, + 0xe2, 0xf9, 0x14, 0xb0, 0xd5, 0xb3, 0xec, 0x52, 0xf9, 0x58, 0xed, 0xe2, 0xf8, 0x99, 0xf3, 0x27, 0xa9, 0xc2, 0xb5, + 0x68, 0x28, 0x41, 0xc0, 0x9b, 0xc3, 0xd8, 0x15, 0xaa, 0x80, 0x86, 0xe6, 0x06, 0x8e, 0x73, 0x35, 0xac, 0x34, 0x01, + 0xd3, 0x52, 0x1e, 0x1d, 0xe0, 0xd0, 0xe4, 0x51, 0xbb, 0x69, 0x58, 0x19, 0xba, 0xd6, 0xe8, 0x73, 0x5b, 0xe9, 0x8c, + 0x37, 0x1b, 0xbe, 0x7f, 0x30, 0xa8, 0xf0, 0x27, 0x69, 0x8e, 0x46, 0x3b, 0x37, 0xdc, 0x69, 0x04, 0x66, 0xae, 0xe4, + 0x8a, 0xec, 0x8e, 0x92, 0x97, 0xdf, 0xd3, 0x0b, 0x0b, 0xe8, 0xcf, 0x7f, 0x2e, 0x26, 0x9c, 0xb4, 0xc4, 0x84, 0x68, + 0xe9, 0xa0, 0x45, 0x07, 0x3b, 0xca, 0x2b, 0xfb, 0x12, 0x2f, 0x9d, 0xe3, 0x7f, 0x5f, 0x8f, 0xb5, 0xab, 0x40, 0x68, + 0x75, 0x72, 0xbf, 0x3d, 0x59, 0x20, 0x6a, 0x40, 0x35, 0xbb, 0x2a, 0x47, 0x99, 0x76, 0x56, 0x64, 0xd3, 0x90, 0xb9, + 0xee, 0x66, 0x69, 0xd8, 0x4c, 0x76, 0x2c, 0x2c, 0x33, 0x0c, 0xd6, 0x4e, 0x15, 0x7d, 0x0e, 0x5a, 0x7e, 0x04, 0x2f, + 0x9b, 0xca, 0x33, 0x9f, 0xcd, 0x32, 0xe2, 0x05, 0x3a, 0xe7, 0x54, 0x2c, 0x9a, 0xd2, 0xb1, 0x72, 0xbb, 0x2d, 0xd1, + 0x58, 0xa2, 0x8c, 0x82, 0xa0, 0xb6, 0x41, 0xd8, 0x75, 0xe9, 0x9e, 0xf4, 0x69, 0x17, 0x9f, 0x56, 0xa0, 0xef, 0xf1, + 0x5d, 0x06, 0x12, 0x53, 0x4f, 0xf2, 0x50, 0x35, 0x9a, 0xa3, 0x93, 0x67, 0x49, 0xaa, 0xf1, 0xf9, 0x95, 0xec, 0xac, + 0x79, 0xb7, 0x1a, 0x53, 0xfc, 0x47, 0xea, 0xf6, 0x9d, 0xcb, 0xd0, 0x44, 0x7f, 0x2d, 0x0f, 0x5a, 0x0a, 0x0b, 0x8e, + 0xdb, 0xc6, 0x5f, 0xbf, 0xcd, 0x1c, 0x62, 0x58, 0xba, 0x1c, 0xde, 0x84, 0x0e, 0xdd, 0x5d, 0x65, 0x67, 0xae, 0x0f, + 0xa8, 0x53, 0x17, 0xeb, 0x36, 0xa0, 0x64, 0xc9, 0xbb, 0x75, 0x7a, 0x62, 0xa5, 0x5f, 0xf6, 0xc3, 0x9d, 0x79, 0xd4, + 0xec, 0xee, 0x76, 0x3b, 0x21, 0x6d, 0xfb, 0x60, 0xbc, 0x2f, 0x61, 0x21, 0xce, 0x3b, 0x6c, 0xef, 0xe7, 0xb0, 0x7a, + 0xc8, 0x07, 0x7f, 0xe0, 0x38, 0xc3, 0xe8, 0x67, 0xca, 0xd0, 0xe7, 0x45, 0x21, 0x2f, 0x55, 0xa7, 0x7c, 0xa1, 0x5b, + 0xcb, 0xd4, 0xfb, 0x75, 0xfc, 0xba, 0x15, 0x20, 0xc6, 0xeb, 0x8a, 0x95, 0xe2, 0x0d, 0xad, 0x30, 0xae, 0x81, 0xdb, + 0xe4, 0x50, 0x4b, 0xb5, 0x40, 0xd4, 0xe5, 0x27, 0x0f, 0x79, 0x64, 0xd4, 0x99, 0xf0, 0xdd, 0x43, 0xee, 0x4b, 0xd7, + 0x76, 0x9b, 0xf8, 0xb9, 0xa6, 0xed, 0xef, 0x0e, 0x74, 0x47, 0xeb, 0xee, 0x6f, 0x9e, 0xcd, 0xcf, 0x23, 0xf3, 0xc5, + 0x00, 0x9b, 0xb5, 0xcb, 0xb8, 0xec, 0x18, 0xee, 0x7b, 0xd3, 0x83, 0xb1, 0x80, 0x40, 0x62, 0x86, 0x5e, 0x06, 0x2e, + 0x70, 0x81, 0xbb, 0xc2, 0x80, 0x21, 0xae, 0x69, 0xc9, 0xad, 0xb6, 0xb2, 0xf5, 0x91, 0xb7, 0x51, 0x21, 0x58, 0xd7, + 0x1d, 0x37, 0x49, 0x0e, 0xc1, 0x09, 0x5b, 0xee, 0x7d, 0xed, 0xb5, 0x33, 0xfc, 0x30, 0x10, 0xce, 0x2d, 0xd1, 0x33, + 0x6a, 0x7b, 0xa8, 0xd5, 0xbd, 0x86, 0x57, 0xb9, 0x8d, 0x3c, 0xeb, 0x37, 0xf3, 0xd2, 0xb0, 0x2f, 0x78, 0x2d, 0x05, + 0x87, 0xc6, 0x76, 0x2b, 0xdc, 0x62, 0xf1, 0x8e, 0x56, 0x2b, 0x6b, 0x6d, 0xb5, 0xd7, 0x4a, 0x45, 0xef, 0x5e, 0x73, + 0x9c, 0x38, 0x4b, 0x61, 0xfb, 0xe1, 0xfd, 0x05, 0xbb, 0x26, 0x80, 0x41, 0x8b, 0xc9, 0x02, 0x25, 0xa8, 0x64, 0xad, + 0x6a, 0xb7, 0x53, 0xe2, 0x97, 0xfb, 0x45, 0x97, 0xd9, 0xce, 0xe3, 0xd7, 0x4d, 0xda, 0x67, 0x3e, 0x47, 0x3f, 0xcc, + 0xef, 0xac, 0x93, 0x92, 0x33, 0x8c, 0x6b, 0xf9, 0xff, 0x55, 0xf4, 0xa2, 0xc8, 0xd2, 0x68, 0x63, 0x78, 0x30, 0x1b, + 0x6a, 0xd3, 0x87, 0xc6, 0xa8, 0xdc, 0xb2, 0x51, 0x44, 0xb4, 0xba, 0x01, 0xc1, 0x8c, 0xe2, 0xbe, 0x44, 0x9b, 0x57, + 0xaa, 0x2c, 0xbc, 0xc3, 0x67, 0x36, 0x7a, 0xc3, 0xf6, 0x84, 0x50, 0xbe, 0x7b, 0x5a, 0x98, 0x55, 0x4b, 0x45, 0x83, + 0xed, 0x12, 0xde, 0xc5, 0xa8, 0xd2, 0x4f, 0x98, 0x6c, 0x59, 0x30, 0xd5, 0xff, 0xef, 0x8b, 0x2c, 0x6d, 0x53, 0x74, + 0x60, 0x3a, 0x9b, 0x3e, 0x9d, 0x74, 0x83, 0xeb, 0x0c, 0x58, 0x44, 0xb0, 0xa5, 0xc2, 0xf1, 0x28, 0xb5, 0x1b, 0x24, + 0x4c, 0x04, 0x37, 0x51, 0x2f, 0x3b, 0x5a, 0xa6, 0x64, 0x55, 0xc0, 0xf3, 0x2b, 0x57, 0x99, 0x8e, 0xa3, 0xa1, 0xdf, + 0x3f, 0x4b, 0x4d, 0xe8, 0x57, 0xea, 0xa5, 0x2a, 0xce, 0xc3, 0xa8, 0x3a, 0x54, 0x18, 0xa3, 0x25, 0x4d, 0xe1, 0x18, + 0xcc, 0xce, 0xc3, 0x14, 0x2f, 0x67, 0x9b, 0x84, 0x7d, 0xc1, 0x40, 0x2e, 0xb5, 0x41, 0xbd, 0xa6, 0x44, 0x6b, 0xd6, + 0xde, 0xcc, 0x29, 0xa1, 0xe7, 0xac, 0xf4, 0xef, 0x42, 0x6b, 0x10, 0x28, 0xca, 0x66, 0xca, 0xf4, 0x54, 0xb7, 0xf3, + 0x9c, 0x26, 0xb4, 0xa0, 0x2b, 0x52, 0x83, 0xbe, 0xd7, 0xc9, 0xd9, 0xd1, 0xc9, 0xce, 0xcc, 0x7a, 0xcc, 0x8a, 0xe1, + 0x64, 0x1a, 0xc3, 0x35, 0x2d, 0x76, 0xd7, 0xb4, 0x65, 0xf3, 0xc6, 0xd5, 0xd8, 0x38, 0x0d, 0xda, 0x05, 0xd2, 0x36, + 0xcd, 0xed, 0xa7, 0x1e, 0xb7, 0xbf, 0xae, 0xd9, 0x72, 0xda, 0x5b, 0x6f, 0xb7, 0xbd, 0x14, 0x6c, 0x44, 0x3d, 0x3e, + 0x7e, 0xad, 0xa4, 0xeb, 0x96, 0xcb, 0x4f, 0xe1, 0xd9, 0xe3, 0xeb, 0x97, 0x3e, 0xb8, 0x1c, 0xad, 0xda, 0xdc, 0xfd, + 0x72, 0x17, 0x59, 0xee, 0x8b, 0x86, 0x96, 0xeb, 0x19, 0x6a, 0x92, 0x67, 0xa3, 0xbd, 0x43, 0x2d, 0x58, 0xce, 0xba, + 0x09, 0x4f, 0x0c, 0x76, 0xec, 0x55, 0x63, 0x73, 0x54, 0xe6, 0x92, 0xd5, 0x20, 0x81, 0x3e, 0xc9, 0x33, 0x4d, 0x7f, + 0x2f, 0xc3, 0x7c, 0x74, 0x43, 0x73, 0xc0, 0x15, 0xab, 0xec, 0x25, 0x83, 0xd4, 0x55, 0x7b, 0x89, 0x2b, 0x5f, 0xe1, + 0x90, 0x6c, 0xf0, 0xc9, 0x30, 0x55, 0x9f, 0x5d, 0xf2, 0xe0, 0xff, 0x6d, 0xd5, 0x2a, 0x3d, 0x37, 0xc9, 0x0d, 0xc7, + 0xbf, 0x4e, 0xda, 0x3e, 0x26, 0x06, 0x09, 0x78, 0x6a, 0x17, 0x43, 0x35, 0xaa, 0x8a, 0x58, 0x94, 0xb9, 0x89, 0x39, + 0x76, 0x67, 0xd7, 0xd0, 0x41, 0x19, 0xfc, 0xba, 0xe1, 0x13, 0x73, 0x07, 0xb6, 0x02, 0x1d, 0x9d, 0x68, 0x2e, 0xc3, + 0xcc, 0x5c, 0x86, 0x69, 0xd7, 0x56, 0x81, 0xe1, 0x55, 0x5b, 0x25, 0x51, 0xae, 0x46, 0x3d, 0x6e, 0x66, 0xa9, 0xd9, + 0x8b, 0xbc, 0x7b, 0x4d, 0x7a, 0x12, 0x7f, 0xba, 0xf4, 0xe4, 0xf5, 0x30, 0x20, 0xf2, 0x4b, 0x96, 0x86, 0x6b, 0x14, + 0x04, 0xa7, 0x56, 0x3b, 0x90, 0xe6, 0x23, 0x40, 0xe6, 0xc7, 0x69, 0xf8, 0x4e, 0x8b, 0x73, 0xc8, 0x46, 0x69, 0x9c, + 0xd8, 0xd2, 0xa8, 0x87, 0xe0, 0xce, 0x7b, 0xc9, 0x63, 0x08, 0x7c, 0xf8, 0x1e, 0x37, 0x83, 0x8a, 0x6e, 0x4b, 0x4c, + 0x94, 0x36, 0x8f, 0xba, 0xe5, 0xa3, 0x86, 0x50, 0xc9, 0xca, 0xf0, 0x12, 0x68, 0xef, 0x8e, 0xc0, 0xa8, 0x72, 0x02, + 0x99, 0x61, 0xb1, 0x7f, 0x30, 0x4c, 0x95, 0xa0, 0x68, 0x28, 0x87, 0x4b, 0x94, 0x03, 0x62, 0x12, 0x08, 0x8c, 0x8a, + 0x41, 0xaa, 0x2b, 0x53, 0x2f, 0x06, 0xa9, 0xbe, 0x55, 0x91, 0xfa, 0x34, 0x0b, 0x2b, 0xaa, 0x5b, 0x44, 0xc7, 0x74, + 0x28, 0xe9, 0xd2, 0xec, 0xd4, 0x5c, 0x4b, 0x2f, 0xd4, 0x72, 0x7c, 0xaa, 0xd3, 0x60, 0x14, 0x4f, 0x5c, 0x8a, 0x7e, + 0xab, 0xf6, 0xb3, 0xff, 0x16, 0x53, 0x6a, 0xc4, 0xa6, 0xf6, 0x16, 0x31, 0xac, 0xda, 0xf7, 0x59, 0x95, 0x83, 0x76, + 0x17, 0x94, 0x8d, 0x95, 0x71, 0x9e, 0x6f, 0x04, 0x33, 0x07, 0x6d, 0x63, 0xd5, 0xf4, 0xa1, 0x37, 0x62, 0xd4, 0xde, + 0x98, 0x6a, 0xdc, 0x13, 0xf8, 0x69, 0x83, 0xa6, 0x7b, 0x91, 0xe7, 0xa8, 0x47, 0xde, 0xfd, 0xcf, 0x1c, 0xd9, 0x99, + 0x7c, 0x16, 0xcb, 0xa4, 0x6e, 0x1f, 0x93, 0x60, 0xa1, 0xea, 0x18, 0x5d, 0xb8, 0x91, 0x29, 0xed, 0xe7, 0xce, 0xf4, + 0x23, 0x9e, 0xc9, 0xfd, 0x76, 0x68, 0xd4, 0x97, 0x86, 0xb5, 0xa4, 0x88, 0xfa, 0x82, 0xde, 0x9a, 0xea, 0xe8, 0x80, + 0x7a, 0x1d, 0x81, 0xd5, 0x15, 0x6d, 0x50, 0x03, 0x30, 0x19, 0xd7, 0xb6, 0x36, 0x9f, 0x83, 0xa9, 0xad, 0xaa, 0xe0, + 0x09, 0xdd, 0x15, 0x4a, 0xf7, 0x26, 0x75, 0xdd, 0x1a, 0x62, 0x0b, 0x18, 0x10, 0xb8, 0xd1, 0x53, 0xd3, 0x1f, 0x34, + 0x51, 0x01, 0x68, 0xd0, 0xb8, 0x9d, 0xe9, 0x1c, 0x89, 0x7e, 0xa7, 0x36, 0x6d, 0x33, 0xd5, 0xab, 0xca, 0x07, 0x50, + 0xf1, 0x67, 0xe9, 0xf4, 0xdc, 0x8c, 0x58, 0x00, 0xe3, 0x1e, 0x38, 0x53, 0xbd, 0xe3, 0x0c, 0xac, 0x27, 0xf2, 0x3c, + 0x2b, 0x79, 0x22, 0x05, 0xcc, 0x88, 0xbc, 0xbc, 0x94, 0x02, 0x86, 0x41, 0x0d, 0x00, 0x5a, 0x34, 0x97, 0xd1, 0x84, + 0x3f, 0xaa, 0xe9, 0x5d, 0x79, 0xf8, 0x23, 0x9d, 0xeb, 0x9b, 0x71, 0x0d, 0x86, 0xca, 0xeb, 0x8a, 0xef, 0x64, 0xfa, + 0x86, 0x3f, 0xf6, 0x32, 0x2d, 0xe5, 0xba, 0xd8, 0xc9, 0xf2, 0xe8, 0x1b, 0xfe, 0x44, 0xe7, 0x39, 0x78, 0x5c, 0xd3, + 0x34, 0xbe, 0xdd, 0xc9, 0xf2, 0xcf, 0x6f, 0x1e, 0xdb, 0x3c, 0x8f, 0xc6, 0x35, 0xbd, 0xe6, 0xfc, 0xa3, 0xcb, 0x34, + 0xd1, 0x55, 0x8d, 0x1f, 0xff, 0xd3, 0xe6, 0x7a, 0x5c, 0xd3, 0x4b, 0x29, 0xaa, 0xe5, 0x4e, 0x51, 0x07, 0xdf, 0x1c, + 0xfc, 0x93, 0x7f, 0x63, 0xba, 0x77, 0x50, 0xd3, 0xbf, 0xd7, 0x71, 0x51, 0xf1, 0x62, 0xa7, 0xb8, 0x7f, 0xfc, 0xf3, + 0x9f, 0x8f, 0x6d, 0xc6, 0xc7, 0x35, 0xbd, 0xe5, 0x71, 0x47, 0xdb, 0x27, 0x4f, 0x1e, 0xf3, 0x7f, 0xd4, 0x35, 0xfd, + 0x95, 0xf9, 0xc1, 0x51, 0x8f, 0x33, 0x4f, 0x0f, 0x9f, 0xcb, 0x26, 0x6a, 0xc0, 0xd0, 0x43, 0x03, 0x58, 0x4a, 0xab, + 0xa6, 0xb9, 0xc3, 0x2b, 0x17, 0xdc, 0xbe, 0x4f, 0xe3, 0x34, 0x5e, 0xc1, 0x41, 0xb0, 0x41, 0xe3, 0xac, 0x02, 0x38, + 0x55, 0xe0, 0x3d, 0xa3, 0x92, 0x66, 0xa5, 0xfc, 0x95, 0xf3, 0x8f, 0x30, 0x68, 0x08, 0x69, 0xa3, 0x22, 0x03, 0xbd, + 0x59, 0xe9, 0xc8, 0x46, 0xe8, 0xbf, 0xd9, 0x8c, 0x83, 0xe3, 0xc3, 0xe8, 0xf5, 0xfb, 0x61, 0xc1, 0x44, 0x58, 0x10, + 0x42, 0xff, 0x0a, 0x0b, 0x70, 0x28, 0x29, 0x98, 0x97, 0xcf, 0xf8, 0x9e, 0x6b, 0xa3, 0xb0, 0x10, 0x44, 0x77, 0x91, + 0x7d, 0x40, 0xd5, 0xa3, 0xef, 0xd0, 0x0d, 0xf1, 0xb2, 0xc2, 0x82, 0xa1, 0x55, 0x0d, 0xcc, 0x10, 0x14, 0xff, 0x8a, + 0x87, 0x12, 0x7c, 0xe2, 0x01, 0x3e, 0x7a, 0x4c, 0x66, 0x5c, 0x5d, 0x6b, 0xdf, 0x9c, 0x87, 0x05, 0x0d, 0x74, 0xdb, + 0x21, 0xe8, 0x40, 0xe4, 0xbf, 0x00, 0x4f, 0x81, 0x81, 0x0f, 0x0b, 0xbb, 0xee, 0xc0, 0xf3, 0xf9, 0xd5, 0xb0, 0x8e, + 0x2e, 0xfc, 0xe8, 0xaf, 0xd6, 0x85, 0x3d, 0x23, 0x53, 0x79, 0x58, 0x0e, 0x27, 0xd3, 0xc1, 0x40, 0xba, 0x38, 0x6e, + 0xc7, 0xd9, 0xfc, 0xd7, 0xb9, 0x5c, 0x2c, 0x50, 0xf7, 0x8d, 0xf3, 0x3a, 0xd3, 0x7f, 0x23, 0xed, 0x7c, 0xf0, 0xea, + 0xf8, 0xb7, 0xd3, 0x93, 0xe3, 0x17, 0xe0, 0x7c, 0xf0, 0xfe, 0xf9, 0xf7, 0xcf, 0xdf, 0xa9, 0xe0, 0xee, 0x6a, 0xce, + 0xfb, 0x7d, 0x27, 0xf5, 0x09, 0xf9, 0xb0, 0x22, 0xfb, 0x61, 0xfc, 0xb0, 0x50, 0x46, 0x0f, 0xe4, 0x90, 0x59, 0x28, + 0x64, 0xa8, 0xa2, 0xb6, 0xbf, 0xcb, 0xe1, 0xc4, 0x03, 0xb3, 0xb8, 0x69, 0x88, 0x70, 0xfd, 0x96, 0xdb, 0x20, 0x6b, + 0xf2, 0xc8, 0xeb, 0x07, 0x27, 0x53, 0xe9, 0xd8, 0xc2, 0x82, 0x41, 0xd9, 0xd0, 0xa6, 0xe3, 0x6c, 0x5e, 0x2c, 0x6c, + 0xbb, 0xdc, 0x02, 0x19, 0xa5, 0xd9, 0xf9, 0x79, 0xa8, 0xa0, 0xab, 0x8f, 0x40, 0x03, 0x60, 0x1a, 0x55, 0xb8, 0x16, + 0xf1, 0x99, 0x5f, 0x7e, 0x34, 0xf6, 0x9a, 0x77, 0x85, 0xba, 0x27, 0xd3, 0xac, 0xaa, 0x31, 0xa0, 0x83, 0x09, 0xe5, + 0x6e, 0xd0, 0x4d, 0x30, 0x19, 0xd5, 0x96, 0x5f, 0xe7, 0xd5, 0xc2, 0x34, 0xc7, 0x0d, 0x43, 0xe5, 0x95, 0x7c, 0x2e, + 0x1b, 0x88, 0x0c, 0x24, 0xc3, 0xb0, 0x47, 0x63, 0x14, 0xa9, 0xef, 0xed, 0x7a, 0xc7, 0x6f, 0x72, 0x09, 0xd1, 0x14, + 0x33, 0x90, 0xce, 0x1f, 0x0b, 0xe5, 0x5c, 0x2e, 0x19, 0x9f, 0x8b, 0xc5, 0x11, 0xb8, 0x9d, 0xcf, 0xc5, 0x22, 0xc2, + 0xa0, 0x7c, 0x19, 0xc4, 0x2a, 0x01, 0xbb, 0x17, 0x07, 0xe1, 0xdb, 0x09, 0x6d, 0x60, 0x37, 0x90, 0x64, 0x83, 0xd2, + 0xae, 0x34, 0x44, 0xb9, 0x53, 0x1e, 0x6d, 0x10, 0x79, 0x88, 0x55, 0xf3, 0xaa, 0xed, 0xc9, 0x66, 0x2e, 0x26, 0xb8, + 0xca, 0x62, 0x26, 0xa7, 0xf1, 0x21, 0x2b, 0xa6, 0x31, 0x94, 0x12, 0xa7, 0x69, 0x18, 0xd3, 0x09, 0x15, 0x84, 0x24, + 0x8c, 0xcf, 0xe3, 0x05, 0x4d, 0x50, 0x4a, 0x10, 0x42, 0xc8, 0x8f, 0x11, 0xda, 0xe6, 0xc0, 0x92, 0xb7, 0xdb, 0xcf, + 0xd3, 0xcf, 0xed, 0x18, 0x2e, 0xa3, 0x22, 0x74, 0x83, 0xce, 0x1a, 0xfe, 0x8d, 0xa8, 0xa0, 0x31, 0x56, 0x0c, 0x41, + 0xc0, 0x0b, 0x8c, 0x4a, 0x58, 0x90, 0x98, 0x55, 0x10, 0x45, 0xa0, 0x9c, 0xc7, 0x0b, 0x56, 0xd0, 0xa6, 0xcd, 0x69, + 0xac, 0x4d, 0x82, 0x7a, 0x0e, 0x4b, 0x6d, 0x4f, 0x2a, 0x15, 0x62, 0x8f, 0xcf, 0x44, 0x74, 0xad, 0x0d, 0x0d, 0x00, + 0x05, 0x4a, 0xc9, 0xc5, 0xaf, 0xbf, 0xdc, 0xc3, 0x4d, 0x41, 0xff, 0xb3, 0x8d, 0x89, 0x76, 0x96, 0xab, 0x43, 0x6f, + 0xbe, 0xa0, 0x71, 0x9e, 0x43, 0x28, 0x36, 0x83, 0x40, 0x2e, 0xb2, 0x0a, 0x22, 0x5a, 0xdc, 0x06, 0x26, 0x24, 0x1c, + 0xb4, 0xe9, 0x03, 0xa4, 0x36, 0xc4, 0xe4, 0xca, 0x13, 0x03, 0xbb, 0xad, 0x12, 0x04, 0x1c, 0xe9, 0x79, 0xf6, 0xa9, + 0x89, 0xb1, 0xa6, 0xa9, 0x99, 0x89, 0xb7, 0xa1, 0x10, 0x0d, 0x5a, 0x10, 0xcd, 0xe0, 0xfd, 0x73, 0xc9, 0xf1, 0xaa, + 0x03, 0x3f, 0xe0, 0x9d, 0x8b, 0x33, 0xaf, 0x66, 0x1e, 0x91, 0x53, 0x8f, 0x73, 0x44, 0xbf, 0xe4, 0x61, 0x35, 0xd2, + 0xc9, 0x18, 0x2b, 0x89, 0x83, 0xde, 0x06, 0x0b, 0xe6, 0x84, 0xae, 0x78, 0x68, 0xf9, 0xf8, 0x17, 0xc8, 0x64, 0x94, + 0xd4, 0x58, 0xd1, 0x95, 0x16, 0x23, 0xce, 0x6b, 0x98, 0xa5, 0xc9, 0x8a, 0x2e, 0x16, 0x9a, 0x34, 0x0b, 0x65, 0x1a, + 0xe0, 0x13, 0x68, 0x31, 0x72, 0x0f, 0x35, 0x6d, 0x20, 0x34, 0xec, 0x0e, 0x01, 0x1f, 0xb9, 0x87, 0x0e, 0xff, 0x3f, + 0xcf, 0x2e, 0x10, 0x69, 0xef, 0xd2, 0x44, 0xc6, 0x23, 0x75, 0x03, 0x07, 0xc5, 0xf8, 0xd8, 0x37, 0x13, 0xbf, 0x70, + 0x46, 0xef, 0x93, 0xca, 0x77, 0xf8, 0x60, 0xf9, 0xe3, 0x4d, 0xcd, 0xac, 0x8c, 0x60, 0x3d, 0x6c, 0xb7, 0xb8, 0x20, + 0xda, 0x2e, 0x80, 0xd4, 0x33, 0x5e, 0x2d, 0x7c, 0xe3, 0xd5, 0xf8, 0x0e, 0xe3, 0x55, 0x67, 0x85, 0x15, 0xe6, 0x64, + 0x83, 0xfa, 0x2c, 0x25, 0xcf, 0xcf, 0x51, 0x26, 0xd8, 0x74, 0x39, 0x2b, 0xa9, 0x4a, 0x25, 0xb4, 0x17, 0xfb, 0x19, + 0xe3, 0x1b, 0x82, 0x71, 0x56, 0x1c, 0x46, 0x02, 0x55, 0xa9, 0xa4, 0x0e, 0x7b, 0x05, 0xa8, 0xc7, 0xe0, 0xbd, 0xc1, + 0x10, 0x35, 0x32, 0x76, 0xd3, 0x06, 0x42, 0x43, 0x63, 0x3d, 0xda, 0xb3, 0xd6, 0xa3, 0xdb, 0x6d, 0x65, 0xfc, 0xed, + 0xe4, 0xba, 0x48, 0x10, 0x55, 0x58, 0x8d, 0x26, 0xc0, 0x9b, 0x26, 0xf6, 0xb6, 0xe4, 0x94, 0x16, 0x18, 0x3e, 0xfb, + 0xaf, 0xb0, 0x74, 0x2a, 0x89, 0x92, 0xcc, 0xca, 0x68, 0xe0, 0xce, 0xc1, 0x67, 0x71, 0x05, 0x6b, 0x00, 0x22, 0x39, + 0xa2, 0x87, 0xeb, 0x5f, 0xa1, 0x74, 0x99, 0x25, 0x99, 0x49, 0xc8, 0xcc, 0x45, 0xda, 0xce, 0x3a, 0x98, 0x38, 0x93, + 0x5a, 0x6f, 0x2c, 0xe4, 0xd0, 0x20, 0x3f, 0x80, 0x32, 0xc4, 0xe1, 0x93, 0x0f, 0x26, 0x54, 0xaa, 0x50, 0xaa, 0x8d, + 0x6e, 0x76, 0x03, 0xaf, 0xbc, 0xcf, 0x2e, 0x79, 0x59, 0xc5, 0x97, 0x2b, 0x63, 0x49, 0xcc, 0xd9, 0x5d, 0x6e, 0x7b, + 0x54, 0x98, 0x57, 0xaf, 0x9f, 0x7f, 0x7f, 0xdc, 0x78, 0xb5, 0x8b, 0x38, 0x1a, 0x82, 0x6d, 0xc5, 0x18, 0xa3, 0xb7, + 0xf8, 0x34, 0x98, 0x28, 0xd7, 0x08, 0xf4, 0x2e, 0x05, 0xfd, 0xf6, 0x97, 0x7a, 0x02, 0x5e, 0x72, 0xbd, 0xfc, 0x92, + 0x8f, 0x80, 0x25, 0x2a, 0xf4, 0xac, 0x30, 0x37, 0x2b, 0xb3, 0x3b, 0xbb, 0x15, 0x99, 0x69, 0x57, 0x1a, 0x19, 0x88, + 0x57, 0xdb, 0x61, 0x2c, 0x5c, 0xba, 0xa6, 0xdb, 0xc1, 0xae, 0x96, 0x9e, 0x25, 0xf2, 0x76, 0x5b, 0x42, 0x87, 0xec, + 0x80, 0x7b, 0x2f, 0xe3, 0x1b, 0x78, 0x59, 0x7a, 0xdd, 0x6c, 0x06, 0x4f, 0x00, 0x33, 0xe1, 0xc2, 0x59, 0x16, 0xc7, + 0x2c, 0x4b, 0x42, 0x15, 0x9b, 0xab, 0x21, 0xf2, 0x56, 0x84, 0xd6, 0xec, 0xaf, 0x50, 0x8c, 0xc0, 0xee, 0xe4, 0xe4, + 0x63, 0xb6, 0x9a, 0xad, 0x01, 0x35, 0xff, 0x32, 0x13, 0x40, 0x73, 0xed, 0x5a, 0xb0, 0x4d, 0xa1, 0xcd, 0x75, 0xfd, + 0x34, 0x5e, 0xc5, 0x09, 0xa8, 0x6e, 0xc0, 0x5b, 0xe4, 0x46, 0x8b, 0xae, 0x0c, 0xba, 0x28, 0xbd, 0xa7, 0x1c, 0x4b, + 0x0a, 0x1d, 0x7d, 0xef, 0x09, 0x75, 0xee, 0x19, 0xc0, 0x25, 0x8d, 0x9a, 0xa7, 0x5a, 0xca, 0x58, 0x00, 0x2c, 0x74, + 0x30, 0x53, 0x64, 0x2b, 0xba, 0x32, 0x98, 0x14, 0xf0, 0xd6, 0x00, 0x7f, 0x88, 0xac, 0x52, 0x77, 0xc5, 0x32, 0x2c, + 0x3d, 0xfb, 0xeb, 0x7e, 0x3f, 0xf6, 0xec, 0xaf, 0x57, 0x9a, 0xd6, 0xc5, 0xed, 0x06, 0x90, 0x1a, 0x03, 0x88, 0x1c, + 0xeb, 0x81, 0x30, 0x11, 0xc5, 0x9a, 0xbe, 0x7f, 0xc7, 0x26, 0x8b, 0x02, 0xa1, 0xdf, 0xa9, 0xd7, 0x93, 0x92, 0x80, + 0x4e, 0xad, 0x62, 0x47, 0x03, 0x6d, 0xf6, 0x01, 0x01, 0x51, 0xfd, 0x8c, 0x6c, 0xbe, 0x50, 0xce, 0xc5, 0x2a, 0x7c, + 0xf8, 0x98, 0x42, 0x40, 0xe1, 0x8e, 0x1a, 0x9d, 0xb7, 0x21, 0x12, 0x28, 0x2b, 0x14, 0xb1, 0xe6, 0xc5, 0x5a, 0x12, + 0x32, 0x1f, 0x2f, 0x50, 0x70, 0xe5, 0x80, 0x5d, 0x39, 0x9b, 0x0c, 0xcb, 0x88, 0xb3, 0xf0, 0xee, 0x6f, 0x26, 0x0b, + 0x82, 0x9a, 0x2b, 0x3f, 0x90, 0xe3, 0x4e, 0xa6, 0xc6, 0x9e, 0x6a, 0xd4, 0x20, 0x98, 0x8c, 0x20, 0x30, 0xdc, 0xf0, + 0x0b, 0x3e, 0x3e, 0x58, 0x10, 0x50, 0x91, 0x59, 0xb3, 0x10, 0xf3, 0xe2, 0xf0, 0x11, 0xa0, 0xc6, 0x8c, 0x0e, 0x9e, + 0x4c, 0x39, 0x83, 0x43, 0x94, 0x8e, 0x41, 0x46, 0x2b, 0xe0, 0xb7, 0x50, 0xbf, 0x5b, 0x27, 0xbe, 0x0f, 0xfd, 0x2a, + 0xe8, 0x79, 0x0c, 0x0c, 0x47, 0x34, 0xd9, 0x0f, 0xf9, 0x60, 0x32, 0x00, 0x6d, 0x89, 0xb7, 0xfb, 0x5a, 0x5a, 0x71, + 0x73, 0xba, 0x74, 0xba, 0x7f, 0xd2, 0x26, 0x48, 0x22, 0x95, 0xac, 0x54, 0xc4, 0x00, 0x42, 0x59, 0xaa, 0x6d, 0xb2, + 0x06, 0xcb, 0x0a, 0xb3, 0xa4, 0xb9, 0x41, 0x49, 0xdc, 0xdd, 0x0c, 0x1c, 0xa3, 0x66, 0x1d, 0x87, 0x65, 0xcb, 0x8d, + 0x1a, 0xe0, 0x73, 0x12, 0x56, 0xd8, 0x1b, 0xce, 0x4c, 0x7a, 0x67, 0x3a, 0x5c, 0x1d, 0x73, 0xf6, 0x8a, 0x23, 0x18, + 0x47, 0x82, 0x37, 0x1e, 0xba, 0x64, 0x1a, 0x2a, 0x32, 0x65, 0x1c, 0x4c, 0x7b, 0x80, 0x7b, 0xcf, 0xc1, 0x38, 0x8c, + 0x0d, 0x2a, 0x4b, 0xea, 0x53, 0xef, 0x2e, 0x04, 0x82, 0xb4, 0xd6, 0xcb, 0x7c, 0x86, 0xa7, 0x67, 0x84, 0xb2, 0x3f, + 0xe4, 0xf0, 0x05, 0xd8, 0x51, 0x90, 0xa3, 0x09, 0x7f, 0xf2, 0x70, 0x37, 0x50, 0x15, 0x1f, 0x04, 0x7b, 0xb1, 0x48, + 0xf7, 0x82, 0x81, 0x80, 0x5f, 0x05, 0xdf, 0xab, 0xa4, 0xdc, 0x3b, 0x8f, 0x8b, 0xbd, 0x78, 0x15, 0x17, 0xd5, 0xde, + 0x75, 0x56, 0x2d, 0xf7, 0x4c, 0x87, 0x00, 0x9a, 0x37, 0x18, 0xc4, 0x83, 0x60, 0x2f, 0x18, 0x14, 0x66, 0x6a, 0x57, + 0xac, 0x6c, 0x1c, 0x67, 0x26, 0x44, 0x59, 0xd0, 0x0c, 0x10, 0xd6, 0x38, 0x0d, 0x80, 0x4f, 0x5d, 0xb3, 0x94, 0x9e, + 0x63, 0xb8, 0x01, 0x31, 0x5d, 0x43, 0x1f, 0x80, 0x47, 0x5e, 0xd3, 0x18, 0x96, 0xc0, 0xf9, 0x60, 0x40, 0xce, 0x21, + 0x72, 0xc1, 0x9a, 0xda, 0x20, 0x0e, 0xe1, 0x5a, 0xd9, 0x69, 0xef, 0x02, 0x33, 0x6d, 0xb7, 0x80, 0xa8, 0x3c, 0x21, + 0xfd, 0xbe, 0xfd, 0x86, 0xfa, 0x17, 0xec, 0x25, 0xd8, 0x5f, 0x15, 0x55, 0x98, 0x4b, 0xa5, 0xf9, 0xbe, 0x60, 0x47, + 0x03, 0x15, 0x71, 0x78, 0xc7, 0x91, 0xa2, 0x8d, 0xca, 0x65, 0xd9, 0x93, 0x65, 0xc3, 0x57, 0xe2, 0x92, 0x3b, 0x3f, + 0xae, 0x4a, 0xca, 0xbc, 0xca, 0x56, 0x8a, 0xfd, 0x9b, 0x71, 0xcd, 0xfd, 0x81, 0xf5, 0x67, 0xf3, 0x15, 0x5c, 0x5b, + 0xbd, 0x77, 0x4d, 0xae, 0x11, 0x39, 0x4b, 0x28, 0x97, 0xd4, 0x36, 0x0f, 0x6f, 0xe9, 0xfb, 0xfc, 0xea, 0xdb, 0x4c, + 0xa7, 0xf1, 0x59, 0x85, 0x85, 0x0b, 0xd1, 0x8a, 0xe0, 0xd0, 0x90, 0x8b, 0xe6, 0x11, 0x60, 0xae, 0x7d, 0xb6, 0x82, + 0x82, 0xd4, 0xa7, 0x15, 0x7a, 0xb7, 0x42, 0xc2, 0x0b, 0xcd, 0x2e, 0xdd, 0x0f, 0xa4, 0x8c, 0xdb, 0x43, 0x4b, 0x98, + 0xb4, 0xbc, 0x08, 0xef, 0xbd, 0xe6, 0x26, 0xf7, 0x32, 0xc4, 0xe8, 0x45, 0x9e, 0x9d, 0x80, 0xb1, 0xee, 0x92, 0x9d, + 0x0d, 0x4f, 0xfc, 0x86, 0xe7, 0xac, 0x45, 0xa3, 0xe9, 0x92, 0x25, 0xfd, 0x7e, 0x0c, 0x26, 0xde, 0x29, 0xcb, 0xe1, + 0x57, 0xbe, 0xa0, 0x6b, 0x06, 0x98, 0x62, 0xf4, 0x1c, 0x12, 0x52, 0x44, 0x22, 0x59, 0xab, 0x93, 0xe4, 0x33, 0xdd, + 0x05, 0x60, 0xf4, 0xf3, 0x59, 0x1a, 0x2d, 0xef, 0x34, 0xb3, 0x40, 0xf2, 0x0c, 0x7d, 0xd7, 0xc1, 0xf6, 0xc6, 0x3e, + 0x48, 0x39, 0x3f, 0x14, 0xd3, 0xc1, 0x80, 0x13, 0x0d, 0x37, 0x5e, 0x2a, 0x71, 0xad, 0x6e, 0x71, 0xc7, 0x30, 0x96, + 0xfa, 0xb6, 0x88, 0xc1, 0x01, 0xbb, 0x68, 0x65, 0xb7, 0x0f, 0xb0, 0xaf, 0x1c, 0xef, 0x52, 0x65, 0x77, 0x7a, 0xcc, + 0x34, 0x97, 0xad, 0x26, 0x9d, 0x54, 0xdc, 0x4d, 0xe4, 0x9b, 0xdc, 0x41, 0x97, 0xcb, 0xb1, 0xe6, 0x2d, 0x07, 0xa0, + 0xa2, 0x1f, 0x29, 0xaa, 0xfb, 0x05, 0x8e, 0x30, 0xf7, 0xd6, 0x6d, 0x3e, 0xd9, 0x37, 0x05, 0x0e, 0x91, 0x27, 0x6d, + 0x34, 0x05, 0x74, 0xef, 0xe2, 0x61, 0x57, 0xbf, 0x2d, 0xdd, 0x05, 0x4a, 0xb4, 0x53, 0x71, 0xc3, 0x8f, 0x89, 0x3a, + 0x9d, 0x69, 0x43, 0xe8, 0x5f, 0x19, 0x71, 0x7f, 0x69, 0x5c, 0xc5, 0x9b, 0xde, 0xe5, 0x33, 0x0e, 0x75, 0x76, 0x43, + 0x28, 0x00, 0x57, 0xed, 0xe9, 0xd4, 0x8d, 0x21, 0xbd, 0x52, 0xa2, 0xdb, 0xe0, 0x60, 0x77, 0xfa, 0x8c, 0xa3, 0xe8, + 0xc7, 0xa8, 0x91, 0xaf, 0x23, 0xf1, 0x50, 0x0e, 0xe2, 0x87, 0x05, 0x5d, 0x46, 0xe2, 0x61, 0x31, 0x88, 0x1f, 0xca, + 0xba, 0xde, 0x3d, 0x57, 0xee, 0xee, 0x23, 0xf2, 0xac, 0x3b, 0x7b, 0xa9, 0x84, 0x8d, 0x81, 0x67, 0xd7, 0x02, 0xc2, + 0x29, 0x78, 0x22, 0x5b, 0x4b, 0x1f, 0x3a, 0xb7, 0xfb, 0xd8, 0x32, 0x49, 0x10, 0xf4, 0xbc, 0xcd, 0x26, 0x51, 0xec, + 0x6c, 0xf3, 0xe8, 0xc3, 0x29, 0x90, 0xd0, 0xed, 0xb6, 0x59, 0x57, 0x6b, 0x40, 0x31, 0x0d, 0xc7, 0x7c, 0xbf, 0x18, + 0x5d, 0xfb, 0xee, 0xfa, 0xfb, 0xc5, 0x68, 0x49, 0x86, 0x13, 0x33, 0xf9, 0xf1, 0xd1, 0x78, 0x16, 0x47, 0x93, 0xba, + 0xe3, 0xb4, 0xd0, 0xf8, 0xa7, 0xde, 0x2d, 0x14, 0x81, 0x53, 0x31, 0x82, 0x23, 0xa7, 0x42, 0x39, 0x29, 0x35, 0x30, + 0xfc, 0xf7, 0xaa, 0x1d, 0x6d, 0xda, 0xab, 0xb8, 0x4a, 0x96, 0x99, 0xb8, 0xd0, 0xe1, 0xc3, 0x75, 0x74, 0x71, 0x1b, + 0xd0, 0xce, 0xbb, 0x4c, 0x3b, 0x7e, 0x9d, 0x34, 0xe8, 0x89, 0xab, 0x99, 0x01, 0xb7, 0xee, 0x47, 0x68, 0x86, 0xc0, + 0x68, 0x79, 0xfe, 0x16, 0x31, 0xb7, 0x7f, 0x51, 0x36, 0xbf, 0x8a, 0xf6, 0x39, 0x32, 0x52, 0xb6, 0xc9, 0x48, 0x05, + 0x46, 0x98, 0x52, 0x24, 0x71, 0x15, 0x42, 0x20, 0xfb, 0x2f, 0x29, 0xae, 0xc5, 0xd2, 0x7b, 0x0d, 0xc2, 0x04, 0xdb, + 0x05, 0xed, 0x57, 0xb7, 0x73, 0x5b, 0x69, 0xb1, 0x47, 0xea, 0xfb, 0xdc, 0xd9, 0xae, 0x68, 0xf2, 0xf7, 0x65, 0x03, + 0xda, 0x00, 0xa2, 0xbc, 0xab, 0x8f, 0x4a, 0xe0, 0x64, 0xc4, 0x0d, 0x25, 0x46, 0x2f, 0xe8, 0xea, 0x44, 0xee, 0xd9, + 0xa9, 0x79, 0x53, 0x31, 0x53, 0x71, 0xe5, 0x9b, 0x3d, 0xf3, 0x1f, 0x0c, 0x05, 0x2d, 0xc1, 0xc0, 0xdb, 0x9c, 0xf1, + 0xe8, 0x40, 0x77, 0x6d, 0x74, 0x5a, 0xb0, 0x59, 0x50, 0x97, 0x75, 0xdd, 0xc6, 0x83, 0x46, 0x1c, 0x14, 0xc5, 0xaa, + 0x50, 0x23, 0xe1, 0x89, 0x40, 0xc0, 0x94, 0x5d, 0xf2, 0xc8, 0x08, 0x6a, 0x7a, 0x13, 0x0a, 0x1b, 0x0a, 0xfe, 0x2a, + 0x51, 0x4d, 0x6f, 0x42, 0x9b, 0x4c, 0x9c, 0x66, 0x10, 0xc1, 0x8c, 0xd8, 0xee, 0xb7, 0x80, 0x36, 0xb7, 0x66, 0xb4, + 0xa9, 0x6b, 0xab, 0xad, 0x42, 0x2e, 0x29, 0x52, 0x96, 0xff, 0x4e, 0x4d, 0x05, 0x25, 0xb5, 0x5c, 0xf4, 0x26, 0x4d, + 0x17, 0x3d, 0x9e, 0x19, 0x49, 0xa0, 0x72, 0xcb, 0x1d, 0xa3, 0x3f, 0x84, 0x05, 0x1e, 0x31, 0x71, 0x62, 0xc1, 0xdc, + 0xea, 0x88, 0x65, 0x73, 0xb1, 0x18, 0xad, 0x24, 0x84, 0x0d, 0x3e, 0x64, 0xd9, 0xbc, 0xd4, 0x0f, 0xa1, 0x2f, 0x2c, + 0x7d, 0x03, 0x76, 0xb1, 0xc1, 0x4a, 0x96, 0x01, 0xf8, 0x5e, 0xd0, 0xcd, 0x4a, 0x96, 0x91, 0x54, 0xdd, 0x8f, 0x6b, + 0x2c, 0x41, 0xa5, 0x15, 0x2a, 0x2d, 0xa9, 0xb1, 0x20, 0xf0, 0x55, 0xd5, 0xe5, 0x43, 0xb2, 0xab, 0x40, 0x3d, 0x75, + 0xd4, 0x80, 0x53, 0xa0, 0xaa, 0xc0, 0x82, 0x24, 0xa8, 0x0c, 0x5d, 0x15, 0x98, 0x56, 0x60, 0x9a, 0xa9, 0xc2, 0x45, + 0x99, 0x1d, 0x4a, 0xb3, 0x5e, 0xf2, 0x59, 0x3c, 0x08, 0x93, 0x61, 0x4c, 0x1e, 0x22, 0xd4, 0xfe, 0x7e, 0x1e, 0xc5, + 0x5a, 0x2e, 0x79, 0xe1, 0xfc, 0xe2, 0xaf, 0x3f, 0x63, 0xaf, 0x7b, 0x8a, 0xc1, 0x02, 0x9c, 0xa5, 0xed, 0x65, 0x26, + 0xde, 0xca, 0x56, 0x70, 0x1c, 0xcc, 0xa2, 0x1c, 0x56, 0x3d, 0x39, 0xa2, 0xb9, 0xc8, 0xb5, 0x77, 0x11, 0x22, 0x07, + 0x99, 0x3d, 0x06, 0xd8, 0x8d, 0xf0, 0x75, 0x68, 0x6d, 0x6e, 0x75, 0x85, 0xf8, 0x1b, 0x25, 0x12, 0x3f, 0x49, 0xf9, + 0x71, 0xbd, 0x52, 0xb9, 0x2a, 0x83, 0xc7, 0xaa, 0x9b, 0xc1, 0x33, 0xed, 0x7b, 0xac, 0xfd, 0x5b, 0xdb, 0xcd, 0xf1, + 0xde, 0x83, 0x07, 0xad, 0xff, 0xad, 0x27, 0x21, 0xb4, 0x57, 0x4e, 0x52, 0x77, 0xd4, 0xe8, 0x99, 0xc9, 0x1a, 0x51, + 0x09, 0x53, 0xbb, 0x53, 0x39, 0x06, 0x6a, 0x3a, 0x80, 0x6b, 0x89, 0x9a, 0xa0, 0x27, 0x05, 0x1b, 0xc3, 0x11, 0x67, + 0x71, 0xd0, 0x0e, 0x63, 0x14, 0x2f, 0xe7, 0x4a, 0xbc, 0x9c, 0x1f, 0x31, 0x0e, 0xd0, 0x5a, 0x80, 0x54, 0xaf, 0x61, + 0x3f, 0x73, 0x05, 0x0b, 0x6c, 0xee, 0x7c, 0x07, 0x16, 0xc8, 0x10, 0x27, 0x9b, 0xe3, 0x64, 0x8f, 0x6b, 0x3d, 0xf7, + 0x02, 0x1f, 0x27, 0xf5, 0xc2, 0xab, 0xab, 0x6c, 0xd7, 0xb5, 0x64, 0xe5, 0xbc, 0x18, 0x4c, 0x20, 0x28, 0x4b, 0x39, + 0x2f, 0x86, 0x93, 0x05, 0xcd, 0xe1, 0xc7, 0xa2, 0x81, 0x0e, 0xb1, 0x1c, 0x24, 0x70, 0xe9, 0xec, 0x31, 0xe0, 0x0d, + 0xa5, 0x16, 0x77, 0x63, 0x1d, 0x39, 0xd6, 0x51, 0xec, 0x87, 0x31, 0xe0, 0xca, 0x3a, 0x81, 0xf7, 0xdd, 0xd7, 0xc7, + 0x26, 0x20, 0xab, 0x76, 0x85, 0x57, 0xa3, 0xdc, 0x75, 0xa5, 0xd1, 0x97, 0x94, 0x9e, 0xf0, 0x82, 0xa7, 0x92, 0xed, + 0xb6, 0x67, 0xe0, 0x6c, 0x89, 0x87, 0xc4, 0x3b, 0x46, 0xf4, 0x62, 0xda, 0xc8, 0xcc, 0x09, 0x9c, 0xd9, 0xee, 0xb2, + 0x8d, 0xf9, 0xb1, 0x03, 0x1c, 0x2c, 0x82, 0x90, 0xb8, 0x21, 0x0c, 0x13, 0x3b, 0x2a, 0x87, 0x5a, 0x08, 0xd7, 0xb5, + 0xf0, 0x3a, 0x4e, 0xcb, 0x18, 0x5c, 0xa4, 0xb5, 0x6d, 0xe2, 0x1d, 0x74, 0xdd, 0xf3, 0x63, 0x6e, 0x75, 0x8c, 0xb6, + 0x90, 0x7e, 0x3b, 0x3a, 0xbd, 0xe7, 0x30, 0x00, 0x4d, 0x0f, 0x66, 0x55, 0xfb, 0x4c, 0xe2, 0xe6, 0xb4, 0x13, 0x84, + 0x44, 0x20, 0x8a, 0xd2, 0x19, 0x61, 0xfa, 0x77, 0x9a, 0xcb, 0x2a, 0x5a, 0xdd, 0xcb, 0x33, 0x87, 0x3c, 0x0b, 0xbd, + 0xed, 0x41, 0xab, 0xe6, 0x6e, 0x30, 0x4e, 0xdc, 0x6e, 0xef, 0xfc, 0xbf, 0x65, 0x5d, 0x5b, 0xad, 0x11, 0x0f, 0xdb, + 0xd5, 0x0f, 0x1a, 0x7b, 0xb5, 0xa7, 0x62, 0xc0, 0x5c, 0x48, 0xef, 0x8c, 0x2a, 0x79, 0x91, 0xf1, 0x12, 0x4f, 0xaa, + 0x8b, 0x86, 0x8f, 0xf7, 0x75, 0x36, 0x32, 0x0f, 0x64, 0x0a, 0x88, 0xe7, 0x1f, 0x53, 0xa3, 0x3e, 0x4e, 0x51, 0x02, + 0xfe, 0x56, 0xc7, 0x37, 0xa2, 0x27, 0xf6, 0xc5, 0x05, 0xaf, 0xde, 0x5c, 0x0b, 0xf3, 0xe2, 0x99, 0xd5, 0xf9, 0xd3, + 0xa7, 0x85, 0x0f, 0x1d, 0x8e, 0xda, 0x3b, 0x28, 0xb2, 0x64, 0xe2, 0x68, 0x62, 0x64, 0x6d, 0x62, 0x76, 0xa2, 0xe0, + 0x62, 0xa2, 0x0a, 0x3d, 0xeb, 0xec, 0x09, 0x53, 0x80, 0xbe, 0x71, 0x8c, 0x4a, 0xc6, 0xb0, 0x60, 0xa0, 0x4e, 0x53, + 0x42, 0xf4, 0x50, 0xcc, 0x30, 0x5e, 0x31, 0x80, 0xc2, 0x14, 0x0a, 0x44, 0xd1, 0xd9, 0x87, 0x03, 0x4d, 0xe8, 0xf7, + 0x3f, 0xa6, 0x3a, 0x03, 0x2d, 0xeb, 0x69, 0x01, 0xa2, 0x3a, 0x88, 0xb6, 0x0a, 0x84, 0x39, 0xa5, 0x65, 0x46, 0x97, + 0x82, 0xa6, 0x82, 0x26, 0x19, 0x3d, 0xe7, 0x4a, 0x54, 0x7c, 0x2e, 0x98, 0xa2, 0xed, 0x86, 0xb0, 0xff, 0xd8, 0xa0, + 0xeb, 0xad, 0x58, 0x6b, 0x68, 0x77, 0x82, 0x8c, 0xd0, 0x7c, 0xa1, 0x83, 0x90, 0xa1, 0x72, 0x12, 0xf1, 0xe1, 0x35, + 0x5e, 0x81, 0x4b, 0xa6, 0xd9, 0x68, 0x19, 0x97, 0x61, 0x60, 0xbf, 0x0a, 0x2c, 0x26, 0x07, 0x26, 0x9d, 0xac, 0xcf, + 0x9e, 0xca, 0xcb, 0x95, 0x14, 0x5c, 0x54, 0x0a, 0xa2, 0xdf, 0xe0, 0xbe, 0x9b, 0xb8, 0xea, 0xac, 0x59, 0x2b, 0xbd, + 0xef, 0x5b, 0x9f, 0xb5, 0x71, 0x5f, 0x18, 0x1c, 0x83, 0x9d, 0x8f, 0x88, 0x81, 0x34, 0xa8, 0x74, 0x8b, 0x43, 0x13, + 0xa0, 0x4b, 0x87, 0x14, 0xb2, 0x64, 0x2a, 0x53, 0x25, 0xa8, 0xf8, 0xc6, 0xef, 0xa4, 0xac, 0x46, 0x7f, 0xaf, 0x79, + 0x71, 0x7b, 0xc2, 0x73, 0x8e, 0x63, 0x14, 0x24, 0xb1, 0xb8, 0x8a, 0xcb, 0x80, 0xf8, 0x96, 0x57, 0xc1, 0x41, 0x6a, + 0xc2, 0xc6, 0xec, 0x54, 0x8d, 0x5a, 0xaf, 0x02, 0x7d, 0x65, 0x94, 0x6f, 0x0c, 0x86, 0x26, 0xa2, 0x0a, 0xfa, 0x5e, + 0xab, 0x7b, 0x5a, 0xdd, 0xb0, 0x80, 0xf8, 0x73, 0xa5, 0x17, 0x6a, 0xbd, 0x6e, 0xc6, 0xdc, 0x30, 0x11, 0x82, 0x46, + 0x8f, 0xea, 0x85, 0xc3, 0xcf, 0xdf, 0x28, 0x4b, 0x22, 0x78, 0xb1, 0x49, 0xd7, 0x85, 0x89, 0xa5, 0x41, 0x75, 0xc0, + 0xdc, 0x68, 0x93, 0xf3, 0x0b, 0x10, 0xfd, 0x39, 0x2b, 0xa2, 0x49, 0x5d, 0x53, 0x85, 0x60, 0x18, 0x6d, 0x6e, 0x1a, + 0xe9, 0xf4, 0x16, 0xbc, 0xdc, 0x8c, 0x35, 0x92, 0xf6, 0x74, 0xac, 0x69, 0xc1, 0xcb, 0x95, 0x14, 0x25, 0x44, 0x77, + 0xee, 0x8d, 0xe9, 0x65, 0x9c, 0x89, 0x2a, 0xce, 0xc4, 0x71, 0xb9, 0xe2, 0x49, 0xf5, 0x0e, 0x2a, 0xd4, 0xc6, 0x38, + 0xd8, 0x7a, 0x35, 0xea, 0x2a, 0x1c, 0xf2, 0xcb, 0xf3, 0xe7, 0x37, 0xab, 0x58, 0xa4, 0x30, 0xea, 0xf5, 0x5d, 0x2f, + 0x9a, 0xd3, 0xb1, 0x8a, 0x0b, 0x2e, 0x4c, 0xd4, 0x62, 0x5a, 0xb1, 0x80, 0xeb, 0x8c, 0x01, 0xe5, 0x2a, 0x76, 0x67, + 0xa6, 0x62, 0x19, 0xc6, 0x65, 0xf9, 0x53, 0x56, 0xe2, 0x1d, 0x00, 0x5a, 0x03, 0xa7, 0xc5, 0xcc, 0x80, 0x80, 0xdc, + 0xe6, 0x06, 0x17, 0x81, 0x05, 0x07, 0x8f, 0xc7, 0xab, 0x9b, 0x80, 0x7a, 0x6f, 0xa4, 0xba, 0x1e, 0xb2, 0x60, 0x3c, + 0x7a, 0x12, 0x38, 0xe4, 0x10, 0xff, 0xa3, 0xc7, 0x07, 0x77, 0x7f, 0x33, 0x09, 0x48, 0x3d, 0x05, 0x55, 0x85, 0x51, + 0x88, 0xc2, 0xb4, 0xbf, 0x5a, 0xab, 0x5b, 0xee, 0x9b, 0xb3, 0x92, 0x17, 0x57, 0x10, 0xad, 0x9d, 0x4c, 0x33, 0x20, + 0xe7, 0x52, 0x25, 0xc0, 0xa2, 0x88, 0xab, 0xaa, 0xc8, 0xce, 0xc0, 0x44, 0x09, 0x0d, 0xc0, 0xcc, 0xd3, 0x0b, 0x74, + 0xf8, 0x88, 0xe6, 0x01, 0xf6, 0x29, 0x58, 0xd4, 0xa4, 0x2e, 0xa1, 0xb0, 0x64, 0x0f, 0x83, 0xd5, 0xa9, 0xb8, 0xd2, + 0x0e, 0xe0, 0xbb, 0xfa, 0x33, 0x5a, 0x4a, 0x8c, 0x35, 0xab, 0xe7, 0x29, 0x3e, 0x2b, 0x65, 0xbe, 0xae, 0x40, 0x7b, + 0x7e, 0x5e, 0x45, 0x07, 0x8f, 0x57, 0x37, 0x53, 0xd5, 0x8d, 0x08, 0x7a, 0x31, 0x55, 0x38, 0x6f, 0x49, 0x9c, 0x27, + 0xe1, 0x64, 0x3c, 0xfe, 0x6a, 0x6f, 0xb8, 0x07, 0xc9, 0x64, 0xfa, 0x69, 0xa8, 0x1c, 0xb9, 0x86, 0x93, 0xf1, 0xb8, + 0xfe, 0xb3, 0x36, 0x61, 0xbe, 0x4d, 0x3d, 0x4f, 0xff, 0x3c, 0x54, 0xeb, 0xff, 0xe8, 0x70, 0x5f, 0xff, 0xf8, 0xb3, + 0xae, 0xa7, 0x4f, 0x8b, 0x70, 0xfe, 0x7b, 0xa8, 0xd6, 0xf7, 0x71, 0x51, 0xc4, 0xb7, 0x35, 0x44, 0x36, 0x15, 0xce, + 0xbb, 0x86, 0x7a, 0x64, 0x81, 0x1e, 0x90, 0xe9, 0xb9, 0x60, 0xf0, 0xcd, 0xbb, 0x2a, 0x0c, 0x78, 0xb9, 0x1a, 0x72, + 0x51, 0x65, 0xd5, 0xed, 0x10, 0xf3, 0x04, 0xf8, 0xa9, 0xc5, 0x33, 0x2b, 0x0c, 0xf1, 0x3d, 0x2f, 0x38, 0xff, 0xc4, + 0x43, 0x65, 0x2c, 0x3e, 0x46, 0x63, 0xf1, 0x31, 0x55, 0xdd, 0x98, 0x7c, 0x43, 0x75, 0xdf, 0x26, 0xdf, 0x80, 0x49, + 0x56, 0xd6, 0xfe, 0x46, 0x19, 0x6b, 0x46, 0x63, 0x7a, 0xf5, 0x22, 0xcf, 0x56, 0x70, 0x29, 0x58, 0xea, 0x1f, 0x35, + 0xa1, 0xef, 0x78, 0x3b, 0xfb, 0x68, 0x34, 0x7a, 0x53, 0xd0, 0xd1, 0x68, 0xf4, 0x31, 0xab, 0x09, 0x5d, 0x89, 0x8e, + 0xf7, 0xef, 0x38, 0x3d, 0x93, 0xe9, 0x6d, 0x14, 0x04, 0x74, 0x99, 0xa5, 0x29, 0x17, 0xaa, 0xac, 0x57, 0x69, 0x3b, + 0xaf, 0x6a, 0x21, 0x02, 0x21, 0xe9, 0x36, 0x22, 0x24, 0x13, 0xa1, 0x6f, 0x77, 0x7a, 0x36, 0x1a, 0x8d, 0x5e, 0xa5, + 0xa6, 0x5a, 0x77, 0x41, 0x79, 0x8a, 0xe6, 0x14, 0xce, 0x4f, 0x01, 0xac, 0x91, 0x4c, 0xf4, 0x97, 0xfd, 0xff, 0x1e, + 0xce, 0xe6, 0xe3, 0xe1, 0xb7, 0xa3, 0xc5, 0xc3, 0x7d, 0x1a, 0x04, 0x7e, 0xe8, 0x86, 0x50, 0x5b, 0xb7, 0x4c, 0xcb, + 0xc3, 0xf1, 0x94, 0x94, 0x03, 0xf6, 0xd8, 0xfa, 0x16, 0x7d, 0xf5, 0x18, 0x90, 0x59, 0x51, 0xa4, 0x1c, 0x38, 0x69, + 0x28, 0x5e, 0xcd, 0x5e, 0x0a, 0xc0, 0x8b, 0xb3, 0x91, 0x1d, 0x8c, 0x56, 0x74, 0x1c, 0x41, 0x79, 0xb5, 0x35, 0x15, + 0xe9, 0x31, 0x96, 0x99, 0x28, 0xa9, 0xe3, 0x69, 0x79, 0x9d, 0x55, 0xc9, 0x12, 0x03, 0x3d, 0xc5, 0x25, 0x0f, 0xbe, + 0x0a, 0xa2, 0x92, 0x1d, 0x3c, 0x99, 0x2a, 0xb8, 0x63, 0x4c, 0x4a, 0xf9, 0x05, 0x24, 0x7e, 0x3b, 0x46, 0x48, 0x58, + 0xa2, 0x3d, 0x38, 0xb1, 0xc6, 0x17, 0xb9, 0x8c, 0xc1, 0xa3, 0xb5, 0xd4, 0x3c, 0x9c, 0x3d, 0x19, 0xad, 0x3d, 0x4a, + 0xab, 0x39, 0x12, 0x9a, 0x13, 0x4a, 0x26, 0xf7, 0x4b, 0x2a, 0xbf, 0x9a, 0xa0, 0x97, 0x14, 0xb8, 0x99, 0x47, 0x70, + 0xfc, 0x5b, 0x4b, 0x0f, 0xbd, 0x7c, 0x52, 0xb6, 0x3f, 0xff, 0xdf, 0x25, 0x5d, 0x0c, 0xf6, 0xdd, 0xd0, 0xbc, 0xd5, + 0xee, 0xbc, 0x15, 0x32, 0x8e, 0x55, 0xf8, 0x26, 0x25, 0xd6, 0x18, 0x97, 0xb3, 0xa3, 0x8d, 0xe9, 0xce, 0xa8, 0x2a, + 0xb2, 0xcb, 0x90, 0xe8, 0x5e, 0x39, 0x90, 0xd0, 0x20, 0xca, 0x46, 0xb8, 0x7e, 0xc0, 0x7a, 0xc6, 0xeb, 0xe4, 0x15, + 0x2f, 0xaa, 0x2c, 0x51, 0xef, 0xaf, 0x1a, 0xef, 0xeb, 0xda, 0x04, 0x54, 0x7d, 0x50, 0x30, 0x98, 0xe7, 0xb7, 0x05, + 0x80, 0x98, 0x22, 0x0d, 0xf0, 0x09, 0x66, 0x10, 0xd4, 0xae, 0x99, 0x97, 0x8d, 0xe0, 0x1b, 0xf0, 0xd5, 0x83, 0x02, + 0x30, 0x48, 0x42, 0x90, 0x22, 0x43, 0x68, 0x20, 0x10, 0x68, 0x18, 0x72, 0x81, 0xc1, 0x4f, 0xbc, 0x38, 0x92, 0xca, + 0x29, 0x91, 0x87, 0x01, 0xfe, 0x08, 0xa8, 0x0a, 0x40, 0x62, 0x3c, 0x0e, 0xe1, 0x85, 0xfa, 0xe5, 0xde, 0xa8, 0x3d, + 0xc2, 0x9e, 0xa6, 0x21, 0x04, 0x1b, 0xc2, 0x87, 0x00, 0x96, 0x14, 0xa1, 0x6f, 0x91, 0xcb, 0x08, 0x83, 0xf3, 0x3c, + 0x5b, 0xe9, 0xa4, 0x6a, 0xd4, 0xd1, 0x7c, 0x28, 0xb5, 0x23, 0x39, 0xa0, 0x5e, 0x7a, 0x8c, 0xe9, 0x85, 0x4a, 0x57, + 0x45, 0x39, 0xa3, 0x9c, 0x07, 0x7a, 0x62, 0x5c, 0xd8, 0x42, 0x0e, 0x91, 0x70, 0x1e, 0x14, 0x2a, 0x14, 0x0e, 0x5f, + 0x00, 0x18, 0x18, 0x48, 0x3b, 0x76, 0xe3, 0xdd, 0xa8, 0xec, 0xa7, 0x9c, 0xed, 0xff, 0xf7, 0x3c, 0x1e, 0x7e, 0x1a, + 0x0f, 0xbf, 0x5d, 0x0c, 0xc2, 0xa1, 0xfd, 0x49, 0x1e, 0x3e, 0xd8, 0xa7, 0x2f, 0xb8, 0xe5, 0xd2, 0x60, 0xe1, 0x37, + 0x82, 0xfd, 0xa8, 0x95, 0x10, 0x44, 0x01, 0xde, 0xb0, 0xdc, 0x6a, 0x9c, 0x00, 0xe0, 0x61, 0xf0, 0x5f, 0x01, 0x1a, + 0x4d, 0xb9, 0x8b, 0x17, 0xe8, 0x4b, 0xd4, 0xef, 0xa3, 0x47, 0x0d, 0x83, 0x41, 0x10, 0xd7, 0xa8, 0x98, 0x30, 0x44, + 0x97, 0x31, 0x51, 0x30, 0xc8, 0x36, 0xfb, 0x76, 0xdb, 0x6b, 0x4b, 0xc2, 0xf0, 0x4b, 0x3f, 0xd3, 0xc4, 0xcc, 0x3b, + 0xdc, 0xd8, 0x56, 0x72, 0x15, 0x22, 0x56, 0xa0, 0xfe, 0x95, 0x33, 0x88, 0xbd, 0x79, 0x95, 0x81, 0x4f, 0x87, 0xfd, + 0x62, 0x3c, 0x03, 0x36, 0x0a, 0xee, 0x7c, 0x05, 0x3f, 0xcf, 0xc0, 0xcd, 0x5b, 0xc4, 0x28, 0x70, 0xb0, 0x4b, 0xa2, + 0xdf, 0xef, 0xe5, 0x59, 0x98, 0x6b, 0xdc, 0xe9, 0xbc, 0x36, 0x6a, 0x08, 0xd4, 0x91, 0x83, 0xfa, 0x41, 0x0f, 0xc1, + 0x50, 0x0d, 0x41, 0xd1, 0xd1, 0x16, 0x57, 0xaf, 0xad, 0xa7, 0x30, 0xbd, 0x55, 0xf5, 0x15, 0xa3, 0xbf, 0x64, 0x26, + 0xb0, 0x90, 0x76, 0xcd, 0xb1, 0xae, 0x39, 0x46, 0xda, 0xd3, 0xef, 0x8b, 0x06, 0xf9, 0xe9, 0x2c, 0x3c, 0x08, 0x54, + 0xa9, 0x72, 0xa7, 0x2c, 0xca, 0x6d, 0x69, 0xde, 0x18, 0xd6, 0x34, 0xcf, 0x6c, 0x9c, 0x9b, 0x59, 0xaf, 0x17, 0x86, + 0xe8, 0xe0, 0x89, 0xa5, 0x62, 0x6d, 0x10, 0xee, 0xc8, 0x24, 0x8c, 0x2e, 0x41, 0x76, 0x19, 0x9e, 0x72, 0x82, 0x7c, + 0x2a, 0xb0, 0x0f, 0xaa, 0x5a, 0x2f, 0x27, 0x3c, 0x36, 0xf2, 0x65, 0x23, 0x68, 0x90, 0x97, 0x14, 0xf5, 0x26, 0x6e, + 0xc7, 0x1e, 0xb7, 0x90, 0x2b, 0x37, 0xf5, 0xb4, 0xa7, 0x49, 0x45, 0x8f, 0xf5, 0x2a, 0xf5, 0x0b, 0x2c, 0x2d, 0x2c, + 0xf9, 0x20, 0xb4, 0xa7, 0x69, 0x05, 0x66, 0xb8, 0xb2, 0x19, 0x0c, 0xfd, 0x70, 0xfc, 0x04, 0x74, 0x46, 0x6d, 0x4b, + 0x08, 0x63, 0x37, 0x08, 0x2b, 0xef, 0x89, 0x7c, 0xf5, 0xd8, 0xbb, 0x18, 0x84, 0xdc, 0x6c, 0x66, 0xd1, 0xc0, 0x74, + 0x3f, 0x93, 0xcd, 0xe6, 0xe9, 0xe6, 0x7a, 0x51, 0x42, 0x05, 0x6c, 0xb7, 0x95, 0x20, 0xf8, 0xf7, 0x63, 0x36, 0xc3, + 0xbf, 0x59, 0xbf, 0xdf, 0x0b, 0xf1, 0x17, 0xc7, 0x60, 0x46, 0x73, 0xb1, 0x60, 0x1f, 0x41, 0xc6, 0x44, 0x22, 0x4c, + 0x55, 0xc6, 0x80, 0xac, 0x02, 0x8b, 0x40, 0xf3, 0x81, 0xca, 0x85, 0x99, 0xec, 0x65, 0xce, 0x35, 0xe4, 0x79, 0x6b, + 0x9c, 0xb2, 0x51, 0x96, 0x28, 0x57, 0x8e, 0x6c, 0x14, 0xe7, 0x59, 0x5c, 0xf2, 0x72, 0xbb, 0xd5, 0x87, 0x63, 0x52, + 0x70, 0x60, 0xd7, 0x15, 0x95, 0x2a, 0x59, 0x47, 0xaa, 0x07, 0x5e, 0x1a, 0x16, 0xb8, 0x4f, 0xf9, 0xbc, 0x30, 0x34, + 0x62, 0x0f, 0x84, 0x19, 0x4c, 0xdd, 0xd2, 0x7b, 0x61, 0x01, 0xcd, 0x2b, 0x09, 0xd9, 0x60, 0xaa, 0x67, 0xe1, 0x1b, + 0x33, 0x31, 0x2f, 0x16, 0x10, 0x56, 0xa7, 0x58, 0x68, 0x66, 0x93, 0x26, 0x2c, 0x06, 0xd8, 0xbc, 0x98, 0x4c, 0x21, + 0xbe, 0xbb, 0x2a, 0x27, 0x5e, 0x98, 0xfb, 0x76, 0xe2, 0x90, 0x43, 0xe0, 0x55, 0x6d, 0xd0, 0xd5, 0x6c, 0xc3, 0x51, + 0x47, 0xca, 0x89, 0xc9, 0xef, 0xa7, 0x0a, 0x42, 0xdc, 0x89, 0x23, 0xe1, 0xf2, 0x66, 0xbb, 0xf0, 0xb2, 0x03, 0x41, + 0x47, 0x0d, 0x4e, 0xf9, 0x99, 0xc1, 0xd1, 0x98, 0xa4, 0x1b, 0xef, 0x04, 0x29, 0xc2, 0x98, 0x6c, 0x24, 0x3b, 0x93, + 0xa1, 0x98, 0xc7, 0x0b, 0x50, 0x5e, 0xc6, 0x0b, 0xb0, 0x34, 0x32, 0x06, 0xa9, 0x20, 0xbf, 0xe3, 0x5e, 0x28, 0x2c, + 0x8a, 0x2b, 0x44, 0x7a, 0x56, 0xbf, 0xc7, 0x45, 0x3b, 0x14, 0x08, 0x8a, 0x3b, 0x94, 0x79, 0x72, 0xd6, 0x63, 0x81, + 0xc4, 0x86, 0x80, 0xf1, 0x95, 0x4e, 0x53, 0xad, 0x75, 0x6f, 0x6c, 0xf4, 0xaa, 0x69, 0x36, 0x12, 0xb2, 0x3a, 0x3d, + 0x07, 0x91, 0x92, 0x8f, 0x8e, 0x8f, 0xfc, 0x22, 0xee, 0x2c, 0xf3, 0xd6, 0xb6, 0xa8, 0x64, 0x47, 0x1b, 0x00, 0x2d, + 0xd4, 0xd1, 0xb3, 0x94, 0xdc, 0xa6, 0x24, 0xb5, 0xdb, 0x14, 0xb0, 0x92, 0xfc, 0x05, 0x0c, 0xc1, 0xd7, 0xf6, 0x84, + 0xd3, 0xb1, 0x42, 0xbc, 0xa6, 0x29, 0x22, 0x4d, 0x86, 0x25, 0xc5, 0xb1, 0x2d, 0x11, 0x05, 0xd5, 0x96, 0x65, 0x07, + 0xc3, 0x44, 0x09, 0x7e, 0x96, 0x7a, 0x94, 0x28, 0x08, 0xa8, 0x1e, 0x72, 0x90, 0x60, 0xdb, 0x06, 0xc2, 0x03, 0xf2, + 0x88, 0xde, 0x58, 0x7f, 0x9f, 0x75, 0x9e, 0x5d, 0x68, 0x9e, 0xcb, 0xf5, 0xae, 0x30, 0x63, 0x84, 0x27, 0x99, 0x09, + 0x1b, 0xe0, 0x9d, 0x67, 0x46, 0x6d, 0xd3, 0xf3, 0xf0, 0xda, 0x9e, 0x63, 0x84, 0xbe, 0x3b, 0x06, 0xdd, 0x04, 0xf3, + 0xea, 0xb0, 0x59, 0xaf, 0x14, 0xa4, 0x86, 0xa9, 0x45, 0x13, 0xb3, 0x9e, 0x35, 0x28, 0xdf, 0x6e, 0x7b, 0x7a, 0xae, + 0xee, 0x9e, 0xbb, 0xed, 0xb6, 0x87, 0xdd, 0x7a, 0x96, 0x76, 0x5b, 0xc5, 0x57, 0xea, 0x83, 0xf6, 0xf8, 0x73, 0x37, + 0xfe, 0xdc, 0x20, 0x9b, 0x94, 0x8e, 0x66, 0xda, 0xfa, 0x20, 0x3c, 0x70, 0x7a, 0xdb, 0x68, 0xd2, 0xf7, 0x59, 0x28, + 0xe9, 0x4a, 0x34, 0xaa, 0x33, 0x21, 0xcc, 0x58, 0x75, 0xff, 0xfa, 0xbf, 0x7f, 0x15, 0xe0, 0x11, 0xa7, 0x76, 0xf6, + 0x9d, 0x0d, 0x2a, 0x1a, 0x6d, 0xe1, 0x48, 0x11, 0x7a, 0x40, 0x12, 0xee, 0x6a, 0x59, 0x8b, 0xdb, 0x3c, 0xc9, 0xee, + 0xa7, 0x4f, 0xef, 0x53, 0xdf, 0x0b, 0xc1, 0x2d, 0xb3, 0xcc, 0x1c, 0x78, 0x15, 0xc5, 0x01, 0x8d, 0xba, 0x68, 0xdf, + 0x65, 0x56, 0x96, 0xe0, 0xf5, 0x02, 0xf7, 0xca, 0x13, 0xee, 0xc3, 0xef, 0x5d, 0x54, 0xcd, 0x4d, 0x7a, 0x92, 0xcd, + 0xb3, 0xc5, 0x76, 0x1b, 0xe2, 0xdf, 0xae, 0x16, 0x39, 0x9a, 0x3c, 0x07, 0x9d, 0x26, 0x46, 0x32, 0x62, 0xba, 0x71, + 0xde, 0xe6, 0x7f, 0x2d, 0x1a, 0x4e, 0x13, 0xcf, 0x81, 0x5e, 0xcc, 0x8e, 0x41, 0x26, 0x65, 0x40, 0x0e, 0xc4, 0x4c, + 0xaf, 0x19, 0x88, 0x46, 0x26, 0x22, 0xc0, 0x15, 0xc6, 0x46, 0xa2, 0xd1, 0x09, 0x27, 0x35, 0x01, 0x0b, 0x56, 0x5b, + 0xde, 0x4f, 0x96, 0xb6, 0x55, 0xc5, 0xad, 0xb7, 0xa4, 0x39, 0xae, 0x03, 0xe7, 0xeb, 0x60, 0x86, 0xd8, 0x94, 0x5d, + 0x2d, 0x90, 0xfb, 0xe5, 0x35, 0xed, 0x8d, 0xeb, 0x04, 0x66, 0x6d, 0x53, 0x5b, 0xc6, 0xcf, 0x96, 0xfe, 0x4e, 0x0f, + 0xae, 0x32, 0x06, 0x9b, 0x1b, 0x2b, 0x0d, 0xbb, 0x6f, 0x3c, 0x5f, 0x0a, 0x08, 0x4f, 0xe7, 0xd3, 0xe3, 0x93, 0xcc, + 0xa3, 0xc7, 0x40, 0x74, 0xcc, 0x47, 0xa5, 0xfb, 0xc8, 0xee, 0x5e, 0x3f, 0x20, 0xe0, 0xbc, 0x6a, 0x17, 0x34, 0x2f, + 0x17, 0x10, 0x58, 0xd5, 0x2b, 0xaf, 0xb0, 0x7c, 0x66, 0xcc, 0x2e, 0x80, 0x0c, 0x15, 0x04, 0x02, 0x77, 0x77, 0x9d, + 0x0b, 0xb1, 0xea, 0xb0, 0x32, 0xa7, 0x49, 0xd8, 0x51, 0x88, 0xe6, 0xad, 0xc1, 0x2c, 0xf8, 0xaf, 0x60, 0x50, 0x0e, + 0x82, 0x28, 0x88, 0x82, 0x80, 0x0c, 0x0a, 0xf8, 0x85, 0xb8, 0x6b, 0x04, 0x63, 0xb6, 0x40, 0x87, 0xdf, 0x72, 0xe6, + 0x33, 0x22, 0x2f, 0xfd, 0xb0, 0x9e, 0xde, 0x00, 0x9c, 0x49, 0x99, 0xf3, 0x18, 0x7d, 0x4e, 0xde, 0x72, 0x96, 0x11, + 0xfa, 0xd6, 0x3b, 0x95, 0x1f, 0xf0, 0x46, 0xb0, 0xbf, 0xdd, 0x61, 0x7b, 0x01, 0xf2, 0x8a, 0xde, 0x98, 0xbe, 0xe5, + 0x24, 0xca, 0x1a, 0xce, 0xd4, 0x1c, 0x7a, 0x56, 0x59, 0xd6, 0x8a, 0x1a, 0x72, 0x83, 0x62, 0x6e, 0x64, 0x99, 0x9c, + 0x4c, 0x5b, 0xcd, 0xa9, 0xc0, 0x75, 0x67, 0xd7, 0x0b, 0x48, 0x0e, 0x85, 0x66, 0xe9, 0x6c, 0x38, 0x6f, 0xdb, 0xb2, + 0x67, 0xad, 0x53, 0xc8, 0x6b, 0x88, 0x8a, 0x06, 0xe9, 0x08, 0xa8, 0xa1, 0x15, 0x17, 0x15, 0xb8, 0x30, 0x9b, 0xf6, + 0x70, 0xd3, 0x1e, 0xd3, 0x8c, 0x9f, 0x20, 0x66, 0x1e, 0xc7, 0x96, 0x81, 0x1d, 0x89, 0xc3, 0xf7, 0x71, 0xbe, 0x40, + 0xbb, 0xf4, 0xd6, 0xd5, 0xe2, 0x11, 0xd6, 0x9e, 0xb7, 0x42, 0x42, 0x80, 0xf8, 0x34, 0x95, 0x6e, 0xb7, 0x41, 0x00, + 0x03, 0xdc, 0xef, 0xf7, 0x80, 0x6b, 0x35, 0xec, 0xa4, 0xb9, 0x35, 0x5b, 0x62, 0xaf, 0x28, 0x3c, 0x06, 0xe6, 0xd4, + 0xfc, 0x67, 0x10, 0x50, 0x3c, 0x77, 0x43, 0xb0, 0x37, 0x65, 0x47, 0x1b, 0x88, 0x38, 0x54, 0xe0, 0x03, 0xca, 0x85, + 0x41, 0xcc, 0xad, 0xe3, 0x78, 0x18, 0xf6, 0x49, 0x7d, 0x88, 0x63, 0x91, 0x67, 0xa1, 0x23, 0x2c, 0x95, 0x21, 0x2c, + 0x5c, 0x31, 0xd2, 0x41, 0x1c, 0xd4, 0xa4, 0x73, 0xb0, 0x2a, 0x17, 0x7c, 0xb9, 0xd7, 0x7b, 0x0d, 0x30, 0xe9, 0x99, + 0x37, 0x2c, 0x2f, 0x3c, 0x40, 0xb4, 0x5e, 0x0f, 0x17, 0x8a, 0x47, 0x26, 0x1a, 0x68, 0x9c, 0xf8, 0xd2, 0xb2, 0xeb, + 0x33, 0x2d, 0x2b, 0x19, 0x8d, 0x46, 0x55, 0xad, 0x24, 0x1f, 0xf6, 0xbb, 0x4f, 0x2d, 0x14, 0x4f, 0x19, 0xa7, 0x3c, + 0x05, 0xcb, 0x77, 0x43, 0xe9, 0xe6, 0x0b, 0xba, 0xe2, 0x22, 0x55, 0x3f, 0x3d, 0xf4, 0xcd, 0x06, 0x71, 0xcd, 0x9a, + 0x3a, 0x1c, 0x3b, 0xfc, 0x10, 0x00, 0xd3, 0x3e, 0xcc, 0x5c, 0xba, 0x86, 0xe9, 0x05, 0xf1, 0x6c, 0x5c, 0xf0, 0xd0, + 0xe5, 0x01, 0xec, 0x43, 0x73, 0x48, 0xe2, 0xa7, 0xf0, 0x73, 0x66, 0xd2, 0x3a, 0x3e, 0xc3, 0xd9, 0x8c, 0x4a, 0x75, + 0x23, 0x68, 0xbf, 0x86, 0x44, 0x62, 0x90, 0x9e, 0x1b, 0x0c, 0x45, 0xeb, 0x6e, 0x03, 0x57, 0x7e, 0x4b, 0xef, 0x7c, + 0x1a, 0x04, 0x58, 0xdf, 0x58, 0x0c, 0x00, 0xa8, 0xe2, 0x0f, 0x54, 0x5d, 0x99, 0x2b, 0x8a, 0x69, 0x98, 0x4a, 0xb4, + 0x77, 0x1c, 0xd7, 0x51, 0xe3, 0x3a, 0x2c, 0x58, 0x69, 0x6d, 0x9b, 0xdd, 0x5b, 0x88, 0x3f, 0xa2, 0x4b, 0x40, 0xb5, + 0x20, 0xee, 0x04, 0xf0, 0xa1, 0x91, 0xea, 0x40, 0x90, 0xdd, 0x07, 0x07, 0x00, 0xbc, 0xe1, 0x79, 0x18, 0xc2, 0x1f, + 0x58, 0x38, 0xb0, 0x2c, 0x55, 0x3f, 0x97, 0xd3, 0x18, 0xce, 0xdd, 0x5c, 0xed, 0xf0, 0xd9, 0x12, 0x14, 0x9b, 0x6a, + 0x4e, 0xcd, 0xe5, 0x2b, 0x6f, 0xec, 0xf7, 0x98, 0x60, 0x1e, 0x33, 0xdb, 0xf0, 0x5b, 0x4f, 0xb7, 0xf5, 0x0d, 0x76, + 0x03, 0x27, 0xed, 0x85, 0xd3, 0x5e, 0x6c, 0x97, 0x06, 0xf2, 0xaf, 0x6e, 0x08, 0x11, 0xde, 0x6b, 0x62, 0x91, 0x35, + 0x64, 0x3a, 0x16, 0x2b, 0x44, 0xb5, 0xa9, 0x78, 0xaa, 0x0d, 0x04, 0xca, 0xa9, 0xba, 0x30, 0xb5, 0x52, 0x99, 0x30, + 0x88, 0x3b, 0x25, 0x2c, 0xaa, 0x0c, 0x30, 0x0c, 0x2a, 0xa4, 0xb8, 0xb6, 0x9e, 0xbf, 0x70, 0xf9, 0x66, 0xa6, 0xcd, + 0xf6, 0xd3, 0x17, 0x79, 0x7c, 0xb1, 0xdd, 0x86, 0xdd, 0x2f, 0xc0, 0x1c, 0xb5, 0x54, 0x1a, 0x46, 0x70, 0x02, 0x51, + 0x92, 0xeb, 0x3b, 0x72, 0x4e, 0x1c, 0x27, 0xd7, 0x6e, 0xde, 0x6c, 0x27, 0xc5, 0x08, 0x2c, 0xe0, 0xc4, 0x45, 0x3a, + 0xd0, 0x52, 0x49, 0x6a, 0x4f, 0x01, 0x6f, 0xd3, 0x3b, 0x4a, 0x85, 0x57, 0x0b, 0x4d, 0x42, 0x2a, 0x77, 0x2f, 0xb1, + 0xa3, 0x06, 0x9c, 0x93, 0xba, 0x83, 0x80, 0xd3, 0x9e, 0x6e, 0xac, 0x55, 0x24, 0x9b, 0x04, 0xef, 0x95, 0x1e, 0xba, + 0x44, 0x3b, 0xb5, 0xbb, 0x6d, 0x55, 0xb6, 0x50, 0x30, 0xf7, 0x72, 0x96, 0xa8, 0xe3, 0x01, 0x85, 0x2e, 0xea, 0x68, + 0xc8, 0x17, 0xa4, 0xd0, 0x2b, 0x47, 0xab, 0x9a, 0x77, 0x25, 0x03, 0xa5, 0x5a, 0x05, 0x79, 0x4d, 0xac, 0xfb, 0x5a, + 0xd6, 0x58, 0x5c, 0x39, 0x21, 0x85, 0x4d, 0xf8, 0xd2, 0x52, 0x2c, 0xcc, 0x62, 0x6f, 0x4c, 0x7d, 0xe1, 0x12, 0xa1, + 0xed, 0x6e, 0x43, 0x8c, 0x36, 0x58, 0x37, 0xdb, 0xed, 0xfb, 0x22, 0x9c, 0x67, 0x0b, 0x2a, 0x47, 0x59, 0x8a, 0x90, + 0x6a, 0xc6, 0x63, 0xd9, 0x76, 0xc1, 0x4c, 0x0c, 0x75, 0xed, 0xf1, 0x92, 0x4c, 0xb1, 0x36, 0x49, 0x8e, 0xe2, 0x33, + 0x59, 0xa8, 0xb5, 0x46, 0x08, 0x1e, 0xee, 0xdf, 0xa5, 0x10, 0xd3, 0xce, 0xac, 0xbb, 0x5f, 0x76, 0x6e, 0x88, 0xdf, + 0x41, 0x60, 0x85, 0x92, 0xbd, 0x2f, 0x46, 0x67, 0x99, 0x48, 0x71, 0xa7, 0xaa, 0x28, 0xc1, 0x6a, 0x1d, 0x34, 0x5b, + 0x6e, 0xef, 0xc5, 0x96, 0x28, 0x40, 0x9c, 0x67, 0xa1, 0x19, 0xcf, 0xca, 0x59, 0xce, 0x64, 0x14, 0x1b, 0x12, 0x95, + 0x5e, 0x94, 0x78, 0x9f, 0xa7, 0x31, 0x3d, 0x74, 0x6b, 0x10, 0x5c, 0x57, 0x77, 0x36, 0xd2, 0x7c, 0x41, 0x88, 0x9a, + 0x00, 0x09, 0x1b, 0xd5, 0x9c, 0x5a, 0x17, 0xe2, 0x7e, 0x56, 0xf9, 0x56, 0x1f, 0xc4, 0x17, 0x02, 0x78, 0x58, 0x6f, + 0x7b, 0x5f, 0x0a, 0x8f, 0xb5, 0xc1, 0xb7, 0xdb, 0xed, 0x85, 0x98, 0x07, 0x81, 0xc7, 0x68, 0xfe, 0xa0, 0x24, 0xe6, + 0xbd, 0x31, 0x85, 0x15, 0xef, 0xbb, 0xf8, 0x75, 0x93, 0x5a, 0x6b, 0x91, 0xbb, 0xc3, 0xf5, 0x01, 0xcf, 0x53, 0xe2, + 0x68, 0x47, 0xe5, 0x54, 0x5a, 0xdb, 0x01, 0xec, 0x8a, 0xc0, 0x40, 0xd9, 0x1f, 0x52, 0xb6, 0x01, 0xf3, 0x44, 0xb0, + 0x3e, 0x42, 0xbf, 0x2d, 0xa5, 0x3f, 0x19, 0xa3, 0x71, 0x8f, 0x5c, 0x57, 0xd1, 0x01, 0xd7, 0xd1, 0xec, 0x79, 0xf4, + 0x8f, 0x27, 0x63, 0x5a, 0xc4, 0x22, 0x95, 0x97, 0xa0, 0x82, 0x00, 0x65, 0x08, 0x3a, 0x42, 0x68, 0x6a, 0x00, 0x1a, + 0x04, 0x37, 0x00, 0xbf, 0x76, 0x3a, 0x51, 0xda, 0x9a, 0x7c, 0x8c, 0x56, 0x55, 0xe4, 0xac, 0x0d, 0xed, 0xa6, 0x92, + 0x43, 0xf2, 0xb0, 0x04, 0x7c, 0x4b, 0x6c, 0x96, 0xb2, 0x41, 0x51, 0x9b, 0x4d, 0xbd, 0x56, 0xec, 0xc8, 0x4d, 0xa3, + 0x68, 0xb3, 0x16, 0xb5, 0xdd, 0xc8, 0x7c, 0x31, 0xbd, 0xb1, 0xc2, 0xc0, 0xa9, 0x69, 0xcd, 0xf5, 0x0e, 0x94, 0x9c, + 0xad, 0xcf, 0xe4, 0x26, 0x40, 0x1c, 0x60, 0xb8, 0x6e, 0xe6, 0xd7, 0x0b, 0x42, 0x6f, 0xd8, 0x8d, 0x15, 0xab, 0x5e, + 0x5b, 0xb9, 0x88, 0x49, 0xbb, 0x1e, 0x4c, 0xe0, 0x32, 0xce, 0x0a, 0xfb, 0x42, 0xab, 0x1b, 0x8a, 0x8e, 0xb6, 0x49, + 0xfb, 0x79, 0x47, 0xbb, 0xe1, 0x82, 0x6f, 0xc5, 0x3a, 0xce, 0x2d, 0x6b, 0xaa, 0xd0, 0xb4, 0x03, 0xbd, 0x1d, 0x02, + 0x9a, 0xb3, 0x31, 0x5d, 0xd2, 0x14, 0x2f, 0xd0, 0x74, 0x0d, 0x66, 0x3a, 0xe7, 0xd0, 0xd7, 0x6e, 0x1f, 0xed, 0x73, + 0xd5, 0x13, 0xe1, 0x2d, 0x51, 0xf0, 0x6d, 0x49, 0xc1, 0x4b, 0x2d, 0xe7, 0xb1, 0x99, 0x43, 0xc0, 0xa7, 0x51, 0x25, + 0x7a, 0x27, 0xc5, 0x05, 0x68, 0x33, 0xe1, 0x08, 0x34, 0x55, 0x23, 0xb6, 0x72, 0x80, 0xdb, 0x8b, 0xa7, 0x01, 0xa1, + 0x20, 0xd5, 0x5d, 0xdb, 0x15, 0x79, 0xc3, 0x8e, 0x36, 0x37, 0x60, 0x26, 0x5c, 0xad, 0xcb, 0xd6, 0x57, 0x36, 0xd9, + 0x7d, 0x5c, 0x13, 0x6c, 0xbb, 0xb7, 0x41, 0xc2, 0x1b, 0x7a, 0x4d, 0x36, 0xd7, 0xfd, 0x7e, 0x08, 0xfd, 0x21, 0x54, + 0x77, 0xe8, 0xa6, 0xb3, 0x43, 0x37, 0x5e, 0x3b, 0xcf, 0xac, 0x9e, 0x4f, 0x79, 0x87, 0xbc, 0x47, 0x93, 0x35, 0xba, + 0x8a, 0x6f, 0x61, 0x53, 0x47, 0x15, 0x55, 0x95, 0x47, 0x09, 0x05, 0x95, 0x78, 0xc6, 0xcb, 0x13, 0x8e, 0xb1, 0x5e, + 0xf5, 0xd3, 0x5b, 0xcd, 0xab, 0xad, 0xcd, 0xda, 0x2c, 0xd7, 0x67, 0x60, 0x21, 0x71, 0xc6, 0xa3, 0x4b, 0x4d, 0x4b, + 0x2e, 0x7c, 0x28, 0x4d, 0x1c, 0x95, 0xe0, 0x3c, 0xce, 0x72, 0x50, 0xe3, 0x9e, 0x37, 0xfb, 0x1f, 0x6a, 0xdb, 0xb1, + 0x65, 0xe3, 0xcc, 0xbd, 0x0a, 0xc9, 0xe6, 0x7f, 0x6c, 0xa0, 0x5e, 0x85, 0x18, 0x21, 0xd6, 0x2c, 0xe8, 0x37, 0x0c, + 0x62, 0x85, 0x06, 0xe5, 0x3a, 0x49, 0x78, 0x59, 0x06, 0x46, 0xa9, 0xb5, 0x66, 0x6b, 0x73, 0x9e, 0x3d, 0x60, 0x47, + 0x0f, 0x7a, 0x8c, 0xdd, 0x10, 0x9a, 0x68, 0x9d, 0x90, 0xa9, 0x31, 0xf2, 0xb4, 0x40, 0xba, 0x43, 0x51, 0x76, 0x1e, + 0xbe, 0x41, 0x21, 0x4b, 0x7b, 0x9f, 0x9b, 0x13, 0x59, 0x7d, 0xa3, 0x8d, 0x50, 0x22, 0x95, 0x08, 0xb2, 0xf1, 0x6b, + 0x04, 0x30, 0x86, 0x66, 0x07, 0x64, 0xb3, 0x64, 0x27, 0xf4, 0xd4, 0x9a, 0x04, 0xc1, 0xeb, 0x37, 0x2a, 0xd1, 0x8c, + 0xb2, 0x22, 0xba, 0xca, 0xe8, 0xe7, 0x36, 0x24, 0xd1, 0x69, 0x48, 0xfc, 0xdc, 0xb0, 0xb4, 0xae, 0x42, 0x14, 0x33, + 0x9b, 0x0d, 0xaf, 0x15, 0x51, 0x8d, 0x6d, 0x65, 0x7c, 0xcc, 0x6f, 0x6c, 0x1a, 0x99, 0x42, 0x5f, 0x87, 0x93, 0x7e, + 0x1f, 0xfe, 0x6a, 0xfa, 0x81, 0xb7, 0x14, 0xfc, 0xc5, 0x1e, 0x90, 0x3a, 0x61, 0x01, 0xc0, 0x33, 0xe6, 0xbc, 0x6a, + 0x4e, 0xe0, 0x03, 0x76, 0xb4, 0x79, 0x10, 0x9e, 0x34, 0x66, 0xee, 0x36, 0xc4, 0x4b, 0x55, 0xd2, 0xf3, 0xe6, 0xc9, + 0x0c, 0xc4, 0xca, 0x6a, 0xcd, 0x6f, 0x98, 0xd5, 0x27, 0x00, 0x91, 0xba, 0xb1, 0x0e, 0xb6, 0xf8, 0xb1, 0xe9, 0x32, + 0xd9, 0xa4, 0xac, 0xcd, 0x44, 0x29, 0x15, 0x49, 0x73, 0x11, 0x40, 0xbf, 0x61, 0x38, 0x6a, 0x80, 0x3b, 0xd7, 0x63, + 0x6f, 0x86, 0xc6, 0x1b, 0x53, 0x43, 0xcf, 0x36, 0x7a, 0x79, 0x3b, 0x0a, 0x61, 0xc6, 0x22, 0xba, 0x71, 0xc7, 0x62, + 0x78, 0x42, 0xdf, 0x40, 0x85, 0xaf, 0x42, 0x8c, 0x2e, 0x4c, 0xea, 0x7a, 0xba, 0x56, 0x5b, 0xe9, 0x9a, 0xd0, 0x1c, + 0xa3, 0x1a, 0x79, 0x6d, 0xbb, 0xa5, 0x46, 0x68, 0x4f, 0x28, 0x0f, 0x6f, 0x68, 0x45, 0xaf, 0x2d, 0x8b, 0xe0, 0xe4, + 0xc7, 0x5e, 0x7e, 0x42, 0xcf, 0x3c, 0x81, 0x49, 0xd1, 0xd6, 0x00, 0x7e, 0x40, 0xfd, 0x70, 0x56, 0x4f, 0xad, 0x94, + 0xc3, 0x53, 0xf8, 0x92, 0x0d, 0xc8, 0x15, 0xf4, 0x62, 0x8d, 0xd9, 0x51, 0x0c, 0x3a, 0xa8, 0x9d, 0xdd, 0xe1, 0x4d, + 0x4a, 0x19, 0xa2, 0x35, 0xa2, 0x83, 0xbc, 0xfa, 0x15, 0x34, 0x7d, 0x90, 0x16, 0xa6, 0x74, 0x8d, 0x02, 0x1e, 0xd0, + 0x37, 0xf5, 0xfb, 0x39, 0x3e, 0xd7, 0x9e, 0x65, 0x9a, 0xb2, 0x40, 0x26, 0x74, 0xe9, 0xc5, 0xed, 0x02, 0x69, 0xb3, + 0x63, 0x15, 0x80, 0x15, 0x49, 0xa0, 0x11, 0x09, 0x58, 0x2e, 0x79, 0xe2, 0xb2, 0x0d, 0x1a, 0xd4, 0x44, 0x25, 0x85, + 0x2c, 0x91, 0x04, 0x7e, 0x18, 0x41, 0x99, 0xa2, 0x18, 0xc4, 0xbd, 0x7a, 0x79, 0xc5, 0x35, 0x35, 0x60, 0x4d, 0x11, + 0x4c, 0xb0, 0x4e, 0xa7, 0x40, 0x6c, 0xc5, 0x7a, 0x05, 0x9e, 0xa8, 0xee, 0x22, 0x89, 0x2c, 0x01, 0x1a, 0xe8, 0xf9, + 0xd2, 0x69, 0xb7, 0xbc, 0x3d, 0xd1, 0x52, 0xc5, 0xe6, 0xde, 0x8b, 0x85, 0xe5, 0x1e, 0x2b, 0x7f, 0x3b, 0xd0, 0x5e, + 0x58, 0xed, 0x88, 0xa8, 0xc1, 0xea, 0xb0, 0x6d, 0xe7, 0x87, 0xd2, 0x50, 0xdd, 0x2b, 0xc7, 0x04, 0x54, 0x74, 0x15, + 0x57, 0xcb, 0x28, 0x1b, 0xc1, 0x9f, 0xed, 0x36, 0xd8, 0x0f, 0xc0, 0x22, 0xf4, 0xc3, 0xbb, 0x9f, 0x22, 0x0c, 0x57, + 0xf5, 0xe1, 0xdd, 0x4f, 0xdb, 0xed, 0x93, 0xf1, 0xd8, 0x70, 0x05, 0x4e, 0xad, 0x03, 0xfc, 0x81, 0x61, 0x1b, 0xec, + 0x92, 0xdd, 0x6e, 0x9f, 0x00, 0x07, 0xa1, 0xd8, 0x06, 0xb3, 0x8b, 0x95, 0x63, 0x9b, 0x62, 0x35, 0xf4, 0x8e, 0x04, + 0xec, 0xbe, 0x1d, 0x96, 0x62, 0x97, 0xfa, 0xa8, 0x90, 0x94, 0x7a, 0xd1, 0x3f, 0xef, 0x14, 0x58, 0x52, 0x30, 0xe5, + 0x0d, 0x96, 0x55, 0xb5, 0x2a, 0xa3, 0xfd, 0xfd, 0x78, 0x95, 0x8d, 0xca, 0x0c, 0xb6, 0x79, 0x79, 0x75, 0x01, 0x00, + 0x13, 0x01, 0x6d, 0xbc, 0x5b, 0x8b, 0xcc, 0xbc, 0x58, 0xd0, 0x65, 0x86, 0x6b, 0x12, 0xcc, 0x0e, 0x72, 0x6e, 0x75, + 0x93, 0x53, 0x62, 0x1f, 0xc0, 0x06, 0x73, 0xbb, 0x6d, 0xf0, 0x0b, 0x47, 0xa3, 0x27, 0xb3, 0x65, 0xa6, 0x0d, 0x5c, + 0xb9, 0xd9, 0xff, 0x24, 0xf2, 0xd2, 0x50, 0xf1, 0x49, 0xa6, 0xcf, 0x33, 0xe0, 0xf3, 0xd8, 0x27, 0x11, 0xfa, 0x2c, + 0x57, 0xa3, 0x35, 0xc0, 0xc6, 0x66, 0xe7, 0xb7, 0xa3, 0x94, 0x43, 0x84, 0x8e, 0xc0, 0xaa, 0x6b, 0x96, 0x19, 0xf1, + 0x6d, 0x2a, 0x6e, 0x5a, 0xaa, 0xb0, 0x4f, 0xc2, 0x73, 0xde, 0xe1, 0xc6, 0x71, 0xa8, 0x37, 0x89, 0xc2, 0xe7, 0x28, + 0x44, 0xe5, 0x68, 0x5c, 0xe8, 0xe4, 0x6b, 0x99, 0xc7, 0x84, 0x62, 0x0e, 0xf7, 0xee, 0xf7, 0xd4, 0x99, 0xcb, 0xf8, + 0xc2, 0xbd, 0xe7, 0xbe, 0xcc, 0xe4, 0x4a, 0x02, 0x48, 0x94, 0xaa, 0xfd, 0xe7, 0xcf, 0x48, 0x8d, 0xff, 0x4e, 0xb5, + 0x06, 0xa0, 0xf7, 0x33, 0xd4, 0xe4, 0x08, 0x02, 0xb6, 0x62, 0xea, 0x47, 0x17, 0xb0, 0x92, 0xf9, 0x9f, 0x50, 0xb7, + 0x23, 0xd8, 0x46, 0xc5, 0x13, 0x8a, 0x2a, 0x5a, 0xf0, 0x74, 0x2d, 0xd2, 0x58, 0x24, 0xb7, 0x11, 0xaf, 0xa7, 0x58, + 0x12, 0xb3, 0x11, 0xc3, 0x7e, 0x6e, 0x76, 0xe1, 0x5d, 0xd1, 0x30, 0x89, 0xa7, 0xa5, 0xbf, 0xad, 0xbc, 0xcd, 0x64, + 0x19, 0x67, 0x64, 0xca, 0x15, 0x82, 0xb9, 0xd5, 0xf7, 0x98, 0x13, 0xfc, 0xf1, 0xc1, 0x63, 0x42, 0xaf, 0xe4, 0xb4, + 0x44, 0x90, 0x3e, 0x91, 0x5a, 0xd7, 0x55, 0xec, 0xd7, 0x14, 0xa2, 0x5a, 0x08, 0x06, 0xa1, 0x4c, 0x4d, 0xfb, 0x14, + 0xdf, 0x67, 0xcb, 0xfe, 0x64, 0xca, 0x96, 0x64, 0x23, 0xa0, 0x63, 0xd2, 0x79, 0xbf, 0x7a, 0x7b, 0x76, 0xe6, 0xfd, + 0x06, 0x4d, 0x38, 0xa8, 0x6e, 0xa0, 0x5d, 0x05, 0x99, 0xc6, 0x28, 0x36, 0x8b, 0xb1, 0x76, 0x6b, 0x22, 0x82, 0x20, + 0xdc, 0xe5, 0x2c, 0x6c, 0xb7, 0x13, 0xe2, 0x6d, 0x20, 0x81, 0x02, 0xd7, 0x36, 0xca, 0x49, 0x48, 0xd4, 0x85, 0xcc, + 0x1c, 0x13, 0x92, 0x05, 0x7a, 0x8d, 0x1d, 0x04, 0xf4, 0x98, 0xdb, 0xa7, 0x80, 0xbe, 0x28, 0xd8, 0x31, 0x1f, 0x04, + 0x43, 0x8c, 0x37, 0x1b, 0xd0, 0x8f, 0x52, 0x3d, 0x82, 0xc7, 0x34, 0xb0, 0x5c, 0xf4, 0x75, 0xc1, 0x10, 0x66, 0xe9, + 0xb7, 0x94, 0x4d, 0xbe, 0xf9, 0xa7, 0x9b, 0xdf, 0x33, 0x2d, 0x66, 0x07, 0xa1, 0xb8, 0xbd, 0x9e, 0x00, 0xf1, 0xab, + 0xf8, 0x25, 0x58, 0x9b, 0x6b, 0x89, 0xb7, 0x27, 0x79, 0x10, 0xbe, 0x1c, 0xdd, 0x7e, 0x52, 0x9a, 0x4f, 0x20, 0x68, + 0x8f, 0x93, 0x94, 0xbb, 0xef, 0x4e, 0xa4, 0xab, 0x08, 0x46, 0x0b, 0x10, 0xfc, 0xee, 0xac, 0xe4, 0xb4, 0x29, 0xfc, + 0xc7, 0x3a, 0x5f, 0x60, 0x2c, 0x15, 0x79, 0x82, 0xd3, 0xdf, 0x04, 0x07, 0xf7, 0x6f, 0x65, 0xd6, 0x90, 0xe8, 0x4c, + 0x7d, 0x04, 0xf4, 0x7f, 0xac, 0xc7, 0xef, 0x18, 0x25, 0x7d, 0x49, 0x9c, 0x23, 0x7c, 0x13, 0x2f, 0xd1, 0x74, 0xb1, + 0x37, 0xae, 0xe9, 0xa7, 0xc2, 0xbc, 0xd0, 0x0a, 0x0e, 0xfb, 0xd6, 0x28, 0x3c, 0xf0, 0xcc, 0xfb, 0x4e, 0x34, 0x04, + 0xdd, 0xff, 0xc2, 0xbd, 0xf1, 0x9d, 0x60, 0x19, 0xde, 0x94, 0xb3, 0xcc, 0xdc, 0xe1, 0xae, 0x33, 0x91, 0xca, 0x6b, + 0xc6, 0x82, 0xb5, 0x50, 0xe6, 0xbc, 0x69, 0x30, 0xdb, 0xd4, 0x91, 0x4a, 0x76, 0xdf, 0xff, 0xd5, 0x38, 0x61, 0xb3, + 0x41, 0x70, 0x52, 0xc9, 0x22, 0xbe, 0xe0, 0xc1, 0x54, 0xab, 0x28, 0x32, 0xb0, 0x2b, 0x04, 0xa4, 0x1c, 0xa7, 0xbd, + 0x83, 0x27, 0x4b, 0xcd, 0x4c, 0xc8, 0x6f, 0xab, 0xb3, 0x80, 0xb7, 0x66, 0x34, 0x8f, 0x2b, 0xd8, 0x65, 0xbe, 0x92, + 0xe2, 0xbb, 0x96, 0x24, 0x1b, 0xeb, 0x6f, 0xc8, 0xb0, 0xad, 0x7c, 0xe6, 0x0c, 0x30, 0x77, 0x3e, 0x4a, 0x15, 0xf4, + 0xaf, 0xc7, 0xd8, 0xb5, 0x44, 0x22, 0x20, 0x9c, 0xc5, 0xc4, 0xad, 0x30, 0xe1, 0x30, 0x5d, 0xa0, 0xa0, 0x18, 0x03, + 0x05, 0x9d, 0xc8, 0x90, 0xd3, 0x63, 0x3e, 0x48, 0x1a, 0xb3, 0xf5, 0x97, 0x2a, 0x91, 0x5e, 0x4b, 0x42, 0x4f, 0xe1, + 0xf7, 0xb8, 0xc5, 0x03, 0x35, 0x82, 0x75, 0xba, 0x9b, 0xd3, 0xfe, 0xeb, 0x82, 0x0c, 0x7f, 0x03, 0x6f, 0xb7, 0xd8, + 0x5e, 0x96, 0x13, 0x58, 0xdc, 0xb1, 0x57, 0x3c, 0xcd, 0x55, 0x8b, 0x13, 0xe2, 0x11, 0x8b, 0xdc, 0x27, 0x16, 0x30, + 0xa2, 0x86, 0xd1, 0xf8, 0xf1, 0xe4, 0xcd, 0x6b, 0x8d, 0x61, 0x95, 0xfb, 0x1f, 0xc0, 0x88, 0x6a, 0x69, 0xbb, 0x1d, + 0xf0, 0xe5, 0x08, 0x0d, 0xd8, 0x53, 0x37, 0xd8, 0xfd, 0xbe, 0x49, 0x3b, 0x2a, 0xbd, 0x6c, 0x4e, 0x0c, 0xba, 0xa3, + 0xb4, 0x59, 0x2a, 0x03, 0xe3, 0xae, 0xc2, 0xd1, 0x9c, 0xd8, 0x88, 0x55, 0xbd, 0x0f, 0xc3, 0x25, 0x8d, 0xad, 0xac, + 0xdc, 0xee, 0x26, 0x1c, 0xd9, 0x04, 0xb8, 0x3e, 0x05, 0xed, 0xd5, 0x9c, 0x83, 0x16, 0x94, 0x28, 0x70, 0x44, 0xdb, + 0x6d, 0x08, 0x11, 0x49, 0x8a, 0xe1, 0x64, 0x16, 0x16, 0xc3, 0xa1, 0x1a, 0xf8, 0x82, 0x90, 0xe8, 0x53, 0x31, 0xcf, + 0x16, 0x0a, 0xc1, 0xc8, 0xdf, 0x49, 0xbf, 0x14, 0x8a, 0x53, 0xee, 0x7d, 0x27, 0xc8, 0xe6, 0x5f, 0x29, 0xc6, 0x60, + 0x74, 0x9a, 0xcd, 0x0c, 0x24, 0xac, 0xc7, 0x15, 0x51, 0xeb, 0xc8, 0xce, 0x06, 0xa8, 0x62, 0xd1, 0x34, 0x18, 0xd4, + 0x2d, 0x9e, 0x58, 0xcf, 0xe8, 0x3d, 0xa8, 0x04, 0x51, 0x2d, 0xd8, 0x8d, 0xe1, 0x5a, 0x7b, 0x2d, 0x42, 0x49, 0x39, + 0x69, 0x32, 0x33, 0x56, 0x34, 0x58, 0x80, 0x90, 0x34, 0x2e, 0xab, 0x57, 0x32, 0xcd, 0xce, 0x33, 0x40, 0x90, 0x70, + 0xfe, 0x84, 0xb2, 0xf1, 0xe6, 0xa9, 0x9a, 0x97, 0xae, 0xc4, 0x99, 0x85, 0x3d, 0xe9, 0x7a, 0x4b, 0x0b, 0x12, 0x15, + 0x40, 0xa3, 0x7c, 0x2d, 0xcf, 0xf7, 0x3b, 0x56, 0x21, 0xbb, 0x1f, 0x4e, 0x95, 0xed, 0x10, 0x3f, 0x62, 0x15, 0xf1, + 0x4e, 0xeb, 0x4a, 0x89, 0x34, 0x3a, 0xda, 0x06, 0xc4, 0xb0, 0x65, 0xdf, 0xa2, 0x86, 0x0f, 0xc2, 0x2e, 0x3a, 0xc9, + 0x0f, 0x7a, 0x8a, 0xc7, 0xd6, 0x40, 0xd2, 0xd7, 0x22, 0xf8, 0x1a, 0x1d, 0xe9, 0x44, 0x99, 0x46, 0x62, 0x0a, 0x89, + 0x7e, 0xbd, 0xd0, 0x1a, 0xcb, 0x28, 0xfb, 0x8a, 0xfc, 0x9f, 0x75, 0xf7, 0xbe, 0x13, 0xdb, 0x2d, 0x4c, 0xb2, 0xe7, + 0x81, 0x06, 0x9b, 0x1a, 0xb5, 0x42, 0x38, 0x3b, 0xc7, 0x15, 0x6a, 0xc7, 0x7a, 0x61, 0x09, 0xe4, 0x01, 0x6c, 0x45, + 0x1a, 0x94, 0x41, 0xb2, 0x4f, 0xc5, 0x5c, 0x2c, 0x9c, 0x28, 0x47, 0x2a, 0xfc, 0x33, 0x39, 0x4a, 0x39, 0x5c, 0xc5, + 0xc2, 0x82, 0x21, 0xbf, 0x3a, 0x3a, 0x2f, 0xe4, 0x25, 0x48, 0x4a, 0x0c, 0x43, 0x65, 0x79, 0x5d, 0x5c, 0xb5, 0x25, + 0xa1, 0xbd, 0x53, 0x00, 0xa5, 0x29, 0x40, 0xf0, 0xd2, 0xa8, 0x21, 0x66, 0x1b, 0xb5, 0xbb, 0xa2, 0x3b, 0xc9, 0x01, + 0x75, 0xba, 0x6b, 0xb7, 0xde, 0x94, 0xad, 0xba, 0x15, 0x17, 0xfe, 0x05, 0xa5, 0x1f, 0xf3, 0x41, 0xe1, 0x53, 0x09, + 0xdc, 0xf8, 0x6a, 0x93, 0x65, 0xe7, 0xb7, 0xb8, 0xf4, 0xab, 0xc6, 0xf8, 0xf5, 0xfb, 0x3d, 0xb5, 0x10, 0x1a, 0xa9, + 0xc0, 0x7c, 0xfb, 0xcc, 0x54, 0x65, 0x34, 0xa5, 0xf6, 0x12, 0x5c, 0x39, 0xfb, 0x11, 0x54, 0xc4, 0x75, 0x45, 0x6a, + 0x53, 0x03, 0xb4, 0xe7, 0x65, 0x85, 0x5b, 0x59, 0x80, 0xc7, 0x4e, 0x40, 0xb6, 0x5b, 0x1e, 0x06, 0xfa, 0xd0, 0x09, + 0xfc, 0x2d, 0xf9, 0x0a, 0x99, 0x35, 0xfb, 0xf8, 0x87, 0x16, 0xfc, 0x63, 0x0b, 0x7e, 0x42, 0x71, 0xa7, 0x95, 0xf9, + 0xb7, 0xd2, 0xba, 0xc5, 0xfd, 0x3b, 0x99, 0x26, 0x14, 0x95, 0x09, 0xb5, 0x5f, 0xe9, 0x8f, 0x26, 0x78, 0x94, 0xca, + 0xfe, 0x5e, 0xc2, 0x07, 0xb3, 0xc6, 0x13, 0x6b, 0x3c, 0x19, 0x4e, 0xb7, 0xd2, 0xb0, 0x0c, 0x28, 0xf4, 0xf3, 0x32, + 0x57, 0x54, 0x3f, 0xff, 0xbc, 0xe6, 0x6b, 0xde, 0x6c, 0xb1, 0x4d, 0xba, 0xa7, 0xc1, 0x5e, 0x1e, 0x4d, 0x29, 0x9c, + 0x44, 0x9d, 0x1b, 0x89, 0xba, 0xa8, 0x59, 0x86, 0xea, 0x04, 0xaf, 0xe6, 0xa9, 0x1e, 0xf6, 0x66, 0x22, 0x5a, 0x2b, + 0x29, 0x4b, 0x0c, 0x58, 0xeb, 0xc8, 0x43, 0x72, 0xb7, 0xd6, 0x71, 0xa7, 0xa1, 0x2e, 0x4d, 0xa1, 0x26, 0x58, 0xe1, + 0x02, 0x1c, 0x41, 0xef, 0x8a, 0x90, 0xc3, 0x35, 0x55, 0xe9, 0x17, 0x34, 0x25, 0x4f, 0x3c, 0x45, 0xad, 0x56, 0xa4, + 0xdb, 0x8f, 0x72, 0xec, 0x86, 0x6f, 0x9c, 0x90, 0x13, 0x23, 0xf4, 0x77, 0xc7, 0x52, 0xce, 0xd0, 0xe2, 0x41, 0x9d, + 0x60, 0xbd, 0xbc, 0xa5, 0x40, 0x31, 0x47, 0x97, 0x55, 0xd7, 0xbc, 0x44, 0xdb, 0x97, 0x65, 0xbf, 0x9f, 0xdb, 0x7a, + 0x52, 0x76, 0xb4, 0x59, 0x9a, 0x7d, 0x88, 0x8a, 0x29, 0xdc, 0xf5, 0x89, 0xe6, 0xaf, 0x42, 0x7d, 0xd5, 0x96, 0x39, + 0x1f, 0x71, 0xc4, 0x09, 0xc9, 0x49, 0xfd, 0x87, 0x9a, 0x7a, 0x25, 0xee, 0x57, 0x95, 0xfc, 0x22, 0x8c, 0x15, 0xa3, + 0x25, 0x86, 0x28, 0xd2, 0xee, 0x8d, 0xe9, 0xcb, 0x02, 0xe0, 0xaf, 0x04, 0xfb, 0x94, 0x86, 0x5a, 0xf9, 0x2d, 0xda, + 0x02, 0xfe, 0x8d, 0xe2, 0x06, 0xac, 0x02, 0x03, 0x8c, 0x26, 0xdb, 0x73, 0x9a, 0xc0, 0x01, 0x27, 0xb4, 0x8a, 0x82, + 0x0a, 0x33, 0x34, 0xd4, 0x16, 0x46, 0x5f, 0xa1, 0x8c, 0x5b, 0x65, 0xf6, 0x6e, 0x8c, 0x9d, 0x16, 0x78, 0x0d, 0xff, + 0x46, 0x2f, 0x14, 0xb3, 0x51, 0x07, 0xe9, 0xd1, 0x49, 0x4c, 0x7f, 0xdc, 0xc2, 0xc9, 0xcd, 0xc2, 0x59, 0xd6, 0x2c, + 0x81, 0xee, 0xc0, 0x05, 0x31, 0xee, 0xf7, 0x73, 0x38, 0x32, 0xcd, 0xc8, 0x17, 0x2c, 0xa7, 0x31, 0x5b, 0x52, 0xed, + 0x79, 0x78, 0x51, 0x85, 0x39, 0x5d, 0x5a, 0x19, 0x6f, 0xca, 0x40, 0x65, 0xb4, 0xdd, 0x86, 0xf0, 0xa7, 0xdb, 0xda, + 0x25, 0x9d, 0x2f, 0x21, 0x03, 0xfc, 0x01, 0x89, 0x28, 0x62, 0x81, 0xff, 0x5b, 0x8d, 0x53, 0x7a, 0xa2, 0xb4, 0x66, + 0x09, 0x5d, 0x33, 0x5d, 0x3f, 0x3d, 0x67, 0xeb, 0xc6, 0x52, 0xd8, 0x6e, 0xc3, 0x66, 0x02, 0xd3, 0x9c, 0x2b, 0x99, + 0x9e, 0xa3, 0x4e, 0x0a, 0xa8, 0x58, 0x78, 0x8e, 0xcb, 0x2f, 0x25, 0x14, 0x9a, 0x3b, 0x5f, 0x2e, 0x8c, 0x12, 0x13, + 0x5a, 0x25, 0xbf, 0x7c, 0xa8, 0xcc, 0xd7, 0xc6, 0x43, 0xf0, 0xc7, 0x34, 0x4c, 0x4c, 0x91, 0xa8, 0x10, 0x9d, 0xfd, + 0x02, 0xb2, 0x1c, 0x01, 0xb8, 0x9e, 0xaf, 0x20, 0x0a, 0xdc, 0x1a, 0xe2, 0xc2, 0x43, 0x83, 0xde, 0x16, 0xf2, 0x32, + 0x2b, 0x79, 0x88, 0xf7, 0x04, 0x4f, 0x33, 0x7a, 0xb7, 0xc1, 0x87, 0xb6, 0xf6, 0xe8, 0x09, 0xb2, 0xf1, 0x94, 0xfb, + 0xf5, 0x2f, 0x22, 0x9c, 0x43, 0xf4, 0xce, 0x05, 0xd5, 0xea, 0x6a, 0x07, 0xc8, 0xe5, 0xd9, 0x5e, 0x3d, 0x80, 0xd3, + 0x4d, 0x5f, 0xdf, 0xaa, 0xd0, 0x99, 0x03, 0x48, 0x7b, 0x48, 0xd6, 0x35, 0xd7, 0x3b, 0xc0, 0x3b, 0x12, 0xd7, 0x40, + 0x63, 0xdd, 0xd6, 0xec, 0xb4, 0x47, 0xf1, 0x98, 0xc8, 0xcc, 0x58, 0xa4, 0x18, 0x73, 0xb7, 0x4e, 0x8b, 0xa2, 0x0d, + 0x9a, 0x21, 0xec, 0xde, 0x75, 0xb2, 0x75, 0x2b, 0xe2, 0xfc, 0xdd, 0xb6, 0x2f, 0x30, 0x1a, 0xc6, 0x5c, 0xbb, 0xe7, + 0x1b, 0xba, 0xad, 0xdd, 0xc8, 0x68, 0x24, 0xc8, 0x4c, 0x1d, 0x88, 0xb2, 0xb6, 0x06, 0x6c, 0x0f, 0xb8, 0xde, 0xb4, + 0xc0, 0xcf, 0x9b, 0x18, 0xbc, 0x3d, 0x6b, 0x9c, 0xd2, 0xfa, 0x1a, 0xd7, 0x1c, 0x57, 0x85, 0x88, 0xda, 0x22, 0x05, + 0xc0, 0xb0, 0xf3, 0x05, 0xee, 0xcc, 0x0a, 0x83, 0x39, 0x61, 0xa9, 0x64, 0xa7, 0x72, 0xfd, 0x39, 0x6c, 0x71, 0x90, + 0xca, 0x97, 0x5e, 0x7f, 0xff, 0xf0, 0xc5, 0x17, 0xe8, 0xb6, 0xe7, 0xfc, 0x08, 0x82, 0x4c, 0xa0, 0x83, 0x9a, 0x52, + 0x3d, 0xfe, 0x50, 0x00, 0xb5, 0x87, 0x79, 0xf8, 0xa1, 0x60, 0x22, 0xbe, 0xca, 0x2e, 0xe2, 0x4a, 0x16, 0xa3, 0x2b, + 0x2e, 0x52, 0x59, 0x58, 0xa9, 0x71, 0x70, 0xbc, 0x5a, 0xe5, 0x3c, 0x00, 0x53, 0x79, 0xcb, 0x28, 0x3b, 0xb9, 0xa4, + 0x1e, 0x5c, 0x2d, 0x4f, 0xaf, 0xb4, 0xe8, 0xbc, 0xbc, 0xba, 0x08, 0x22, 0xfc, 0x75, 0x66, 0x7e, 0x5c, 0xc6, 0xe5, + 0xc7, 0x20, 0xb2, 0x36, 0x75, 0xe6, 0x07, 0x4a, 0xe5, 0xc1, 0xdf, 0x09, 0x64, 0xba, 0x3f, 0x14, 0x60, 0x99, 0x6d, + 0x2b, 0x3e, 0x8c, 0xb1, 0xd6, 0xe1, 0x84, 0xcc, 0x54, 0x89, 0xde, 0xbb, 0x64, 0x5d, 0x80, 0xb5, 0x9f, 0xc2, 0x76, + 0x56, 0xb9, 0x66, 0x58, 0x99, 0xaa, 0xc8, 0x10, 0xb4, 0x35, 0xdb, 0x0f, 0xad, 0x13, 0xcd, 0x1c, 0xbd, 0x05, 0xf4, + 0x03, 0xd9, 0xbf, 0xa0, 0x72, 0xcd, 0x3c, 0x1f, 0x9b, 0xc6, 0xeb, 0x07, 0xfb, 0x17, 0x9e, 0x40, 0xc9, 0xde, 0xc9, + 0x51, 0x98, 0x08, 0x9e, 0xc6, 0x66, 0x7c, 0x91, 0x67, 0x05, 0xec, 0xa0, 0xc9, 0x78, 0x4c, 0xbd, 0xa5, 0xd5, 0xba, + 0x39, 0x3a, 0x64, 0xdb, 0xec, 0x61, 0xf5, 0x90, 0x93, 0x7d, 0xde, 0x32, 0xb5, 0x6d, 0x5b, 0xc7, 0x79, 0x9a, 0x7c, + 0x65, 0xba, 0x5f, 0xae, 0x6d, 0x84, 0x78, 0xe5, 0xec, 0xe8, 0xbc, 0xa4, 0x5b, 0xdf, 0x94, 0x86, 0x5e, 0x4b, 0x00, + 0xe6, 0xd3, 0x06, 0xfc, 0x05, 0x93, 0xeb, 0x51, 0xc5, 0xcb, 0x0a, 0x24, 0x2c, 0x28, 0xc2, 0x9b, 0x62, 0x6f, 0x0a, + 0x77, 0xe3, 0xf4, 0x1c, 0x76, 0xe0, 0x62, 0x8a, 0xee, 0x38, 0x31, 0x99, 0x95, 0x46, 0x2b, 0x1a, 0xe9, 0x5f, 0xae, + 0x2f, 0xb1, 0xee, 0x8b, 0x56, 0xe6, 0xd9, 0x9c, 0x0a, 0x9b, 0xde, 0x55, 0x2e, 0x9d, 0xa8, 0xdf, 0x32, 0xe1, 0xca, + 0x95, 0x20, 0x20, 0xd3, 0x82, 0xf5, 0x0a, 0xb3, 0x8b, 0x0a, 0x24, 0x64, 0x60, 0xf8, 0x1a, 0xac, 0x45, 0xc9, 0x8d, + 0x15, 0xac, 0x77, 0xcf, 0xd7, 0x09, 0x42, 0x0a, 0x1e, 0xb8, 0x09, 0xfa, 0xd0, 0xba, 0x79, 0x3b, 0x4a, 0x94, 0x41, + 0x7c, 0x72, 0xed, 0x94, 0x83, 0x04, 0x02, 0x70, 0x60, 0x55, 0x48, 0x12, 0x05, 0x3a, 0x0f, 0xae, 0x66, 0x1c, 0xc1, + 0xe6, 0x95, 0x33, 0x17, 0x37, 0x80, 0xf3, 0xca, 0x9f, 0xcb, 0x06, 0x5b, 0xd6, 0x23, 0xaa, 0xcc, 0x19, 0xa7, 0x18, + 0xd4, 0xc9, 0x12, 0xf4, 0x95, 0xa5, 0xb4, 0x17, 0xa0, 0x69, 0xbc, 0x64, 0x2b, 0xe5, 0x03, 0x40, 0xcf, 0xd8, 0x4a, + 0x19, 0xfb, 0xe3, 0xd7, 0xa7, 0x6c, 0xa5, 0xa5, 0xc1, 0xd3, 0xcb, 0xd9, 0xd9, 0xec, 0x74, 0xc0, 0x0e, 0xa2, 0x50, + 0x1b, 0x30, 0x04, 0x2e, 0x32, 0x41, 0x30, 0x08, 0x35, 0xfe, 0xcb, 0x40, 0x05, 0x08, 0x23, 0x1e, 0x8f, 0x8d, 0x38, + 0x62, 0xe1, 0x78, 0x88, 0xc1, 0xc0, 0x9a, 0x2f, 0x48, 0x40, 0xa8, 0x29, 0x0d, 0x7d, 0x3d, 0xc3, 0xe1, 0x64, 0x6f, + 0x02, 0xa9, 0x98, 0x99, 0xa9, 0xc2, 0xd8, 0x98, 0x44, 0x10, 0xff, 0xb5, 0xb3, 0x5e, 0x28, 0xb7, 0xbb, 0x46, 0x03, + 0x41, 0x33, 0xf8, 0xa2, 0x8a, 0x27, 0x7b, 0xc3, 0xae, 0x8a, 0x71, 0x14, 0xae, 0x8c, 0xf2, 0xed, 0xf4, 0x10, 0xc0, + 0x7c, 0x4f, 0x87, 0xbe, 0x5c, 0xe2, 0x74, 0xff, 0x31, 0x79, 0xf8, 0x98, 0xd0, 0x53, 0x76, 0xfa, 0xd5, 0x63, 0x7a, + 0xaa, 0xc8, 0xc9, 0xde, 0x24, 0xba, 0x62, 0x16, 0x03, 0xe7, 0x40, 0x35, 0x81, 0x5e, 0x8c, 0xd6, 0x42, 0x2d, 0x30, + 0xed, 0xd0, 0x14, 0x7e, 0x3b, 0xde, 0x0b, 0x06, 0x57, 0xed, 0xa6, 0x5f, 0xb5, 0xdb, 0xea, 0x79, 0x75, 0xed, 0x1d, + 0x44, 0xbb, 0xc5, 0x4c, 0xfe, 0x39, 0xde, 0x73, 0x73, 0x80, 0xf5, 0xdd, 0x3f, 0x26, 0xa6, 0x49, 0x3b, 0xa3, 0xe2, + 0xd7, 0xf4, 0x08, 0xfb, 0xd0, 0x2c, 0xb2, 0xa3, 0x0f, 0xc3, 0x7f, 0xab, 0x13, 0xf5, 0xe9, 0x57, 0x07, 0x40, 0x8e, + 0x40, 0x06, 0x8a, 0x25, 0x82, 0x19, 0x0e, 0x34, 0x05, 0x14, 0x64, 0x7a, 0xdc, 0xa9, 0x1e, 0x7e, 0x35, 0x6a, 0x6a, + 0x46, 0xae, 0x60, 0x6a, 0xb0, 0x2d, 0xf8, 0x81, 0xea, 0x86, 0xfe, 0x46, 0xa3, 0x3d, 0x69, 0x27, 0x33, 0xf3, 0x92, + 0xda, 0x38, 0x77, 0x57, 0x10, 0xd0, 0xd9, 0xc1, 0x2d, 0x4a, 0xf6, 0xf5, 0xe1, 0xc5, 0x1e, 0xae, 0x22, 0x40, 0x0d, + 0x63, 0xc1, 0xd7, 0x83, 0x0b, 0xbd, 0xb9, 0xf7, 0x02, 0x32, 0xf8, 0x3a, 0x38, 0xfa, 0x7a, 0x20, 0x07, 0xc1, 0xe1, + 0xfe, 0xc5, 0x51, 0xe0, 0x8c, 0xfb, 0x21, 0xe4, 0xa5, 0xaa, 0x28, 0x66, 0xc2, 0x54, 0x91, 0xd8, 0xda, 0x73, 0x5b, + 0xaf, 0x32, 0x3e, 0xa3, 0xe9, 0xd4, 0x22, 0xa1, 0x87, 0x29, 0x8b, 0xcd, 0xef, 0x60, 0xc2, 0x2f, 0x83, 0xc8, 0x05, + 0x85, 0x9d, 0xe5, 0x51, 0x4c, 0x97, 0xec, 0x46, 0x84, 0x29, 0x4d, 0xf6, 0x73, 0x42, 0xa2, 0x70, 0xa9, 0xc0, 0x04, + 0xd5, 0xeb, 0x04, 0xe2, 0xda, 0xba, 0xcf, 0x6f, 0x44, 0xb8, 0xa4, 0xf9, 0x7e, 0x42, 0x5a, 0x45, 0xb8, 0x08, 0x35, + 0x9b, 0x9a, 0x9e, 0xb3, 0x70, 0x45, 0x2f, 0xd0, 0x54, 0x73, 0x1d, 0x5e, 0x00, 0x97, 0xb7, 0x9e, 0xaf, 0x16, 0xec, + 0xa2, 0x21, 0x7d, 0x33, 0x7c, 0xf1, 0xb9, 0xf5, 0xc9, 0x03, 0x1e, 0xd2, 0xf9, 0xe1, 0xa5, 0x60, 0x03, 0x70, 0x95, + 0xf1, 0xeb, 0xef, 0xe4, 0x8d, 0x9e, 0x97, 0xf6, 0x14, 0xe3, 0xcc, 0xb4, 0x13, 0x93, 0x76, 0x42, 0xee, 0xdf, 0xb7, + 0x7d, 0xf7, 0xe2, 0xb5, 0x72, 0x59, 0xb5, 0x0c, 0x49, 0xbc, 0x56, 0xae, 0xd3, 0x28, 0x39, 0xb5, 0x02, 0x4f, 0x76, + 0xce, 0xab, 0x64, 0xe9, 0x1f, 0x54, 0xd6, 0x6a, 0xc0, 0x1e, 0x23, 0x96, 0x85, 0xc2, 0xb1, 0x7f, 0x95, 0xb1, 0x78, + 0xdd, 0x40, 0x06, 0x46, 0xee, 0xed, 0x55, 0xc6, 0xbc, 0x18, 0xb4, 0xf9, 0xda, 0x0b, 0xdd, 0xe7, 0xa5, 0x2f, 0x5b, + 0xbc, 0x97, 0x53, 0x6a, 0x18, 0x89, 0xe8, 0xde, 0x58, 0x99, 0x51, 0xaa, 0x44, 0xad, 0x41, 0x23, 0x82, 0x8d, 0x5d, + 0x30, 0x50, 0x70, 0x42, 0xe5, 0x9e, 0x3a, 0xdb, 0xb7, 0x53, 0x2a, 0x3d, 0xa0, 0x5d, 0x6a, 0x54, 0xe5, 0x6e, 0x99, + 0x49, 0x56, 0x0d, 0x82, 0xd1, 0x5f, 0xa5, 0x14, 0x33, 0xbc, 0x33, 0xb2, 0x60, 0x0a, 0x56, 0x82, 0xaa, 0x96, 0x61, + 0x39, 0xe4, 0xa8, 0xc5, 0x33, 0x3e, 0xa9, 0x52, 0xff, 0xe8, 0x08, 0x1a, 0x9c, 0xae, 0x5b, 0x41, 0x83, 0x1f, 0x8f, + 0x1f, 0xeb, 0x81, 0x5e, 0xaf, 0xb5, 0xe3, 0xa1, 0xcf, 0x6f, 0x23, 0xde, 0xb8, 0xee, 0x3d, 0xd5, 0x5a, 0x85, 0x32, + 0xd0, 0x62, 0x45, 0xe5, 0x4a, 0x2d, 0xe9, 0xdd, 0x2e, 0x02, 0x60, 0x11, 0x1b, 0xb3, 0xf1, 0xae, 0x6d, 0x56, 0x08, + 0x1a, 0x5d, 0x76, 0xb4, 0x89, 0x07, 0x2c, 0xd1, 0xad, 0x1d, 0x4c, 0x68, 0x7c, 0xc4, 0xca, 0x7e, 0x3f, 0x3f, 0x02, + 0x7a, 0xaa, 0x8d, 0x98, 0x0a, 0x38, 0xf2, 0xbf, 0xb4, 0x22, 0x53, 0x14, 0xd8, 0xac, 0xa9, 0xbb, 0x35, 0x96, 0x91, + 0xe8, 0xcb, 0x94, 0x2e, 0x4f, 0x78, 0x06, 0x4c, 0xe7, 0xeb, 0x96, 0xe3, 0xca, 0xae, 0xe2, 0xc8, 0x53, 0x61, 0x59, + 0x71, 0x5e, 0x85, 0xe3, 0xad, 0xc7, 0x37, 0xd8, 0x37, 0x6c, 0xda, 0xca, 0x1f, 0x42, 0x58, 0x08, 0xaf, 0x32, 0xb8, + 0x8d, 0x68, 0x3b, 0x09, 0x54, 0xde, 0x98, 0xeb, 0x84, 0xb2, 0xb9, 0x3d, 0x5f, 0x7b, 0x06, 0xe9, 0xc4, 0x1c, 0x28, + 0xd5, 0x08, 0x5a, 0xa3, 0x59, 0x50, 0x35, 0xe2, 0x91, 0x33, 0xff, 0x72, 0x06, 0xb1, 0x5a, 0xbe, 0xa4, 0xa9, 0x14, + 0x0d, 0xc0, 0xb8, 0x00, 0x2e, 0x4f, 0x1f, 0xde, 0xfd, 0x74, 0xc2, 0xe3, 0x22, 0x59, 0xbe, 0x8d, 0x8b, 0xf8, 0xb2, + 0x0c, 0x37, 0x6a, 0x8c, 0xe2, 0x9a, 0x4c, 0xc5, 0x80, 0x49, 0xb3, 0x92, 0x9a, 0xbb, 0x52, 0x13, 0x62, 0xac, 0x33, + 0x59, 0x97, 0x95, 0xbc, 0x6c, 0x54, 0xba, 0x2e, 0x32, 0xfc, 0xb8, 0xe5, 0x73, 0xba, 0x0f, 0xc0, 0xa6, 0xc6, 0x85, + 0x34, 0x92, 0xba, 0x10, 0x63, 0x2e, 0xe2, 0x75, 0x7d, 0x3c, 0x6e, 0x74, 0xbd, 0x64, 0x4f, 0xc6, 0x8f, 0xa6, 0xaf, + 0xb2, 0x30, 0x1b, 0x08, 0x32, 0xaa, 0x96, 0x5c, 0xb4, 0x4c, 0x39, 0x95, 0x49, 0x00, 0xfa, 0x78, 0xf6, 0x18, 0x3b, + 0x18, 0x8f, 0xc9, 0xa6, 0x2d, 0x1e, 0xe0, 0x61, 0xba, 0x0e, 0x0b, 0x32, 0xd3, 0x75, 0x44, 0x81, 0xe0, 0x37, 0x55, + 0x00, 0xc8, 0x96, 0xb6, 0x2a, 0xc3, 0xa5, 0xb1, 0x27, 0xe3, 0x09, 0x95, 0xd8, 0xed, 0x90, 0xd4, 0x5e, 0x85, 0x6e, + 0xe6, 0xa5, 0xef, 0x51, 0x24, 0x8d, 0xcb, 0xd2, 0x4e, 0xa5, 0x52, 0xed, 0x99, 0x99, 0xeb, 0x1a, 0xc4, 0xa4, 0x08, + 0x75, 0xdd, 0xa5, 0x57, 0xf7, 0x6e, 0x73, 0xad, 0xd9, 0x0e, 0x78, 0xaf, 0x41, 0x33, 0x94, 0xbc, 0xc5, 0xbc, 0x75, + 0x45, 0xd4, 0xf4, 0x62, 0x0d, 0x66, 0xc5, 0x28, 0x5b, 0x8a, 0xd6, 0x6b, 0x0a, 0x4a, 0xc1, 0x68, 0xb5, 0xf6, 0x16, + 0xee, 0x53, 0xd9, 0xb8, 0xb0, 0x64, 0x7a, 0xb5, 0x28, 0x29, 0xa1, 0xba, 0xa9, 0x18, 0x29, 0x61, 0xa4, 0x34, 0x3c, + 0x95, 0xef, 0x05, 0x1e, 0xe7, 0x79, 0x10, 0xb5, 0xbc, 0xc0, 0x8e, 0x2b, 0x72, 0x0c, 0x8e, 0x5e, 0x26, 0xa7, 0xa1, + 0xc0, 0x3f, 0x66, 0x0a, 0xd4, 0x75, 0xa8, 0xee, 0x37, 0xb8, 0xf9, 0x7f, 0x2d, 0x58, 0xe0, 0xf1, 0xad, 0x97, 0xb8, + 0x8d, 0x7e, 0x2d, 0x7c, 0x5a, 0xfa, 0x46, 0xfa, 0xae, 0x2e, 0x9e, 0xb4, 0x37, 0x1b, 0x25, 0xcb, 0x2c, 0x4f, 0x5f, + 0xcb, 0x94, 0x83, 0xc8, 0x0c, 0xad, 0x41, 0xd9, 0x91, 0x68, 0xdc, 0xf0, 0xc0, 0x88, 0xb1, 0x71, 0xe3, 0xfb, 0x31, + 0x03, 0xd9, 0x30, 0x58, 0x7d, 0xb3, 0x54, 0x26, 0x6b, 0x40, 0xd8, 0xd0, 0xf2, 0x13, 0x8d, 0xb7, 0x11, 0xea, 0xeb, + 0x17, 0xb8, 0xcd, 0x95, 0xbe, 0xcf, 0xf9, 0x8f, 0x19, 0xfd, 0x11, 0x81, 0x5f, 0xe2, 0x15, 0xc8, 0x3d, 0x9e, 0x42, + 0xdd, 0x08, 0xdb, 0xcb, 0x31, 0x58, 0x12, 0xa2, 0xa3, 0x88, 0x8a, 0x05, 0x0a, 0x9a, 0xc2, 0x20, 0x8a, 0xa8, 0x0b, + 0xe6, 0xf0, 0x2c, 0x97, 0xc9, 0xc7, 0xa9, 0xf1, 0x99, 0x1f, 0xc6, 0x18, 0x43, 0x3a, 0x18, 0x84, 0xd5, 0x2c, 0x18, + 0x8e, 0x47, 0x93, 0x83, 0x27, 0x70, 0x6e, 0x07, 0xe3, 0x80, 0x0c, 0x82, 0xba, 0x5c, 0xc5, 0x82, 0x96, 0x57, 0x17, + 0xb6, 0x0c, 0xfc, 0xb8, 0x0e, 0x06, 0xbf, 0x16, 0x9e, 0xe2, 0x1d, 0x34, 0x27, 0xb7, 0x32, 0x0c, 0x02, 0x7a, 0xb1, + 0x26, 0x20, 0x29, 0xeb, 0x69, 0x7e, 0x52, 0x1f, 0x6e, 0x4c, 0x69, 0xff, 0xcc, 0xe1, 0x05, 0x87, 0x1d, 0x12, 0x28, + 0x90, 0xc6, 0xd3, 0x6c, 0xf4, 0x52, 0x29, 0x72, 0xdf, 0x16, 0x1c, 0xee, 0xcc, 0x3d, 0x67, 0x7a, 0xe4, 0x14, 0x12, + 0xcd, 0x2c, 0xe0, 0x46, 0xfe, 0x52, 0x5c, 0xc5, 0x79, 0x96, 0xee, 0x35, 0xdf, 0xec, 0x95, 0xb7, 0xa2, 0x8a, 0x6f, + 0x46, 0x81, 0xb1, 0x26, 0xe4, 0xbe, 0xea, 0x09, 0xd0, 0x13, 0x60, 0x0b, 0x80, 0x01, 0xf1, 0x8e, 0x99, 0xc9, 0x8c, + 0x47, 0xe0, 0x11, 0xd8, 0xf4, 0x81, 0x2c, 0x6e, 0x9d, 0x4b, 0x92, 0xbf, 0x99, 0x4a, 0x7b, 0xd5, 0x2b, 0x77, 0x0a, + 0xb2, 0x5e, 0x6d, 0xe5, 0xae, 0x5b, 0x9f, 0x7d, 0xd3, 0xe1, 0x15, 0x78, 0x2a, 0xc1, 0x2d, 0xb2, 0xdf, 0x6f, 0x0a, + 0x2a, 0x85, 0x51, 0x11, 0xef, 0x24, 0xd7, 0xe8, 0xdf, 0xee, 0x8d, 0x8d, 0x22, 0xb9, 0xe5, 0xfd, 0x03, 0xa8, 0x33, + 0x79, 0x57, 0xdc, 0xce, 0x21, 0x6a, 0xeb, 0x6e, 0x3c, 0xf0, 0xde, 0xa0, 0x5d, 0xd6, 0x1c, 0xc1, 0x96, 0x17, 0x7b, + 0x19, 0x8c, 0x05, 0xce, 0xca, 0x48, 0xa9, 0x71, 0xad, 0x8c, 0x06, 0xd4, 0x26, 0x77, 0x90, 0xa5, 0x9e, 0x04, 0x45, + 0x8e, 0x67, 0x31, 0x64, 0x1a, 0x6f, 0x03, 0xb1, 0xdf, 0xc8, 0x10, 0xa4, 0x69, 0xdb, 0x6d, 0x73, 0x04, 0xca, 0xee, + 0x81, 0x29, 0x49, 0x5d, 0x1b, 0x53, 0x03, 0x0d, 0x3d, 0x88, 0x1a, 0xa9, 0x88, 0xb3, 0xa3, 0xa7, 0xa0, 0x43, 0x04, + 0xdf, 0xef, 0x34, 0x2b, 0x3b, 0x5e, 0x4c, 0x08, 0x9e, 0xbc, 0xcf, 0x6f, 0xb2, 0xb2, 0x2a, 0xa3, 0x17, 0x29, 0x1a, + 0x42, 0x25, 0x52, 0x44, 0xaf, 0x21, 0xbe, 0x60, 0x89, 0xbf, 0xcb, 0xe8, 0x5d, 0x4a, 0xe3, 0x34, 0xc5, 0xf4, 0x67, + 0x05, 0xfc, 0x7c, 0x0a, 0x28, 0x97, 0xb8, 0x13, 0xa2, 0x53, 0x09, 0xf6, 0x6a, 0x10, 0xdd, 0xab, 0xe2, 0x80, 0x29, + 0x1a, 0xdd, 0x08, 0x8a, 0x98, 0x75, 0x98, 0xfd, 0x43, 0x81, 0x42, 0x21, 0x55, 0xcc, 0x2f, 0xc2, 0x3e, 0x44, 0xd5, + 0x1a, 0xca, 0x39, 0x7e, 0xfb, 0xd2, 0x0c, 0x69, 0x74, 0x23, 0xa9, 0xde, 0xda, 0x78, 0x6c, 0x21, 0x4a, 0x4f, 0x74, + 0xb9, 0xa6, 0xa7, 0xf1, 0x2a, 0x8b, 0x36, 0x80, 0x3f, 0xf1, 0xf6, 0xe5, 0x53, 0x65, 0x61, 0xf2, 0x32, 0x03, 0xc5, + 0xc1, 0xf1, 0xdb, 0x97, 0xaf, 0x64, 0xba, 0xce, 0x79, 0x74, 0x2b, 0x91, 0xb4, 0x1e, 0xbf, 0x7d, 0xf9, 0x33, 0x9a, + 0x7b, 0xbd, 0x2b, 0xe0, 0xfd, 0x0b, 0xe0, 0x2d, 0xa3, 0x64, 0x0d, 0x7d, 0x52, 0xbf, 0xf3, 0x35, 0x76, 0xca, 0xab, + 0xb5, 0x8c, 0x7e, 0x4f, 0x6b, 0x4f, 0x5a, 0xf5, 0x77, 0xe1, 0x53, 0x3b, 0x4f, 0xc0, 0x73, 0x93, 0x67, 0xe2, 0x63, + 0x64, 0x45, 0x3b, 0x41, 0xf4, 0xf5, 0xde, 0xcd, 0x65, 0x2e, 0xca, 0x08, 0x5f, 0x30, 0xb4, 0x0b, 0x8a, 0xf6, 0xf7, + 0xaf, 0xaf, 0xaf, 0x47, 0xd7, 0x8f, 0x46, 0xb2, 0xb8, 0xd8, 0x9f, 0x7c, 0xfb, 0xed, 0xb7, 0xfb, 0xf8, 0x36, 0xf8, + 0xba, 0xed, 0xf6, 0x5e, 0x11, 0x3e, 0x60, 0x01, 0x22, 0x76, 0x7f, 0x0d, 0x57, 0x14, 0xd0, 0xc2, 0x0d, 0xbe, 0x0e, + 0xbe, 0xd6, 0x87, 0xce, 0xd7, 0x87, 0xe5, 0xd5, 0x85, 0x2a, 0xbf, 0xab, 0xe4, 0x83, 0xf1, 0x78, 0xbc, 0x0f, 0x12, + 0xa8, 0xaf, 0x07, 0x7c, 0x10, 0x1c, 0x05, 0x83, 0x0c, 0x2e, 0x34, 0xe5, 0xd5, 0xc5, 0x51, 0xe0, 0x19, 0xd8, 0x36, + 0x58, 0x44, 0x07, 0xe2, 0x12, 0xec, 0x5f, 0xd0, 0xe0, 0xeb, 0x80, 0xb8, 0x94, 0xaf, 0x20, 0xe5, 0xab, 0x83, 0x27, + 0x7e, 0xda, 0xff, 0x52, 0x69, 0x8f, 0xfc, 0xb4, 0x43, 0x4c, 0x7b, 0xf4, 0xd4, 0x4f, 0x3b, 0x52, 0x69, 0xcf, 0xfd, + 0xb4, 0xff, 0x5d, 0x0e, 0x20, 0x75, 0xcf, 0xb7, 0xfe, 0x3b, 0xf5, 0x5a, 0x83, 0xa7, 0x50, 0x94, 0x5d, 0xc6, 0x17, + 0x1c, 0x1a, 0x3d, 0xb8, 0xb9, 0xcc, 0x69, 0x30, 0xc0, 0xf6, 0x7a, 0x46, 0x1e, 0xde, 0x07, 0x5f, 0xaf, 0x8b, 0x3c, + 0x0c, 0xbe, 0x1e, 0x60, 0x21, 0x83, 0xaf, 0x03, 0xf2, 0xb5, 0x3e, 0xd2, 0xae, 0x04, 0xdb, 0x04, 0x2e, 0x34, 0xeb, + 0xd0, 0x06, 0x4c, 0xf3, 0xa5, 0x71, 0x35, 0xfd, 0xad, 0xe8, 0xce, 0x86, 0xb7, 0x44, 0xe5, 0xa6, 0x1b, 0xd4, 0xf4, + 0x2d, 0x78, 0x27, 0x40, 0xa3, 0xa2, 0xe0, 0x2a, 0x2e, 0xc2, 0xe1, 0xb0, 0xbc, 0xba, 0x20, 0x60, 0x97, 0xb9, 0xe2, + 0x71, 0x15, 0x05, 0x42, 0x0e, 0xd5, 0xcf, 0x40, 0x45, 0x02, 0x0b, 0x10, 0xca, 0x08, 0xfe, 0x0b, 0x6a, 0xfa, 0x40, + 0xb2, 0x4d, 0x30, 0xbc, 0xe6, 0x67, 0x1f, 0xb3, 0x6a, 0xa8, 0x44, 0x8b, 0x57, 0x82, 0xc2, 0x0f, 0xf8, 0xeb, 0xaa, + 0x8e, 0x7e, 0x03, 0x37, 0xee, 0xa6, 0x86, 0xfd, 0x81, 0xf4, 0x1c, 0xda, 0xe4, 0x3c, 0x5b, 0x4c, 0x5b, 0x07, 0xfa, + 0x5b, 0x49, 0xaa, 0x79, 0x36, 0x08, 0x86, 0xc1, 0x80, 0x2f, 0xd8, 0x5b, 0x39, 0xe7, 0x9e, 0xf9, 0xd4, 0xb1, 0xf4, + 0xa7, 0x79, 0x96, 0x0d, 0xc0, 0x37, 0x05, 0xf9, 0x91, 0xfd, 0xff, 0x9e, 0x0f, 0x51, 0x78, 0x38, 0x78, 0xb0, 0x4f, + 0x66, 0xc1, 0xea, 0x06, 0x3d, 0x3a, 0xa3, 0x20, 0x13, 0x4b, 0x5e, 0x64, 0x95, 0xb7, 0x54, 0x6e, 0xd6, 0x6d, 0x2f, + 0x8f, 0x3b, 0xcf, 0xe6, 0x55, 0x2c, 0x02, 0x75, 0xce, 0x81, 0xe2, 0x0d, 0x65, 0x4f, 0x65, 0x53, 0x42, 0xaa, 0x0d, + 0x79, 0xc3, 0x72, 0xc0, 0x82, 0xc3, 0xde, 0x70, 0xb8, 0x17, 0x0c, 0x9c, 0x3a, 0x77, 0x10, 0xec, 0x0d, 0x87, 0x47, + 0x81, 0xbb, 0x0f, 0x65, 0x23, 0x77, 0x67, 0xa4, 0x05, 0xfb, 0xbb, 0x08, 0x4b, 0x0a, 0xe2, 0x31, 0xa9, 0xc5, 0x5f, + 0x1a, 0x5c, 0x66, 0x00, 0xd0, 0x47, 0x4a, 0x02, 0x66, 0x60, 0x65, 0x06, 0x10, 0xaa, 0x9c, 0xc6, 0xec, 0x16, 0x98, + 0x47, 0xe0, 0x98, 0x15, 0x4c, 0x16, 0x20, 0x96, 0x04, 0x38, 0x77, 0x41, 0x14, 0xeb, 0x42, 0x8e, 0x21, 0x08, 0x00, + 0xfe, 0x24, 0xa6, 0x14, 0x4c, 0xd2, 0xb1, 0x1b, 0x41, 0x10, 0xc7, 0x67, 0x57, 0xa2, 0x35, 0x39, 0x4b, 0x74, 0x30, + 0x23, 0x09, 0xb0, 0x21, 0x06, 0x86, 0x0f, 0xee, 0xe7, 0xa0, 0xf4, 0xb0, 0x7a, 0x27, 0xe4, 0x82, 0x6f, 0xb9, 0x63, + 0xa1, 0xae, 0xe0, 0xea, 0x09, 0x07, 0xc1, 0x2d, 0xd7, 0x2c, 0xc0, 0xa8, 0x2a, 0xd6, 0x65, 0xc5, 0xd3, 0xf7, 0xb7, + 0x2b, 0x88, 0x05, 0x88, 0x03, 0xfa, 0x56, 0xe6, 0x59, 0x72, 0x1b, 0x3a, 0x7b, 0xae, 0x8d, 0x4a, 0xff, 0xe1, 0xfd, + 0xab, 0x9f, 0x22, 0x10, 0x39, 0xd6, 0x86, 0xd2, 0xdf, 0x72, 0x3c, 0x9b, 0xfc, 0x88, 0x57, 0xfe, 0xc6, 0xbe, 0xe5, + 0xf6, 0xf4, 0xe8, 0xf7, 0xa1, 0x6e, 0x7a, 0xcb, 0x67, 0xb7, 0x7c, 0xe4, 0x8a, 0x43, 0x75, 0x85, 0xfb, 0xfa, 0xe3, + 0xda, 0x37, 0x42, 0xba, 0x7f, 0x9e, 0x29, 0x6f, 0xcc, 0x8f, 0x76, 0x30, 0x0c, 0x82, 0xa9, 0x16, 0x4a, 0x42, 0x14, + 0x12, 0xa6, 0x04, 0x0c, 0xd1, 0x9e, 0x5e, 0x56, 0x53, 0xe4, 0xdc, 0xd4, 0xc8, 0xc2, 0xfb, 0x01, 0xd3, 0x42, 0x87, + 0x46, 0x0e, 0xe5, 0x07, 0x87, 0x13, 0xc6, 0x2c, 0xfc, 0x56, 0x09, 0xd3, 0xaf, 0x16, 0x95, 0x73, 0x10, 0xdd, 0x03, + 0x63, 0x5c, 0xc1, 0x0b, 0xe8, 0x0a, 0xbb, 0x5e, 0xab, 0x28, 0x21, 0x08, 0xa6, 0x87, 0x1c, 0xa0, 0x87, 0x5d, 0xd0, + 0xb2, 0xb2, 0x54, 0xb7, 0x2a, 0x67, 0xa9, 0xa2, 0x2e, 0x43, 0x59, 0x19, 0x2b, 0x0c, 0xfc, 0x92, 0x7d, 0x28, 0xd0, + 0xb3, 0x7c, 0x2a, 0xba, 0xe0, 0x85, 0x50, 0x82, 0xe5, 0xba, 0xde, 0x89, 0x40, 0xd4, 0xf9, 0xa1, 0x77, 0xd5, 0xd7, + 0xb8, 0x7e, 0x3c, 0x7d, 0x25, 0x53, 0xae, 0x4d, 0x28, 0x34, 0x9f, 0x2f, 0x7d, 0xc5, 0x44, 0xc1, 0x3e, 0x42, 0xbf, + 0xda, 0x36, 0xfa, 0xec, 0x66, 0xad, 0x37, 0x83, 0x12, 0x1d, 0xf3, 0x1a, 0x05, 0xd7, 0x4a, 0xa1, 0x60, 0xb4, 0xb7, + 0xf1, 0x67, 0x38, 0x72, 0xab, 0xdb, 0x43, 0xef, 0xb7, 0x2a, 0xbe, 0x78, 0x8d, 0xbe, 0x9d, 0xf6, 0xe7, 0xa8, 0x92, + 0x1f, 0x56, 0x2b, 0xf0, 0xa1, 0x82, 0x48, 0x2b, 0x16, 0xa7, 0x17, 0xea, 0x39, 0x79, 0x7b, 0xfc, 0x1a, 0xfc, 0x28, + 0xf1, 0xf7, 0x2f, 0xdf, 0x07, 0x35, 0x99, 0xc6, 0xb3, 0xc2, 0x7c, 0x68, 0x73, 0x40, 0xa8, 0x16, 0x97, 0x66, 0xdf, + 0xcf, 0xe2, 0x26, 0xfb, 0xae, 0xd9, 0x7a, 0x5a, 0x34, 0x91, 0xa4, 0x0c, 0xb7, 0x0f, 0x06, 0x04, 0xfa, 0x00, 0x51, + 0x9c, 0x7d, 0x41, 0x63, 0x48, 0xf3, 0x99, 0x7d, 0x3f, 0x42, 0xe0, 0xcb, 0x9d, 0x90, 0x6a, 0x5c, 0x61, 0xd1, 0xe8, + 0x21, 0x9f, 0xf1, 0x48, 0x19, 0x16, 0xbd, 0xc3, 0x04, 0xe2, 0x0c, 0xa7, 0xd5, 0x7b, 0xc4, 0x80, 0xc6, 0xbb, 0x81, + 0x96, 0x3d, 0x44, 0x19, 0x75, 0xd9, 0x1b, 0x16, 0xdf, 0x27, 0xeb, 0x30, 0xb3, 0x96, 0x97, 0x43, 0xf8, 0x1b, 0x68, + 0x03, 0x70, 0xca, 0x91, 0xe5, 0xab, 0xcc, 0x46, 0x57, 0x4b, 0x4c, 0x6f, 0x22, 0x88, 0x4d, 0xa4, 0xd3, 0x61, 0xed, + 0xea, 0x54, 0xbd, 0xab, 0x9d, 0xcf, 0x44, 0xaf, 0x02, 0xad, 0x5c, 0xdb, 0x1e, 0x0f, 0xe1, 0x3f, 0xb5, 0xb4, 0xc2, + 0x46, 0xd8, 0x73, 0xf1, 0x85, 0xe7, 0xd8, 0x9c, 0x80, 0x06, 0x97, 0x32, 0x05, 0xe0, 0x2c, 0xad, 0x46, 0xa3, 0x46, + 0xd8, 0x67, 0xe5, 0x7c, 0x0e, 0x5b, 0x0b, 0xf1, 0xb4, 0x00, 0x1c, 0xb8, 0x89, 0xc9, 0xc9, 0xbb, 0x31, 0x39, 0xa7, + 0x1f, 0x15, 0xdc, 0x77, 0x70, 0x5a, 0x2e, 0xe3, 0x54, 0x5e, 0x03, 0x36, 0x65, 0xe0, 0xa7, 0x62, 0xa9, 0x5e, 0x42, + 0xb2, 0xe4, 0xc9, 0x47, 0xb4, 0xda, 0x48, 0x03, 0xe0, 0x2a, 0xa7, 0xc6, 0x72, 0x4f, 0x81, 0xa6, 0xba, 0x52, 0x54, + 0x42, 0x5c, 0x55, 0x71, 0xb2, 0x3c, 0xc1, 0xd4, 0x70, 0x03, 0xbd, 0x88, 0x02, 0xb9, 0xe2, 0x02, 0x48, 0x7a, 0xce, + 0xfe, 0xc8, 0x34, 0xf6, 0xfa, 0x1b, 0x89, 0x02, 0x26, 0x8d, 0xa2, 0x8c, 0x95, 0xb2, 0x97, 0xd2, 0x44, 0xbf, 0x0b, + 0x82, 0xda, 0xbd, 0xfc, 0x1b, 0xea, 0x7e, 0x0a, 0xad, 0x08, 0x1b, 0xe0, 0x85, 0x1a, 0xfc, 0x30, 0xb5, 0x4b, 0xce, + 0x03, 0x32, 0x74, 0xde, 0x67, 0xb5, 0xdd, 0xea, 0x4f, 0x97, 0x80, 0xf5, 0x9a, 0x1a, 0x9f, 0xc2, 0x30, 0x21, 0x26, + 0x56, 0xb2, 0x55, 0x56, 0xda, 0x0d, 0x65, 0xda, 0x49, 0x97, 0xcc, 0x6b, 0xe1, 0x34, 0xef, 0x31, 0xb6, 0x1c, 0xa9, + 0xdc, 0xfd, 0x7e, 0x68, 0x7e, 0xb2, 0x9c, 0xbe, 0xd1, 0x21, 0xac, 0xbd, 0xf1, 0xa0, 0x39, 0xd1, 0xea, 0xaa, 0x8e, + 0x7e, 0x40, 0x07, 0x60, 0xa6, 0x2d, 0x42, 0xa5, 0x0b, 0xbe, 0xed, 0x2b, 0x51, 0x71, 0x49, 0xc2, 0x52, 0x49, 0x60, + 0x67, 0x37, 0x25, 0x3b, 0x9b, 0x80, 0x78, 0x86, 0xbb, 0x9e, 0x16, 0x3b, 0x21, 0x4d, 0x78, 0x8b, 0xbd, 0x04, 0x44, + 0x1d, 0xaa, 0xba, 0x84, 0x6c, 0x8c, 0xa1, 0x8b, 0x7f, 0x51, 0x0a, 0x13, 0xd6, 0x32, 0xa9, 0x4a, 0x4c, 0x50, 0xa8, + 0x72, 0xb7, 0x45, 0x60, 0x89, 0x82, 0x1d, 0xc0, 0xde, 0xbb, 0x51, 0x37, 0xa3, 0xa6, 0xaa, 0x53, 0x2f, 0xc1, 0xc7, + 0x69, 0xd6, 0x55, 0x90, 0x59, 0xd8, 0x55, 0xb1, 0xe6, 0x81, 0x8e, 0xd5, 0xa5, 0x8c, 0x89, 0xbb, 0xb4, 0xc8, 0x10, + 0x1f, 0x19, 0x63, 0x0b, 0x6b, 0x38, 0xd2, 0xf6, 0xb8, 0xe9, 0x09, 0x42, 0x3f, 0x61, 0x43, 0x09, 0xdc, 0x74, 0xb6, + 0xa7, 0xa6, 0x99, 0x0f, 0x88, 0x38, 0x0c, 0x28, 0x90, 0x6c, 0x1c, 0xd2, 0x1c, 0xe9, 0x0b, 0x92, 0x26, 0x0c, 0x94, + 0xad, 0x78, 0x4e, 0x90, 0x15, 0x85, 0x9e, 0xad, 0xab, 0x1a, 0xe2, 0xe7, 0x32, 0xcc, 0xd1, 0x92, 0x53, 0xe1, 0x69, + 0x82, 0x4c, 0xec, 0x8e, 0xb6, 0x99, 0xc9, 0x70, 0x94, 0x2c, 0x30, 0xbf, 0x82, 0x28, 0x71, 0x67, 0x9a, 0x55, 0x39, + 0x18, 0x17, 0xb0, 0x40, 0x2b, 0xdf, 0x83, 0xba, 0xb1, 0x86, 0x36, 0x1a, 0x96, 0xd9, 0xed, 0x4f, 0xb0, 0x5f, 0x6b, + 0xa7, 0x75, 0x99, 0x62, 0x79, 0x99, 0x42, 0xb4, 0x17, 0x32, 0xbf, 0x51, 0x24, 0xba, 0x53, 0x84, 0x21, 0x61, 0x1d, + 0x65, 0x4f, 0xda, 0xd4, 0x00, 0x7a, 0xea, 0x05, 0x80, 0xef, 0x5c, 0xcb, 0xb0, 0x8b, 0x74, 0x7f, 0x55, 0x30, 0x2e, + 0xdd, 0x20, 0x48, 0xd1, 0x9b, 0x14, 0xcc, 0x79, 0x3d, 0x4a, 0xea, 0xcd, 0x69, 0xcb, 0x8c, 0xaa, 0xa3, 0x22, 0xa4, + 0x9c, 0xe0, 0x3f, 0x79, 0x29, 0x35, 0xb1, 0x09, 0x13, 0x3c, 0xf0, 0x61, 0x9e, 0x61, 0x03, 0x6f, 0xb7, 0x0f, 0xd2, + 0x30, 0x69, 0xb3, 0x0d, 0x29, 0x48, 0x2b, 0x4c, 0x9c, 0x10, 0xa8, 0xec, 0x25, 0xee, 0x17, 0x6c, 0x27, 0x4d, 0xc1, + 0x83, 0xb0, 0xd1, 0xc0, 0xc4, 0xad, 0xae, 0x6c, 0x1d, 0x26, 0x34, 0x5c, 0x52, 0xed, 0xec, 0xa4, 0x92, 0xcf, 0xdb, + 0xeb, 0xf2, 0xdc, 0xf6, 0x41, 0xc7, 0x52, 0xeb, 0x1a, 0x1e, 0x68, 0x5e, 0xb3, 0x8b, 0x2b, 0xa6, 0x69, 0xa2, 0xb1, + 0x1e, 0x52, 0x96, 0x1c, 0xeb, 0x7a, 0xba, 0xc2, 0xd5, 0x32, 0xd3, 0x40, 0xf7, 0x12, 0x2f, 0xf4, 0x80, 0x0f, 0x1e, + 0xae, 0x48, 0x74, 0x8e, 0xcd, 0x66, 0xab, 0x9a, 0x4c, 0xf3, 0xbb, 0xb2, 0xe5, 0x26, 0x40, 0x9e, 0xa5, 0xbe, 0xb9, + 0x4f, 0x8e, 0x35, 0x6d, 0xf3, 0x93, 0x00, 0xd7, 0xdc, 0x2b, 0x20, 0xe9, 0x58, 0x82, 0x2e, 0xde, 0xa7, 0x3f, 0x88, + 0xd4, 0x4c, 0x05, 0xbd, 0x73, 0xbe, 0x48, 0xdd, 0xfc, 0x02, 0x6c, 0xa3, 0x36, 0xc6, 0x34, 0x4b, 0xac, 0xc3, 0x44, + 0x59, 0x58, 0x23, 0x0b, 0xb9, 0x04, 0x1f, 0xcc, 0xdd, 0xa6, 0x4e, 0x9f, 0x77, 0x10, 0x61, 0xbf, 0x8b, 0x1e, 0x8f, + 0x30, 0x56, 0xac, 0x41, 0x62, 0x58, 0x85, 0x35, 0x6d, 0x2e, 0x87, 0x28, 0xa7, 0x66, 0xc9, 0x44, 0x4b, 0xea, 0x53, + 0x8a, 0x28, 0x05, 0x73, 0xe3, 0x69, 0xd9, 0x30, 0x25, 0x44, 0xc8, 0x0a, 0xe9, 0x80, 0x6a, 0x2d, 0xb4, 0x54, 0x13, + 0x04, 0x3c, 0xf4, 0xb2, 0xd0, 0x98, 0x82, 0xe8, 0x23, 0x32, 0xdc, 0x88, 0x23, 0xa3, 0xbb, 0x63, 0x14, 0x13, 0x08, + 0xdd, 0xed, 0xe5, 0x85, 0xd5, 0xa7, 0x65, 0x5b, 0x1d, 0xc4, 0x35, 0xa6, 0xc9, 0x1d, 0x04, 0x35, 0x46, 0x41, 0x9b, + 0xd3, 0x8d, 0xfe, 0x5e, 0x84, 0xbe, 0x5d, 0x38, 0x76, 0xa3, 0x20, 0x12, 0x22, 0xd2, 0x7a, 0x4d, 0xc5, 0x00, 0xb5, + 0xf3, 0xd8, 0x45, 0xac, 0xd2, 0xdd, 0x42, 0x94, 0x37, 0x2a, 0xeb, 0x93, 0x75, 0x48, 0xb6, 0x5b, 0x2c, 0x0b, 0x7c, + 0xd9, 0x5f, 0xad, 0xef, 0x80, 0x40, 0x7f, 0xba, 0xfe, 0x2c, 0x04, 0xfa, 0xb3, 0xec, 0x4b, 0x20, 0xd0, 0x9f, 0xae, + 0xff, 0xa7, 0x21, 0xd0, 0x5f, 0xad, 0x3d, 0x08, 0x74, 0x35, 0x18, 0xff, 0x2a, 0x58, 0xf0, 0xe6, 0x75, 0x40, 0x9f, + 0x49, 0x16, 0xbc, 0x79, 0xf1, 0xc2, 0x13, 0xa6, 0xff, 0x20, 0x34, 0x92, 0xbf, 0x91, 0x05, 0x23, 0x6e, 0x0b, 0xbc, + 0x42, 0xad, 0x93, 0x0f, 0x54, 0x94, 0x01, 0x10, 0x7d, 0xf9, 0x6b, 0x56, 0x2d, 0xc3, 0x60, 0x3f, 0x20, 0x33, 0x07, + 0x09, 0x3a, 0x9c, 0x34, 0x6e, 0x6f, 0x1f, 0x44, 0x43, 0xa8, 0x63, 0x23, 0x0f, 0xc0, 0x57, 0x9e, 0xc8, 0xde, 0xbf, + 0x21, 0xe2, 0x27, 0x33, 0x0b, 0x3a, 0xba, 0x1f, 0x10, 0xf0, 0x58, 0xca, 0x3c, 0x04, 0xce, 0xb9, 0x1f, 0x12, 0xfa, + 0xed, 0xda, 0xb3, 0x2d, 0xfa, 0x20, 0xc2, 0x0a, 0x7c, 0xee, 0xfe, 0x5e, 0xf3, 0xd3, 0x2c, 0x25, 0x4e, 0x1e, 0xca, + 0x45, 0x22, 0x53, 0xfe, 0xe1, 0xdd, 0x4b, 0x8b, 0x3c, 0x1e, 0x2a, 0xe8, 0x25, 0x82, 0x21, 0x8d, 0x53, 0x7e, 0x95, + 0x25, 0x7c, 0xf6, 0xe7, 0x83, 0x4d, 0x67, 0x46, 0xf5, 0x9a, 0xd4, 0xfb, 0x7f, 0x46, 0x41, 0xa0, 0xc7, 0xe0, 0xcf, + 0x07, 0x9b, 0xac, 0xde, 0x7f, 0xb0, 0xa9, 0x46, 0xa9, 0x04, 0x78, 0x6f, 0xf8, 0x2d, 0xeb, 0x07, 0x9b, 0x12, 0x7e, + 0xf0, 0xfa, 0x4f, 0x0f, 0x98, 0xcd, 0x36, 0xc8, 0xeb, 0x83, 0x55, 0x5e, 0x39, 0x4c, 0xd0, 0x7b, 0x0a, 0x16, 0xa6, + 0x50, 0x87, 0x47, 0xb5, 0xf6, 0xe4, 0x7e, 0x53, 0xdd, 0x75, 0x42, 0xe0, 0x1a, 0xe9, 0x06, 0x0e, 0xa1, 0xb2, 0x04, + 0x3b, 0xea, 0xe8, 0x94, 0x20, 0xa6, 0xe6, 0xfd, 0x40, 0xd9, 0xfa, 0x7a, 0xc1, 0x8a, 0x5d, 0x33, 0x31, 0xbe, 0xd3, + 0x18, 0xd8, 0x70, 0xd1, 0xd5, 0x62, 0xce, 0xfe, 0x34, 0x3d, 0xde, 0xad, 0x42, 0x12, 0xc4, 0xc8, 0xf6, 0xfb, 0xc4, + 0xeb, 0x59, 0xca, 0xab, 0x38, 0xcb, 0x59, 0x9c, 0xe7, 0x7f, 0xa2, 0x2c, 0xe2, 0xfb, 0x2f, 0x02, 0xdd, 0x1f, 0x8d, + 0x46, 0x71, 0x71, 0x81, 0x57, 0x7f, 0x43, 0x6e, 0x11, 0x16, 0x3b, 0xe3, 0xa5, 0x0d, 0xac, 0xb2, 0x8c, 0xcb, 0x53, + 0x1d, 0xd1, 0xa8, 0xb4, 0x04, 0xbb, 0x5c, 0xca, 0xeb, 0x53, 0x88, 0xee, 0x60, 0x29, 0x78, 0x8c, 0x03, 0xa8, 0xee, + 0x4d, 0x26, 0xec, 0xf2, 0x5a, 0xbf, 0x3b, 0x8b, 0x4b, 0xfe, 0x36, 0xae, 0x96, 0x0c, 0xf6, 0x82, 0xa6, 0xea, 0x85, + 0x5c, 0xaf, 0x5c, 0x25, 0xa7, 0x6b, 0xf1, 0x51, 0xc8, 0x6b, 0xa1, 0x68, 0xef, 0x29, 0xbf, 0x82, 0x16, 0xb1, 0x0d, + 0xea, 0xac, 0x04, 0x4f, 0x2a, 0x8f, 0x13, 0x57, 0xb1, 0x00, 0x32, 0x6a, 0xa2, 0x01, 0x74, 0xe4, 0xa0, 0xa1, 0xdd, + 0x6b, 0xda, 0xb1, 0xdc, 0xa8, 0x2c, 0x32, 0xb0, 0x84, 0x7d, 0x0e, 0xa5, 0x03, 0x62, 0x3b, 0x84, 0x0b, 0x81, 0xab, + 0x27, 0x5e, 0x8d, 0x1a, 0x88, 0x3d, 0xb4, 0xf4, 0xdd, 0x85, 0x14, 0xab, 0x65, 0xd0, 0x2e, 0x1b, 0xc3, 0x84, 0xd7, + 0x6b, 0x74, 0x19, 0x06, 0xc5, 0x7f, 0xe1, 0x16, 0x25, 0xe2, 0x22, 0x65, 0xa9, 0x32, 0x3a, 0xeb, 0xa1, 0x2c, 0x0c, + 0x9f, 0x3d, 0x1d, 0xa5, 0x0e, 0x2b, 0xe7, 0x99, 0xe5, 0x6d, 0x94, 0x26, 0x7e, 0x0e, 0x26, 0x61, 0x7e, 0x2d, 0x73, + 0xa9, 0xe3, 0x92, 0x9f, 0x8a, 0xf5, 0x25, 0x2f, 0xb2, 0xe4, 0x74, 0x99, 0x95, 0x95, 0x2c, 0x6e, 0x17, 0x06, 0xee, + 0x42, 0x97, 0xd5, 0x9a, 0xc4, 0x3b, 0xbf, 0x03, 0x9f, 0x77, 0x15, 0xc0, 0x64, 0xf8, 0x64, 0x4c, 0x6a, 0x6d, 0x2d, + 0x0f, 0x0d, 0xa4, 0xf6, 0xb7, 0xda, 0x27, 0xee, 0xd9, 0x76, 0x8d, 0x36, 0xfd, 0x1c, 0xda, 0x35, 0x52, 0xb3, 0x94, + 0x0a, 0xfe, 0xf7, 0x9a, 0x9b, 0x68, 0x07, 0xa1, 0x43, 0xf2, 0x0e, 0x4b, 0x7d, 0x18, 0x69, 0x12, 0xad, 0x90, 0xa0, + 0x14, 0xf5, 0x6d, 0xbd, 0x50, 0x6d, 0x20, 0x44, 0xdd, 0x16, 0xd3, 0xf4, 0x39, 0x82, 0xb6, 0x83, 0x94, 0x04, 0xf7, + 0x96, 0x8d, 0xf9, 0xd5, 0xb5, 0x7c, 0xe6, 0xd0, 0x9d, 0xc5, 0xec, 0x73, 0x19, 0x06, 0x83, 0xe8, 0x73, 0x59, 0xd8, + 0xe4, 0x9e, 0x55, 0xaa, 0xb2, 0x1c, 0x1a, 0xdb, 0xcb, 0x29, 0x9a, 0xb2, 0x84, 0x0f, 0xd6, 0x61, 0x73, 0xed, 0x53, + 0x9c, 0x7d, 0xba, 0xb9, 0xe4, 0xd5, 0x52, 0xa6, 0x51, 0xf0, 0xfd, 0xf3, 0xf7, 0x81, 0x51, 0x5d, 0x17, 0x1a, 0xb4, + 0x48, 0x6b, 0x73, 0x72, 0x79, 0x01, 0xb2, 0xcc, 0x5e, 0x31, 0x92, 0x1f, 0x77, 0xa2, 0x7c, 0xfe, 0xf9, 0xc3, 0xfb, + 0xf7, 0x6f, 0xf7, 0x50, 0xe1, 0xd3, 0xdb, 0x3b, 0x51, 0xe8, 0x01, 0x7b, 0x0f, 0x36, 0x85, 0x56, 0xb1, 0xd7, 0x7f, + 0xda, 0xb3, 0xaa, 0x68, 0x29, 0xc8, 0x0d, 0x28, 0xa0, 0x57, 0x45, 0x6b, 0x58, 0x0b, 0xa7, 0xc5, 0xf6, 0x33, 0x2b, + 0xed, 0x52, 0x80, 0xba, 0x13, 0x55, 0x73, 0xa4, 0xf4, 0xf2, 0x10, 0x69, 0x21, 0xac, 0xee, 0xd8, 0x6a, 0x55, 0xd7, + 0x56, 0x93, 0x45, 0x95, 0x89, 0x8b, 0x53, 0xdc, 0xfd, 0x5f, 0xb4, 0xe5, 0xcc, 0x0c, 0x2b, 0x7a, 0xd1, 0xde, 0x6d, + 0x0d, 0xa8, 0x32, 0x6d, 0x94, 0xab, 0xf7, 0x10, 0x08, 0xcc, 0xca, 0x7a, 0xea, 0x7f, 0x6c, 0x2c, 0x46, 0xfc, 0x34, + 0x05, 0xe4, 0x06, 0x3c, 0x10, 0x3b, 0x8a, 0x47, 0xa6, 0x7d, 0xd7, 0x28, 0x37, 0x39, 0x4c, 0x5a, 0x09, 0xb3, 0xe1, + 0x24, 0x9a, 0x10, 0x1b, 0x5f, 0x42, 0xd3, 0xb0, 0xef, 0x47, 0xcf, 0x5f, 0xbf, 0x7f, 0xf9, 0xfe, 0xf7, 0xd3, 0xa7, + 0xc7, 0xef, 0x9f, 0x7f, 0xff, 0xe6, 0xdd, 0xcb, 0xe7, 0x27, 0x78, 0x42, 0x68, 0xc0, 0xca, 0x70, 0xa3, 0xad, 0xa2, + 0x9b, 0x65, 0x45, 0xa2, 0x26, 0xcd, 0xa6, 0x28, 0xc4, 0x28, 0xcc, 0x6c, 0x8b, 0xfc, 0xf0, 0xfa, 0xd9, 0xf3, 0x17, + 0x2f, 0x5f, 0x3f, 0x7f, 0xd6, 0xfe, 0x7a, 0x38, 0xa9, 0x49, 0xed, 0x66, 0x4e, 0x47, 0x48, 0xe1, 0x76, 0xbc, 0x3a, + 0xe8, 0x13, 0x6a, 0xe5, 0x7d, 0xfa, 0x94, 0xc1, 0x8a, 0x64, 0x4a, 0x4e, 0x8f, 0xbf, 0x3d, 0xfc, 0x5f, 0xb5, 0xf1, + 0xb6, 0x5b, 0xe0, 0x21, 0x90, 0x8c, 0x29, 0x59, 0x3f, 0x8c, 0x6a, 0x46, 0xd5, 0xcb, 0x48, 0x50, 0x5b, 0x1a, 0xd8, + 0x40, 0xa7, 0x54, 0x85, 0x54, 0x38, 0x4d, 0xe2, 0x8a, 0x5f, 0xc8, 0xe2, 0x36, 0xca, 0x46, 0xad, 0x14, 0xda, 0x58, + 0x00, 0x51, 0x08, 0x82, 0xe5, 0x46, 0x12, 0xe9, 0x29, 0x02, 0xe0, 0x0d, 0x81, 0x1b, 0xd5, 0xb9, 0x8b, 0x16, 0xd0, + 0x2e, 0x98, 0x2c, 0xb6, 0xdb, 0x8e, 0x41, 0xeb, 0xa4, 0x7d, 0xd1, 0x3c, 0x53, 0x44, 0x71, 0x01, 0x8c, 0x39, 0x1c, + 0x6f, 0xea, 0xec, 0x62, 0xe6, 0xb8, 0x3b, 0xd6, 0x51, 0x3f, 0xc1, 0x1a, 0xd1, 0xbd, 0x36, 0x81, 0x65, 0x9a, 0xe7, + 0xe1, 0xb8, 0x45, 0x71, 0x0d, 0xc6, 0x6f, 0x2b, 0x55, 0x2d, 0x33, 0x8d, 0xad, 0x08, 0x33, 0x05, 0xe1, 0xb8, 0x8c, + 0xe8, 0x36, 0xcc, 0xc1, 0x42, 0xa6, 0x31, 0xbf, 0x66, 0x1c, 0xf2, 0x48, 0x1a, 0x98, 0x3c, 0x30, 0x19, 0xbc, 0x23, + 0xd7, 0x32, 0x2a, 0x1a, 0x80, 0x97, 0xb2, 0x39, 0xa8, 0x87, 0xff, 0xa7, 0xb9, 0xa7, 0xdd, 0x6e, 0xdb, 0x46, 0xf6, + 0x7f, 0x9f, 0x82, 0x61, 0xb2, 0x29, 0x99, 0x90, 0x34, 0x29, 0x59, 0xb6, 0x22, 0x59, 0x72, 0x9b, 0xaf, 0x6d, 0x5a, + 0xb7, 0xe9, 0x49, 0xdc, 0xec, 0xdd, 0xf5, 0xfa, 0x58, 0x94, 0x04, 0x49, 0xdc, 0x50, 0xa4, 0x0e, 0x49, 0xf9, 0xa3, + 0x0a, 0xf7, 0x59, 0xf6, 0x11, 0xee, 0x33, 0xf4, 0xc9, 0xee, 0x99, 0x19, 0x80, 0x04, 0xbf, 0x24, 0x79, 0x93, 0xb6, + 0xf7, 0xb4, 0x49, 0x44, 0x10, 0x00, 0x81, 0x01, 0x30, 0x33, 0x98, 0xcf, 0xa8, 0xf8, 0x0c, 0xdb, 0xb8, 0x54, 0x05, + 0x45, 0xb6, 0xc5, 0x4a, 0x20, 0x5a, 0x98, 0x9c, 0xd2, 0xe7, 0xad, 0x24, 0x3c, 0x0b, 0x6f, 0x84, 0x78, 0xf8, 0x24, + 0xaa, 0x29, 0xc4, 0xb3, 0xd1, 0x73, 0x4f, 0x26, 0xf4, 0xc3, 0x49, 0x1b, 0x88, 0x40, 0x9a, 0x03, 0x38, 0x63, 0x4e, + 0x47, 0x74, 0x65, 0xba, 0x7a, 0xb4, 0x11, 0x1b, 0x2f, 0x1d, 0x79, 0x59, 0xf2, 0xd7, 0x02, 0x63, 0x91, 0x72, 0xd0, + 0xcb, 0xb1, 0x46, 0x6b, 0xaa, 0xf1, 0xfd, 0x31, 0xf0, 0x6a, 0xb9, 0x13, 0x8b, 0x1e, 0x19, 0xe5, 0xc2, 0xac, 0xaf, + 0xc2, 0x6e, 0xd9, 0x44, 0xab, 0x1b, 0x18, 0x89, 0x97, 0xc4, 0x14, 0x30, 0xfc, 0x32, 0x62, 0xfc, 0x9f, 0x2b, 0x18, + 0x1f, 0xad, 0xec, 0x32, 0x84, 0xff, 0xf3, 0xdb, 0xf7, 0xe7, 0xa0, 0xbd, 0x72, 0x51, 0xdd, 0xbc, 0x51, 0xb9, 0xa5, + 0x8a, 0x09, 0xfa, 0x20, 0xb5, 0xa7, 0xba, 0x2b, 0xa0, 0xc7, 0x78, 0x2f, 0x38, 0xb8, 0x35, 0x6f, 0x6e, 0x6e, 0x4c, + 0xb0, 0x5b, 0x35, 0xd7, 0x91, 0x4f, 0x3c, 0xe0, 0x54, 0x4d, 0x05, 0x22, 0x67, 0x25, 0x44, 0x0e, 0x41, 0x6f, 0x79, + 0xd6, 0x94, 0xf7, 0x8b, 0xf0, 0xe6, 0x5b, 0xdf, 0x97, 0x85, 0x33, 0x82, 0x55, 0xe3, 0xf2, 0x8a, 0x02, 0x62, 0xd0, + 0x40, 0xc7, 0x64, 0x79, 0xf1, 0x15, 0xb7, 0x0a, 0x98, 0x5e, 0x8d, 0xef, 0xae, 0xb8, 0xe6, 0x21, 0x8b, 0x3a, 0xfc, + 0x62, 0x74, 0x32, 0xf5, 0xae, 0x15, 0xe4, 0x27, 0x07, 0x2a, 0xb8, 0x6c, 0xf9, 0x6c, 0xbc, 0x4e, 0x92, 0x30, 0x30, + 0xa3, 0xf0, 0x46, 0x1d, 0x9e, 0xd0, 0x83, 0xa8, 0xe0, 0xd2, 0xa3, 0xaa, 0x7c, 0x33, 0xf1, 0xbd, 0xc9, 0xc7, 0x81, + 0xfa, 0x68, 0xe3, 0x0d, 0x86, 0x25, 0xae, 0xd1, 0x4e, 0xd5, 0x21, 0x8c, 0x55, 0xf9, 0xd6, 0xf7, 0x4f, 0x0e, 0xa8, + 0xc5, 0xf0, 0xe4, 0x60, 0xea, 0x5d, 0x0f, 0xa5, 0x04, 0x30, 0x5c, 0x3b, 0x3a, 0xe0, 0x81, 0x36, 0x33, 0x7b, 0xb2, + 0x18, 0x23, 0x37, 0x4c, 0x98, 0x96, 0x5f, 0x71, 0x21, 0xa2, 0x0c, 0x8d, 0x57, 0x9b, 0xa0, 0xd0, 0xdc, 0x87, 0x0b, + 0xdd, 0xa7, 0x4f, 0x5a, 0x66, 0x6d, 0xba, 0x90, 0x42, 0xb1, 0xa1, 0x32, 0x0f, 0xab, 0x18, 0x18, 0x4f, 0x46, 0xd7, + 0x44, 0xc0, 0x38, 0x5f, 0x37, 0x26, 0xa9, 0x81, 0x79, 0x74, 0xdc, 0x15, 0xe8, 0x15, 0xf9, 0x4f, 0xe9, 0xde, 0x3b, + 0x81, 0xdc, 0xd9, 0x12, 0xe2, 0xd6, 0x25, 0xcd, 0x0a, 0x9d, 0x42, 0x1e, 0x0d, 0x10, 0x54, 0x22, 0xf8, 0x1d, 0xd2, + 0x76, 0x68, 0xbe, 0x0e, 0xb9, 0xdb, 0xb2, 0x10, 0x3c, 0x6e, 0x2a, 0xb2, 0xa5, 0x09, 0xb8, 0x9c, 0x16, 0x56, 0xa8, + 0x57, 0x5e, 0x2f, 0x11, 0x1b, 0xf2, 0x41, 0xdc, 0xb4, 0x64, 0xa0, 0xa9, 0xd3, 0x12, 0xa3, 0x44, 0x67, 0xc1, 0x77, + 0x4f, 0x52, 0x0f, 0x31, 0x43, 0xbb, 0x88, 0x8d, 0xf0, 0x32, 0xa7, 0x4d, 0x31, 0x21, 0xca, 0x5e, 0x98, 0xe6, 0x61, + 0x9a, 0x69, 0xd5, 0x87, 0x8f, 0x36, 0x01, 0x12, 0xb3, 0x78, 0x30, 0x2c, 0xee, 0x83, 0xc4, 0x1d, 0x9b, 0xb4, 0x99, + 0x55, 0xe5, 0x9b, 0xe9, 0xd8, 0xcf, 0x16, 0x9b, 0x0e, 0xc1, 0xc2, 0x0d, 0xa6, 0x3e, 0x3b, 0x77, 0xc7, 0xdf, 0x61, + 0x9d, 0x97, 0x63, 0xff, 0x05, 0x54, 0x48, 0xd5, 0xe1, 0xa3, 0x0d, 0x91, 0xeb, 0x3a, 0x84, 0x9d, 0xd2, 0x16, 0x28, + 0x7f, 0x87, 0x27, 0x56, 0x62, 0x11, 0xb5, 0xc6, 0xc1, 0x12, 0x89, 0x25, 0x8c, 0x5a, 0x1c, 0x19, 0x4f, 0xec, 0x03, + 0x7b, 0x53, 0xe1, 0xa7, 0x16, 0xc6, 0x15, 0x8a, 0x13, 0x2c, 0xef, 0x4c, 0x79, 0xb0, 0x44, 0x4a, 0xdf, 0x85, 0x37, + 0x62, 0xa4, 0x1c, 0x00, 0x14, 0x88, 0xf2, 0xf4, 0xc5, 0xe8, 0x44, 0x56, 0xfe, 0xa0, 0x84, 0x9c, 0xfa, 0x85, 0x5f, + 0xa9, 0xaa, 0xe4, 0x69, 0x9e, 0x56, 0xb7, 0xea, 0xf0, 0xe4, 0x40, 0xae, 0x3d, 0x1c, 0xf5, 0xce, 0xa4, 0xc9, 0x61, + 0xaf, 0xe2, 0x76, 0x7c, 0x91, 0x3f, 0xa4, 0x97, 0x0a, 0xdc, 0x85, 0x53, 0x28, 0x01, 0x18, 0x15, 0x9b, 0x54, 0xc8, + 0x0f, 0x24, 0x46, 0xcc, 0x09, 0x14, 0xed, 0x1e, 0x81, 0x1f, 0x43, 0xbd, 0x97, 0x2d, 0x21, 0xd9, 0x5f, 0x8a, 0xde, + 0x46, 0xfc, 0xdf, 0x1c, 0x24, 0x28, 0xcf, 0x66, 0x41, 0x1c, 0x46, 0x2a, 0x4c, 0xb3, 0x9c, 0x1d, 0x49, 0x91, 0xb2, + 0xb2, 0xe1, 0x84, 0x6b, 0xc9, 0x2a, 0x00, 0xec, 0xa0, 0xdc, 0x54, 0x9a, 0xf7, 0x48, 0xcf, 0x7f, 0x28, 0x7c, 0x32, + 0x25, 0xa4, 0x95, 0x0d, 0xb0, 0x39, 0xeb, 0xd4, 0xc5, 0x5b, 0xcf, 0xf8, 0x5b, 0x68, 0x2c, 0x5d, 0x63, 0xec, 0x1a, + 0xef, 0x83, 0xcb, 0xb4, 0x76, 0xf1, 0xb2, 0x8c, 0x71, 0x06, 0xeb, 0x6b, 0x10, 0x67, 0xa9, 0x78, 0xaf, 0xf0, 0x2c, + 0x6e, 0x19, 0x72, 0xee, 0x46, 0x73, 0x26, 0x12, 0xb5, 0x89, 0xb7, 0x42, 0x42, 0xa0, 0x4b, 0x60, 0x81, 0x20, 0x64, + 0x0f, 0xb8, 0x01, 0x9d, 0x67, 0x4d, 0x92, 0xc8, 0xff, 0x81, 0xdd, 0xc1, 0x75, 0x32, 0x4e, 0xc2, 0x15, 0x48, 0xa6, + 0xdc, 0x39, 0xd7, 0x34, 0x18, 0xc0, 0xd4, 0xec, 0xf3, 0xb9, 0x4f, 0x9f, 0x98, 0x94, 0x3b, 0x2c, 0x09, 0xe7, 0x73, + 0x9f, 0x69, 0x52, 0x8e, 0xb1, 0xec, 0x33, 0xa7, 0x0f, 0x6c, 0x11, 0x9f, 0x5a, 0x4f, 0x9b, 0x0e, 0x56, 0xce, 0x01, + 0x0a, 0x9d, 0x3e, 0x20, 0x2e, 0x32, 0xa1, 0x42, 0x26, 0x5c, 0x13, 0xe7, 0x22, 0x3f, 0xb8, 0xe6, 0x34, 0x5c, 0x8f, + 0x7d, 0x66, 0xe2, 0x69, 0x80, 0x4f, 0x6e, 0xc6, 0xeb, 0xf1, 0xd8, 0xa7, 0xa4, 0x60, 0x10, 0x65, 0x2d, 0x8c, 0x51, + 0xfa, 0x99, 0xea, 0x7d, 0xe4, 0xd4, 0x92, 0xf2, 0xf0, 0xc1, 0x32, 0x12, 0x6e, 0x0b, 0xf4, 0x81, 0x04, 0x24, 0x9d, + 0xd5, 0x33, 0x3d, 0x50, 0xe1, 0x96, 0xc2, 0x62, 0xb5, 0x5f, 0xc3, 0xd2, 0x0d, 0x2e, 0xd4, 0xf7, 0x08, 0x61, 0xc5, + 0x0d, 0xa6, 0xca, 0x0b, 0xda, 0xbb, 0xaa, 0xa1, 0x92, 0x81, 0x17, 0xcf, 0x21, 0xa7, 0x1a, 0xea, 0x4b, 0xcf, 0x9d, + 0x07, 0x61, 0x9c, 0x78, 0x13, 0xf5, 0xb2, 0xff, 0xd2, 0xd3, 0x2e, 0x96, 0x89, 0xa6, 0x5f, 0x1a, 0x7f, 0x95, 0xb3, + 0x7d, 0x09, 0x4c, 0x89, 0xc9, 0xbe, 0x1a, 0xea, 0xc8, 0xa7, 0x67, 0x5b, 0x3d, 0x81, 0x91, 0xb1, 0xce, 0x5f, 0x07, + 0x50, 0xab, 0x94, 0x37, 0x0c, 0x13, 0x42, 0x42, 0xde, 0xb0, 0xbf, 0xea, 0x7d, 0x12, 0xb5, 0x7c, 0xbb, 0xde, 0x20, + 0xd3, 0x90, 0xe4, 0xc4, 0x17, 0x43, 0xdd, 0x0b, 0xff, 0x50, 0x7a, 0x7e, 0x20, 0xfb, 0x36, 0x14, 0xc8, 0xf8, 0xe8, + 0xdb, 0x22, 0x07, 0xf2, 0x68, 0x93, 0xa4, 0x60, 0x58, 0x18, 0x84, 0x89, 0x02, 0xf1, 0xdb, 0xe0, 0x83, 0xa3, 0xb2, + 0x2d, 0x34, 0xef, 0x55, 0xd3, 0x53, 0x8e, 0x05, 0x9e, 0x23, 0x2d, 0x45, 0xf9, 0x24, 0x84, 0x9b, 0x80, 0x50, 0xa4, + 0x85, 0x68, 0x4d, 0xdc, 0x03, 0x0f, 0x96, 0xaf, 0xc0, 0xbf, 0x49, 0x78, 0xbf, 0x48, 0xcf, 0x1f, 0x6d, 0xe2, 0x53, + 0x41, 0xd4, 0xdf, 0xc4, 0xb8, 0x96, 0xc0, 0xae, 0x70, 0x2a, 0x9f, 0xaa, 0xca, 0xa9, 0xa0, 0x44, 0x58, 0xb7, 0x80, + 0x5e, 0x35, 0xc1, 0xee, 0x46, 0x22, 0x32, 0x3e, 0x4f, 0x3f, 0x2e, 0x18, 0xb0, 0xd2, 0xd1, 0x83, 0x90, 0x4c, 0x19, + 0x6f, 0x95, 0x80, 0x5d, 0x35, 0x12, 0x0c, 0xc0, 0x5c, 0x9c, 0x47, 0x18, 0xa5, 0x57, 0xc0, 0x48, 0x42, 0x9c, 0x32, + 0x31, 0x47, 0x23, 0x94, 0x53, 0xc5, 0x79, 0xc1, 0x6a, 0x9d, 0x60, 0xfc, 0x79, 0x18, 0x00, 0x4b, 0x55, 0x05, 0x2f, + 0x89, 0x80, 0xeb, 0xf3, 0xcb, 0x4f, 0xaa, 0x2a, 0xde, 0xb4, 0x5a, 0xc6, 0xe5, 0x31, 0x80, 0xe3, 0x70, 0x1a, 0xa8, + 0xbd, 0x81, 0xc7, 0x88, 0x4f, 0x63, 0x62, 0xe4, 0xc9, 0x5b, 0xb4, 0x09, 0x5a, 0x39, 0xd4, 0x20, 0x90, 0x09, 0xf5, + 0xd3, 0xd7, 0xfc, 0xda, 0xc9, 0x42, 0x4c, 0xea, 0xc2, 0x34, 0x47, 0x20, 0x89, 0x3c, 0x05, 0xd8, 0x0d, 0x1e, 0x6d, + 0xdc, 0xcc, 0x80, 0x4e, 0x3d, 0x57, 0xc9, 0x7a, 0x6e, 0x84, 0x60, 0x18, 0xa5, 0x57, 0xb9, 0x3b, 0x6b, 0x3e, 0x5f, + 0xd8, 0x92, 0x54, 0xae, 0xa0, 0x3d, 0xdb, 0x80, 0x5b, 0xad, 0xad, 0x22, 0x6f, 0xe9, 0x46, 0x77, 0x64, 0xe4, 0x66, + 0xc8, 0x96, 0x70, 0xba, 0xaa, 0x10, 0x3d, 0x20, 0x00, 0x10, 0x69, 0x50, 0x95, 0x6f, 0xb2, 0x32, 0xc6, 0x67, 0x9b, + 0x59, 0xfa, 0xc0, 0xb7, 0xae, 0xd4, 0xa7, 0xcc, 0x22, 0x29, 0x23, 0x35, 0xe9, 0x6b, 0x71, 0xc3, 0xf4, 0xe2, 0xe2, + 0xf4, 0x82, 0xe2, 0x46, 0xc3, 0xc9, 0x10, 0xa5, 0xa0, 0x71, 0xe3, 0xcc, 0x30, 0xd5, 0x65, 0xfd, 0x8a, 0xd2, 0xbb, + 0x3f, 0x74, 0x39, 0x18, 0x2c, 0x47, 0x00, 0xcb, 0x51, 0x23, 0x80, 0x75, 0xc5, 0x8a, 0x00, 0x2f, 0x02, 0x5c, 0x48, + 0x84, 0x1c, 0x08, 0x65, 0xc1, 0x54, 0xb2, 0x2d, 0x14, 0xc1, 0xd1, 0xa0, 0xb1, 0xd3, 0xd1, 0x88, 0x06, 0x83, 0x10, + 0x5b, 0x45, 0xe9, 0xc9, 0x01, 0xd5, 0x26, 0xa2, 0x48, 0x95, 0x00, 0x0c, 0x11, 0xcc, 0x30, 0x87, 0x02, 0xa4, 0x01, + 0x1f, 0x38, 0xf9, 0x45, 0xc7, 0x5a, 0xa2, 0xf2, 0xd9, 0x39, 0x2d, 0x32, 0x3c, 0xd8, 0x4a, 0x1d, 0x9e, 0x60, 0x62, + 0x4f, 0x20, 0xeb, 0x10, 0xfa, 0xea, 0xe4, 0x80, 0x1e, 0x95, 0xd2, 0x89, 0xc8, 0x3b, 0x11, 0x52, 0xc7, 0x1e, 0xef, + 0xe0, 0x5e, 0x47, 0x25, 0x4e, 0xd8, 0x0a, 0x4a, 0xdd, 0x54, 0x55, 0x96, 0x9c, 0xc1, 0xe2, 0x31, 0xf6, 0x20, 0x00, + 0x8f, 0x0d, 0x8e, 0x0f, 0xaa, 0xb2, 0x74, 0x6f, 0x71, 0xe6, 0xe2, 0x8d, 0x7b, 0xab, 0x39, 0xfc, 0x55, 0x7e, 0xd6, + 0xe2, 0xe2, 0x59, 0x9b, 0xf0, 0xc5, 0x05, 0xef, 0x3a, 0xc1, 0x58, 0x6b, 0x0b, 0xb4, 0x5a, 0xaa, 0x59, 0xdc, 0x85, + 0x58, 0xdc, 0x69, 0xc3, 0xe2, 0x4e, 0xb7, 0x2c, 0xae, 0xcf, 0x17, 0x52, 0xc9, 0x40, 0x17, 0xa1, 0xc7, 0x74, 0x06, + 0x3c, 0xce, 0x8f, 0xf4, 0xf8, 0x39, 0x43, 0x38, 0x99, 0xb1, 0x0f, 0x16, 0xc3, 0x0d, 0xb0, 0xaa, 0x83, 0x8b, 0x04, + 0x88, 0xea, 0xc4, 0xb3, 0x53, 0x37, 0x91, 0x24, 0x03, 0x9a, 0x5f, 0x9e, 0x2f, 0xec, 0x52, 0x6c, 0x68, 0x68, 0x8b, + 0x86, 0x99, 0x2e, 0xb6, 0xcc, 0x74, 0x52, 0x38, 0xba, 0x7c, 0xda, 0x74, 0x08, 0xe5, 0x49, 0xc1, 0x1e, 0x04, 0x2f, + 0x0a, 0xdc, 0x32, 0xc5, 0x7d, 0xd8, 0x8c, 0x63, 0xa5, 0x1d, 0xb5, 0x72, 0xe3, 0xf8, 0x26, 0x8c, 0xc0, 0x0c, 0x01, + 0xba, 0xb9, 0xdf, 0x96, 0x5a, 0x7a, 0x01, 0x8f, 0x70, 0xd6, 0xb8, 0x99, 0xf2, 0xf7, 0xf2, 0x96, 0x6a, 0x75, 0x3a, + 0x54, 0x63, 0xe5, 0x26, 0x09, 0x8b, 0x10, 0xe8, 0x2e, 0xa4, 0xc2, 0xf8, 0x7f, 0xb2, 0xcd, 0x6a, 0x70, 0x88, 0x2f, + 0x61, 0x75, 0xc4, 0xd0, 0x2b, 0x60, 0xc1, 0x48, 0xef, 0x18, 0xe8, 0x1b, 0x29, 0x5a, 0x6a, 0x94, 0x01, 0xfe, 0x27, + 0x3c, 0xae, 0x5a, 0x24, 0xf9, 0xf3, 0x3a, 0x47, 0xba, 0xb5, 0x72, 0xa7, 0xef, 0xc1, 0xda, 0x45, 0x6b, 0x19, 0xe0, + 0xb9, 0x22, 0xc7, 0x46, 0x8d, 0x88, 0x27, 0x9c, 0xe4, 0x48, 0x12, 0xb1, 0x24, 0xb7, 0x0b, 0x86, 0x90, 0x02, 0xae, + 0x39, 0xbb, 0xdc, 0xb4, 0xd2, 0x83, 0xb9, 0xa7, 0x57, 0xb0, 0x26, 0xa0, 0x36, 0x7f, 0x30, 0xcc, 0x84, 0x6e, 0xbe, + 0xe1, 0x1c, 0xe9, 0xa0, 0x0e, 0xbd, 0x80, 0xa4, 0xe7, 0xb6, 0xb8, 0x4c, 0x8f, 0x22, 0xa0, 0x5a, 0xa0, 0x3c, 0x7c, + 0x3c, 0xc7, 0x5f, 0xce, 0x65, 0xfa, 0x78, 0x8c, 0xbf, 0x5a, 0x97, 0x99, 0xaa, 0xaa, 0x24, 0x45, 0x90, 0xe6, 0xac, + 0x0e, 0x0b, 0xfb, 0x89, 0x8c, 0xb2, 0xef, 0xb1, 0x6d, 0xf8, 0x02, 0x3f, 0x7c, 0xb4, 0x89, 0x21, 0x0c, 0x81, 0x3c, + 0x87, 0xc0, 0x8a, 0xf4, 0xb4, 0xb6, 0x7c, 0xde, 0x50, 0x3e, 0xd6, 0xff, 0x60, 0xc2, 0x8f, 0xbb, 0x24, 0xcc, 0x69, + 0x4a, 0x51, 0x06, 0x72, 0x35, 0xf6, 0x02, 0x37, 0xba, 0xbb, 0xa2, 0x5b, 0x88, 0x26, 0x09, 0x79, 0x1f, 0xe4, 0xc2, + 0x81, 0xbb, 0xa2, 0x0d, 0x48, 0x22, 0x29, 0xa8, 0xee, 0x38, 0xa1, 0x1f, 0xfc, 0x10, 0x49, 0xfc, 0x5d, 0xe1, 0x1a, + 0xcb, 0x17, 0xa4, 0xf0, 0xa1, 0xab, 0x47, 0x1b, 0x8d, 0x55, 0xbb, 0x29, 0xcd, 0xb6, 0xc4, 0x40, 0xc2, 0xf2, 0xe0, + 0x95, 0x78, 0x39, 0xf5, 0x7a, 0x68, 0xe4, 0x31, 0x0e, 0x6f, 0xcd, 0x47, 0x9b, 0xe4, 0x54, 0x5d, 0xba, 0xd1, 0x47, + 0x36, 0x35, 0x27, 0x5e, 0x34, 0xf1, 0x81, 0x79, 0x1c, 0xfb, 0x6e, 0xf0, 0x91, 0x3f, 0x9a, 0xe1, 0x3a, 0x41, 0xb3, + 0xad, 0x9d, 0x37, 0x68, 0x01, 0x13, 0x12, 0x24, 0x22, 0x57, 0x5b, 0x03, 0x05, 0xe5, 0xc5, 0x48, 0x5c, 0xeb, 0x73, + 0x46, 0x31, 0xaf, 0x65, 0x80, 0xd7, 0x01, 0x58, 0x92, 0x41, 0x18, 0x07, 0x43, 0xc5, 0xf5, 0x52, 0x0d, 0x79, 0xaa, + 0xa4, 0x47, 0xcb, 0xf2, 0x10, 0x5f, 0x61, 0x0f, 0xff, 0xfd, 0xe7, 0xa0, 0xe4, 0x3e, 0x9f, 0xcb, 0x7a, 0xf9, 0xbc, + 0x19, 0x42, 0xa9, 0x49, 0xee, 0x83, 0xf7, 0xf8, 0x38, 0x67, 0x30, 0x9b, 0x3f, 0x2d, 0x37, 0x76, 0xe3, 0x78, 0xbd, + 0x64, 0x53, 0x52, 0x86, 0x9d, 0xe6, 0x83, 0x2a, 0xde, 0x43, 0xe4, 0x81, 0xfd, 0x73, 0xdd, 0x3a, 0x3e, 0x7c, 0x01, + 0x66, 0x7c, 0xc0, 0x50, 0x86, 0xb3, 0x99, 0x9a, 0x8b, 0x02, 0x76, 0x34, 0x73, 0x0e, 0xff, 0xb9, 0x7e, 0xfd, 0xca, + 0x7e, 0x9d, 0x35, 0x0e, 0x80, 0x31, 0x16, 0x36, 0x49, 0x9c, 0x2f, 0x96, 0xc6, 0x2b, 0x66, 0x34, 0x73, 0x83, 0xe6, + 0xe9, 0x5c, 0x14, 0xb6, 0xf8, 0x8a, 0xb1, 0x29, 0x30, 0xdc, 0x46, 0xa5, 0xf4, 0xca, 0x67, 0xd7, 0x2c, 0xb3, 0x77, + 0xaa, 0x7e, 0xac, 0xa6, 0x05, 0x06, 0x64, 0xe5, 0xba, 0x47, 0xce, 0xd5, 0x49, 0x53, 0x1a, 0xe1, 0x1c, 0xf8, 0xcc, + 0xe5, 0x23, 0x56, 0x3a, 0x52, 0x23, 0x43, 0x95, 0x06, 0xd0, 0x38, 0xb2, 0xd3, 0x86, 0xf2, 0x1e, 0x20, 0xea, 0x86, + 0xb1, 0x19, 0x8e, 0xde, 0x83, 0x04, 0x16, 0x1c, 0x4e, 0x3e, 0x9c, 0x3c, 0x2d, 0x97, 0x9a, 0x34, 0x41, 0xac, 0x4e, + 0xd4, 0xa6, 0x92, 0x90, 0x46, 0xb8, 0x00, 0xa0, 0x2f, 0x8c, 0x10, 0x57, 0xd5, 0xae, 0x8d, 0x52, 0x9c, 0xf9, 0x18, + 0xd3, 0xbb, 0x07, 0x2c, 0x8e, 0x1b, 0x01, 0x96, 0x2d, 0xba, 0xa1, 0xe6, 0xb5, 0x8b, 0xf0, 0xc8, 0xcb, 0x0d, 0xdb, + 0x00, 0x96, 0x00, 0x27, 0x58, 0xfe, 0x16, 0x92, 0x97, 0xab, 0x25, 0x37, 0xe2, 0x8c, 0xe6, 0x63, 0x95, 0x1b, 0xd8, + 0x35, 0xbd, 0xbf, 0x51, 0xf9, 0xa0, 0x0a, 0x64, 0xba, 0x76, 0x68, 0x5a, 0x01, 0xf5, 0x56, 0xa4, 0x4a, 0xd8, 0x81, + 0x18, 0x53, 0x09, 0xbf, 0xb2, 0xd9, 0x8c, 0x4d, 0x92, 0x58, 0x17, 0x32, 0xa6, 0x2c, 0xa4, 0x3a, 0x28, 0xed, 0x1e, + 0x0c, 0xd4, 0x9f, 0x20, 0xb0, 0x8c, 0x88, 0x3c, 0xc8, 0x07, 0x24, 0xee, 0x4c, 0xf5, 0x60, 0xa2, 0x1e, 0x8b, 0x20, + 0xe2, 0x5f, 0x01, 0x29, 0x74, 0x4d, 0x39, 0x0e, 0x8d, 0xd3, 0x9f, 0x7c, 0x5f, 0x84, 0x99, 0xa9, 0xe7, 0x76, 0x54, + 0xb4, 0xed, 0xf8, 0x6e, 0x9c, 0xd7, 0x1d, 0xc7, 0x4e, 0x55, 0x03, 0x1c, 0x9a, 0x3f, 0x96, 0xb6, 0x31, 0x11, 0xa8, + 0x81, 0x7a, 0xf6, 0xf6, 0xc5, 0x0f, 0xaf, 0x5e, 0xee, 0x8b, 0x11, 0xb0, 0xcb, 0x36, 0x74, 0xb9, 0x0e, 0xb6, 0x74, + 0xfa, 0xcb, 0x4f, 0xf7, 0xeb, 0xb6, 0xe5, 0x3c, 0x73, 0x54, 0x83, 0x6c, 0xd0, 0x25, 0xbc, 0x38, 0x09, 0xaf, 0x59, + 0xf4, 0xd9, 0x60, 0x90, 0x3b, 0xaf, 0x1f, 0xee, 0xdb, 0x9f, 0x5f, 0xfd, 0xb4, 0xf7, 0x50, 0x8f, 0x1c, 0x1b, 0x70, + 0x7b, 0x12, 0xae, 0xee, 0x31, 0xbb, 0xb6, 0x6a, 0xa8, 0x13, 0x3f, 0x8c, 0x59, 0xc3, 0x08, 0x5e, 0x9c, 0xbd, 0x7d, + 0x8f, 0xe0, 0xca, 0x59, 0x10, 0xea, 0xea, 0xf3, 0x26, 0xff, 0xf3, 0xbb, 0x57, 0xef, 0xdf, 0xab, 0x06, 0xa6, 0xe4, + 0x8e, 0xe5, 0xde, 0xf9, 0x26, 0xde, 0x41, 0x71, 0x6a, 0xf7, 0x3a, 0x51, 0x35, 0xba, 0x48, 0x17, 0x67, 0x43, 0x65, + 0x95, 0x6d, 0xce, 0xa9, 0x1d, 0xff, 0x32, 0xdd, 0x7e, 0xf7, 0x9a, 0x57, 0x0d, 0x3e, 0xda, 0x4e, 0x52, 0x0b, 0x25, + 0x4b, 0x2f, 0xb8, 0xaa, 0x29, 0x75, 0x6f, 0x6b, 0x4a, 0xe1, 0xfa, 0x58, 0xc1, 0x8f, 0xeb, 0x70, 0x29, 0xb1, 0x23, + 0xec, 0x76, 0x37, 0xb8, 0xa4, 0x3b, 0xdc, 0x67, 0x0c, 0x9a, 0xa7, 0x54, 0x29, 0x8f, 0xba, 0xa6, 0x98, 0x5f, 0xbc, + 0x32, 0xd8, 0x4e, 0x7c, 0xb0, 0xbc, 0x67, 0xb2, 0x1a, 0xb2, 0xc8, 0xaa, 0x72, 0xbf, 0x99, 0x41, 0xe9, 0x56, 0x40, + 0xcd, 0x48, 0x75, 0xc3, 0x69, 0xca, 0xca, 0x9d, 0x82, 0x39, 0xbb, 0x39, 0x0e, 0x93, 0x24, 0x5c, 0xf6, 0x1c, 0x7b, + 0x75, 0xab, 0x2a, 0x7d, 0x21, 0xec, 0xe0, 0xd6, 0xf6, 0xbd, 0xdf, 0xfe, 0x53, 0x42, 0xf3, 0x54, 0x7e, 0x95, 0xb0, + 0xe5, 0x8a, 0x45, 0x6e, 0xb2, 0x8e, 0x58, 0xaa, 0xfc, 0xf6, 0xbf, 0x2f, 0x4a, 0x17, 0xfb, 0xbe, 0xdc, 0x86, 0x58, + 0x7a, 0xb9, 0xc9, 0x95, 0x1f, 0xde, 0x3c, 0xc8, 0xfd, 0xea, 0x76, 0x54, 0x5e, 0x78, 0xf3, 0x45, 0x56, 0xfb, 0x34, + 0xd9, 0x32, 0x37, 0x31, 0x7a, 0xd2, 0x07, 0x28, 0x67, 0xe1, 0x4d, 0xef, 0xb7, 0xff, 0x64, 0x02, 0x9b, 0x9d, 0xbb, + 0xae, 0x7e, 0xa0, 0xc5, 0x15, 0xad, 0xaf, 0x53, 0x59, 0x62, 0x78, 0x5f, 0x59, 0xe0, 0x4a, 0x21, 0xed, 0xca, 0xaa, + 0x6e, 0x6e, 0xcb, 0x9c, 0xbe, 0xf3, 0xe6, 0x8b, 0xcf, 0x9d, 0x14, 0x00, 0x74, 0xe7, 0xac, 0xa0, 0xd2, 0x17, 0x98, + 0xd6, 0xa8, 0xb7, 0xff, 0x82, 0x7d, 0xe6, 0xbc, 0x76, 0x4d, 0xe9, 0x4b, 0xcc, 0x86, 0x4b, 0x6e, 0x5f, 0x8c, 0x46, + 0x59, 0x4a, 0x5a, 0xb9, 0x3d, 0x78, 0x06, 0x9e, 0x56, 0x4a, 0x38, 0x7b, 0xd1, 0xb3, 0x75, 0x0a, 0xd9, 0xb3, 0x07, + 0x40, 0xd0, 0xc6, 0xbd, 0x06, 0x1c, 0xcd, 0xf8, 0x9a, 0x5c, 0xd5, 0x2a, 0xdf, 0xae, 0x20, 0x6b, 0x28, 0xc5, 0x74, + 0xa6, 0x99, 0xd6, 0xd0, 0xa8, 0x1f, 0xce, 0x4d, 0xe4, 0xae, 0x48, 0x49, 0xa0, 0xa0, 0xc6, 0x04, 0x84, 0x2e, 0xa5, + 0x5b, 0xf4, 0xb5, 0xeb, 0x5f, 0xef, 0x77, 0xa1, 0x6a, 0xa6, 0x60, 0x48, 0x9a, 0xff, 0x3c, 0xe2, 0x8d, 0x74, 0x79, + 0x7f, 0xda, 0x8d, 0x69, 0xe2, 0x5e, 0x35, 0x99, 0xd6, 0xbf, 0xd9, 0x6d, 0x5a, 0x7f, 0xbe, 0x97, 0x69, 0xfd, 0x9b, + 0x2f, 0x6e, 0x5a, 0xff, 0x4a, 0x36, 0xad, 0x87, 0x4d, 0xfc, 0x8a, 0xed, 0x65, 0xc9, 0x2c, 0xac, 0x8d, 0xc2, 0x9b, + 0x78, 0xe0, 0xf0, 0x4b, 0x4f, 0x3c, 0x59, 0x30, 0x90, 0x22, 0x71, 0x70, 0xf9, 0xe1, 0x1c, 0x0c, 0x8e, 0x9b, 0x4d, + 0x8a, 0xbf, 0x94, 0x41, 0xb1, 0x1f, 0xce, 0x55, 0x29, 0x50, 0x7e, 0x20, 0x02, 0xe5, 0x43, 0x70, 0x80, 0x7f, 0xde, + 0x3a, 0xcf, 0x2f, 0x9c, 0x7e, 0xdb, 0x81, 0x40, 0x33, 0x20, 0x18, 0xc0, 0x02, 0xbb, 0xdf, 0x6e, 0x43, 0xc1, 0x8d, + 0x54, 0xd0, 0x82, 0x02, 0x4f, 0x2a, 0xe8, 0x40, 0xc1, 0x44, 0x2a, 0x38, 0x82, 0x82, 0xa9, 0x54, 0x70, 0x0c, 0x05, + 0xd7, 0x6a, 0x7a, 0x11, 0x64, 0x8e, 0x03, 0xc7, 0xfa, 0x65, 0x21, 0x47, 0x4a, 0x26, 0xc5, 0x12, 0x55, 0x8e, 0x0d, + 0x11, 0xb0, 0xd3, 0x3c, 0xd4, 0xb9, 0x89, 0xfa, 0xe8, 0xab, 0x11, 0xb8, 0xd2, 0x83, 0x50, 0xcf, 0x00, 0x91, 0x28, + 0xd5, 0x6c, 0x8b, 0xd7, 0x6a, 0x2f, 0x33, 0xb4, 0xb7, 0x8d, 0x96, 0x30, 0x5c, 0xef, 0xa1, 0x1b, 0x95, 0xa8, 0xdc, + 0x79, 0xba, 0xc8, 0xa2, 0x77, 0xad, 0x07, 0xb9, 0x37, 0x62, 0x1b, 0x62, 0x18, 0x83, 0x6a, 0xfa, 0x25, 0xf2, 0x07, + 0x56, 0x12, 0x82, 0xb3, 0x99, 0x88, 0x5a, 0x25, 0x3e, 0xa0, 0xa0, 0x37, 0x42, 0xdf, 0xcd, 0x03, 0x8c, 0xf1, 0x58, + 0x77, 0x34, 0xfa, 0x65, 0x16, 0x42, 0x8c, 0xae, 0xb9, 0x6b, 0x23, 0x71, 0xe7, 0xbd, 0x85, 0x41, 0x32, 0xee, 0xde, + 0x1c, 0x62, 0xc2, 0x9e, 0x4e, 0x7b, 0x2b, 0xe3, 0x66, 0xc1, 0x82, 0xde, 0x8c, 0x5b, 0x81, 0xc2, 0xfa, 0x93, 0x91, + 0xcf, 0x52, 0x17, 0xd6, 0x69, 0xb8, 0x27, 0xf2, 0xb7, 0x34, 0x4a, 0x33, 0xdb, 0x4a, 0xb9, 0x61, 0x95, 0x26, 0xcb, + 0xbf, 0xbf, 0x84, 0x19, 0xcc, 0x4b, 0x36, 0x5e, 0xcf, 0x95, 0xb3, 0x70, 0xbe, 0xd3, 0xe4, 0x45, 0x7e, 0x05, 0xa3, + 0x54, 0x49, 0xd1, 0x67, 0x8a, 0xed, 0xcd, 0xbf, 0x45, 0x8f, 0x69, 0xb1, 0x7e, 0x02, 0x63, 0x53, 0x12, 0x42, 0xd9, + 0xf0, 0x1d, 0x80, 0xb6, 0x64, 0x54, 0x72, 0x06, 0xf0, 0x93, 0x9e, 0xcf, 0x5d, 0x69, 0x3c, 0xc3, 0x1f, 0x59, 0x1c, + 0xbb, 0x73, 0x51, 0xbf, 0x3a, 0x4e, 0xf0, 0xaf, 0xca, 0x6e, 0xfa, 0x08, 0x40, 0x90, 0x19, 0x7b, 0x15, 0x53, 0x21, + 0xb0, 0x60, 0x06, 0x13, 0x3a, 0x58, 0xb4, 0xdc, 0xae, 0xc6, 0xb3, 0x60, 0x79, 0x8a, 0x26, 0x2e, 0x80, 0x44, 0xae, + 0x99, 0x5f, 0x2e, 0x4c, 0xdc, 0x79, 0xb9, 0x88, 0xd6, 0x3a, 0x95, 0xc7, 0x96, 0x59, 0x98, 0x14, 0x0a, 0x3f, 0xc7, + 0x64, 0xc2, 0x0f, 0xe7, 0xbf, 0xab, 0xbd, 0xc4, 0x16, 0x3b, 0x97, 0xf7, 0x81, 0x11, 0x24, 0x23, 0x0b, 0x61, 0xac, + 0x58, 0x00, 0xc2, 0x5e, 0x90, 0x2c, 0x4c, 0xf4, 0xec, 0xd7, 0x5a, 0x81, 0x6e, 0x58, 0xb8, 0xb6, 0x9b, 0x72, 0x3c, + 0x93, 0x5e, 0x34, 0x1f, 0xbb, 0x9a, 0xd3, 0x3a, 0x36, 0xc4, 0x1f, 0xcb, 0xee, 0xe8, 0x29, 0xf6, 0xa0, 0x4c, 0xbd, + 0xeb, 0xcd, 0x2c, 0x0c, 0x12, 0x73, 0xe6, 0x2e, 0x3d, 0xff, 0xae, 0xb7, 0x0c, 0x83, 0x30, 0x5e, 0xb9, 0x13, 0xd6, + 0xcf, 0x45, 0x37, 0x7d, 0x8c, 0x94, 0xc5, 0x83, 0x35, 0x38, 0x56, 0x2b, 0x62, 0x4b, 0x6a, 0x9d, 0x05, 0xc2, 0x9a, + 0xf9, 0xec, 0x36, 0xe5, 0x9f, 0x2f, 0x54, 0xa6, 0xaa, 0xb8, 0xe5, 0xa8, 0x05, 0xdc, 0x43, 0x78, 0x94, 0x2d, 0x88, + 0x2d, 0xd9, 0xe7, 0xcc, 0x7c, 0xcf, 0x6a, 0x75, 0x22, 0xb6, 0x54, 0xac, 0x4e, 0x63, 0xe7, 0x51, 0x78, 0x33, 0x84, + 0xd1, 0x62, 0x63, 0x33, 0x66, 0xfe, 0x0c, 0xdf, 0x98, 0xe8, 0xd8, 0x2b, 0xfa, 0x31, 0x51, 0xe4, 0x03, 0xbd, 0xb1, + 0x65, 0x1f, 0x5e, 0xf7, 0x5a, 0x8a, 0xdd, 0x5f, 0x7a, 0x81, 0x49, 0xd3, 0x39, 0xb6, 0x57, 0x52, 0x5f, 0x32, 0xfc, + 0xf4, 0x0d, 0x56, 0x77, 0x14, 0xbb, 0x0f, 0x57, 0xfb, 0x99, 0x1f, 0xde, 0xf4, 0x16, 0xde, 0x74, 0xca, 0x82, 0x3e, + 0x8e, 0x39, 0x2b, 0x64, 0xbe, 0xef, 0xad, 0x62, 0x2f, 0xee, 0x2f, 0xdd, 0x5b, 0xde, 0xeb, 0x61, 0x53, 0xaf, 0x6d, + 0xde, 0x6b, 0x7b, 0xef, 0x5e, 0xa5, 0x6e, 0xc0, 0x89, 0x98, 0xfa, 0xe1, 0x43, 0xeb, 0x28, 0x76, 0x69, 0x9e, 0x7b, + 0xf7, 0xba, 0x8a, 0xd8, 0x66, 0xe9, 0x46, 0x73, 0x2f, 0xe8, 0xd9, 0xa9, 0x75, 0xbd, 0xa1, 0x8d, 0xf1, 0xb0, 0xdb, + 0xed, 0xa6, 0xd6, 0x54, 0x3c, 0xd9, 0xd3, 0x69, 0x6a, 0x4d, 0xc4, 0xd3, 0x6c, 0x66, 0xdb, 0xb3, 0x59, 0x6a, 0x79, + 0xa2, 0xa0, 0xdd, 0x9a, 0x4c, 0xdb, 0xad, 0xd4, 0xba, 0x91, 0x6a, 0xa4, 0x16, 0xe3, 0x4f, 0x11, 0x9b, 0xf6, 0x71, + 0x23, 0x71, 0x73, 0xf4, 0x63, 0xdb, 0x4e, 0x11, 0x03, 0x5c, 0x14, 0x70, 0x13, 0x4a, 0x15, 0x2f, 0x37, 0x7b, 0xd7, + 0x54, 0xf2, 0xcf, 0x4d, 0x26, 0xb5, 0xf5, 0xa6, 0x6e, 0xf4, 0xf1, 0x52, 0x91, 0x66, 0xe1, 0xba, 0x54, 0x6d, 0x23, + 0xc0, 0x60, 0xde, 0xf6, 0x20, 0x62, 0x6a, 0x7f, 0x1c, 0x46, 0x70, 0x66, 0x23, 0x77, 0xea, 0xad, 0xe3, 0x9e, 0xd3, + 0x5a, 0xdd, 0x8a, 0x22, 0xbe, 0xd7, 0xf3, 0x02, 0x3c, 0x7b, 0xbd, 0x38, 0xf4, 0xbd, 0xa9, 0x28, 0x6a, 0x3a, 0x4b, + 0x4e, 0x4b, 0xef, 0x63, 0xbc, 0x20, 0x0f, 0xa3, 0x5e, 0xb9, 0xbe, 0xaf, 0x58, 0xed, 0x58, 0x61, 0x6e, 0x8c, 0x9a, + 0x0c, 0xc5, 0x8e, 0x09, 0x2e, 0x18, 0x1b, 0xc8, 0x39, 0x5c, 0xdd, 0x66, 0x7b, 0xde, 0x39, 0x5a, 0xdd, 0xa6, 0xdf, + 0x2c, 0xd9, 0xd4, 0x73, 0x15, 0x2d, 0xdf, 0x4d, 0x8e, 0x0d, 0xda, 0x0e, 0x7d, 0xd3, 0xb0, 0x4d, 0xc5, 0xb1, 0x80, + 0xc8, 0xd2, 0x0f, 0xbc, 0xe5, 0x2a, 0x8c, 0x12, 0x37, 0x48, 0xd2, 0x74, 0x74, 0x99, 0xa6, 0xfd, 0x73, 0x4f, 0xbb, + 0xf8, 0xbb, 0x46, 0xb4, 0x90, 0xb4, 0x83, 0xa9, 0x7e, 0x69, 0xbc, 0x62, 0xb2, 0x25, 0x13, 0x90, 0x31, 0xb4, 0x62, + 0x92, 0x2b, 0x13, 0xbd, 0xad, 0x56, 0x26, 0x20, 0x67, 0xd5, 0xc9, 0x30, 0xaa, 0x58, 0x05, 0x29, 0x10, 0x54, 0x78, + 0xc5, 0x06, 0xe7, 0x92, 0x59, 0x14, 0x30, 0x3d, 0x58, 0x99, 0xdc, 0x3a, 0x5f, 0x36, 0xf1, 0x9e, 0xe7, 0xbb, 0x79, + 0xcf, 0x7f, 0x24, 0xfb, 0xf0, 0x9e, 0xe7, 0x5f, 0x9c, 0xf7, 0x7c, 0x59, 0x75, 0xeb, 0x3c, 0x0f, 0x07, 0x6a, 0xa6, + 0xcb, 0x02, 0xd2, 0x14, 0x51, 0xc0, 0xc4, 0x97, 0xc9, 0x7f, 0xeb, 0x5f, 0x27, 0x7a, 0xa3, 0x14, 0xc0, 0x44, 0xb9, + 0x81, 0x81, 0x7f, 0x1b, 0x0c, 0x7e, 0x88, 0xe4, 0xe7, 0xd9, 0x6c, 0xf0, 0x32, 0x94, 0x0a, 0xb2, 0x27, 0x6e, 0xe6, + 0x53, 0x08, 0x6e, 0x45, 0x6f, 0x32, 0x43, 0x2c, 0x48, 0xff, 0x05, 0xb1, 0x71, 0xc8, 0xea, 0x7e, 0x9a, 0x99, 0x43, + 0xf6, 0x8b, 0x43, 0xd0, 0x32, 0xfb, 0x63, 0xe1, 0x01, 0x5d, 0x11, 0x5a, 0xcf, 0x59, 0xc2, 0x43, 0x96, 0x3c, 0xbf, + 0x7b, 0x33, 0xd5, 0xce, 0x43, 0x3d, 0xf5, 0xe2, 0xb7, 0x65, 0xff, 0x63, 0x71, 0x05, 0x91, 0xa7, 0x93, 0x72, 0x93, + 0x46, 0x29, 0xcc, 0x10, 0xbe, 0xa6, 0xe6, 0xa7, 0x85, 0x99, 0xf6, 0xe4, 0x86, 0x3c, 0xcf, 0x68, 0x85, 0x18, 0x73, + 0x3f, 0xbd, 0x0d, 0xe7, 0xf2, 0x30, 0x75, 0x2a, 0x86, 0x6d, 0x99, 0x52, 0x73, 0x6f, 0x9a, 0xa6, 0x7a, 0x5f, 0x00, + 0x42, 0x22, 0xb4, 0x6c, 0x17, 0x13, 0x17, 0xe7, 0x17, 0x5a, 0xae, 0x8b, 0x26, 0x45, 0xf3, 0x39, 0x98, 0x6e, 0x70, + 0xb5, 0x34, 0x87, 0x99, 0xaa, 0x10, 0xf8, 0xc8, 0xa4, 0x47, 0x9a, 0x10, 0xd8, 0x1a, 0xc8, 0x86, 0x70, 0x85, 0x05, + 0xa9, 0xda, 0x1c, 0x13, 0x70, 0xd0, 0xf6, 0x04, 0x82, 0x2c, 0x09, 0x69, 0x17, 0xa1, 0x1d, 0x5e, 0x07, 0x1f, 0x52, + 0x35, 0xe3, 0xfd, 0x70, 0xfb, 0x0d, 0x4f, 0x0e, 0xa0, 0xc1, 0xb0, 0x24, 0xc9, 0xda, 0x61, 0x32, 0x0b, 0xac, 0x44, + 0x7c, 0x63, 0x58, 0xf1, 0x8d, 0xf2, 0x64, 0x23, 0x02, 0x94, 0x25, 0xee, 0xca, 0x04, 0xf1, 0x09, 0xe2, 0x5e, 0x8e, + 0xf1, 0xa4, 0x58, 0x68, 0xfd, 0x75, 0x0c, 0xb8, 0x11, 0x6f, 0xf2, 0x88, 0x7f, 0xfa, 0x93, 0x75, 0x14, 0x87, 0x51, + 0x6f, 0x15, 0x7a, 0x41, 0xc2, 0xa2, 0x14, 0x41, 0x75, 0x81, 0xf0, 0x11, 0xe0, 0xb9, 0xdc, 0x84, 0x2b, 0x77, 0xe2, + 0x25, 0x77, 0x3d, 0x9b, 0xb3, 0x14, 0x76, 0x9f, 0x73, 0x07, 0x76, 0x6d, 0xfd, 0x1e, 0x87, 0xe6, 0x53, 0x64, 0xfc, + 0xa2, 0x2a, 0x3b, 0x23, 0x6f, 0xf3, 0xbe, 0xf4, 0x96, 0x42, 0xb4, 0x01, 0xfb, 0xe1, 0x46, 0xe6, 0x1c, 0xb0, 0x3c, + 0x2c, 0xb5, 0x3d, 0x65, 0x73, 0x03, 0xb1, 0x36, 0x68, 0x80, 0xc4, 0x1f, 0xab, 0xa3, 0x2b, 0x76, 0x7d, 0x31, 0x70, + 0x3c, 0xfa, 0x3e, 0x23, 0xeb, 0xb9, 0x90, 0xd0, 0xd4, 0xd8, 0xa7, 0xe6, 0x98, 0xcd, 0xc2, 0x88, 0x51, 0x38, 0x7f, + 0xa7, 0xbb, 0xba, 0xdd, 0xbf, 0xfb, 0xed, 0xd3, 0xaf, 0xef, 0x27, 0x08, 0x13, 0x4d, 0x74, 0xa6, 0xef, 0xe8, 0xad, + 0x4a, 0xcf, 0x80, 0x35, 0x24, 0xc8, 0x4f, 0xc8, 0x1f, 0x05, 0x5c, 0xb1, 0x6b, 0xa3, 0xa6, 0xae, 0x42, 0x4e, 0xf3, + 0x22, 0xe6, 0xbb, 0x89, 0x77, 0x2d, 0x78, 0xc6, 0xf6, 0xd1, 0xea, 0x56, 0xac, 0x31, 0x12, 0xbc, 0x7b, 0x2c, 0x52, + 0x69, 0x28, 0x62, 0x91, 0xca, 0xc5, 0xb8, 0x48, 0xfd, 0xca, 0x6c, 0x44, 0x20, 0xb1, 0x12, 0xa5, 0xef, 0xac, 0x6e, + 0x65, 0x12, 0x9d, 0x37, 0xcb, 0x28, 0x75, 0x39, 0x02, 0xec, 0xd2, 0x9b, 0x4e, 0x7d, 0x96, 0x16, 0x16, 0xba, 0xb8, + 0x96, 0x12, 0x70, 0x32, 0x38, 0xb8, 0xe3, 0x38, 0xf4, 0xd7, 0x09, 0xab, 0x07, 0x17, 0x01, 0xa7, 0x65, 0xe7, 0xc0, + 0xc1, 0xdf, 0xc5, 0xb1, 0x76, 0x80, 0xdd, 0x86, 0x6d, 0x62, 0xf7, 0x21, 0xe1, 0x83, 0xd9, 0x2e, 0x0e, 0x1d, 0x5e, + 0x65, 0x83, 0x36, 0x6a, 0x26, 0x62, 0x00, 0x59, 0x22, 0xec, 0xad, 0x58, 0x0e, 0x2f, 0xcb, 0x82, 0xde, 0x67, 0x45, + 0x69, 0x71, 0x32, 0xbf, 0xcf, 0x19, 0x7b, 0x56, 0x7f, 0xc6, 0x9e, 0x89, 0x33, 0xb6, 0x7d, 0x67, 0x3e, 0x9c, 0x39, + 0xf0, 0x5f, 0x3f, 0x9f, 0x50, 0xcf, 0x56, 0xda, 0xab, 0x5b, 0xc5, 0x59, 0xdd, 0x2a, 0x66, 0x6b, 0x75, 0xab, 0x60, + 0xd7, 0x68, 0x79, 0x64, 0x58, 0x2d, 0xdd, 0xb0, 0x15, 0x28, 0x84, 0x3f, 0x76, 0xe1, 0x95, 0x73, 0x08, 0xef, 0xa0, + 0x55, 0xa7, 0xfa, 0xae, 0xb5, 0xfd, 0xa8, 0xd3, 0x59, 0x12, 0x48, 0x5b, 0xb7, 0x12, 0x77, 0x3c, 0x66, 0xd3, 0xde, + 0x2c, 0x9c, 0xac, 0xe3, 0x7f, 0xf3, 0xf1, 0x73, 0x20, 0x6e, 0x45, 0x04, 0xa5, 0x7e, 0x44, 0x53, 0x90, 0xee, 0x5d, + 0x33, 0xd1, 0xc3, 0x26, 0x5b, 0xa7, 0x1e, 0x65, 0xa7, 0x68, 0x59, 0x87, 0x35, 0x9b, 0xbc, 0x1e, 0xd0, 0xbf, 0xdb, + 0x2a, 0x35, 0xa3, 0x98, 0xcf, 0x00, 0xcb, 0x56, 0x70, 0xdc, 0x1f, 0x1a, 0x7c, 0x35, 0xed, 0x6e, 0xfd, 0x70, 0x2f, + 0xc4, 0x97, 0x2e, 0x05, 0x51, 0xe1, 0x74, 0x8b, 0x7b, 0x49, 0x6d, 0xef, 0xb5, 0x69, 0x8f, 0x54, 0x7a, 0xdd, 0x42, + 0x10, 0xf2, 0xba, 0x7b, 0x62, 0xf9, 0x87, 0xcf, 0x0e, 0xe1, 0x3f, 0xe2, 0xea, 0xff, 0x91, 0xd4, 0x31, 0xea, 0x2f, + 0x93, 0x02, 0xa3, 0x4e, 0xac, 0x12, 0x32, 0xe2, 0xfb, 0xd7, 0x9f, 0xcd, 0xee, 0xd7, 0x60, 0xef, 0xda, 0x64, 0xb4, + 0x57, 0xae, 0xfd, 0x3c, 0x0c, 0x21, 0x73, 0x7a, 0xb5, 0xba, 0x00, 0x0f, 0x79, 0x60, 0x24, 0x03, 0x68, 0x24, 0xee, + 0x11, 0x64, 0x2f, 0xa2, 0x62, 0x1b, 0xba, 0x4a, 0x9c, 0x35, 0x5d, 0x25, 0xde, 0xed, 0xbe, 0x4a, 0x7c, 0xbf, 0xd7, + 0x55, 0xe2, 0xdd, 0x17, 0xbf, 0x4a, 0x9c, 0x55, 0xaf, 0x12, 0x67, 0xa1, 0xb0, 0xd4, 0x36, 0x5e, 0xaf, 0xf9, 0xcf, + 0x0f, 0xa4, 0x8a, 0x7d, 0x17, 0x0e, 0x3a, 0x36, 0x65, 0x9c, 0x38, 0xff, 0xaf, 0x2f, 0x16, 0xb8, 0x11, 0xdf, 0xa1, + 0xe1, 0x62, 0x7e, 0xb5, 0xe0, 0x98, 0x1d, 0xbf, 0x23, 0x15, 0xfb, 0x61, 0x30, 0xff, 0x19, 0x54, 0xf1, 0x20, 0x0e, + 0x8c, 0xa4, 0x17, 0x5e, 0xfc, 0x73, 0xb8, 0x5a, 0xaf, 0xde, 0x40, 0x5f, 0x1f, 0xbc, 0xd8, 0x1b, 0xfb, 0x2c, 0x0b, + 0xf1, 0x41, 0x86, 0x96, 0x5c, 0xb6, 0x0e, 0xb6, 0xcd, 0xe2, 0xa7, 0x7b, 0x2b, 0x7e, 0xa2, 0xf5, 0x33, 0xff, 0x4d, + 0x16, 0x9c, 0x6a, 0xfd, 0x45, 0x04, 0x42, 0x26, 0x96, 0x06, 0x7d, 0xff, 0xcb, 0xc8, 0x59, 0xa8, 0xd7, 0xcc, 0x52, + 0x58, 0xd6, 0x34, 0xf6, 0xc3, 0xca, 0xfd, 0xbc, 0x5e, 0xeb, 0x46, 0x16, 0x01, 0xb5, 0x2a, 0xce, 0x5f, 0x86, 0xeb, + 0x98, 0x4d, 0xc3, 0x9b, 0x40, 0x35, 0x02, 0x6e, 0x0e, 0x4a, 0x49, 0x24, 0xb3, 0x36, 0x98, 0xbb, 0xfb, 0x3d, 0x32, + 0xca, 0x10, 0x28, 0x01, 0x52, 0xc7, 0xaf, 0x57, 0x26, 0x19, 0x18, 0x98, 0x38, 0x45, 0x35, 0x4b, 0x32, 0xf9, 0x40, + 0xd3, 0xc2, 0xc1, 0xfd, 0x5a, 0x0a, 0xa3, 0xa0, 0xd0, 0xe2, 0x52, 0xe1, 0x58, 0x0b, 0x84, 0x70, 0x51, 0x84, 0x21, + 0xab, 0x59, 0x38, 0xfe, 0x86, 0xe2, 0x77, 0xe4, 0x6f, 0x21, 0x20, 0x44, 0xba, 0xe6, 0xeb, 0xc1, 0x83, 0x72, 0xd1, + 0xe3, 0x0b, 0x09, 0x8c, 0x6f, 0xaf, 0x59, 0xe4, 0xbb, 0x77, 0x9a, 0x9e, 0x86, 0xc1, 0x8f, 0x00, 0x80, 0x97, 0xe1, + 0x4d, 0x20, 0x57, 0xc0, 0x5c, 0x79, 0x35, 0x7b, 0xa9, 0x36, 0x7c, 0x1c, 0xb8, 0x53, 0x49, 0x23, 0xf0, 0xac, 0x95, + 0x3b, 0x67, 0xff, 0x63, 0xd0, 0xbf, 0x7f, 0xd7, 0x53, 0xe3, 0x5d, 0x98, 0x7d, 0xe8, 0x97, 0xd5, 0x1e, 0x9f, 0x79, + 0xfc, 0xf8, 0x41, 0xf3, 0xb4, 0xb5, 0x89, 0xcf, 0xdc, 0x48, 0x8c, 0xa2, 0xa6, 0xb5, 0xde, 0x78, 0x0a, 0x60, 0x14, + 0xe7, 0xe1, 0x7a, 0xb2, 0x40, 0x93, 0xea, 0x2f, 0x37, 0xdf, 0x04, 0xfa, 0xc4, 0x24, 0xf1, 0xd9, 0xd4, 0x4b, 0x45, + 0x39, 0x14, 0xf0, 0xfb, 0xaf, 0x20, 0xfe, 0xf9, 0x9f, 0x08, 0x86, 0xea, 0xae, 0xc9, 0xbc, 0xb1, 0xef, 0xb5, 0x79, + 0xfb, 0x90, 0xcb, 0x9c, 0x47, 0x16, 0x13, 0x4a, 0xba, 0x7a, 0x24, 0x93, 0x96, 0x81, 0x26, 0x47, 0xf1, 0x6d, 0x0a, + 0x50, 0x2c, 0xbe, 0xc2, 0x2c, 0xba, 0xa6, 0x73, 0x97, 0x16, 0x83, 0x71, 0x6c, 0x55, 0x42, 0x32, 0xdc, 0xd0, 0x85, + 0x21, 0xfa, 0x2a, 0xbf, 0x5b, 0x7a, 0x81, 0x81, 0x49, 0x78, 0xaa, 0x6f, 0xdc, 0x5b, 0x48, 0x43, 0x01, 0xc8, 0xad, + 0xfc, 0x0a, 0x0a, 0x0d, 0xd9, 0x91, 0x13, 0x32, 0x6d, 0xaa, 0xb5, 0x90, 0x10, 0xda, 0xc0, 0xd1, 0x57, 0x8a, 0xa2, + 0x28, 0xd9, 0x35, 0x42, 0xc9, 0xee, 0x11, 0x58, 0x8e, 0xd7, 0x01, 0xd0, 0x96, 0xa4, 0xab, 0x5b, 0x2a, 0x81, 0x9b, + 0x01, 0xaa, 0xb6, 0x45, 0x01, 0x8f, 0xb4, 0xdc, 0xb1, 0x45, 0x81, 0xb8, 0xd0, 0x43, 0x94, 0x5c, 0x37, 0x82, 0x84, + 0x0c, 0x3d, 0x05, 0x2f, 0xec, 0xf8, 0x96, 0x4b, 0x82, 0x15, 0x9b, 0x1e, 0x47, 0x7d, 0x56, 0x1f, 0x92, 0x37, 0x90, + 0xb0, 0x20, 0x68, 0x1d, 0x4a, 0x19, 0x36, 0x0c, 0x56, 0x83, 0x1b, 0xf1, 0x5e, 0x74, 0x9b, 0x2c, 0x59, 0xb0, 0x56, + 0x31, 0x25, 0x27, 0x86, 0x48, 0x86, 0x3a, 0x2f, 0x89, 0xd9, 0x02, 0x6c, 0x53, 0xdf, 0x72, 0x41, 0xb4, 0x30, 0xe6, + 0x28, 0xd5, 0x35, 0x26, 0xdc, 0x37, 0x31, 0xe6, 0xb8, 0xad, 0x4c, 0x21, 0xf8, 0x92, 0x86, 0x45, 0x6c, 0xce, 0xbd, + 0x91, 0x91, 0x53, 0xa0, 0xb0, 0x53, 0x5c, 0x5c, 0x24, 0xc0, 0xae, 0xb9, 0xe5, 0x45, 0xcb, 0x34, 0x32, 0x6e, 0x49, + 0x50, 0x14, 0xe9, 0xd5, 0x6e, 0xf8, 0x38, 0x21, 0x2e, 0x64, 0x63, 0x3f, 0x93, 0x4a, 0x3f, 0x0d, 0x93, 0xfe, 0xc8, + 0xee, 0x88, 0x90, 0x10, 0xa8, 0x3e, 0xb2, 0x3b, 0xd0, 0xdb, 0xbf, 0x02, 0x69, 0x8a, 0xba, 0x05, 0x5d, 0x1b, 0x90, + 0x69, 0x69, 0x02, 0xb1, 0x42, 0xb7, 0x1c, 0x20, 0x3b, 0xdd, 0x82, 0xc5, 0x11, 0xc4, 0x81, 0x11, 0xf7, 0xc5, 0x21, + 0xe6, 0xce, 0x24, 0x5a, 0x2d, 0x8c, 0xcd, 0x9a, 0xa3, 0xa1, 0x3f, 0x71, 0x6c, 0xfb, 0xa0, 0x52, 0x1f, 0x04, 0xd9, + 0x75, 0xb5, 0x75, 0x23, 0x19, 0x38, 0xb6, 0xe9, 0x3d, 0xb1, 0x5a, 0xfd, 0x0a, 0x8d, 0x96, 0x42, 0x79, 0x8f, 0x50, + 0xfc, 0x35, 0x7c, 0xb4, 0xd1, 0x2a, 0x07, 0x52, 0x2f, 0x3b, 0x67, 0xe0, 0xd8, 0x52, 0x2e, 0xff, 0x1a, 0x55, 0x49, + 0x3f, 0x05, 0x12, 0xa7, 0xb4, 0x72, 0x23, 0x48, 0x46, 0xa1, 0xc1, 0x31, 0xfa, 0x8b, 0xf2, 0x54, 0xd1, 0xe8, 0xf8, + 0xe8, 0xfa, 0xa8, 0x2f, 0x30, 0x8a, 0xf0, 0x5e, 0x94, 0x3b, 0x28, 0x7d, 0x31, 0x2e, 0x63, 0x38, 0x1e, 0xf6, 0x9e, + 0xe5, 0x1a, 0xbd, 0xad, 0xdc, 0x02, 0xf6, 0xdf, 0x40, 0x3e, 0xad, 0x31, 0x84, 0xdf, 0x80, 0x1a, 0x90, 0xba, 0x66, + 0x67, 0x87, 0x10, 0x2d, 0x49, 0xee, 0xae, 0x48, 0x24, 0xf7, 0xef, 0x0c, 0x89, 0x0e, 0xea, 0xd0, 0xb2, 0xfe, 0xea, + 0xc9, 0xdd, 0x3d, 0xbb, 0x64, 0xc1, 0xb4, 0xd8, 0x61, 0x89, 0x7e, 0xed, 0xdf, 0x5d, 0x01, 0xa3, 0x40, 0x4e, 0xa7, + 0xb0, 0x06, 0xa3, 0xa4, 0x61, 0x80, 0x9b, 0x9f, 0x8e, 0x9b, 0xb7, 0x17, 0x17, 0x83, 0x0d, 0x28, 0x20, 0x6b, 0xd6, + 0x4c, 0x12, 0x8a, 0x43, 0xe2, 0x10, 0x74, 0x6e, 0xd6, 0x04, 0x23, 0xda, 0xb8, 0x13, 0x13, 0x61, 0x49, 0x9a, 0xb7, + 0xf1, 0x78, 0x28, 0xf0, 0x7d, 0xa5, 0xd6, 0xde, 0x6e, 0xa9, 0x75, 0xb2, 0x4b, 0x6a, 0x4d, 0x8e, 0x7b, 0x64, 0xfe, + 0x94, 0x39, 0x30, 0x0a, 0xe6, 0x5c, 0x76, 0x01, 0x2d, 0x88, 0xba, 0xd1, 0xcf, 0x4f, 0xb4, 0xaa, 0xf4, 0x46, 0xb6, + 0xa1, 0x28, 0xfe, 0x96, 0x2e, 0x28, 0x42, 0xa1, 0x2e, 0xcb, 0xc6, 0xcf, 0x72, 0xd9, 0x38, 0xdd, 0x6a, 0x72, 0x97, + 0x2d, 0xc1, 0xfd, 0x4b, 0xee, 0x90, 0xd9, 0xed, 0x20, 0x77, 0x8b, 0xcc, 0x47, 0x2a, 0x39, 0xfa, 0xe5, 0x17, 0x0d, + 0xc9, 0x7d, 0x54, 0xdc, 0x32, 0x8a, 0x5e, 0xa4, 0xc5, 0xaa, 0xb9, 0x9f, 0x5f, 0x5e, 0x0e, 0x52, 0x77, 0x1c, 0x72, + 0x56, 0x2c, 0x6f, 0x9b, 0xa2, 0xa3, 0x97, 0xfc, 0x5a, 0xda, 0x24, 0x99, 0x47, 0x16, 0x01, 0x58, 0x88, 0xe9, 0x4b, + 0x7a, 0xed, 0xcc, 0x06, 0x02, 0x07, 0x59, 0xe3, 0x40, 0xba, 0x5b, 0x3a, 0x4f, 0xe9, 0xaa, 0x72, 0xd5, 0xb5, 0x83, + 0xd4, 0x9d, 0x34, 0xc1, 0xb2, 0x3c, 0x02, 0x61, 0x7d, 0x29, 0x49, 0x10, 0x7a, 0xb6, 0x62, 0xf7, 0x6b, 0x18, 0x00, + 0xa4, 0xff, 0xe5, 0x67, 0xce, 0x0a, 0x80, 0x24, 0x52, 0xb1, 0x65, 0x9d, 0x3f, 0x1e, 0x62, 0x93, 0xcc, 0xcf, 0xb0, + 0x6a, 0xf5, 0x9b, 0x24, 0xef, 0xd9, 0x70, 0x77, 0xad, 0xa2, 0x38, 0x9f, 0xd7, 0xe8, 0x89, 0x71, 0xf0, 0x5d, 0x16, + 0xad, 0x03, 0xcc, 0x42, 0x64, 0x26, 0x91, 0x3b, 0xf9, 0xb8, 0x91, 0xbe, 0xc7, 0x45, 0xa2, 0x20, 0x2e, 0x2e, 0x2a, + 0x15, 0xfa, 0x2e, 0x06, 0xed, 0x66, 0x3d, 0xab, 0x15, 0x4b, 0x82, 0x9a, 0xde, 0x43, 0xbb, 0xed, 0x3e, 0x9b, 0x1d, + 0x96, 0xe4, 0xa7, 0xad, 0x4e, 0x51, 0xba, 0x9e, 0x8d, 0x63, 0x19, 0xfe, 0xca, 0x1d, 0x5b, 0xff, 0xf8, 0x4f, 0xc7, + 0xfc, 0x9b, 0xa5, 0x35, 0xfa, 0x9c, 0x21, 0x40, 0xfb, 0x82, 0x62, 0x5a, 0x56, 0xd3, 0x54, 0x4a, 0x9a, 0x86, 0x35, + 0xf3, 0x7c, 0xdf, 0xf4, 0xc1, 0xbd, 0x68, 0xf3, 0x59, 0xd3, 0xc3, 0x7e, 0xd6, 0x90, 0x2e, 0xe2, 0x33, 0xfa, 0x29, + 0xee, 0x94, 0x64, 0xb1, 0x5e, 0x8e, 0x37, 0xb2, 0xa0, 0x5c, 0x92, 0x9f, 0x57, 0x65, 0xe6, 0xf2, 0x67, 0x67, 0xb3, + 0x59, 0x51, 0x6a, 0x6c, 0x2b, 0x87, 0x28, 0xf9, 0x7d, 0x68, 0xdb, 0x76, 0x19, 0xbe, 0x4d, 0x07, 0x85, 0x0e, 0x86, + 0x89, 0x42, 0xf8, 0xee, 0xee, 0x3d, 0xf5, 0x07, 0x8d, 0x96, 0xba, 0x6a, 0x3a, 0x8f, 0xb4, 0xd5, 0xfe, 0x5f, 0x0c, + 0x05, 0x51, 0xc3, 0xae, 0xe3, 0x5f, 0xdd, 0x2b, 0x5b, 0x7a, 0x2a, 0x1f, 0xe0, 0xfb, 0x35, 0xde, 0xb1, 0xd7, 0xf7, + 0x68, 0xda, 0xb4, 0xbd, 0x53, 0x2b, 0x27, 0xbb, 0x05, 0x9b, 0xa5, 0x3e, 0x59, 0x2a, 0x79, 0x09, 0x5b, 0xc6, 0xbd, + 0x09, 0x43, 0x05, 0xa9, 0x25, 0x51, 0x5b, 0xb4, 0xea, 0x31, 0xe7, 0x60, 0xc7, 0xe5, 0x08, 0x3c, 0x6c, 0x2b, 0xa8, + 0xac, 0xaa, 0x68, 0xd6, 0xc4, 0x47, 0x90, 0x8a, 0x6d, 0xaa, 0x0a, 0x27, 0xdc, 0xa6, 0x1d, 0xfb, 0x2f, 0x85, 0x7a, + 0x0a, 0x70, 0xa7, 0x1b, 0x61, 0x6d, 0x42, 0xca, 0x13, 0xfc, 0x3b, 0x53, 0xce, 0x3d, 0x5b, 0xdd, 0x16, 0x8d, 0xbb, + 0xba, 0xa0, 0x6e, 0xca, 0x49, 0x19, 0x8d, 0xba, 0x0e, 0xf5, 0x65, 0x26, 0x40, 0x33, 0xd9, 0xba, 0x05, 0x2c, 0x68, + 0x0a, 0xc9, 0x11, 0x6b, 0x74, 0x63, 0x78, 0x9d, 0x85, 0x9d, 0x97, 0xcb, 0xf7, 0xf3, 0xd4, 0xde, 0x30, 0x07, 0xe3, + 0x69, 0x17, 0x95, 0x7b, 0x85, 0xad, 0x8a, 0xa6, 0x32, 0xb8, 0x07, 0xc4, 0x8d, 0x54, 0x59, 0x47, 0xbe, 0x49, 0x99, + 0x03, 0x35, 0x7d, 0x53, 0x9d, 0x77, 0x73, 0xf7, 0x4e, 0x07, 0xf4, 0x1a, 0x55, 0x50, 0xed, 0xa5, 0xda, 0x2b, 0xeb, + 0xb0, 0xc5, 0x38, 0x61, 0x05, 0xc0, 0x15, 0x45, 0x41, 0xa3, 0x21, 0xa5, 0x84, 0xfb, 0x68, 0xd2, 0xd9, 0x5b, 0x19, + 0x59, 0x8b, 0x79, 0x62, 0x77, 0xf5, 0x55, 0xa8, 0x6f, 0xa1, 0x19, 0x04, 0xd8, 0x71, 0xec, 0x84, 0xcf, 0x26, 0xec, + 0x18, 0x19, 0x5d, 0x39, 0xb8, 0x83, 0xf0, 0x94, 0x9a, 0x14, 0x91, 0x96, 0x4e, 0x29, 0xea, 0x12, 0xbe, 0xaf, 0x15, + 0xde, 0x9f, 0x17, 0xa4, 0xf1, 0xdc, 0x1f, 0xa8, 0xa5, 0xef, 0x55, 0x7b, 0xe9, 0x05, 0xfb, 0xd7, 0x75, 0x6f, 0xf7, + 0xae, 0x0b, 0xcc, 0xe1, 0xde, 0x95, 0x81, 0xbb, 0x24, 0x2b, 0xa5, 0x64, 0xf0, 0xbd, 0xa4, 0x3c, 0x90, 0x63, 0x59, + 0xa8, 0xd8, 0x8a, 0x6e, 0xf4, 0x3f, 0xad, 0x07, 0xa3, 0x93, 0xd3, 0xdb, 0xa5, 0xaf, 0x5c, 0xb3, 0x08, 0xb2, 0xa8, + 0x0e, 0x54, 0xc7, 0xb2, 0x55, 0x05, 0x23, 0x33, 0x78, 0xc1, 0x7c, 0xa0, 0xfe, 0x72, 0xfe, 0xda, 0xec, 0xaa, 0xa7, + 0x60, 0x8e, 0x71, 0x3d, 0x47, 0x16, 0xf7, 0xcc, 0xbd, 0x63, 0xd1, 0x55, 0x4b, 0x55, 0x30, 0x59, 0x2a, 0x31, 0xb7, + 0x58, 0xa6, 0xb4, 0xd4, 0x3d, 0x72, 0xf2, 0x29, 0x22, 0xad, 0xb6, 0x0a, 0x88, 0xd5, 0x69, 0x75, 0x15, 0xa7, 0x75, + 0x68, 0x1d, 0x75, 0xd5, 0xe1, 0x57, 0x8a, 0x72, 0x32, 0x65, 0xb3, 0x78, 0x88, 0xe2, 0x98, 0x13, 0xe4, 0x07, 0xe9, + 0xb7, 0xa2, 0x58, 0x13, 0x3f, 0x36, 0x1d, 0x65, 0xc3, 0x1f, 0x15, 0x05, 0x90, 0x51, 0x4f, 0x79, 0x38, 0x6b, 0xcd, + 0x0e, 0x67, 0xcf, 0xfa, 0xbc, 0x38, 0xfd, 0xaa, 0x50, 0xdd, 0xa0, 0x7f, 0x5b, 0x52, 0xb3, 0x38, 0x89, 0xc2, 0x8f, + 0x8c, 0xf3, 0x92, 0x4a, 0x26, 0x28, 0x2a, 0x37, 0x6d, 0x55, 0xbf, 0xe4, 0x74, 0xc7, 0x93, 0x59, 0x2b, 0xaf, 0x8e, + 0x63, 0x3c, 0xc8, 0x06, 0x79, 0x72, 0x20, 0x86, 0x7e, 0x22, 0x83, 0xc9, 0x31, 0xeb, 0x00, 0xe5, 0xa8, 0x7c, 0x8e, + 0x73, 0x31, 0xbf, 0x13, 0x08, 0x79, 0x9f, 0x7b, 0x70, 0xc4, 0xd8, 0x6c, 0xa0, 0xfe, 0xe8, 0xb4, 0xba, 0x86, 0xe3, + 0x1c, 0x59, 0x47, 0xdd, 0x89, 0x6d, 0x1c, 0x5a, 0x87, 0x66, 0xdb, 0x3a, 0x32, 0xba, 0x66, 0xd7, 0xe8, 0x7e, 0xd7, + 0x9d, 0x98, 0x87, 0xd6, 0xa1, 0x61, 0x9b, 0x5d, 0x28, 0x34, 0xbb, 0x66, 0xf7, 0xda, 0x3c, 0xec, 0x4e, 0x6c, 0x2c, + 0x6d, 0x59, 0x9d, 0x8e, 0xe9, 0xd8, 0x56, 0xa7, 0x63, 0x74, 0xac, 0xa3, 0x23, 0xd3, 0x69, 0x5b, 0x47, 0x47, 0x67, + 0x9d, 0xae, 0xd5, 0x86, 0x77, 0xed, 0xf6, 0xa4, 0x6d, 0x39, 0x8e, 0x09, 0x7f, 0x19, 0x5d, 0xab, 0x45, 0x3f, 0x1c, + 0xc7, 0x6a, 0x3b, 0x86, 0xed, 0x77, 0x5a, 0xd6, 0xd1, 0x33, 0x03, 0xff, 0xc6, 0x6a, 0x06, 0xfe, 0x05, 0xdd, 0x18, + 0xcf, 0xac, 0xd6, 0x11, 0xfd, 0xc2, 0x0e, 0xaf, 0x0f, 0xbb, 0xff, 0x50, 0x0f, 0x1a, 0xe7, 0xe0, 0xd0, 0x1c, 0xba, + 0x1d, 0xab, 0xdd, 0x36, 0x0e, 0x1d, 0xab, 0xdb, 0x5e, 0x98, 0x87, 0x2d, 0xeb, 0xe8, 0x78, 0x62, 0x3a, 0xd6, 0xf1, + 0xb1, 0x61, 0x9b, 0x6d, 0xab, 0x65, 0x38, 0xd6, 0x61, 0x1b, 0x7f, 0xb4, 0xad, 0xd6, 0xf5, 0xf1, 0x33, 0xeb, 0xa8, + 0xb3, 0x38, 0xb2, 0x0e, 0x3f, 0x1c, 0x76, 0xad, 0x56, 0x7b, 0xd1, 0x3e, 0xb2, 0x5a, 0xc7, 0xd7, 0x47, 0xd6, 0xe1, + 0xc2, 0x6c, 0x1d, 0x6d, 0x6d, 0xe9, 0xb4, 0x2c, 0x80, 0x11, 0xbe, 0x86, 0x17, 0x06, 0x7f, 0x01, 0x7f, 0x16, 0xd8, + 0xf6, 0x0f, 0xec, 0x26, 0xae, 0x36, 0x7d, 0x66, 0x75, 0x8f, 0x27, 0x54, 0x1d, 0x0a, 0x4c, 0x51, 0x03, 0x9a, 0x5c, + 0x9b, 0xf4, 0x59, 0xec, 0xce, 0x14, 0x1d, 0x89, 0x3f, 0xfc, 0x63, 0xd7, 0x26, 0x7c, 0x98, 0xbe, 0xfb, 0xa7, 0xf6, + 0x93, 0x2d, 0xf9, 0xc9, 0xc1, 0x9c, 0xb6, 0xfe, 0x7c, 0xf8, 0x15, 0xe5, 0xd7, 0x1c, 0x19, 0xbf, 0x36, 0x29, 0x25, + 0xff, 0xb5, 0x5b, 0x29, 0xf9, 0x7c, 0xbd, 0x8f, 0x52, 0xf2, 0x5f, 0x5f, 0x5c, 0x29, 0xf9, 0x6b, 0xd9, 0xb7, 0xe6, + 0x75, 0x39, 0x0d, 0xd8, 0xf7, 0x9b, 0xb2, 0xc8, 0x21, 0x70, 0xb5, 0x8b, 0x9f, 0xd6, 0x97, 0x10, 0xda, 0xef, 0x75, + 0x38, 0x78, 0xbe, 0x2e, 0x18, 0x7c, 0x86, 0x80, 0x63, 0x5f, 0x87, 0x84, 0x63, 0x3f, 0xac, 0x07, 0x60, 0x65, 0xc6, + 0xd9, 0x1c, 0x6f, 0x6a, 0x2e, 0x5c, 0x7f, 0x96, 0xb1, 0x48, 0x50, 0xd2, 0xc7, 0x62, 0x70, 0x5c, 0x03, 0xf2, 0x0c, + 0x37, 0x99, 0xf5, 0x32, 0x88, 0xc1, 0x22, 0x18, 0x2c, 0x39, 0x66, 0x51, 0x5a, 0x6a, 0x6c, 0x89, 0x60, 0x88, 0x57, + 0xdc, 0x0b, 0xaa, 0xf1, 0x3d, 0x1a, 0x00, 0xd7, 0xf7, 0xee, 0x54, 0xfb, 0x55, 0xc0, 0xb2, 0x4e, 0x18, 0x48, 0x03, + 0xb7, 0x5f, 0xf7, 0xbe, 0x68, 0x86, 0x5b, 0x32, 0xbc, 0x6e, 0x1e, 0x29, 0x8c, 0xa4, 0xdc, 0xde, 0x29, 0x9a, 0xf1, + 0xee, 0x9a, 0x66, 0xcd, 0xe7, 0x0b, 0xcd, 0xb7, 0xd8, 0x10, 0x67, 0x1d, 0x97, 0x41, 0x55, 0x4a, 0x62, 0x5d, 0x0b, + 0x90, 0xfc, 0x82, 0x9a, 0x1b, 0x1a, 0xe7, 0x9c, 0xaa, 0xad, 0x20, 0xbf, 0x63, 0x4b, 0xef, 0x0a, 0x7d, 0xca, 0xc6, + 0xc9, 0x4f, 0x36, 0x78, 0xaf, 0xf0, 0x7e, 0x05, 0x4e, 0x94, 0x73, 0x3c, 0xe3, 0x50, 0x86, 0xf3, 0x46, 0xea, 0x97, + 0xa4, 0x11, 0xe9, 0xc2, 0xd9, 0x54, 0x79, 0xd1, 0x46, 0xb7, 0x04, 0x87, 0x2d, 0x05, 0x17, 0x84, 0x9f, 0x27, 0x27, + 0x80, 0x94, 0x1c, 0x35, 0xd0, 0xcf, 0x61, 0x5b, 0x67, 0xa2, 0xde, 0x43, 0xd8, 0xc4, 0x3c, 0x26, 0xb3, 0x22, 0x47, + 0x9b, 0xd9, 0xcc, 0xfc, 0xd0, 0x4d, 0x7a, 0xc8, 0xa6, 0x49, 0x2c, 0x6f, 0x0b, 0x3d, 0x16, 0xfa, 0x5b, 0x8c, 0xe9, + 0xe4, 0x8e, 0x79, 0x27, 0xe8, 0xf9, 0xb0, 0xcd, 0xfe, 0x2e, 0x73, 0x38, 0xdb, 0x14, 0xcc, 0x51, 0x9c, 0xce, 0xb1, + 0xe1, 0x1c, 0x19, 0xd6, 0x71, 0x47, 0x4f, 0xc5, 0x81, 0x93, 0xbb, 0x2c, 0x00, 0x04, 0x1c, 0x20, 0xb2, 0x61, 0x7a, + 0x81, 0x97, 0x78, 0xae, 0x9f, 0x02, 0x3f, 0x5c, 0xbc, 0xa4, 0xfc, 0x6b, 0x1d, 0x27, 0x30, 0x47, 0xc1, 0xf4, 0xa2, + 0xf3, 0x87, 0x39, 0x66, 0xc9, 0x0d, 0x63, 0x41, 0x83, 0x61, 0x4c, 0xd9, 0x97, 0xe4, 0xf7, 0xb3, 0xac, 0x4f, 0xc9, + 0x6a, 0x6d, 0x9c, 0x04, 0x7c, 0x7f, 0x08, 0xc7, 0x87, 0x74, 0x64, 0x7c, 0xd7, 0x84, 0x70, 0x7f, 0xd9, 0x8d, 0x70, + 0x13, 0xb6, 0x0f, 0xc2, 0xfd, 0xe5, 0x8b, 0x23, 0xdc, 0xef, 0x64, 0x84, 0x5b, 0xf0, 0x1f, 0xcc, 0x35, 0x4c, 0xef, + 0xf1, 0x59, 0x83, 0xcc, 0x28, 0x4f, 0xd5, 0x03, 0x62, 0xe0, 0x55, 0x3d, 0x4f, 0x1f, 0xf4, 0xb7, 0x42, 0xa2, 0x56, + 0x14, 0x80, 0x62, 0xd6, 0x0d, 0x4a, 0x0a, 0xe9, 0x81, 0xab, 0x5b, 0x96, 0x18, 0x92, 0xdd, 0x28, 0x6f, 0x82, 0xc4, + 0xb7, 0xde, 0xf1, 0x7b, 0x24, 0x28, 0x74, 0x5f, 0x87, 0xd1, 0xd2, 0xc5, 0xe8, 0xaf, 0x2a, 0x26, 0x78, 0x87, 0x07, + 0x1b, 0x9c, 0x71, 0x27, 0x61, 0x30, 0xcd, 0xb4, 0x92, 0x6c, 0x70, 0x41, 0x1c, 0xb7, 0x7a, 0xc7, 0xdc, 0x48, 0x35, + 0xe8, 0x35, 0x2c, 0xee, 0x93, 0xb6, 0xfd, 0xa4, 0x75, 0xf8, 0xe4, 0xc8, 0x86, 0xff, 0x1d, 0xd6, 0x4e, 0x0d, 0x5e, + 0x71, 0x19, 0x06, 0x90, 0x63, 0x52, 0xd4, 0x6c, 0xaa, 0x76, 0xc3, 0xd8, 0xc7, 0xbc, 0xd6, 0x71, 0x7d, 0xa5, 0xa9, + 0x7b, 0x97, 0xd7, 0xa9, 0xad, 0xb1, 0x08, 0xd7, 0xd2, 0xb0, 0x6a, 0x46, 0xe3, 0x05, 0x6b, 0x90, 0xb3, 0x4b, 0x35, + 0xe4, 0xd7, 0x7c, 0xba, 0xf9, 0xbc, 0x58, 0x3b, 0xbd, 0xcc, 0x13, 0xd9, 0x8a, 0x7c, 0x46, 0x3b, 0x21, 0xc8, 0x55, + 0x94, 0x36, 0x86, 0x03, 0xc7, 0x44, 0x13, 0x10, 0x0c, 0x3c, 0x4b, 0x3f, 0xea, 0xd2, 0x02, 0x25, 0xd1, 0x3a, 0x98, + 0x68, 0xf8, 0xd3, 0x1d, 0xc7, 0x9a, 0x77, 0x10, 0x59, 0xfc, 0xc3, 0x3a, 0xae, 0x9a, 0x3b, 0xb4, 0xf3, 0xac, 0x7f, + 0xb1, 0x58, 0x15, 0xf7, 0x49, 0x62, 0x44, 0xa8, 0xc7, 0xa6, 0xa5, 0x35, 0x07, 0xee, 0x93, 0xac, 0xe1, 0x93, 0xc4, + 0x08, 0x9e, 0x82, 0xee, 0x73, 0x60, 0x3f, 0x7e, 0x4c, 0xb5, 0x1e, 0x0c, 0xc4, 0xb4, 0x4e, 0x27, 0x79, 0xd0, 0x50, + 0xc5, 0x9d, 0x87, 0x14, 0x37, 0xb4, 0x37, 0x31, 0xc2, 0xa7, 0x4f, 0x87, 0x03, 0x47, 0xc7, 0x8c, 0xb2, 0x22, 0x33, + 0x3c, 0x4f, 0x56, 0x7c, 0xb6, 0x9f, 0xa1, 0x91, 0x5e, 0xeb, 0x4a, 0xbb, 0x82, 0x3b, 0x93, 0x2d, 0xdc, 0x11, 0x38, + 0xf6, 0x82, 0xe4, 0x81, 0x64, 0x50, 0xe0, 0x0a, 0x83, 0x1f, 0x51, 0x27, 0xbb, 0x75, 0xb5, 0x2d, 0xdb, 0xb2, 0xd5, + 0xac, 0xe1, 0xcc, 0x9b, 0x0f, 0x36, 0x61, 0xe2, 0x42, 0x1a, 0x56, 0x3f, 0x9c, 0x83, 0x1f, 0x5d, 0xe2, 0x25, 0x3e, + 0xe4, 0xf4, 0x04, 0x87, 0xba, 0x25, 0xdd, 0xcb, 0x53, 0xee, 0xdd, 0xe0, 0x46, 0x1f, 0x31, 0xaf, 0xbb, 0x70, 0xc5, + 0xc5, 0x38, 0x76, 0x3f, 0x02, 0x31, 0xd4, 0x54, 0x0d, 0x64, 0x03, 0x2c, 0x8a, 0x4d, 0xd9, 0x5b, 0xa8, 0xa7, 0x40, + 0x1b, 0x5d, 0xe5, 0x93, 0x98, 0x45, 0xee, 0x12, 0x12, 0x1b, 0x6d, 0x52, 0x83, 0x63, 0x5a, 0x95, 0xa3, 0x5a, 0xc5, + 0x79, 0x76, 0x64, 0x28, 0x2d, 0xc7, 0x50, 0x6c, 0x40, 0xb7, 0x6a, 0x6a, 0x6c, 0xd2, 0xcb, 0xfe, 0x2e, 0x83, 0x07, + 0xc2, 0x2f, 0x0f, 0x69, 0x1e, 0x64, 0xea, 0xc0, 0x55, 0x49, 0x09, 0xc5, 0x2f, 0xd6, 0xa4, 0x84, 0x26, 0x1e, 0x29, + 0x3d, 0xcf, 0xd9, 0x6d, 0xa2, 0x63, 0xce, 0x4b, 0x5e, 0xc5, 0xd3, 0x37, 0xe8, 0x30, 0xec, 0x05, 0x8a, 0xf7, 0xe9, + 0x93, 0xe6, 0x81, 0x33, 0xd3, 0x40, 0x82, 0x0f, 0x3c, 0xeb, 0x05, 0x80, 0x79, 0xb9, 0x9a, 0x1e, 0x81, 0x05, 0x9e, + 0x86, 0xf0, 0x6f, 0x5e, 0x2c, 0x7e, 0x70, 0x33, 0x09, 0xcb, 0x77, 0x83, 0x39, 0xa0, 0x34, 0x37, 0x98, 0x57, 0xcc, + 0xb1, 0xc8, 0xe7, 0xb9, 0x54, 0x9a, 0x77, 0x95, 0x9b, 0x4a, 0xc5, 0xcf, 0xef, 0xce, 0x29, 0xa7, 0xaf, 0xa6, 0x02, + 0x95, 0x43, 0x17, 0xdd, 0x5c, 0x93, 0xfb, 0x74, 0xf0, 0xf5, 0xc9, 0x92, 0x25, 0x2e, 0xa9, 0x81, 0xe0, 0xf2, 0x0b, + 0xec, 0x80, 0xc2, 0x09, 0x0d, 0x8f, 0x0d, 0x35, 0xa0, 0x30, 0xe7, 0x44, 0x27, 0x0c, 0x85, 0xd3, 0x29, 0x13, 0x2d, + 0x3e, 0x07, 0x8e, 0x41, 0x0e, 0x07, 0x13, 0x17, 0x43, 0x1d, 0x0f, 0x82, 0x50, 0x1d, 0x7e, 0x9d, 0xf9, 0x66, 0x36, + 0x2d, 0x82, 0xef, 0x05, 0x1f, 0x2f, 0x22, 0xe6, 0xff, 0x7b, 0xf0, 0x35, 0x10, 0xee, 0xaf, 0x2f, 0x55, 0xbd, 0x9f, + 0x58, 0x8b, 0x88, 0xcd, 0x06, 0x5f, 0xd7, 0x24, 0x98, 0xc7, 0xeb, 0x3d, 0x8d, 0x45, 0x6d, 0xb7, 0xf2, 0x90, 0x73, + 0xed, 0xbd, 0x2e, 0xf5, 0x43, 0x7e, 0x5b, 0x87, 0x1b, 0xe0, 0xa6, 0x70, 0xc7, 0x76, 0xfa, 0x78, 0x7f, 0x1e, 0xfb, + 0xee, 0xe4, 0x63, 0x9f, 0xde, 0x14, 0x1e, 0x4c, 0xa0, 0xd6, 0x13, 0x77, 0xd5, 0x43, 0xf2, 0x2a, 0x17, 0x82, 0xf7, + 0x34, 0x95, 0x66, 0x9c, 0x5d, 0xed, 0x5e, 0xc6, 0xad, 0xbc, 0xc1, 0x2f, 0xe3, 0xa7, 0x6e, 0x16, 0x5e, 0xc2, 0xc4, + 0xa7, 0xf0, 0x21, 0x4d, 0xc5, 0x45, 0x9d, 0xae, 0xa8, 0x78, 0xb1, 0xb6, 0xda, 0x8a, 0xd3, 0xfd, 0xae, 0x73, 0xed, + 0xd8, 0x8b, 0x96, 0x63, 0x75, 0x3f, 0x38, 0xdd, 0x45, 0xdb, 0x3a, 0xf6, 0xcd, 0xb6, 0x75, 0x0c, 0x7f, 0x3e, 0x1c, + 0x5b, 0xdd, 0x85, 0xd9, 0xb2, 0x0e, 0x3f, 0x38, 0x2d, 0xdf, 0xec, 0x5a, 0xc7, 0xf0, 0xe7, 0x8c, 0x5a, 0xc1, 0x05, + 0x88, 0xee, 0x3b, 0x5f, 0x17, 0xb0, 0x80, 0xf4, 0x3b, 0xd3, 0xc9, 0x1a, 0x05, 0xf2, 0x56, 0xa3, 0xd7, 0x05, 0x94, + 0x41, 0x19, 0x7f, 0xd0, 0x14, 0xa1, 0xaf, 0x05, 0x03, 0x46, 0x39, 0x7e, 0x84, 0x79, 0x9b, 0xf0, 0x43, 0x17, 0x89, + 0x56, 0x6a, 0x8f, 0x11, 0x6f, 0x53, 0x9f, 0x5c, 0x44, 0x24, 0x01, 0x26, 0x45, 0xf0, 0x2f, 0x2b, 0x0c, 0x8d, 0x27, + 0x72, 0x62, 0x49, 0x58, 0x29, 0x4f, 0x44, 0x9f, 0xee, 0x1e, 0x38, 0x7a, 0xf3, 0xb3, 0x2c, 0x11, 0xea, 0x17, 0xed, + 0x5b, 0x4a, 0x3d, 0xf6, 0x59, 0xfd, 0x60, 0x52, 0xa6, 0x3c, 0x9f, 0x12, 0x44, 0x14, 0x9f, 0x7a, 0x51, 0x36, 0x3c, + 0x09, 0x45, 0x3b, 0xf5, 0x59, 0x59, 0x74, 0xc8, 0x18, 0xf9, 0x06, 0xb8, 0xe4, 0x6b, 0xd7, 0x97, 0x0c, 0xd9, 0xa4, + 0x96, 0x0f, 0x32, 0xcc, 0xff, 0xf8, 0x71, 0x3e, 0x38, 0xb3, 0x34, 0xee, 0x13, 0xa7, 0x03, 0x64, 0xb7, 0xc3, 0xda, + 0x5b, 0x6d, 0x2a, 0x77, 0xc7, 0xa2, 0xcf, 0x83, 0x50, 0x0b, 0xbb, 0x29, 0x61, 0xb1, 0xd1, 0x68, 0xd8, 0x59, 0xb1, + 0xd7, 0x80, 0x28, 0xfe, 0xa5, 0xab, 0x8e, 0xaa, 0xf7, 0x03, 0x61, 0x7e, 0x10, 0x6c, 0x89, 0xbf, 0xcf, 0xef, 0x62, + 0x2a, 0x80, 0x66, 0xcb, 0x3c, 0x76, 0x38, 0x88, 0xff, 0xd9, 0x93, 0x40, 0x67, 0x4d, 0xb0, 0x97, 0x28, 0x9d, 0xd6, + 0x82, 0xf3, 0x5e, 0x46, 0x57, 0x89, 0xa0, 0xb2, 0xf8, 0x54, 0x85, 0x22, 0x48, 0x25, 0x8c, 0xd9, 0xc3, 0x33, 0x63, + 0xd1, 0x8c, 0x5a, 0xe4, 0x05, 0x86, 0x87, 0xb9, 0x4e, 0x84, 0xe3, 0xa8, 0xfe, 0xf8, 0x71, 0x23, 0x11, 0x22, 0xe3, + 0x9c, 0x98, 0x25, 0x59, 0x7e, 0x53, 0x55, 0xc6, 0x6f, 0xaa, 0x8c, 0x62, 0xb2, 0x7e, 0x11, 0x6b, 0x08, 0x1b, 0x57, + 0xda, 0x7b, 0xf8, 0x73, 0xcc, 0xdc, 0xc4, 0xe2, 0xca, 0x52, 0x4d, 0x22, 0xee, 0x86, 0xc3, 0xda, 0x60, 0xdd, 0xca, + 0x23, 0x68, 0x66, 0x69, 0x12, 0xff, 0xb6, 0xe6, 0x51, 0x1d, 0xa0, 0x8f, 0x4f, 0x76, 0x1e, 0x80, 0xec, 0x6d, 0xe2, + 0x52, 0x60, 0x18, 0x99, 0xe4, 0x86, 0x89, 0x2b, 0x52, 0x76, 0x02, 0x5f, 0xde, 0xaf, 0x35, 0xbf, 0x90, 0x22, 0x3f, + 0x0c, 0xdf, 0x9e, 0x7f, 0xab, 0xf0, 0xfd, 0x4f, 0xd6, 0x02, 0x78, 0x91, 0xa1, 0xcc, 0x3f, 0x03, 0xca, 0xfc, 0xa3, + 0xf0, 0x24, 0x53, 0x2a, 0xe6, 0x6c, 0x24, 0x08, 0xa2, 0x00, 0x9a, 0x6c, 0x28, 0x96, 0x6b, 0x3f, 0xf1, 0x56, 0x6e, + 0x94, 0x1c, 0x60, 0xda, 0x1f, 0x40, 0x72, 0x6a, 0x53, 0x3c, 0x08, 0x32, 0xc3, 0x10, 0x81, 0x5b, 0x93, 0x40, 0xd8, + 0x61, 0xcc, 0x3c, 0x3f, 0x33, 0xc3, 0x10, 0x1f, 0x70, 0x27, 0x13, 0xb6, 0x4a, 0x06, 0x85, 0xf4, 0x42, 0xe1, 0x24, + 0x61, 0x89, 0x19, 0x27, 0x11, 0x73, 0x97, 0x6a, 0x16, 0x20, 0xbc, 0xda, 0x5f, 0xbc, 0x1e, 0x2f, 0xbd, 0x24, 0x8b, + 0xb0, 0x4b, 0x13, 0x04, 0x83, 0x08, 0x18, 0xe2, 0x70, 0x94, 0x72, 0x10, 0x9e, 0x85, 0xf3, 0xd2, 0x8e, 0xca, 0x39, + 0x97, 0x53, 0x8c, 0xdf, 0x4e, 0x37, 0x19, 0x90, 0x16, 0x4f, 0x42, 0xff, 0x8a, 0xc7, 0xb0, 0xc8, 0x02, 0x01, 0xab, + 0xc3, 0x13, 0x7e, 0xbd, 0x55, 0x30, 0x7c, 0x8b, 0xda, 0xb1, 0x21, 0x42, 0x7d, 0x53, 0x74, 0x8b, 0x03, 0x5e, 0x19, + 0x48, 0x13, 0xf5, 0x8c, 0x49, 0x46, 0x68, 0x2c, 0xe7, 0xc0, 0x08, 0x15, 0x0c, 0x66, 0x16, 0xce, 0x30, 0x73, 0xa7, + 0xc4, 0x51, 0x21, 0xaf, 0xf4, 0xe9, 0xd3, 0x8b, 0xd1, 0x6f, 0xff, 0x81, 0x4c, 0x28, 0x0b, 0x47, 0xc4, 0x94, 0xb8, + 0x90, 0x6b, 0x71, 0xee, 0xd3, 0x18, 0xa1, 0xb1, 0x14, 0x9b, 0x8a, 0x10, 0x3d, 0x62, 0x6b, 0xa5, 0xa3, 0x4b, 0x11, + 0xa2, 0x11, 0x72, 0x28, 0xe9, 0x22, 0xf2, 0x05, 0xa6, 0xe4, 0x1c, 0x89, 0x98, 0x28, 0xca, 0x3f, 0x6f, 0x9f, 0x1f, + 0x2b, 0x79, 0x0c, 0xa3, 0x3a, 0x8b, 0x1e, 0xda, 0x43, 0xc3, 0x13, 0x57, 0x41, 0xa6, 0x05, 0xd9, 0x8f, 0xb8, 0x77, + 0x00, 0xd3, 0x5c, 0x84, 0x4b, 0x66, 0x79, 0xe1, 0xc1, 0x0d, 0x1b, 0x9b, 0xee, 0xca, 0x23, 0xbb, 0x1c, 0x94, 0xbb, + 0x29, 0xc4, 0xf9, 0x65, 0xe6, 0x2e, 0xc4, 0x5f, 0xa7, 0x39, 0x28, 0xc3, 0x62, 0x4c, 0xce, 0x4e, 0x2b, 0xd7, 0x03, + 0x42, 0xfc, 0x02, 0x09, 0x8e, 0xe1, 0xf0, 0xe4, 0xc0, 0x1d, 0x16, 0x83, 0x02, 0x5b, 0x22, 0xb9, 0x4d, 0x91, 0x08, + 0x9c, 0x52, 0x6c, 0x5f, 0x11, 0xc6, 0x37, 0x7f, 0x30, 0xc3, 0xd9, 0x4c, 0x0e, 0xe4, 0x6b, 0x15, 0x87, 0x97, 0x01, + 0x2d, 0xdf, 0xd2, 0xe1, 0x8a, 0xbe, 0x54, 0xfd, 0x44, 0xf6, 0x53, 0xed, 0x61, 0x04, 0x6f, 0x98, 0x33, 0x1c, 0xf7, + 0x4a, 0x40, 0xe0, 0x0c, 0x62, 0x0f, 0xa9, 0x12, 0xc7, 0x23, 0xe5, 0xf4, 0x13, 0x0d, 0x9c, 0xcb, 0x83, 0xc1, 0x80, + 0xd0, 0x5c, 0x19, 0xdb, 0x01, 0x10, 0x6b, 0x12, 0xfd, 0xc0, 0x64, 0x13, 0x68, 0x68, 0x92, 0xbb, 0x2c, 0x36, 0x2a, + 0x4f, 0xa7, 0x3a, 0xc6, 0x03, 0x57, 0x6c, 0xbf, 0xc2, 0x06, 0x85, 0x8d, 0xc7, 0xd7, 0x1d, 0xf0, 0xbb, 0xe8, 0xa7, + 0x84, 0xe6, 0x95, 0x6f, 0x08, 0xa3, 0x9b, 0xbe, 0x7b, 0x17, 0x4a, 0x66, 0x4c, 0x3c, 0xa2, 0xc9, 0x19, 0x96, 0x9e, + 0x0b, 0x4f, 0xe2, 0xca, 0x41, 0xcb, 0x12, 0xa2, 0x54, 0x0f, 0x9b, 0x9c, 0xc4, 0x64, 0xd7, 0x59, 0x93, 0xeb, 0x16, + 0x27, 0x83, 0xc8, 0x33, 0xcd, 0xcf, 0x61, 0xe1, 0x25, 0xa2, 0x85, 0xf4, 0xe4, 0x00, 0xe6, 0x07, 0x51, 0x58, 0x0a, + 0x8c, 0x93, 0xa7, 0x43, 0xa8, 0x17, 0x37, 0x26, 0x53, 0xac, 0x37, 0x53, 0xc1, 0xf3, 0xe1, 0xc5, 0x52, 0x4a, 0xf3, + 0x27, 0x55, 0xa9, 0xf2, 0x32, 0x76, 0x3d, 0x13, 0xb8, 0x3b, 0x7b, 0xd0, 0x87, 0x35, 0xa6, 0x0e, 0x4a, 0xfb, 0x09, + 0x13, 0x41, 0x0e, 0xce, 0x92, 0x86, 0x38, 0x08, 0x4d, 0x55, 0x88, 0x9f, 0xdd, 0x52, 0x21, 0xdf, 0xc7, 0xdb, 0x6a, + 0xe5, 0x9c, 0x53, 0x56, 0x6d, 0xee, 0x6a, 0xea, 0x43, 0xdc, 0xf1, 0x95, 0xda, 0x58, 0x0a, 0xf5, 0xce, 0x92, 0x01, + 0x54, 0x15, 0xb2, 0x78, 0x77, 0xb5, 0xa2, 0xca, 0x7a, 0xff, 0xe4, 0x80, 0xae, 0xa5, 0x43, 0xda, 0x61, 0xc3, 0x13, + 0x30, 0xe5, 0xa6, 0x45, 0x77, 0x57, 0x2b, 0xbe, 0xa4, 0xf4, 0x8b, 0xde, 0x1c, 0x2c, 0x92, 0xa5, 0x3f, 0xfc, 0x3f, + 0x04, 0xdf, 0xdf, 0xf4, 0x2c, 0x6c, 0x03, 0x00}; -} // namespace esphome::web_server +} // namespace web_server +} // namespace esphome #endif #endif diff --git a/esphome/components/web_server/web_server.cpp b/esphome/components/web_server/web_server.cpp index ba70a331d8..34410fafde 100644 --- a/esphome/components/web_server/web_server.cpp +++ b/esphome/components/web_server/web_server.cpp @@ -49,62 +49,144 @@ static constexpr size_t PSTR_LOCAL_SIZE = 18; #define PSTR_LOCAL(mode_s) ESPHOME_strncpy_P(buf, (ESPHOME_PGM_P) ((mode_s)), PSTR_LOCAL_SIZE - 1) // Parse URL and return match info -static UrlMatch match_url(const char *url_ptr, size_t url_len, bool only_domain) { - UrlMatch match{}; +// URL formats (disambiguated by HTTP method for 3-segment case): +// GET /{domain}/{entity_name} - main device state +// POST /{domain}/{entity_name}/{action} - main device action +// GET /{domain}/{device_name}/{entity_name} - sub-device state (USE_DEVICES only) +// POST /{domain}/{device_name}/{entity_name}/{action} - sub-device action (USE_DEVICES only) +static UrlMatch match_url(const char *url_ptr, size_t url_len, bool only_domain, bool is_post = false) { + // URL must start with '/' and have content after it + if (url_len < 2 || url_ptr[0] != '/') + return UrlMatch{}; - // URL must start with '/' - if (url_len < 2 || url_ptr[0] != '/') { - return match; - } - - // Skip leading '/' - const char *start = url_ptr + 1; + const char *p = url_ptr + 1; const char *end = url_ptr + url_len; - // Find domain (everything up to next '/' or end) - const char *domain_end = (const char *) memchr(start, '/', end - start); - if (!domain_end) { - // No second slash found - original behavior returns invalid - return match; - } + // Helper to find next segment: returns pointer after '/' or nullptr if no more slashes + auto next_segment = [&end](const char *start) -> const char * { + const char *slash = (const char *) memchr(start, '/', end - start); + return slash ? slash + 1 : nullptr; + }; - // Set domain - match.domain = start; - match.domain_len = domain_end - start; + // Helper to make StringRef from segment start to next segment (or end) + auto make_ref = [&end](const char *start, const char *next_start) -> StringRef { + return StringRef(start, (next_start ? next_start - 1 : end) - start); + }; + + // Parse domain segment + const char *s1 = p; + const char *s2 = next_segment(s1); + + // Must have domain with trailing slash + if (!s2) + return UrlMatch{}; + + UrlMatch match{}; + match.domain = make_ref(s1, s2); match.valid = true; - if (only_domain) { + if (only_domain || s2 >= end) return match; - } - // Parse ID if present - if (domain_end + 1 >= end) { - return match; // Nothing after domain slash - } + // Parse remaining segments only when needed + const char *s3 = next_segment(s2); + const char *s4 = s3 ? next_segment(s3) : nullptr; - const char *id_start = domain_end + 1; - const char *id_end = (const char *) memchr(id_start, '/', end - id_start); + StringRef seg2 = make_ref(s2, s3); + StringRef seg3 = s3 ? make_ref(s3, s4) : StringRef(); + StringRef seg4 = s4 ? make_ref(s4, nullptr) : StringRef(); - if (!id_end) { - // No more slashes, entire remaining string is ID - match.id = id_start; - match.id_len = end - id_start; - return match; - } + // Reject empty segments + if (seg2.empty() || (s3 && seg3.empty()) || (s4 && seg4.empty())) + return UrlMatch{}; - // Set ID - match.id = id_start; - match.id_len = id_end - id_start; - - // Parse method if present - if (id_end + 1 < end) { - match.method = id_end + 1; - match.method_len = end - (id_end + 1); + // Interpret based on segment count + if (!s3) { + // 1 segment after domain: /{domain}/{entity} + match.id = seg2; + } else if (!s4) { + // 2 segments after domain: /{domain}/{X}/{Y} + // HTTP method disambiguates: GET = device/entity, POST = entity/action + if (is_post) { + match.id = seg2; + match.method = seg3; + return match; + } +#ifdef USE_DEVICES + match.device_name = seg2; + match.id = seg3; +#else + return UrlMatch{}; // 3-segment GET not supported without USE_DEVICES +#endif + } else { + // 3 segments after domain: /{domain}/{device}/{entity}/{action} +#ifdef USE_DEVICES + if (!is_post) { + return UrlMatch{}; // 4-segment GET not supported (action requires POST) + } + match.device_name = seg2; + match.id = seg3; + match.method = seg4; +#else + return UrlMatch{}; // Not supported without USE_DEVICES +#endif } return match; } +EntityMatchResult UrlMatch::match_entity(EntityBase *entity) const { + EntityMatchResult result{false, this->method.empty()}; + +#ifdef USE_DEVICES + Device *entity_device = entity->get_device(); + bool url_has_device = !this->device_name.empty(); + bool entity_has_device = (entity_device != nullptr); + + // Device matching: URL device segment must match entity's device + if (url_has_device != entity_has_device) { + return result; // Mismatch: one has device, other doesn't + } + if (url_has_device && this->device_name != entity_device->get_name()) { + return result; // Device name doesn't match + } +#endif + + // Try matching by entity name (new format) + if (this->id == entity->get_name()) { + result.matched = true; + return result; + } + + // Fall back to object_id (deprecated format) + char object_id_buf[OBJECT_ID_MAX_LEN]; + StringRef object_id = entity->get_object_id_to(object_id_buf); + if (this->id == object_id) { + result.matched = true; + // Log deprecation warning +#ifdef USE_DEVICES + Device *device = entity->get_device(); + if (device != nullptr) { + ESP_LOGW(TAG, + "Deprecated URL format: /%.*s/%.*s/%.*s - use entity name '/%.*s/%s/%s' instead. " + "Object ID URLs will be removed in 2026.7.0.", + (int) this->domain.size(), this->domain.c_str(), (int) this->device_name.size(), + this->device_name.c_str(), (int) this->id.size(), this->id.c_str(), (int) this->domain.size(), + this->domain.c_str(), device->get_name(), entity->get_name().c_str()); + } else +#endif + { + ESP_LOGW(TAG, + "Deprecated URL format: /%.*s/%.*s - use entity name '/%.*s/%s' instead. " + "Object ID URLs will be removed in 2026.7.0.", + (int) this->domain.size(), this->domain.c_str(), (int) this->id.size(), this->id.c_str(), + (int) this->domain.size(), this->domain.c_str(), entity->get_name().c_str()); + } + } + + return result; +} + #if !defined(USE_ESP32) && defined(USE_ARDUINO) // helper for allowing only unique entries in the queue void DeferredUpdateEventSource::deq_push_back_with_dedup_(void *source, message_generator_t *message_generator) { @@ -401,15 +483,53 @@ void WebServer::handle_js_request(AsyncWebServerRequest *request) { #endif // Helper functions to reduce code size by avoiding macro expansion +// Build unique id as: {domain}/{device_name}/{entity_name} or {domain}/{entity_name} +// Uses names (not object_id) to avoid UTF-8 collision issues static void set_json_id(JsonObject &root, EntityBase *obj, const char *prefix, JsonDetail start_config) { - char id_buf[160]; // prefix + dash + object_id (up to 128) + null - size_t len = strlen(prefix); - memcpy(id_buf, prefix, len); // NOLINT(bugprone-not-null-terminated-result) - null added by write_object_id_to - id_buf[len++] = '-'; - obj->write_object_id_to(id_buf + len, sizeof(id_buf) - len); + const StringRef &name = obj->get_name(); + size_t prefix_len = strlen(prefix); + size_t name_len = name.size(); + +#ifdef USE_DEVICES + Device *device = obj->get_device(); + const char *device_name = device ? device->get_name() : nullptr; + size_t device_len = device_name ? strlen(device_name) : 0; +#endif + + // Build id into stack buffer - ArduinoJson copies the string + // Format: {prefix}/{device?}/{name} + // Buffer size guaranteed by schema validation (NAME_MAX_LENGTH=120): + // With devices: domain(20) + "/" + device(120) + "/" + name(120) + null = 263, rounded up to 280 for safety margin + // Without devices: domain(20) + "/" + name(120) + null = 142, rounded up to 150 for safety margin +#ifdef USE_DEVICES + char id_buf[280]; +#else + char id_buf[150]; +#endif + char *p = id_buf; + memcpy(p, prefix, prefix_len); + p += prefix_len; + *p++ = '/'; +#ifdef USE_DEVICES + if (device_name) { + memcpy(p, device_name, device_len); + p += device_len; + *p++ = '/'; + } +#endif + memcpy(p, name.c_str(), name_len); + p[name_len] = '\0'; + root[ESPHOME_F("id")] = id_buf; + if (start_config == DETAIL_ALL) { - root[ESPHOME_F("name")] = obj->get_name(); + root[ESPHOME_F("domain")] = prefix; + root[ESPHOME_F("name")] = name; +#ifdef USE_DEVICES + if (device_name) { + root[ESPHOME_F("device")] = device_name; + } +#endif root[ESPHOME_F("icon")] = obj->get_icon_ref(); root[ESPHOME_F("entity_category")] = obj->get_entity_category(); bool is_disabled = obj->is_disabled_by_default(); @@ -448,10 +568,11 @@ void WebServer::on_sensor_update(sensor::Sensor *obj) { } void WebServer::handle_sensor_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (sensor::Sensor *obj : App.get_sensors()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; // Note: request->method() is always HTTP_GET here (canHandle ensures this) - if (match.method_empty()) { + if (entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->sensor_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -494,10 +615,11 @@ void WebServer::on_text_sensor_update(text_sensor::TextSensor *obj) { } void WebServer::handle_text_sensor_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (text_sensor::TextSensor *obj : App.get_text_sensors()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; // Note: request->method() is always HTTP_GET here (canHandle ensures this) - if (match.method_empty()) { + if (entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->text_sensor_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -536,10 +658,11 @@ void WebServer::on_switch_update(switch_::Switch *obj) { } void WebServer::handle_switch_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (switch_::Switch *obj : App.get_switches()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->switch_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -605,9 +728,10 @@ std::string WebServer::switch_json_(switch_::Switch *obj, bool value, JsonDetail #ifdef USE_BUTTON void WebServer::handle_button_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (button::Button *obj : App.get_buttons()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->button_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -649,10 +773,11 @@ void WebServer::on_binary_sensor_update(binary_sensor::BinarySensor *obj) { } void WebServer::handle_binary_sensor_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (binary_sensor::BinarySensor *obj : App.get_binary_sensors()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; // Note: request->method() is always HTTP_GET here (canHandle ensures this) - if (match.method_empty()) { + if (entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->binary_sensor_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -690,10 +815,11 @@ void WebServer::on_fan_update(fan::Fan *obj) { } void WebServer::handle_fan_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (fan::Fan *obj : App.get_fans()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->fan_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -770,10 +896,11 @@ void WebServer::on_light_update(light::LightState *obj) { } void WebServer::handle_light_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (light::LightState *obj : App.get_lights()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->light_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -848,10 +975,11 @@ void WebServer::on_cover_update(cover::Cover *obj) { } void WebServer::handle_cover_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (cover::Cover *obj : App.get_covers()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->cover_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -936,10 +1064,11 @@ void WebServer::on_number_update(number::Number *obj) { } void WebServer::handle_number_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_numbers()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->number_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -1003,9 +1132,10 @@ void WebServer::on_date_update(datetime::DateEntity *obj) { } void WebServer::handle_date_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_dates()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->date_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -1066,9 +1196,10 @@ void WebServer::on_time_update(datetime::TimeEntity *obj) { } void WebServer::handle_time_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_times()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->time_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -1128,9 +1259,10 @@ void WebServer::on_datetime_update(datetime::DateTimeEntity *obj) { } void WebServer::handle_datetime_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_datetimes()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->datetime_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -1192,10 +1324,11 @@ void WebServer::on_text_update(text::Text *obj) { } void WebServer::handle_text_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_texts()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->text_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -1248,10 +1381,11 @@ void WebServer::on_select_update(select::Select *obj) { } void WebServer::handle_select_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_selects()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->select_json_(obj, obj->has_state() ? obj->current_option() : "", detail); request->send(200, "application/json", data.c_str()); @@ -1305,10 +1439,11 @@ void WebServer::on_climate_update(climate::Climate *obj) { } void WebServer::handle_climate_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (auto *obj : App.get_climates()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->climate_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -1455,10 +1590,11 @@ void WebServer::on_lock_update(lock::Lock *obj) { } void WebServer::handle_lock_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (lock::Lock *obj : App.get_locks()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->lock_json_(obj, obj->state, detail); request->send(200, "application/json", data.c_str()); @@ -1529,10 +1665,11 @@ void WebServer::on_valve_update(valve::Valve *obj) { } void WebServer::handle_valve_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (valve::Valve *obj : App.get_valves()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->valve_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -1613,10 +1750,11 @@ void WebServer::on_alarm_control_panel_update(alarm_control_panel::AlarmControlP } void WebServer::handle_alarm_control_panel_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (alarm_control_panel::AlarmControlPanel *obj : App.get_alarm_control_panels()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->alarm_control_panel_json_(obj, obj->get_state(), detail); request->send(200, "application/json", data.c_str()); @@ -1790,11 +1928,12 @@ void WebServer::on_event(event::Event *obj) { void WebServer::handle_event_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (event::Event *obj : App.get_events()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; // Note: request->method() is always HTTP_GET here (canHandle ensures this) - if (match.method_empty()) { + if (entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->event_json_(obj, "", detail); request->send(200, "application/json", data.c_str()); @@ -1859,10 +1998,11 @@ void WebServer::on_update(update::UpdateEntity *obj) { } void WebServer::handle_update_request(AsyncWebServerRequest *request, const UrlMatch &match) { for (update::UpdateEntity *obj : App.get_updates()) { - if (!match.id_equals_entity(obj)) + auto entity_match = match.match_entity(obj); + if (!entity_match.matched) continue; - if (request->method() == HTTP_GET && match.method_empty()) { + if (request->method() == HTTP_GET && entity_match.action_is_empty) { auto detail = get_request_detail(request); std::string data = this->update_json_(obj, detail); request->send(200, "application/json", data.c_str()); @@ -2073,7 +2213,8 @@ void WebServer::handleRequest(AsyncWebServerRequest *request) { #endif // Parse URL for component routing - UrlMatch match = match_url(url.c_str(), url.length(), false); + // Pass HTTP method to disambiguate 3-segment URLs (GET=sub-device state, POST=main device action) + UrlMatch match = match_url(url.c_str(), url.length(), false, request->method() == HTTP_POST); // Route to appropriate handler based on domain // NOLINTNEXTLINE(readability-simplify-boolean-expr) diff --git a/esphome/components/web_server/web_server.h b/esphome/components/web_server/web_server.h index 56f326abe2..4d41487c9e 100644 --- a/esphome/components/web_server/web_server.h +++ b/esphome/components/web_server/web_server.h @@ -35,33 +35,29 @@ extern const size_t ESPHOME_WEBSERVER_JS_INCLUDE_SIZE; namespace esphome::web_server { +/// Result of matching a URL against an entity +struct EntityMatchResult { + bool matched; ///< True if entity matched the URL + bool action_is_empty; ///< True if no action/method segment in URL +}; + /// Internal helper struct that is used to parse incoming URLs struct UrlMatch { - const char *domain; ///< Pointer to domain within URL, for example "sensor" - const char *id; ///< Pointer to id within URL, for example "living_room_fan" - const char *method; ///< Pointer to method within URL, for example "turn_on" - uint8_t domain_len; ///< Length of domain string - uint8_t id_len; ///< Length of id string - uint8_t method_len; ///< Length of method string - bool valid; ///< Whether this match is valid + StringRef domain; ///< Domain within URL, for example "sensor" + StringRef id; ///< Entity name/id within URL, for example "Temperature" + StringRef method; ///< Method within URL, for example "turn_on" +#ifdef USE_DEVICES + StringRef device_name; ///< Device name within URL, empty for main device +#endif + bool valid{false}; ///< Whether this match is valid // Helper methods for string comparisons - bool domain_equals(const char *str) const { - return domain && domain_len == strlen(str) && memcmp(domain, str, domain_len) == 0; - } + bool domain_equals(const char *str) const { return this->domain == str; } + bool method_equals(const char *str) const { return this->method == str; } - bool id_equals_entity(EntityBase *entity) const { - // Get object_id with zero heap allocation - char object_id_buf[OBJECT_ID_MAX_LEN]; - StringRef object_id = entity->get_object_id_to(object_id_buf); - return id && id_len == object_id.size() && memcmp(id, object_id.c_str(), id_len) == 0; - } - - bool method_equals(const char *str) const { - return method && method_len == strlen(str) && memcmp(method, str, method_len) == 0; - } - - bool method_empty() const { return method_len == 0; } + /// Match entity by name first, then fall back to object_id with deprecation warning + /// Returns EntityMatchResult with match status and whether action segment is empty + EntityMatchResult match_entity(EntityBase *entity) const; }; #ifdef USE_WEBSERVER_SORTING diff --git a/esphome/components/web_server/web_server_v1.cpp b/esphome/components/web_server/web_server_v1.cpp index 3e3dde7c7e..c3fe6f6780 100644 --- a/esphome/components/web_server/web_server_v1.cpp +++ b/esphome/components/web_server/web_server_v1.cpp @@ -5,6 +5,29 @@ namespace esphome::web_server { +// Write HTML-escaped text to stream (escapes ", &, <, >) +static void write_html_escaped(AsyncResponseStream *stream, const char *text) { + for (const char *p = text; *p; ++p) { + switch (*p) { + case '"': + stream->print("""); + break; + case '&': + stream->print("&"); + break; + case '<': + stream->print("<"); + break; + case '>': + stream->print(">"); + break; + default: + stream->write(*p); + break; + } + } +} + void write_row(AsyncResponseStream *stream, EntityBase *obj, const std::string &klass, const std::string &action, const std::function &action_func = nullptr) { stream->print("print("-"); char object_id_buf[OBJECT_ID_MAX_LEN]; stream->print(obj->get_object_id_to(object_id_buf).c_str()); + // Add data attributes for hierarchical URL support + stream->print("\" data-domain=\""); + stream->print(klass.c_str()); + stream->print("\" data-name=\""); + write_html_escaped(stream, obj->get_name().c_str()); +#ifdef USE_DEVICES + Device *device = obj->get_device(); + if (device != nullptr) { + stream->print("\" data-device=\""); + write_html_escaped(stream, device->get_name()); + } +#endif stream->print("\">"); - stream->print(obj->get_name().c_str()); +#ifdef USE_DEVICES + if (device != nullptr) { + stream->print("["); + write_html_escaped(stream, device->get_name()); + stream->print("] "); + } +#endif + write_html_escaped(stream, obj->get_name().c_str()); stream->print(""); stream->print(action.c_str()); if (action_func) { diff --git a/esphome/components/web_server_idf/utils.cpp b/esphome/components/web_server_idf/utils.cpp index d5d34b520b..f27814062c 100644 --- a/esphome/components/web_server_idf/utils.cpp +++ b/esphome/components/web_server_idf/utils.cpp @@ -13,7 +13,8 @@ namespace web_server_idf { static const char *const TAG = "web_server_idf_utils"; -void url_decode(char *str) { +size_t url_decode(char *str) { + char *start = str; char *ptr = str, buf; for (; *str; str++, ptr++) { if (*str == '%') { @@ -31,7 +32,8 @@ void url_decode(char *str) { *ptr = *str; } } - *ptr = *str; + *ptr = '\0'; + return ptr - start; } bool request_has_header(httpd_req_t *req, const char *name) { return httpd_req_get_hdr_value_len(req, name); } diff --git a/esphome/components/web_server_idf/utils.h b/esphome/components/web_server_idf/utils.h index f70a5f0760..3a86aec7ac 100644 --- a/esphome/components/web_server_idf/utils.h +++ b/esphome/components/web_server_idf/utils.h @@ -8,6 +8,10 @@ namespace esphome { namespace web_server_idf { +/// Decode URL-encoded string in-place (e.g., %20 -> space, + -> space) +/// Returns the new length of the decoded string +size_t url_decode(char *str); + bool request_has_header(httpd_req_t *req, const char *name); optional request_get_header(httpd_req_t *req, const char *name); optional request_get_url_query(httpd_req_t *req); diff --git a/esphome/components/web_server_idf/web_server_idf.cpp b/esphome/components/web_server_idf/web_server_idf.cpp index 3d76b86a14..5062aa1e6c 100644 --- a/esphome/components/web_server_idf/web_server_idf.cpp +++ b/esphome/components/web_server_idf/web_server_idf.cpp @@ -247,11 +247,20 @@ optional AsyncWebServerRequest::get_header(const char *name) const } std::string AsyncWebServerRequest::url() const { - auto *str = strchr(this->req_->uri, '?'); - if (str == nullptr) { - return this->req_->uri; + auto *query_start = strchr(this->req_->uri, '?'); + std::string result; + if (query_start == nullptr) { + result = this->req_->uri; + } else { + result = std::string(this->req_->uri, query_start - this->req_->uri); } - return std::string(this->req_->uri, str - this->req_->uri); + // Decode URL-encoded characters in-place (e.g., %20 -> space) + // This matches AsyncWebServer behavior on Arduino + if (!result.empty()) { + size_t new_len = url_decode(&result[0]); + result.resize(new_len); + } + return result; } std::string AsyncWebServerRequest::host() const { return this->get_header("Host").value(); } diff --git a/esphome/components/weikai/weikai.cpp b/esphome/components/weikai/weikai.cpp index ebe987cc65..3384a0572f 100644 --- a/esphome/components/weikai/weikai.cpp +++ b/esphome/components/weikai/weikai.cpp @@ -245,10 +245,8 @@ void WeikaiGPIOPin::setup() { this->pin_mode(this->flags_); } -std::string WeikaiGPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "%u via WeiKai %s", this->pin_, this->parent_->get_name()); - return buffer; +size_t WeikaiGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via WeiKai %s", this->pin_, this->parent_->get_name()); } /////////////////////////////////////////////////////////////////////////////// diff --git a/esphome/components/weikai/weikai.h b/esphome/components/weikai/weikai.h index 987278213a..a27c14106d 100644 --- a/esphome/components/weikai/weikai.h +++ b/esphome/components/weikai/weikai.h @@ -278,7 +278,7 @@ class WeikaiGPIOPin : public GPIOPin { gpio::Flags get_flags() const override { return this->flags_; } void setup() override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void pin_mode(gpio::Flags flags) override { this->parent_->set_pin_direction_(this->pin_, flags); } bool digital_read() override { return this->parent_->read_pin_val_(this->pin_) != this->inverted_; } void digital_write(bool value) override { this->parent_->write_pin_val_(this->pin_, value != this->inverted_); } diff --git a/esphome/components/wifi/automation.h b/esphome/components/wifi/automation.h index 7997baff65..fb0e71bcf6 100644 --- a/esphome/components/wifi/automation.h +++ b/esphome/components/wifi/automation.h @@ -45,7 +45,8 @@ template class WiFiConfigureAction : public Action, publi if (this->connecting_) return; // If already connected to the same AP, do nothing - if (global_wifi_component->wifi_ssid() == ssid) { + char ssid_buf[SSID_BUFFER_SIZE]; + if (strcmp(global_wifi_component->wifi_ssid_to(ssid_buf), ssid.c_str()) == 0) { // Callback to notify the user that the connection was successful this->connect_trigger_->trigger(); return; @@ -94,7 +95,8 @@ template class WiFiConfigureAction : public Action, publi this->cancel_timeout("wifi-connect-timeout"); this->cancel_timeout("wifi-fallback-timeout"); this->connecting_ = false; - if (global_wifi_component->wifi_ssid() == this->new_sta_.get_ssid()) { + char ssid_buf[SSID_BUFFER_SIZE]; + if (strcmp(global_wifi_component->wifi_ssid_to(ssid_buf), this->new_sta_.get_ssid().c_str()) == 0) { // Callback to notify the user that the connection was successful this->connect_trigger_->trigger(); } else { diff --git a/esphome/components/wifi/wifi_component.cpp b/esphome/components/wifi/wifi_component.cpp index 50c0938cf1..0738a76777 100644 --- a/esphome/components/wifi/wifi_component.cpp +++ b/esphome/components/wifi/wifi_component.cpp @@ -655,12 +655,15 @@ void WiFiComponent::setup_ap_config_() { #ifdef USE_WIFI_MANUAL_IP auto manual_ip = this->ap_.get_manual_ip(); if (manual_ip.has_value()) { + char static_ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; + char gateway_buf[network::IP_ADDRESS_BUFFER_SIZE]; + char subnet_buf[network::IP_ADDRESS_BUFFER_SIZE]; ESP_LOGCONFIG(TAG, " AP Static IP: '%s'\n" " AP Gateway: '%s'\n" " AP Subnet: '%s'", - manual_ip->static_ip.str().c_str(), manual_ip->gateway.str().c_str(), - manual_ip->subnet.str().c_str()); + manual_ip->static_ip.str_to(static_ip_buf), manual_ip->gateway.str_to(gateway_buf), + manual_ip->subnet.str_to(subnet_buf)); } #endif @@ -816,8 +819,14 @@ void WiFiComponent::start_connecting(const WiFiAP &ap) { #ifdef USE_WIFI_MANUAL_IP if (ap.get_manual_ip().has_value()) { ManualIP m = *ap.get_manual_ip(); - ESP_LOGV(TAG, " Manual IP: Static IP=%s Gateway=%s Subnet=%s DNS1=%s DNS2=%s", m.static_ip.str().c_str(), - m.gateway.str().c_str(), m.subnet.str().c_str(), m.dns1.str().c_str(), m.dns2.str().c_str()); + char static_ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; + char gateway_buf[network::IP_ADDRESS_BUFFER_SIZE]; + char subnet_buf[network::IP_ADDRESS_BUFFER_SIZE]; + char dns1_buf[network::IP_ADDRESS_BUFFER_SIZE]; + char dns2_buf[network::IP_ADDRESS_BUFFER_SIZE]; + ESP_LOGV(TAG, " Manual IP: Static IP=%s Gateway=%s Subnet=%s DNS1=%s DNS2=%s", m.static_ip.str_to(static_ip_buf), + m.gateway.str_to(gateway_buf), m.subnet.str_to(subnet_buf), m.dns1.str_to(dns1_buf), + m.dns2.str_to(dns2_buf)); } else #endif { @@ -1040,15 +1049,27 @@ template static void insertion_sort_scan_results(VectorType } // Helper function to log matching scan results - marked noinline to prevent re-inlining into loop +// +// IMPORTANT: This function deliberately uses a SINGLE log call to minimize blocking. +// In environments with many matching networks (e.g., 18+ mesh APs), multiple log calls +// per network would block the main loop for an unacceptable duration. Each log call +// has overhead from UART transmission, so combining INFO+DEBUG into one line halves +// the blocking time. Do NOT split this into separate ESP_LOGI/ESP_LOGD calls. __attribute__((noinline)) static void log_scan_result(const WiFiScanResult &res) { char bssid_s[18]; auto bssid = res.get_bssid(); format_mac_addr_upper(bssid.data(), bssid_s); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG + // Single combined log line with all details when DEBUG enabled + ESP_LOGI(TAG, "- '%s' %s" LOG_SECRET("(%s) ") "%s Ch:%2u %3ddB P:%d", res.get_ssid().c_str(), + res.get_is_hidden() ? LOG_STR_LITERAL("(HIDDEN) ") : LOG_STR_LITERAL(""), bssid_s, + LOG_STR_ARG(get_signal_bars(res.get_rssi())), res.get_channel(), res.get_rssi(), res.get_priority()); +#else ESP_LOGI(TAG, "- '%s' %s" LOG_SECRET("(%s) ") "%s", res.get_ssid().c_str(), res.get_is_hidden() ? LOG_STR_LITERAL("(HIDDEN) ") : LOG_STR_LITERAL(""), bssid_s, LOG_STR_ARG(get_signal_bars(res.get_rssi()))); - ESP_LOGD(TAG, " Channel: %2u, RSSI: %3d dB, Priority: %4d", res.get_channel(), res.get_rssi(), res.get_priority()); +#endif } #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE @@ -1167,7 +1188,8 @@ void WiFiComponent::check_connecting_finished() { auto status = this->wifi_sta_connect_status_(); if (status == WiFiSTAConnectStatus::CONNECTED) { - if (wifi_ssid().empty()) { + char ssid_buf[SSID_BUFFER_SIZE]; + if (wifi_ssid_to(ssid_buf)[0] == '\0') { ESP_LOGW(TAG, "Connection incomplete"); this->retry_connect(); return; diff --git a/esphome/components/wifi/wifi_component.h b/esphome/components/wifi/wifi_component.h index ff2bfe12a4..5bf1f444e8 100644 --- a/esphome/components/wifi/wifi_component.h +++ b/esphome/components/wifi/wifi_component.h @@ -12,12 +12,6 @@ #include #include -#ifdef USE_ESP32_FRAMEWORK_ARDUINO -#include -#include -#include -#endif - #ifdef USE_LIBRETINY #include #endif @@ -578,10 +572,6 @@ class WiFiComponent : public Component { static void s_wifi_scan_done_callback(void *arg, STATUS status); #endif -#ifdef USE_ESP32_FRAMEWORK_ARDUINO - void wifi_event_callback_(arduino_event_id_t event, arduino_event_info_t info); - void wifi_scan_done_callback_(); -#endif #ifdef USE_ESP32 void wifi_process_event_(IDFWiFiEvent *data); #endif diff --git a/esphome/components/wifi/wifi_component_esp8266.cpp b/esphome/components/wifi/wifi_component_esp8266.cpp index 1c744648bb..9d99e0b94c 100644 --- a/esphome/components/wifi/wifi_component_esp8266.cpp +++ b/esphome/components/wifi/wifi_component_esp8266.cpp @@ -518,15 +518,16 @@ void WiFiComponent::wifi_event_callback(System_Event_t *event) { switch (event->event) { case EVENT_STAMODE_CONNECTED: { auto it = event->event_info.connected; - char buf[33]; - memcpy(buf, it.ssid, it.ssid_len); - buf[it.ssid_len] = '\0'; - ESP_LOGV(TAG, "Connected ssid='%s' bssid=%s channel=%u", buf, format_mac_address_pretty(it.bssid).c_str(), +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char bssid_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.bssid, bssid_buf); + ESP_LOGV(TAG, "Connected ssid='%.*s' bssid=%s channel=%u", it.ssid_len, (const char *) it.ssid, bssid_buf, it.channel); +#endif s_sta_connected = true; #ifdef USE_WIFI_LISTENERS for (auto *listener : global_wifi_component->connect_state_listeners_) { - listener->on_wifi_connect_state(StringRef(buf, it.ssid_len), it.bssid); + listener->on_wifi_connect_state(StringRef(it.ssid, it.ssid_len), it.bssid); } // For static IP configurations, GOT_IP event may not fire, so notify IP listeners here #ifdef USE_WIFI_MANUAL_IP @@ -543,17 +544,15 @@ void WiFiComponent::wifi_event_callback(System_Event_t *event) { } case EVENT_STAMODE_DISCONNECTED: { auto it = event->event_info.disconnected; - char buf[33]; - memcpy(buf, it.ssid, it.ssid_len); - buf[it.ssid_len] = '\0'; if (it.reason == REASON_NO_AP_FOUND) { - ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf); + ESP_LOGW(TAG, "Disconnected ssid='%.*s' reason='Probe Request Unsuccessful'", it.ssid_len, + (const char *) it.ssid); s_sta_connect_not_found = true; } else { char bssid_s[18]; format_mac_addr_upper(it.bssid, bssid_s); - ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf, bssid_s, - LOG_STR_ARG(get_disconnect_reason_str(it.reason))); + ESP_LOGW(TAG, "Disconnected ssid='%.*s' bssid=" LOG_SECRET("%s") " reason='%s'", it.ssid_len, + (const char *) it.ssid, bssid_s, LOG_STR_ARG(get_disconnect_reason_str(it.reason))); s_sta_connect_error = true; } s_sta_connected = false; @@ -599,18 +598,30 @@ void WiFiComponent::wifi_event_callback(System_Event_t *event) { break; } case EVENT_SOFTAPMODE_STACONNECTED: { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE auto it = event->event_info.sta_connected; - ESP_LOGV(TAG, "AP client connected MAC=%s aid=%u", format_mac_address_pretty(it.mac).c_str(), it.aid); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGV(TAG, "AP client connected MAC=%s aid=%u", mac_buf, it.aid); +#endif break; } case EVENT_SOFTAPMODE_STADISCONNECTED: { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE auto it = event->event_info.sta_disconnected; - ESP_LOGV(TAG, "AP client disconnected MAC=%s aid=%u", format_mac_address_pretty(it.mac).c_str(), it.aid); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGV(TAG, "AP client disconnected MAC=%s aid=%u", mac_buf, it.aid); +#endif break; } case EVENT_SOFTAPMODE_PROBEREQRECVED: { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE auto it = event->event_info.ap_probereqrecved; - ESP_LOGVV(TAG, "AP receive Probe Request MAC=%s RSSI=%d", format_mac_address_pretty(it.mac).c_str(), it.rssi); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGVV(TAG, "AP receive Probe Request MAC=%s RSSI=%d", mac_buf, it.rssi); +#endif break; } #if USE_ARDUINO_VERSION_CODE >= VERSION_CODE(2, 4, 0) @@ -621,9 +632,12 @@ void WiFiComponent::wifi_event_callback(System_Event_t *event) { break; } case EVENT_SOFTAPMODE_DISTRIBUTE_STA_IP: { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE auto it = event->event_info.distribute_sta_ip; - ESP_LOGV(TAG, "AP Distribute Station IP MAC=%s IP=%s aid=%u", format_mac_address_pretty(it.mac).c_str(), - format_ip_addr(it.ip).c_str(), it.aid); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGV(TAG, "AP Distribute Station IP MAC=%s IP=%s aid=%u", mac_buf, format_ip_addr(it.ip).c_str(), it.aid); +#endif break; } #endif @@ -810,10 +824,13 @@ bool WiFiComponent::wifi_ap_ip_config_(const optional &manual_ip) { network::IPAddress start_address = network::IPAddress(&info.ip); start_address += 99; lease.start_ip = start_address; - ESP_LOGV(TAG, "DHCP server IP lease start: %s", start_address.str().c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; +#endif + ESP_LOGV(TAG, "DHCP server IP lease start: %s", start_address.str_to(ip_buf)); start_address += 10; lease.end_ip = start_address; - ESP_LOGV(TAG, "DHCP server IP lease end: %s", start_address.str().c_str()); + ESP_LOGV(TAG, "DHCP server IP lease end: %s", start_address.str_to(ip_buf)); if (!wifi_softap_set_dhcps_lease(&lease)) { ESP_LOGE(TAG, "Set SoftAP DHCP lease failed"); return false; diff --git a/esphome/components/wifi/wifi_component_esp_idf.cpp b/esphome/components/wifi/wifi_component_esp_idf.cpp index b26ac3d2e2..820725ed31 100644 --- a/esphome/components/wifi/wifi_component_esp_idf.cpp +++ b/esphome/components/wifi/wifi_component_esp_idf.cpp @@ -483,6 +483,12 @@ bool WiFiComponent::wifi_sta_connect_(const WiFiAP &ap) { s_sta_connected = false; s_sta_connect_error = false; s_sta_connect_not_found = false; + // Reset IP address flags - ensures we don't report connected before DHCP completes + // (IP_EVENT_STA_LOST_IP doesn't always fire on disconnect) + this->got_ipv4_address_ = false; +#if USE_NETWORK_IPV6 + this->num_ipv6_addresses_ = 0; +#endif err = esp_wifi_connect(); if (err != ESP_OK) { @@ -728,16 +734,16 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { } else if (data->event_base == WIFI_EVENT && data->event_id == WIFI_EVENT_STA_CONNECTED) { const auto &it = data->data.sta_connected; - char buf[33]; - assert(it.ssid_len <= 32); - memcpy(buf, it.ssid, it.ssid_len); - buf[it.ssid_len] = '\0'; - ESP_LOGV(TAG, "Connected ssid='%s' bssid=" LOG_SECRET("%s") " channel=%u, authmode=%s", buf, - format_mac_address_pretty(it.bssid).c_str(), it.channel, get_auth_mode_str(it.authmode)); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char bssid_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.bssid, bssid_buf); + ESP_LOGV(TAG, "Connected ssid='%.*s' bssid=" LOG_SECRET("%s") " channel=%u, authmode=%s", it.ssid_len, + (const char *) it.ssid, bssid_buf, it.channel, get_auth_mode_str(it.authmode)); +#endif s_sta_connected = true; #ifdef USE_WIFI_LISTENERS for (auto *listener : this->connect_state_listeners_) { - listener->on_wifi_connect_state(StringRef(buf, it.ssid_len), it.bssid); + listener->on_wifi_connect_state(StringRef(it.ssid, it.ssid_len), it.bssid); } // For static IP configurations, GOT_IP event may not fire, so notify IP listeners here #ifdef USE_WIFI_MANUAL_IP @@ -751,21 +757,18 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { } else if (data->event_base == WIFI_EVENT && data->event_id == WIFI_EVENT_STA_DISCONNECTED) { const auto &it = data->data.sta_disconnected; - char buf[33]; - assert(it.ssid_len <= 32); - memcpy(buf, it.ssid, it.ssid_len); - buf[it.ssid_len] = '\0'; if (it.reason == WIFI_REASON_NO_AP_FOUND) { - ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf); + ESP_LOGW(TAG, "Disconnected ssid='%.*s' reason='Probe Request Unsuccessful'", it.ssid_len, + (const char *) it.ssid); s_sta_connect_not_found = true; } else if (it.reason == WIFI_REASON_ROAMING) { - ESP_LOGI(TAG, "Disconnected ssid='%s' reason='Station Roaming'", buf); + ESP_LOGI(TAG, "Disconnected ssid='%.*s' reason='Station Roaming'", it.ssid_len, (const char *) it.ssid); return; } else { char bssid_s[18]; format_mac_addr_upper(it.bssid, bssid_s); - ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf, bssid_s, - get_disconnect_reason_str(it.reason)); + ESP_LOGW(TAG, "Disconnected ssid='%.*s' bssid=" LOG_SECRET("%s") " reason='%s'", it.ssid_len, + (const char *) it.ssid, bssid_s, get_disconnect_reason_str(it.reason)); s_sta_connect_error = true; } s_sta_connected = false; @@ -855,16 +858,28 @@ void WiFiComponent::wifi_process_event_(IDFWiFiEvent *data) { this->ap_started_ = false; } else if (data->event_base == WIFI_EVENT && data->event_id == WIFI_EVENT_AP_PROBEREQRECVED) { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE const auto &it = data->data.ap_probe_req_rx; - ESP_LOGVV(TAG, "AP receive Probe Request MAC=%s RSSI=%d", format_mac_address_pretty(it.mac).c_str(), it.rssi); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGVV(TAG, "AP receive Probe Request MAC=%s RSSI=%d", mac_buf, it.rssi); +#endif } else if (data->event_base == WIFI_EVENT && data->event_id == WIFI_EVENT_AP_STACONNECTED) { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE const auto &it = data->data.ap_staconnected; - ESP_LOGV(TAG, "AP client connected MAC=%s", format_mac_address_pretty(it.mac).c_str()); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGV(TAG, "AP client connected MAC=%s", mac_buf); +#endif } else if (data->event_base == WIFI_EVENT && data->event_id == WIFI_EVENT_AP_STADISCONNECTED) { +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE const auto &it = data->data.ap_stadisconnected; - ESP_LOGV(TAG, "AP client disconnected MAC=%s", format_mac_address_pretty(it.mac).c_str()); + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(it.mac, mac_buf); + ESP_LOGV(TAG, "AP client disconnected MAC=%s", mac_buf); +#endif } else if (data->event_base == IP_EVENT && data->event_id == IP_EVENT_AP_STAIPASSIGNED) { const auto &it = data->data.ip_ap_staipassigned; @@ -963,10 +978,13 @@ bool WiFiComponent::wifi_ap_ip_config_(const optional &manual_ip) { network::IPAddress start_address = network::IPAddress(&info.ip); start_address += 99; lease.start_ip = start_address; - ESP_LOGV(TAG, "DHCP server IP lease start: %s", start_address.str().c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERBOSE + char ip_buf[network::IP_ADDRESS_BUFFER_SIZE]; +#endif + ESP_LOGV(TAG, "DHCP server IP lease start: %s", start_address.str_to(ip_buf)); start_address += 10; lease.end_ip = start_address; - ESP_LOGV(TAG, "DHCP server IP lease end: %s", start_address.str().c_str()); + ESP_LOGV(TAG, "DHCP server IP lease end: %s", start_address.str_to(ip_buf)); err = esp_netif_dhcps_option(s_ap_netif, ESP_NETIF_OP_SET, ESP_NETIF_REQUESTED_IP_ADDRESS, &lease, sizeof(lease)); if (err != ESP_OK) { @@ -978,8 +996,10 @@ bool WiFiComponent::wifi_ap_ip_config_(const optional &manual_ip) { // Configure DHCP Option 114 (Captive Portal URI) if captive portal is enabled // This provides a standards-compliant way for clients to discover the captive portal if (captive_portal::global_captive_portal != nullptr) { - static char captive_portal_uri[32]; - snprintf(captive_portal_uri, sizeof(captive_portal_uri), "http://%s", network::IPAddress(&info.ip).str().c_str()); + // Buffer must be static - dhcps_set_option_info stores pointer, doesn't copy + static char captive_portal_uri[24]; // "http://" (7) + IPv4 max (15) + null + memcpy(captive_portal_uri, "http://", 7); // NOLINT(bugprone-not-null-terminated-result) - str_to null-terminates + network::IPAddress(&info.ip).str_to(captive_portal_uri + 7); err = esp_netif_dhcps_option(s_ap_netif, ESP_NETIF_OP_SET, ESP_NETIF_CAPTIVEPORTAL_URI, captive_portal_uri, strlen(captive_portal_uri)); if (err != ESP_OK) { diff --git a/esphome/components/wifi/wifi_component_libretiny.cpp b/esphome/components/wifi/wifi_component_libretiny.cpp index 9b8653d0db..9bbd319f33 100644 --- a/esphome/components/wifi/wifi_component_libretiny.cpp +++ b/esphome/components/wifi/wifi_component_libretiny.cpp @@ -296,14 +296,12 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_ } case ESPHOME_EVENT_ID_WIFI_STA_CONNECTED: { auto it = info.wifi_sta_connected; - char buf[33]; - memcpy(buf, it.ssid, it.ssid_len); - buf[it.ssid_len] = '\0'; - ESP_LOGV(TAG, "Connected ssid='%s' bssid=" LOG_SECRET("%s") " channel=%u, authmode=%s", buf, - format_mac_address_pretty(it.bssid).c_str(), it.channel, get_auth_mode_str(it.authmode)); + ESP_LOGV(TAG, "Connected ssid='%.*s' bssid=" LOG_SECRET("%s") " channel=%u, authmode=%s", it.ssid_len, + (const char *) it.ssid, format_mac_address_pretty(it.bssid).c_str(), it.channel, + get_auth_mode_str(it.authmode)); #ifdef USE_WIFI_LISTENERS for (auto *listener : this->connect_state_listeners_) { - listener->on_wifi_connect_state(StringRef(buf, it.ssid_len), it.bssid); + listener->on_wifi_connect_state(StringRef(it.ssid, it.ssid_len), it.bssid); } // For static IP configurations, GOT_IP event may not fire, so notify IP listeners here #ifdef USE_WIFI_MANUAL_IP @@ -318,9 +316,6 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_ } case ESPHOME_EVENT_ID_WIFI_STA_DISCONNECTED: { auto it = info.wifi_sta_disconnected; - char buf[33]; - memcpy(buf, it.ssid, it.ssid_len); - buf[it.ssid_len] = '\0'; // LibreTiny can send spurious disconnect events with empty ssid/bssid during connection. // These are typically "Association Leave" events that don't indicate actual failures: @@ -339,12 +334,13 @@ void WiFiComponent::wifi_event_callback_(esphome_wifi_event_id_t event, esphome_ } if (it.reason == WIFI_REASON_NO_AP_FOUND) { - ESP_LOGW(TAG, "Disconnected ssid='%s' reason='Probe Request Unsuccessful'", buf); + ESP_LOGW(TAG, "Disconnected ssid='%.*s' reason='Probe Request Unsuccessful'", it.ssid_len, + (const char *) it.ssid); } else { char bssid_s[18]; format_mac_addr_upper(it.bssid, bssid_s); - ESP_LOGW(TAG, "Disconnected ssid='%s' bssid=" LOG_SECRET("%s") " reason='%s'", buf, bssid_s, - get_disconnect_reason_str(it.reason)); + ESP_LOGW(TAG, "Disconnected ssid='%.*s' bssid=" LOG_SECRET("%s") " reason='%s'", it.ssid_len, + (const char *) it.ssid, bssid_s, get_disconnect_reason_str(it.reason)); } uint8_t reason = it.reason; diff --git a/esphome/components/wts01/wts01.cpp b/esphome/components/wts01/wts01.cpp index cb910d89cf..a7948c805a 100644 --- a/esphome/components/wts01/wts01.cpp +++ b/esphome/components/wts01/wts01.cpp @@ -71,17 +71,20 @@ void WTS01Sensor::process_packet_() { } // Extract temperature value - int8_t temp = this->buffer_[6]; - int32_t sign = 1; + const uint8_t raw = this->buffer_[6]; - // Handle negative temperatures - if (temp < 0) { - sign = -1; + // WTS01 encodes sign in bit 7, magnitude in bits 0-6 + const bool negative = (raw & 0x80) != 0; + const uint8_t magnitude = raw & 0x7F; + + const float decimal = static_cast(this->buffer_[7]) / 100.0f; + + float temperature = static_cast(magnitude) + decimal; + + if (negative) { + temperature = -temperature; } - // Calculate temperature (temp + decimal/100) - float temperature = static_cast(temp) + (sign * static_cast(this->buffer_[7]) / 100.0f); - ESP_LOGV(TAG, "Received new temperature: %.2f°C", temperature); this->publish_state(temperature); diff --git a/esphome/components/xiaomi_ble/xiaomi_ble.cpp b/esphome/components/xiaomi_ble/xiaomi_ble.cpp index 564870d74e..9f25063133 100644 --- a/esphome/components/xiaomi_ble/xiaomi_ble.cpp +++ b/esphome/components/xiaomi_ble/xiaomi_ble.cpp @@ -12,6 +12,9 @@ namespace xiaomi_ble { static const char *const TAG = "xiaomi_ble"; +// Maximum bytes to log in very verbose hex output (covers largest packet of ~24 bytes) +static constexpr size_t XIAOMI_MAX_LOG_BYTES = 32; + bool parse_xiaomi_value(uint16_t value_type, const uint8_t *data, uint8_t value_length, XiaomiParseResult &result) { // button pressed, 3 bytes, only byte 3 is used for supported devices so far if ((value_type == 0x1001) && (value_length == 3)) { @@ -263,7 +266,10 @@ optional parse_xiaomi_header(const esp32_ble_tracker::Service bool decrypt_xiaomi_payload(std::vector &raw, const uint8_t *bindkey, const uint64_t &address) { if ((raw.size() != 19) && ((raw.size() < 22) || (raw.size() > 24))) { ESP_LOGVV(TAG, "decrypt_xiaomi_payload(): data packet has wrong size (%d)!", raw.size()); - ESP_LOGVV(TAG, " Packet : %s", format_hex_pretty(raw.data(), raw.size()).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(XIAOMI_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, " Packet : %s", format_hex_pretty_to(hex_buf, raw.data(), raw.size())); return false; } @@ -320,12 +326,17 @@ bool decrypt_xiaomi_payload(std::vector &raw, const uint8_t *bindkey, c memcpy(mac_address + 4, mac_reverse + 1, 1); memcpy(mac_address + 5, mac_reverse, 1); ESP_LOGVV(TAG, "decrypt_xiaomi_payload(): authenticated decryption failed."); - ESP_LOGVV(TAG, " MAC address : %s", format_mac_address_pretty(mac_address).c_str()); - ESP_LOGVV(TAG, " Packet : %s", format_hex_pretty(raw.data(), raw.size()).c_str()); - ESP_LOGVV(TAG, " Key : %s", format_hex_pretty(vector.key, vector.keysize).c_str()); - ESP_LOGVV(TAG, " Iv : %s", format_hex_pretty(vector.iv, vector.ivsize).c_str()); - ESP_LOGVV(TAG, " Cipher : %s", format_hex_pretty(vector.ciphertext, vector.datasize).c_str()); - ESP_LOGVV(TAG, " Tag : %s", format_hex_pretty(vector.tag, vector.tagsize).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char mac_buf[MAC_ADDRESS_PRETTY_BUFFER_SIZE]; + format_mac_addr_upper(mac_address, mac_buf); + char hex_buf[format_hex_pretty_size(XIAOMI_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, " MAC address : %s", mac_buf); + ESP_LOGVV(TAG, " Packet : %s", format_hex_pretty_to(hex_buf, raw.data(), raw.size())); + ESP_LOGVV(TAG, " Key : %s", format_hex_pretty_to(hex_buf, vector.key, vector.keysize)); + ESP_LOGVV(TAG, " Iv : %s", format_hex_pretty_to(hex_buf, vector.iv, vector.ivsize)); + ESP_LOGVV(TAG, " Cipher : %s", format_hex_pretty_to(hex_buf, vector.ciphertext, vector.datasize)); + ESP_LOGVV(TAG, " Tag : %s", format_hex_pretty_to(hex_buf, vector.tag, vector.tagsize)); mbedtls_ccm_free(&ctx); return false; } @@ -341,8 +352,11 @@ bool decrypt_xiaomi_payload(std::vector &raw, const uint8_t *bindkey, c raw[0] &= ~0x08; ESP_LOGVV(TAG, "decrypt_xiaomi_payload(): authenticated decryption passed."); - ESP_LOGVV(TAG, " Plaintext : %s, Packet : %d", format_hex_pretty(raw.data() + cipher_pos, vector.datasize).c_str(), - static_cast(raw[4])); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(XIAOMI_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, " Plaintext : %s, Packet : %d", + format_hex_pretty_to(hex_buf, raw.data() + cipher_pos, vector.datasize), static_cast(raw[4])); mbedtls_ccm_free(&ctx); return true; diff --git a/esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp b/esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp index 4642768f90..d7f1ec3782 100644 --- a/esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp +++ b/esphome/components/xiaomi_cgd1/xiaomi_cgd1.cpp @@ -1,4 +1,5 @@ #include "xiaomi_cgd1.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,11 +9,14 @@ namespace xiaomi_cgd1 { static const char *const TAG = "xiaomi_cgd1"; +static constexpr size_t CGD1_BINDKEY_SIZE = 16; + void XiaomiCGD1::dump_config() { + char bindkey_hex[format_hex_pretty_size(CGD1_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi CGD1\n" " Bindkey: %s", - format_hex_pretty(this->bindkey_, 16).c_str()); + format_hex_pretty_to(bindkey_hex, this->bindkey_, CGD1_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp b/esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp index 0dcbcbd05c..9151cbde41 100644 --- a/esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp +++ b/esphome/components/xiaomi_cgdk2/xiaomi_cgdk2.cpp @@ -1,4 +1,5 @@ #include "xiaomi_cgdk2.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,11 +9,14 @@ namespace xiaomi_cgdk2 { static const char *const TAG = "xiaomi_cgdk2"; +static constexpr size_t CGDK2_BINDKEY_SIZE = 16; + void XiaomiCGDK2::dump_config() { + char bindkey_hex[format_hex_pretty_size(CGDK2_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi CGDK2\n" " Bindkey: %s", - format_hex_pretty(this->bindkey_, 16).c_str()); + format_hex_pretty_to(bindkey_hex, this->bindkey_, CGDK2_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp b/esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp index f9fffa3f20..54b50a2eee 100644 --- a/esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp +++ b/esphome/components/xiaomi_cgg1/xiaomi_cgg1.cpp @@ -1,4 +1,5 @@ #include "xiaomi_cgg1.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,11 +9,14 @@ namespace xiaomi_cgg1 { static const char *const TAG = "xiaomi_cgg1"; +static constexpr size_t CGG1_BINDKEY_SIZE = 16; + void XiaomiCGG1::dump_config() { + char bindkey_hex[format_hex_pretty_size(CGG1_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi CGG1\n" " Bindkey: %s", - format_hex_pretty(this->bindkey_, 16).c_str()); + format_hex_pretty_to(bindkey_hex, this->bindkey_, CGG1_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp b/esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp index dff1228f64..da5229c100 100644 --- a/esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp +++ b/esphome/components/xiaomi_lywsd02mmc/xiaomi_lywsd02mmc.cpp @@ -1,4 +1,5 @@ #include "xiaomi_lywsd02mmc.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,11 +9,14 @@ namespace xiaomi_lywsd02mmc { static const char *const TAG = "xiaomi_lywsd02mmc"; +static constexpr size_t LYWSD02MMC_BINDKEY_SIZE = 16; + void XiaomiLYWSD02MMC::dump_config() { + char bindkey_hex[format_hex_pretty_size(LYWSD02MMC_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi LYWSD02MMC\n" " Bindkey: %s", - format_hex_pretty(this->bindkey_, 16).c_str()); + format_hex_pretty_to(bindkey_hex, this->bindkey_, LYWSD02MMC_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp b/esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp index fb0165a21f..44fdb3b816 100644 --- a/esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp +++ b/esphome/components/xiaomi_lywsd03mmc/xiaomi_lywsd03mmc.cpp @@ -1,4 +1,5 @@ #include "xiaomi_lywsd03mmc.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,11 +9,14 @@ namespace xiaomi_lywsd03mmc { static const char *const TAG = "xiaomi_lywsd03mmc"; +static constexpr size_t LYWSD03MMC_BINDKEY_SIZE = 16; + void XiaomiLYWSD03MMC::dump_config() { + char bindkey_hex[format_hex_pretty_size(LYWSD03MMC_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi LYWSD03MMC\n" " Bindkey: %s", - format_hex_pretty(this->bindkey_, 16).c_str()); + format_hex_pretty_to(bindkey_hex, this->bindkey_, LYWSD03MMC_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp b/esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp index 90b654873b..55b81b301e 100644 --- a/esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp +++ b/esphome/components/xiaomi_mhoc401/xiaomi_mhoc401.cpp @@ -1,4 +1,5 @@ #include "xiaomi_mhoc401.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,11 +9,14 @@ namespace xiaomi_mhoc401 { static const char *const TAG = "xiaomi_mhoc401"; +static constexpr size_t MHOC401_BINDKEY_SIZE = 16; + void XiaomiMHOC401::dump_config() { + char bindkey_hex[format_hex_pretty_size(MHOC401_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi MHOC401\n" " Bindkey: %s", - format_hex_pretty(this->bindkey_, 16).c_str()); + format_hex_pretty_to(bindkey_hex, this->bindkey_, MHOC401_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.cpp b/esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.cpp index 498e724368..112bf442e0 100644 --- a/esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.cpp +++ b/esphome/components/xiaomi_rtcgq02lm/xiaomi_rtcgq02lm.cpp @@ -1,4 +1,5 @@ #include "xiaomi_rtcgq02lm.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,9 +9,12 @@ namespace xiaomi_rtcgq02lm { static const char *const TAG = "xiaomi_rtcgq02lm"; +static constexpr size_t RTCGQ02LM_BINDKEY_SIZE = 16; + void XiaomiRTCGQ02LM::dump_config() { + char bindkey_hex[format_hex_pretty_size(RTCGQ02LM_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi RTCGQ02LM"); - ESP_LOGCONFIG(TAG, " Bindkey: %s", format_hex_pretty(this->bindkey_, 16).c_str()); + ESP_LOGCONFIG(TAG, " Bindkey: %s", format_hex_pretty_to(bindkey_hex, this->bindkey_, RTCGQ02LM_BINDKEY_SIZE, '.')); #ifdef USE_BINARY_SENSOR LOG_BINARY_SENSOR(" ", "Motion", this->motion_); LOG_BINARY_SENSOR(" ", "Light", this->light_); diff --git a/esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp b/esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp index f8712e7fd4..d3fec6cc9e 100644 --- a/esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp +++ b/esphome/components/xiaomi_xmwsdj04mmc/xiaomi_xmwsdj04mmc.cpp @@ -1,4 +1,5 @@ #include "xiaomi_xmwsdj04mmc.h" +#include "esphome/core/helpers.h" #include "esphome/core/log.h" #ifdef USE_ESP32 @@ -8,9 +9,12 @@ namespace xiaomi_xmwsdj04mmc { static const char *const TAG = "xiaomi_xmwsdj04mmc"; +static constexpr size_t XMWSDJ04MMC_BINDKEY_SIZE = 16; + void XiaomiXMWSDJ04MMC::dump_config() { + char bindkey_hex[format_hex_pretty_size(XMWSDJ04MMC_BINDKEY_SIZE)]; ESP_LOGCONFIG(TAG, "Xiaomi XMWSDJ04MMC"); - ESP_LOGCONFIG(TAG, " Bindkey: %s", format_hex_pretty(this->bindkey_, 16).c_str()); + ESP_LOGCONFIG(TAG, " Bindkey: %s", format_hex_pretty_to(bindkey_hex, this->bindkey_, XMWSDJ04MMC_BINDKEY_SIZE, '.')); LOG_SENSOR(" ", "Temperature", this->temperature_); LOG_SENSOR(" ", "Humidity", this->humidity_); LOG_SENSOR(" ", "Battery Level", this->battery_level_); diff --git a/esphome/components/xl9535/xl9535.cpp b/esphome/components/xl9535/xl9535.cpp index 958fc5eede..dd6c8188eb 100644 --- a/esphome/components/xl9535/xl9535.cpp +++ b/esphome/components/xl9535/xl9535.cpp @@ -110,7 +110,9 @@ void XL9535Component::pin_mode(uint8_t pin, gpio::Flags mode) { void XL9535GPIOPin::setup() { this->pin_mode(this->flags_); } -std::string XL9535GPIOPin::dump_summary() const { return str_snprintf("%u via XL9535", 15, this->pin_); } +size_t XL9535GPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "%u via XL9535", this->pin_); +} void XL9535GPIOPin::pin_mode(gpio::Flags flags) { this->parent_->pin_mode(this->pin_, flags); } bool XL9535GPIOPin::digital_read() { return this->parent_->digital_read(this->pin_) != this->inverted_; } diff --git a/esphome/components/xl9535/xl9535.h b/esphome/components/xl9535/xl9535.h index 3b511fd9b3..be0e2fbd82 100644 --- a/esphome/components/xl9535/xl9535.h +++ b/esphome/components/xl9535/xl9535.h @@ -39,7 +39,7 @@ class XL9535GPIOPin : public GPIOPin { gpio::Flags get_flags() const override { return this->flags_; } void setup() override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; diff --git a/esphome/components/zephyr/__init__.py b/esphome/components/zephyr/__init__.py index 0381fbcba9..a91d976e6b 100644 --- a/esphome/components/zephyr/__init__.py +++ b/esphome/components/zephyr/__init__.py @@ -21,7 +21,6 @@ from .const import ( ) CODEOWNERS = ["@tomaszduda23"] -AUTO_LOAD = ["preferences"] PrjConfValueType = bool | str | int @@ -111,32 +110,15 @@ def add_extra_script(stage: str, filename: str, path: Path) -> None: def zephyr_to_code(config): - cg.add(zephyr_ns.setup_preferences()) cg.add_build_flag("-DUSE_ZEPHYR") cg.set_cpp_standard("gnu++20") # build is done by west so bypass board checking in platformio cg.add_platformio_option("boards_dir", CORE.relative_build_path("boards")) - # c++ support zephyr_add_prj_conf("NEWLIB_LIBC", True) - zephyr_add_prj_conf("CONFIG_FPU", True) + zephyr_add_prj_conf("FPU", True) zephyr_add_prj_conf("NEWLIB_LIBC_FLOAT_PRINTF", True) - zephyr_add_prj_conf("CPLUSPLUS", True) - zephyr_add_prj_conf("CONFIG_STD_CPP20", True) - zephyr_add_prj_conf("LIB_CPLUSPLUS", True) - # preferences - zephyr_add_prj_conf("SETTINGS", True) - zephyr_add_prj_conf("NVS", True) - zephyr_add_prj_conf("FLASH_MAP", True) - zephyr_add_prj_conf("CONFIG_FLASH", True) - # watchdog - zephyr_add_prj_conf("WATCHDOG", True) - zephyr_add_prj_conf("WDT_DISABLE_AT_BOOT", False) - # disable console - zephyr_add_prj_conf("UART_CONSOLE", False) - zephyr_add_prj_conf("CONSOLE", False, False) - # use NFC pins as GPIO - zephyr_add_prj_conf("NFCT_PINS_AS_GPIOS", True) + zephyr_add_prj_conf("STD_CPP20", True) # os: ***** USAGE FAULT ***** # os: Illegal load of EXC_RETURN into PC @@ -149,6 +131,14 @@ def zephyr_to_code(config): ) +def zephyr_setup_preferences(): + cg.add(zephyr_ns.setup_preferences()) + zephyr_add_prj_conf("SETTINGS", True) + zephyr_add_prj_conf("NVS", True) + zephyr_add_prj_conf("FLASH_MAP", True) + zephyr_add_prj_conf("FLASH", True) + + def _format_prj_conf_val(value: PrjConfValueType) -> str: if isinstance(value, bool): return "y" if value else "n" diff --git a/esphome/components/zephyr/core.cpp b/esphome/components/zephyr/core.cpp index d5427a0ebf..46589cdb62 100644 --- a/esphome/components/zephyr/core.cpp +++ b/esphome/components/zephyr/core.cpp @@ -10,8 +10,10 @@ namespace esphome { +#ifdef CONFIG_WATCHDOG static int wdt_channel_id = -1; // NOLINT(cppcoreguidelines-avoid-non-const-global-variables) static const device *const WDT = DEVICE_DT_GET(DT_ALIAS(watchdog0)); +#endif void yield() { ::k_yield(); } uint32_t millis() { return k_ticks_to_ms_floor32(k_uptime_ticks()); } @@ -20,6 +22,7 @@ void delayMicroseconds(uint32_t us) { ::k_usleep(us); } void delay(uint32_t ms) { ::k_msleep(ms); } void arch_init() { +#ifdef CONFIG_WATCHDOG if (device_is_ready(WDT)) { static wdt_timeout_cfg wdt_config{}; wdt_config.flags = WDT_FLAG_RESET_SOC; @@ -36,12 +39,15 @@ void arch_init() { wdt_setup(WDT, options); } } +#endif } void arch_feed_wdt() { +#ifdef CONFIG_WATCHDOG if (wdt_channel_id >= 0) { wdt_feed(WDT, wdt_channel_id); } +#endif } void arch_restart() { sys_reboot(SYS_REBOOT_COLD); } @@ -72,6 +78,7 @@ bool random_bytes(uint8_t *data, size_t len) { return true; } +#ifdef USE_NRF52 void get_mac_address_raw(uint8_t *mac) { // NOLINT(readability-non-const-parameter) mac[0] = ((NRF_FICR->DEVICEADDR[1] & 0xFFFF) >> 8) | 0xC0; mac[1] = NRF_FICR->DEVICEADDR[1] & 0xFFFF; @@ -80,7 +87,7 @@ void get_mac_address_raw(uint8_t *mac) { // NOLINT(readability-non-const-parame mac[4] = NRF_FICR->DEVICEADDR[0] >> 8; mac[5] = NRF_FICR->DEVICEADDR[0]; } - +#endif } // namespace esphome void setup(); diff --git a/esphome/components/zephyr/gpio.cpp b/esphome/components/zephyr/gpio.cpp index 41b983535c..1d5b0f282b 100644 --- a/esphome/components/zephyr/gpio.cpp +++ b/esphome/components/zephyr/gpio.cpp @@ -50,25 +50,7 @@ void ZephyrGPIOPin::attach_interrupt(void (*func)(void *), void *arg, gpio::Inte } void ZephyrGPIOPin::setup() { - const struct device *gpio = nullptr; - if (this->pin_ < 32) { -#define GPIO0 DT_NODELABEL(gpio0) -#if DT_NODE_HAS_STATUS(GPIO0, okay) - gpio = DEVICE_DT_GET(GPIO0); -#else -#error "gpio0 is disabled" -#endif - } else { -#define GPIO1 DT_NODELABEL(gpio1) -#if DT_NODE_HAS_STATUS(GPIO1, okay) - gpio = DEVICE_DT_GET(GPIO1); -#else -#error "gpio1 is disabled" -#endif - } - if (device_is_ready(gpio)) { - this->gpio_ = gpio; - } else { + if (!device_is_ready(this->gpio_)) { ESP_LOGE(TAG, "gpio %u is not ready.", this->pin_); return; } @@ -79,23 +61,22 @@ void ZephyrGPIOPin::pin_mode(gpio::Flags flags) { if (nullptr == this->gpio_) { return; } - auto ret = gpio_pin_configure(this->gpio_, this->pin_ % 32, flags_to_mode(flags, this->inverted_, this->value_)); + auto ret = gpio_pin_configure(this->gpio_, this->pin_ % this->gpio_size_, + flags_to_mode(flags, this->inverted_, this->value_)); if (ret != 0) { ESP_LOGE(TAG, "gpio %u cannot be configured %d.", this->pin_, ret); } } -std::string ZephyrGPIOPin::dump_summary() const { - char buffer[32]; - snprintf(buffer, sizeof(buffer), "GPIO%u, P%u.%u", this->pin_, this->pin_ / 32, this->pin_ % 32); - return buffer; +size_t ZephyrGPIOPin::dump_summary(char *buffer, size_t len) const { + return snprintf(buffer, len, "GPIO%u, %s%u", this->pin_, this->pin_name_prefix_, this->pin_ % this->gpio_size_); } bool ZephyrGPIOPin::digital_read() { if (nullptr == this->gpio_) { return false; } - return bool(gpio_pin_get(this->gpio_, this->pin_ % 32) != this->inverted_); + return bool(gpio_pin_get(this->gpio_, this->pin_ % this->gpio_size_) != this->inverted_); } void ZephyrGPIOPin::digital_write(bool value) { @@ -105,7 +86,7 @@ void ZephyrGPIOPin::digital_write(bool value) { if (nullptr == this->gpio_) { return; } - gpio_pin_set(this->gpio_, this->pin_ % 32, value != this->inverted_ ? 1 : 0); + gpio_pin_set(this->gpio_, this->pin_ % this->gpio_size_, value != this->inverted_ ? 1 : 0); } void ZephyrGPIOPin::detach_interrupt() const { // TODO diff --git a/esphome/components/zephyr/gpio.h b/esphome/components/zephyr/gpio.h index 6e8f81857a..c9540f4f01 100644 --- a/esphome/components/zephyr/gpio.h +++ b/esphome/components/zephyr/gpio.h @@ -8,6 +8,11 @@ namespace zephyr { class ZephyrGPIOPin : public InternalGPIOPin { public: + ZephyrGPIOPin(const device *gpio, int gpio_size, const char *pin_name_prefix) { + this->gpio_ = gpio; + this->gpio_size_ = gpio_size; + this->pin_name_prefix_ = pin_name_prefix; + } void set_pin(uint8_t pin) { this->pin_ = pin; } void set_inverted(bool inverted) { this->inverted_ = inverted; } void set_flags(gpio::Flags flags) { this->flags_ = flags; } @@ -16,7 +21,7 @@ class ZephyrGPIOPin : public InternalGPIOPin { void pin_mode(gpio::Flags flags) override; bool digital_read() override; void digital_write(bool value) override; - std::string dump_summary() const override; + size_t dump_summary(char *buffer, size_t len) const override; void detach_interrupt() const override; ISRInternalGPIOPin to_isr() const override; uint8_t get_pin() const override { return this->pin_; } @@ -25,10 +30,12 @@ class ZephyrGPIOPin : public InternalGPIOPin { protected: void attach_interrupt(void (*func)(void *), void *arg, gpio::InterruptType type) const override; - uint8_t pin_; - bool inverted_{}; - gpio::Flags flags_{}; const device *gpio_{nullptr}; + const char *pin_name_prefix_{nullptr}; + gpio::Flags flags_{}; + uint8_t pin_; + uint8_t gpio_size_{}; + bool inverted_{}; bool value_{false}; }; diff --git a/esphome/components/zephyr/preferences.cpp b/esphome/components/zephyr/preferences.cpp index d702366044..08b361b8fb 100644 --- a/esphome/components/zephyr/preferences.cpp +++ b/esphome/components/zephyr/preferences.cpp @@ -1,4 +1,5 @@ #ifdef USE_ZEPHYR +#ifdef CONFIG_SETTINGS #include #include "esphome/core/preferences.h" @@ -154,3 +155,4 @@ ESPPreferences *global_preferences; // NOLINT(cppcoreguidelines-avoid-non-const } // namespace esphome #endif +#endif diff --git a/esphome/components/zwave_proxy/zwave_proxy.cpp b/esphome/components/zwave_proxy/zwave_proxy.cpp index bd3f85772b..c1fde4de6b 100644 --- a/esphome/components/zwave_proxy/zwave_proxy.cpp +++ b/esphome/components/zwave_proxy/zwave_proxy.cpp @@ -12,6 +12,9 @@ namespace esphome::zwave_proxy { static const char *const TAG = "zwave_proxy"; +// Maximum bytes to log in very verbose hex output (168 * 3 = 504, under TX buffer size of 512) +static constexpr size_t ZWAVE_MAX_LOG_BYTES = 168; + static constexpr uint8_t ZWAVE_COMMAND_GET_NETWORK_IDS = 0x20; // GET_NETWORK_IDS response: [SOF][LENGTH][TYPE][CMD][HOME_ID(4)][NODE_ID][...] static constexpr uint8_t ZWAVE_COMMAND_TYPE_RESPONSE = 0x01; // Response type field value @@ -123,10 +126,11 @@ void ZWaveProxy::process_uart_() { } void ZWaveProxy::dump_config() { + char hex_buf[format_hex_pretty_size(ZWAVE_HOME_ID_SIZE)]; ESP_LOGCONFIG(TAG, "Z-Wave Proxy:\n" " Home ID: %s", - format_hex_pretty(this->home_id_.data(), this->home_id_.size(), ':', false).c_str()); + format_hex_pretty_to(hex_buf, this->home_id_.data(), this->home_id_.size())); } void ZWaveProxy::api_connection_authenticated(api::APIConnection *conn) { @@ -167,7 +171,8 @@ bool ZWaveProxy::set_home_id(const uint8_t *new_home_id) { return false; // No change } std::memcpy(this->home_id_.data(), new_home_id, this->home_id_.size()); - ESP_LOGI(TAG, "Home ID: %s", format_hex_pretty(this->home_id_.data(), this->home_id_.size(), ':', false).c_str()); + char hex_buf[format_hex_pretty_size(ZWAVE_HOME_ID_SIZE)]; + ESP_LOGI(TAG, "Home ID: %s", format_hex_pretty_to(hex_buf, this->home_id_.data(), this->home_id_.size())); this->home_id_ready_ = true; return true; // Home ID was changed } @@ -177,7 +182,10 @@ void ZWaveProxy::send_frame(const uint8_t *data, size_t length) { ESP_LOGV(TAG, "Skipping sending duplicate response: 0x%02X", data[0]); return; } - ESP_LOGVV(TAG, "Sending: %s", format_hex_pretty(data, length).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(ZWAVE_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, "Sending: %s", format_hex_pretty_to(hex_buf, data, length)); this->write_array(data, length); } @@ -250,7 +258,10 @@ bool ZWaveProxy::parse_byte_(uint8_t byte) { this->parsing_state_ = ZWAVE_PARSING_STATE_SEND_NAK; } else { this->parsing_state_ = ZWAVE_PARSING_STATE_SEND_ACK; - ESP_LOGVV(TAG, "Received frame: %s", format_hex_pretty(this->buffer_.data(), this->buffer_index_).c_str()); +#if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_VERY_VERBOSE + char hex_buf[format_hex_pretty_size(ZWAVE_MAX_LOG_BYTES)]; +#endif + ESP_LOGVV(TAG, "Received frame: %s", format_hex_pretty_to(hex_buf, this->buffer_.data(), this->buffer_index_)); frame_completed = true; } this->response_handler_(); diff --git a/esphome/components/zwave_proxy/zwave_proxy.h b/esphome/components/zwave_proxy/zwave_proxy.h index 137a1206e3..f36287d32a 100644 --- a/esphome/components/zwave_proxy/zwave_proxy.h +++ b/esphome/components/zwave_proxy/zwave_proxy.h @@ -14,6 +14,7 @@ namespace esphome::zwave_proxy { static constexpr size_t MAX_ZWAVE_FRAME_SIZE = 257; // Maximum Z-Wave frame size +static constexpr size_t ZWAVE_HOME_ID_SIZE = 4; // Z-Wave Home ID size in bytes enum ZWaveResponseTypes : uint8_t { ZWAVE_FRAME_TYPE_ACK = 0x06, @@ -73,8 +74,8 @@ class ZWaveProxy : public uart::UARTDevice, public Component { // Pre-allocated message - always ready to send api::ZWaveProxyFrame outgoing_proto_msg_; - std::array buffer_; // Fixed buffer for incoming data - std::array home_id_{0, 0, 0, 0}; // Fixed buffer for home ID + std::array buffer_; // Fixed buffer for incoming data + std::array home_id_{}; // Fixed buffer for home ID // Pointers and 32-bit values (aligned together) api::APIConnection *api_connection_{nullptr}; // Current subscribed client diff --git a/esphome/config_validation.py b/esphome/config_validation.py index d085206ee8..b0da88c50d 100644 --- a/esphome/config_validation.py +++ b/esphome/config_validation.py @@ -1981,6 +1981,26 @@ MQTT_COMMAND_COMPONENT_SCHEMA = MQTT_COMPONENT_SCHEMA.extend( ) +def _validate_no_slash(value): + """Validate that a name does not contain '/' characters. + + The '/' character is used as a path separator in web server URLs, + so it cannot be used in entity or device names. + """ + if "/" in value: + raise Invalid( + f"Name cannot contain '/' character (used as URL path separator): {value}" + ) + return value + + +# Maximum length for entity, device, and area names +# This ensures web server URL IDs fit in a 280-byte buffer: +# domain(20) + "/" + device(120) + "/" + name(120) + null = 263 bytes +# Note: Must be < 255 because web_server UrlMatch uses uint8_t for length fields +NAME_MAX_LENGTH = 120 + + def _validate_entity_name(value): value = string(value) try: @@ -1991,9 +2011,28 @@ def _validate_entity_name(value): requires_friendly_name( "Name cannot be None when esphome->friendly_name is not set!" )(value) + if value is not None: + # Validate length for web server URL compatibility + if len(value) > NAME_MAX_LENGTH: + raise Invalid( + f"Name is too long ({len(value)} chars). " + f"Maximum length is {NAME_MAX_LENGTH} characters." + ) + # Validate no '/' in name for web server URL compatibility + _validate_no_slash(value) return value +def string_no_slash(value): + """Validate a string that cannot contain '/' characters. + + Used for device and area names where '/' is reserved as a URL path separator. + Use with cv.Length() to also enforce maximum length. + """ + value = string(value) + return _validate_no_slash(value) + + ENTITY_BASE_SCHEMA = Schema( { Optional(CONF_NAME): _validate_entity_name, diff --git a/esphome/const.py b/esphome/const.py index 1d46e81f9d..518247aa60 100644 --- a/esphome/const.py +++ b/esphome/const.py @@ -710,6 +710,7 @@ CONF_ON_RELEASE = "on_release" CONF_ON_RESPONSE = "on_response" CONF_ON_SHUTDOWN = "on_shutdown" CONF_ON_SPEED_SET = "on_speed_set" +CONF_ON_START = "on_start" CONF_ON_STATE = "on_state" CONF_ON_SUCCESS = "on_success" CONF_ON_TAG = "on_tag" diff --git a/esphome/core/application.cpp b/esphome/core/application.cpp index 4c9cc6b2b6..f8fa3b333e 100644 --- a/esphome/core/application.cpp +++ b/esphome/core/application.cpp @@ -7,6 +7,9 @@ #ifdef USE_ESP8266 #include #endif +#ifdef USE_ESP32 +#include +#endif #include "esphome/core/version.h" #include "esphome/core/hal.h" #include @@ -203,6 +206,19 @@ void Application::loop() { ESP_LOGI(TAG, "ESPHome version " ESPHOME_VERSION " compiled on %s", build_time_str); #ifdef ESPHOME_PROJECT_NAME ESP_LOGI(TAG, "Project " ESPHOME_PROJECT_NAME " version " ESPHOME_PROJECT_VERSION); +#endif +#ifdef USE_ESP32 + esp_chip_info_t chip_info; + esp_chip_info(&chip_info); + ESP_LOGI(TAG, "ESP32 Chip: %s r%d.%d, %d core(s)", ESPHOME_VARIANT, chip_info.revision / 100, + chip_info.revision % 100, chip_info.cores); +#if defined(USE_ESP32_VARIANT_ESP32) && !defined(USE_ESP32_MIN_CHIP_REVISION_SET) + // Suggest optimization for chips that don't need the PSRAM cache workaround + if (chip_info.revision >= 300) { + ESP_LOGW(TAG, "Set minimum_chip_revision: \"%d.%d\" to reduce binary size", chip_info.revision / 100, + chip_info.revision % 100); + } +#endif #endif } diff --git a/esphome/core/component.cpp b/esphome/core/component.cpp index 97ab2edb5a..90be6cf646 100644 --- a/esphome/core/component.cpp +++ b/esphome/core/component.cpp @@ -205,7 +205,13 @@ void Component::call() { this->call_setup(); #if ESPHOME_LOG_LEVEL >= ESPHOME_LOG_LEVEL_DEBUG uint32_t setup_time = millis() - start_time; - ESP_LOGCONFIG(TAG, "Setup %s took %ums", LOG_STR_ARG(this->get_component_log_str()), (unsigned) setup_time); + // Only log at CONFIG level if setup took longer than the blocking threshold + // to avoid spamming the log and blocking the event loop + if (setup_time >= WARN_IF_BLOCKING_OVER_MS) { + ESP_LOGCONFIG(TAG, "Setup %s took %ums", LOG_STR_ARG(this->get_component_log_str()), (unsigned) setup_time); + } else { + ESP_LOGV(TAG, "Setup %s took %ums", LOG_STR_ARG(this->get_component_log_str()), (unsigned) setup_time); + } #endif break; } diff --git a/esphome/core/config.py b/esphome/core/config.py index 5e32b9380d..f9c3011507 100644 --- a/esphome/core/config.py +++ b/esphome/core/config.py @@ -186,14 +186,14 @@ else: AREA_SCHEMA = cv.Schema( { cv.GenerateID(CONF_ID): cv.declare_id(Area), - cv.Required(CONF_NAME): cv.string, + cv.Required(CONF_NAME): cv.All(cv.string_no_slash, cv.Length(max=120)), } ) DEVICE_SCHEMA = cv.Schema( { cv.GenerateID(CONF_ID): cv.declare_id(Device), - cv.Required(CONF_NAME): cv.string, + cv.Required(CONF_NAME): cv.All(cv.string_no_slash, cv.Length(max=120)), cv.Optional(CONF_AREA_ID): cv.use_id(Area), } ) @@ -207,7 +207,9 @@ CONFIG_SCHEMA = cv.All( cv.Schema( { cv.Required(CONF_NAME): cv.valid_name, - cv.Optional(CONF_FRIENDLY_NAME, ""): cv.All(cv.string, cv.Length(max=120)), + cv.Optional(CONF_FRIENDLY_NAME, ""): cv.All( + cv.string_no_slash, cv.Length(max=120) + ), cv.Optional(CONF_AREA): validate_area_config, cv.Optional(CONF_COMMENT): cv.All(cv.string, cv.Length(max=255)), cv.Required(CONF_BUILD_PATH): cv.string, diff --git a/esphome/core/defines.h b/esphome/core/defines.h index a269f40479..1fddc426d4 100644 --- a/esphome/core/defines.h +++ b/esphome/core/defines.h @@ -144,10 +144,7 @@ #define USE_ONLINE_IMAGE_PNG_SUPPORT #define USE_ONLINE_IMAGE_JPEG_SUPPORT #define USE_OTA -#define USE_OTA_MD5 #define USE_OTA_PASSWORD -#define USE_OTA_SHA256 -#define ALLOW_OTA_DOWNGRADE_MD5 #define USE_OTA_STATE_LISTENER #define USE_OTA_VERSION 2 #define USE_TIME_TIMEZONE @@ -169,6 +166,7 @@ #define USE_MQTT_IDF_ENQUEUE #define USE_ESPHOME_TASK_LOG_BUFFER #define USE_OTA_ROLLBACK +#define USE_ESP32_MIN_CHIP_REVISION_SET #define USE_BLUETOOTH_PROXY #define BLUETOOTH_PROXY_MAX_CONNECTIONS 3 @@ -221,7 +219,7 @@ #define USB_HOST_MAX_REQUESTS 16 #ifdef USE_ARDUINO -#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 2) +#define USE_ARDUINO_VERSION_CODE VERSION_CODE(3, 3, 5) #define USE_ETHERNET #define USE_ETHERNET_KSZ8081 #define USE_ETHERNET_MANUAL_IP diff --git a/esphome/core/entity_base.cpp b/esphome/core/entity_base.cpp index b7616a9ad3..8508b93411 100644 --- a/esphome/core/entity_base.cpp +++ b/esphome/core/entity_base.cpp @@ -9,7 +9,8 @@ static const char *const TAG = "entity_base"; // Entity Name const StringRef &EntityBase::get_name() const { return this->name_; } -void EntityBase::set_name(const char *name) { +void EntityBase::set_name(const char *name) { this->set_name(name, 0); } +void EntityBase::set_name(const char *name, uint32_t object_id_hash) { this->name_ = StringRef(name); if (this->name_.empty()) { #ifdef USE_DEVICES @@ -18,11 +19,29 @@ void EntityBase::set_name(const char *name) { } else #endif { - this->name_ = StringRef(App.get_friendly_name()); + // Bug-for-bug compatibility with OLD behavior: + // - With MAC suffix: OLD code used App.get_friendly_name() directly (no fallback) + // - Without MAC suffix: OLD code used pre-computed object_id with fallback to device name + const std::string &friendly = App.get_friendly_name(); + if (App.is_name_add_mac_suffix_enabled()) { + // MAC suffix enabled - use friendly_name directly (even if empty) for compatibility + this->name_ = StringRef(friendly); + } else { + // No MAC suffix - fallback to device name if friendly_name is empty + this->name_ = StringRef(!friendly.empty() ? friendly : App.get_name()); + } } this->flags_.has_own_name = false; + // Dynamic name - must calculate hash at runtime + this->calc_object_id_(); } else { this->flags_.has_own_name = true; + // Static name - use pre-computed hash if provided + if (object_id_hash != 0) { + this->object_id_hash_ = object_id_hash; + } else { + this->calc_object_id_(); + } } } @@ -45,69 +64,30 @@ void EntityBase::set_icon(const char *icon) { #endif } -// Check if the object_id is dynamic (changes with MAC suffix) -bool EntityBase::is_object_id_dynamic_() const { - return !this->flags_.has_own_name && App.is_name_add_mac_suffix_enabled(); -} - -// Entity Object ID +// Entity Object ID - computed on-demand from name std::string EntityBase::get_object_id() const { - // Check if `App.get_friendly_name()` is constant or dynamic. - if (this->is_object_id_dynamic_()) { - // `App.get_friendly_name()` is dynamic. - return str_sanitize(str_snake_case(App.get_friendly_name())); - } - // `App.get_friendly_name()` is constant. - return this->object_id_c_str_ == nullptr ? "" : this->object_id_c_str_; -} -void EntityBase::set_object_id(const char *object_id) { - this->object_id_c_str_ = object_id; - this->calc_object_id_(); -} - -void EntityBase::set_name_and_object_id(const char *name, const char *object_id) { - this->set_name(name); - this->object_id_c_str_ = object_id; - this->calc_object_id_(); -} - -// Calculate Object ID Hash from Entity Name -void EntityBase::calc_object_id_() { char buf[OBJECT_ID_MAX_LEN]; - StringRef object_id = this->get_object_id_to(buf); - this->object_id_hash_ = fnv1_hash(object_id.c_str()); + size_t len = this->write_object_id_to(buf, sizeof(buf)); + return std::string(buf, len); } -// Format dynamic object_id: sanitized snake_case of friendly_name -static size_t format_dynamic_object_id(char *buf, size_t buf_size) { - const std::string &name = App.get_friendly_name(); - size_t len = std::min(name.size(), buf_size - 1); - for (size_t i = 0; i < len; i++) { - buf[i] = to_sanitized_char(to_snake_case_char(name[i])); - } - buf[len] = '\0'; - return len; +// Calculate Object ID Hash directly from name using snake_case + sanitize +void EntityBase::calc_object_id_() { + this->object_id_hash_ = fnv1_hash_object_id(this->name_.c_str(), this->name_.size()); } size_t EntityBase::write_object_id_to(char *buf, size_t buf_size) const { - if (this->is_object_id_dynamic_()) { - return format_dynamic_object_id(buf, buf_size); + size_t len = std::min(this->name_.size(), buf_size - 1); + for (size_t i = 0; i < len; i++) { + buf[i] = to_sanitized_char(to_snake_case_char(this->name_[i])); } - const char *src = this->object_id_c_str_ == nullptr ? "" : this->object_id_c_str_; - size_t len = strlen(src); - if (len >= buf_size) - len = buf_size - 1; - memcpy(buf, src, len); buf[len] = '\0'; return len; } StringRef EntityBase::get_object_id_to(std::span buf) const { - if (this->is_object_id_dynamic_()) { - size_t len = format_dynamic_object_id(buf.data(), buf.size()); - return StringRef(buf.data(), len); - } - return this->object_id_c_str_ == nullptr ? StringRef() : StringRef(this->object_id_c_str_); + size_t len = this->write_object_id_to(buf.data(), buf.size()); + return StringRef(buf.data(), len); } uint32_t EntityBase::get_object_id_hash() { return this->object_id_hash_; } diff --git a/esphome/core/entity_base.h b/esphome/core/entity_base.h index 93f989934a..a45c7795bf 100644 --- a/esphome/core/entity_base.h +++ b/esphome/core/entity_base.h @@ -28,6 +28,9 @@ class EntityBase { // Get/set the name of this Entity const StringRef &get_name() const; void set_name(const char *name); + /// Set name with pre-computed object_id hash (avoids runtime hash calculation) + /// Use hash=0 for dynamic names that need runtime calculation + void set_name(const char *name, uint32_t object_id_hash); // Get whether this Entity has its own name or it should use the device friendly_name. bool has_own_name() const { return this->flags_.has_own_name; } @@ -43,10 +46,6 @@ class EntityBase { "which will remain available longer. get_object_id() will be removed in 2026.7.0", "2025.12.0") std::string get_object_id() const; - void set_object_id(const char *object_id); - - // Set both name and object_id in one call (reduces generated code size) - void set_name_and_object_id(const char *name, const char *object_id); // Get the unique Object ID of this Entity uint32_t get_object_id_hash(); @@ -100,6 +99,8 @@ class EntityBase { return this->device_->get_device_id(); } void set_device(Device *device) { this->device_ = device; } + // Get the device this entity belongs to (nullptr if main device) + Device *get_device() const { return this->device_; } #endif // Check if this entity has state @@ -140,11 +141,7 @@ class EntityBase { protected: void calc_object_id_(); - /// Check if the object_id is dynamic (changes with MAC suffix) - bool is_object_id_dynamic_() const; - StringRef name_; - const char *object_id_c_str_{nullptr}; #ifdef USE_ENTITY_ICON const char *icon_c_str_{nullptr}; #endif diff --git a/esphome/core/entity_helpers.py b/esphome/core/entity_helpers.py index f360b4d809..c1801c0bda 100644 --- a/esphome/core/entity_helpers.py +++ b/esphome/core/entity_helpers.py @@ -15,7 +15,7 @@ from esphome.const import ( from esphome.core import CORE, ID from esphome.cpp_generator import MockObj, add, get_variable import esphome.final_validate as fv -from esphome.helpers import sanitize, snake_case +from esphome.helpers import fnv1_hash_object_id, sanitize, snake_case from esphome.types import ConfigType, EntityMetadata _LOGGER = logging.getLogger(__name__) @@ -75,34 +75,18 @@ async def setup_entity(var: MockObj, config: ConfigType, platform: str) -> None: config: Configuration dictionary containing entity settings platform: The platform name (e.g., "sensor", "binary_sensor") """ - # Get device info - device_name: str | None = None - device_id_obj: ID | None + # Get device info if configured if device_id_obj := config.get(CONF_DEVICE_ID): device: MockObj = await get_variable(device_id_obj) add(var.set_device(device)) - # Get device name for object ID calculation - device_name = device_id_obj.id - # Calculate base object_id using the same logic as C++ - # This must match the C++ behavior in esphome/core/entity_base.cpp - base_object_id = get_base_entity_object_id( - config[CONF_NAME], CORE.friendly_name, device_name - ) - - if not config[CONF_NAME]: - _LOGGER.debug( - "Entity has empty name, using '%s' as object_id base", base_object_id - ) - - # Set both name and object_id in one call to reduce generated code size - add(var.set_name_and_object_id(config[CONF_NAME], base_object_id)) - _LOGGER.debug( - "Setting object_id '%s' for entity '%s' on platform '%s'", - base_object_id, - config[CONF_NAME], - platform, - ) + # Set the entity name with pre-computed object_id hash + # For named entities: pre-compute hash from entity name + # For empty-name entities: pass 0, C++ calculates hash at runtime from + # device name, friendly_name, or app name (bug-for-bug compatibility) + entity_name = config[CONF_NAME] + object_id_hash = fnv1_hash_object_id(entity_name) if entity_name else 0 + add(var.set_name(entity_name, object_id_hash)) # Only set disabled_by_default if True (default is False) if config[CONF_DISABLED_BY_DEFAULT]: add(var.set_disabled_by_default(True)) diff --git a/esphome/core/gpio.cpp b/esphome/core/gpio.cpp new file mode 100644 index 0000000000..21e88b5b6d --- /dev/null +++ b/esphome/core/gpio.cpp @@ -0,0 +1,24 @@ +#include "esphome/core/gpio.h" +#include "esphome/core/log.h" + +namespace esphome { + +#ifdef USE_ESP8266 +void log_pin(const char *tag, const __FlashStringHelper *prefix, GPIOPin *pin) { + if (pin == nullptr) + return; + static constexpr size_t LOG_PIN_PREFIX_MAX_LEN = 32; + char prefix_buf[LOG_PIN_PREFIX_MAX_LEN]; + strncpy_P(prefix_buf, reinterpret_cast(prefix), sizeof(prefix_buf) - 1); + prefix_buf[sizeof(prefix_buf) - 1] = '\0'; + log_pin_with_prefix(tag, prefix_buf, pin); +} +#else +void log_pin(const char *tag, const char *prefix, GPIOPin *pin) { + if (pin == nullptr) + return; + log_pin_with_prefix(tag, prefix, pin); +} +#endif + +} // namespace esphome diff --git a/esphome/core/gpio.h b/esphome/core/gpio.h index dd6f14fef9..f2f85e18bc 100644 --- a/esphome/core/gpio.h +++ b/esphome/core/gpio.h @@ -1,13 +1,22 @@ #pragma once +#include #include +#include #include +#include "esphome/core/helpers.h" +#include "esphome/core/log.h" + namespace esphome { -#define LOG_PIN(prefix, pin) \ - if ((pin) != nullptr) { \ - ESP_LOGCONFIG(TAG, prefix "%s", (pin)->dump_summary().c_str()); \ - } +/// Maximum buffer size for dump_summary output +inline constexpr size_t GPIO_SUMMARY_MAX_LEN = 48; + +#ifdef USE_ESP8266 +#define LOG_PIN(prefix, pin) log_pin(TAG, F(prefix), pin) +#else +#define LOG_PIN(prefix, pin) log_pin(TAG, prefix, pin) +#endif // put GPIO flags in a namespace to not pollute esphome namespace namespace gpio { @@ -64,7 +73,17 @@ class GPIOPin { virtual void digital_write(bool value) = 0; - virtual std::string dump_summary() const = 0; + /// Write a summary of this pin to the provided buffer. + /// @param buffer The buffer to write to + /// @param len The size of the buffer (must be > 0) + /// @return The number of characters that would be written (excluding null terminator), + /// which may exceed len-1 if truncation occurred (snprintf semantics) + virtual size_t dump_summary(char *buffer, size_t len) const; + + /// Get a summary of this pin as a string. + /// @deprecated Use dump_summary(char*, size_t) instead. Will be removed in 2026.7.0. + ESPDEPRECATED("Override dump_summary(char*, size_t) instead. Will be removed in 2026.7.0.", "2026.1.0") + virtual std::string dump_summary() const; virtual bool is_internal() { return false; } }; @@ -103,4 +122,41 @@ class InternalGPIOPin : public GPIOPin { virtual void attach_interrupt(void (*func)(void *), void *arg, gpio::InterruptType type) const = 0; }; +// Inline default implementations for GPIOPin virtual methods. +// These provide bridge functionality for backwards compatibility with external components. + +// Default implementation bridges to old std::string method for backwards compatibility. +inline size_t GPIOPin::dump_summary(char *buffer, size_t len) const { + if (len == 0) + return 0; +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + std::string s = this->dump_summary(); +#pragma GCC diagnostic pop + size_t copy_len = std::min(s.size(), len - 1); + memcpy(buffer, s.c_str(), copy_len); + buffer[copy_len] = '\0'; + return s.size(); // Return would-be length (snprintf semantics) +} + +// Default implementation returns empty string. +// External components should override this if they haven't migrated to buffer-based version. +// Remove before 2026.7.0 +inline std::string GPIOPin::dump_summary() const { return {}; } + +// Inline helper for log_pin - allows compiler to inline into log_pin in gpio.cpp +inline void log_pin_with_prefix(const char *tag, const char *prefix, GPIOPin *pin) { + char buffer[GPIO_SUMMARY_MAX_LEN]; + size_t len = pin->dump_summary(buffer, sizeof(buffer)); + len = std::min(len, sizeof(buffer) - 1); + esp_log_printf_(ESPHOME_LOG_LEVEL_CONFIG, tag, __LINE__, "%s%.*s", prefix, (int) len, buffer); +} + +// log_pin function declarations - implementation in gpio.cpp +#ifdef USE_ESP8266 +void log_pin(const char *tag, const __FlashStringHelper *prefix, GPIOPin *pin); +#else +void log_pin(const char *tag, const char *prefix, GPIOPin *pin); +#endif + } // namespace esphome diff --git a/esphome/core/hal.h b/esphome/core/hal.h index 0ccf21ad83..1a4230e421 100644 --- a/esphome/core/hal.h +++ b/esphome/core/hal.h @@ -3,20 +3,12 @@ #include #include "gpio.h" -#if defined(USE_ESP32_FRAMEWORK_ESP_IDF) +#if defined(USE_ESP32) #include #ifndef PROGMEM #define PROGMEM #endif -#elif defined(USE_ESP32_FRAMEWORK_ARDUINO) - -#include - -#ifndef PROGMEM -#define PROGMEM -#endif - #elif defined(USE_ESP8266) #include diff --git a/esphome/core/hash_base.h b/esphome/core/hash_base.h index c45c4df70b..0c1c2dce33 100644 --- a/esphome/core/hash_base.h +++ b/esphome/core/hash_base.h @@ -25,14 +25,8 @@ class HashBase { /// Retrieve the hash as bytes void get_bytes(uint8_t *output) { memcpy(output, this->digest_, this->get_size()); } - /// Retrieve the hash as hex characters - void get_hex(char *output) { - for (size_t i = 0; i < this->get_size(); i++) { - uint8_t byte = this->digest_[i]; - output[i * 2] = format_hex_char(byte >> 4); - output[i * 2 + 1] = format_hex_char(byte & 0x0F); - } - } + /// Retrieve the hash as hex characters. Output buffer must hold get_size() * 2 + 1 bytes. + void get_hex(char *output) { format_hex_to(output, this->get_size() * 2 + 1, this->digest_, this->get_size()); } /// Compare the hash against a provided byte-encoded hash bool equals_bytes(const uint8_t *expected) { return memcmp(this->digest_, expected, this->get_size()) == 0; } diff --git a/esphome/core/helpers.cpp b/esphome/core/helpers.cpp index 5e361ecce2..1c68f1a021 100644 --- a/esphome/core/helpers.cpp +++ b/esphome/core/helpers.cpp @@ -286,43 +286,60 @@ std::string format_mac_address_pretty(const uint8_t *mac) { return std::string(buf); } -std::string format_hex(const uint8_t *data, size_t length) { - std::string ret; - ret.resize(length * 2); - for (size_t i = 0; i < length; i++) { - ret[2 * i] = format_hex_char(data[i] >> 4); - ret[2 * i + 1] = format_hex_char(data[i] & 0x0F); +// Internal helper for hex formatting - base is 'a' for lowercase or 'A' for uppercase +static char *format_hex_internal(char *buffer, size_t buffer_size, const uint8_t *data, size_t length, char separator, + char base) { + if (length == 0) { + buffer[0] = '\0'; + return buffer; + } + // With separator: total length is 3*length (2*length hex chars, (length-1) separators, 1 null terminator) + // Without separator: total length is 2*length + 1 (2*length hex chars, 1 null terminator) + uint8_t stride = separator ? 3 : 2; + size_t max_bytes = separator ? (buffer_size / stride) : ((buffer_size - 1) / stride); + if (max_bytes == 0) { + buffer[0] = '\0'; + return buffer; } - return ret; -} -std::string format_hex(const std::vector &data) { return format_hex(data.data(), data.size()); } - -char *format_hex_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length) { - size_t max_bytes = (buffer_size - 1) / 2; if (length > max_bytes) { length = max_bytes; } for (size_t i = 0; i < length; i++) { - buffer[2 * i] = format_hex_char(data[i] >> 4); - buffer[2 * i + 1] = format_hex_char(data[i] & 0x0F); + size_t pos = i * stride; + buffer[pos] = format_hex_char(data[i] >> 4, base); + buffer[pos + 1] = format_hex_char(data[i] & 0x0F, base); + if (separator && i < length - 1) { + buffer[pos + 2] = separator; + } } - buffer[length * 2] = '\0'; + buffer[length * stride - (separator ? 1 : 0)] = '\0'; return buffer; } +char *format_hex_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length) { + return format_hex_internal(buffer, buffer_size, data, length, 0, 'a'); +} + +std::string format_hex(const uint8_t *data, size_t length) { + std::string ret; + ret.resize(length * 2); + format_hex_to(&ret[0], length * 2 + 1, data, length); + return ret; +} +std::string format_hex(const std::vector &data) { return format_hex(data.data(), data.size()); } + +char *format_hex_pretty_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length, char separator) { + return format_hex_internal(buffer, buffer_size, data, length, separator, 'A'); +} + // Shared implementation for uint8_t and string hex formatting static std::string format_hex_pretty_uint8(const uint8_t *data, size_t length, char separator, bool show_length) { if (data == nullptr || length == 0) return ""; std::string ret; - uint8_t multiple = separator ? 3 : 2; // 3 if separator is not \0, 2 otherwise - ret.resize(multiple * length - (separator ? 1 : 0)); - for (size_t i = 0; i < length; i++) { - ret[multiple * i] = format_hex_pretty_char(data[i] >> 4); - ret[multiple * i + 1] = format_hex_pretty_char(data[i] & 0x0F); - if (separator && i != length - 1) - ret[multiple * i + 2] = separator; - } + size_t hex_len = separator ? (length * 3 - 1) : (length * 2); + ret.resize(hex_len); + format_hex_pretty_to(&ret[0], hex_len + 1, data, length, separator); if (show_length && length > 4) return ret + " (" + std::to_string(length) + ")"; return ret; diff --git a/esphome/core/helpers.h b/esphome/core/helpers.h index 4319e32510..f7a14ed2ec 100644 --- a/esphome/core/helpers.h +++ b/esphome/core/helpers.h @@ -529,6 +529,20 @@ constexpr char to_sanitized_char(char c) { /// Sanitizes the input string by removing all characters but alphanumerics, dashes and underscores. std::string str_sanitize(const std::string &str); +/// Calculate FNV-1 hash of a string while applying snake_case + sanitize transformations. +/// This computes object_id hashes directly from names without creating an intermediate buffer. +/// IMPORTANT: Must match Python fnv1_hash_object_id() in esphome/helpers.py. +/// If you modify this function, update the Python version and tests in both places. +inline uint32_t fnv1_hash_object_id(const char *str, size_t len) { + uint32_t hash = FNV1_OFFSET_BASIS; + for (size_t i = 0; i < len; i++) { + hash *= FNV1_PRIME; + // Apply snake_case (space->underscore, uppercase->lowercase) then sanitize + hash ^= static_cast(to_sanitized_char(to_snake_case_char(str[i]))); + } + return hash; +} + /// snprintf-like function returning std::string of maximum length \p len (excluding null terminator). std::string __attribute__((format(printf, 1, 3))) str_snprintf(const char *fmt, size_t len, ...); @@ -677,12 +691,14 @@ constexpr uint8_t parse_hex_char(char c) { return 255; } +/// Convert a nibble (0-15) to hex char with specified base ('a' for lowercase, 'A' for uppercase) +inline char format_hex_char(uint8_t v, char base) { return v >= 10 ? base + (v - 10) : '0' + v; } + /// Convert a nibble (0-15) to lowercase hex char -inline char format_hex_char(uint8_t v) { return v >= 10 ? 'a' + (v - 10) : '0' + v; } +inline char format_hex_char(uint8_t v) { return format_hex_char(v, 'a'); } /// Convert a nibble (0-15) to uppercase hex char (used for pretty printing) -/// This always uses uppercase (A-F) for pretty/human-readable output -inline char format_hex_pretty_char(uint8_t v) { return v >= 10 ? 'A' + (v - 10) : '0' + v; } +inline char format_hex_pretty_char(uint8_t v) { return format_hex_char(v, 'A'); } /// Write int8 value to buffer without modulo operations. /// Buffer must have at least 4 bytes free. Returns pointer past last char written. @@ -708,28 +724,6 @@ inline char *int8_to_str(char *buf, int8_t val) { return buf; } -/// Format MAC address as XX:XX:XX:XX:XX:XX (uppercase) -inline void format_mac_addr_upper(const uint8_t *mac, char *output) { - for (size_t i = 0; i < 6; i++) { - uint8_t byte = mac[i]; - output[i * 3] = format_hex_pretty_char(byte >> 4); - output[i * 3 + 1] = format_hex_pretty_char(byte & 0x0F); - if (i < 5) - output[i * 3 + 2] = ':'; - } - output[17] = '\0'; -} - -/// Format MAC address as xxxxxxxxxxxxxx (lowercase, no separators) -inline void format_mac_addr_lower_no_sep(const uint8_t *mac, char *output) { - for (size_t i = 0; i < 6; i++) { - uint8_t byte = mac[i]; - output[i * 2] = format_hex_char(byte >> 4); - output[i * 2 + 1] = format_hex_char(byte & 0x0F); - } - output[12] = '\0'; -} - /// Format byte array as lowercase hex to buffer (base implementation). char *format_hex_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length); @@ -748,6 +742,49 @@ inline char *format_hex_to(char (&buffer)[N], T val) { return format_hex_to(buffer, reinterpret_cast(&val), sizeof(T)); } +/// Calculate buffer size needed for format_hex_to: "XXXXXXXX...\0" = bytes * 2 + 1 +constexpr size_t format_hex_size(size_t byte_count) { return byte_count * 2 + 1; } + +/// Calculate buffer size needed for format_hex_pretty_to with separator: "XX:XX:...:XX\0" +constexpr size_t format_hex_pretty_size(size_t byte_count) { return byte_count * 3; } + +/** Format byte array as uppercase hex to buffer (base implementation). + * + * @param buffer Output buffer to write to. + * @param buffer_size Size of the output buffer. + * @param data Pointer to the byte array to format. + * @param length Number of bytes in the array. + * @param separator Character to use between hex bytes, or '\0' for no separator. + * @return Pointer to buffer. + * + * Buffer size needed: length * 3 with separator (for "XX:XX:XX\0"), length * 2 + 1 without. + */ +char *format_hex_pretty_to(char *buffer, size_t buffer_size, const uint8_t *data, size_t length, char separator = ':'); + +/// Format byte array as uppercase hex with separator to buffer. Automatically deduces buffer size. +template +inline char *format_hex_pretty_to(char (&buffer)[N], const uint8_t *data, size_t length, char separator = ':') { + static_assert(N >= 3, "Buffer must hold at least one hex byte"); + return format_hex_pretty_to(buffer, N, data, length, separator); +} + +/// MAC address size in bytes +static constexpr size_t MAC_ADDRESS_SIZE = 6; +/// Buffer size for MAC address with separators: "XX:XX:XX:XX:XX:XX\0" +static constexpr size_t MAC_ADDRESS_PRETTY_BUFFER_SIZE = format_hex_pretty_size(MAC_ADDRESS_SIZE); +/// Buffer size for MAC address without separators: "XXXXXXXXXXXX\0" +static constexpr size_t MAC_ADDRESS_BUFFER_SIZE = MAC_ADDRESS_SIZE * 2 + 1; + +/// Format MAC address as XX:XX:XX:XX:XX:XX (uppercase, colon separators) +inline void format_mac_addr_upper(const uint8_t *mac, char *output) { + format_hex_pretty_to(output, MAC_ADDRESS_PRETTY_BUFFER_SIZE, mac, MAC_ADDRESS_SIZE, ':'); +} + +/// Format MAC address as xxxxxxxxxxxxxx (lowercase, no separators) +inline void format_mac_addr_lower_no_sep(const uint8_t *mac, char *output) { + format_hex_to(output, MAC_ADDRESS_BUFFER_SIZE, mac, MAC_ADDRESS_SIZE); +} + /// Format the six-byte array \p mac into a MAC address. std::string format_mac_address_pretty(const uint8_t mac[6]); /// Format the byte array \p data of length \p len in lowercased hex. @@ -1203,12 +1240,6 @@ class HighFrequencyLoopRequester { /// Get the device MAC address as raw bytes, written into the provided byte array (6 bytes). void get_mac_address_raw(uint8_t *mac); // NOLINT(readability-non-const-parameter) -/// Buffer size for MAC address in lowercase hex notation (12 hex chars + null terminator) -constexpr size_t MAC_ADDRESS_BUFFER_SIZE = 13; - -/// Buffer size for MAC address in colon-separated uppercase hex notation (17 chars + null terminator) -constexpr size_t MAC_ADDRESS_PRETTY_BUFFER_SIZE = 18; - /// Get the device MAC address as a string, in lowercase hex notation. std::string get_mac_address(); diff --git a/esphome/core/lock_free_queue.h b/esphome/core/lock_free_queue.h index 68e2825d09..e96b739b58 100644 --- a/esphome/core/lock_free_queue.h +++ b/esphome/core/lock_free_queue.h @@ -1,12 +1,12 @@ #pragma once -#if defined(USE_ESP32) - #include #include +#ifdef USE_ESP32 #include #include +#endif /* * Lock-free queue for single-producer single-consumer scenarios. @@ -95,7 +95,7 @@ template class LockFreeQueue { } protected: - T *buffer_[SIZE]; + T *buffer_[SIZE]{}; // Atomic: written by producer (push/increment), read+reset by consumer (get_and_reset) std::atomic dropped_count_; // 65535 max - more than enough for drop tracking // Atomic: written by consumer (pop), read by producer (push) to check if full @@ -106,6 +106,7 @@ template class LockFreeQueue { std::atomic tail_; }; +#ifdef USE_ESP32 // Extended queue with task notification support template class NotifyingLockFreeQueue : public LockFreeQueue { public: @@ -140,7 +141,6 @@ template class NotifyingLockFreeQueue : public LockFreeQu private: TaskHandle_t task_to_notify_; }; +#endif } // namespace esphome - -#endif // defined(USE_ESP32) diff --git a/esphome/cpp_generator.py b/esphome/cpp_generator.py index ddccb574e4..cff0748c95 100644 --- a/esphome/cpp_generator.py +++ b/esphome/cpp_generator.py @@ -643,7 +643,7 @@ async def get_variable(id_: ID) -> "MockObj": Wait for the given ID to be defined in the code generation and return it as a MockObj. - This is a coroutine, you need to await it with a 'await' expression! + This is a coroutine, you need to await it with an 'await' expression! :param id_: The ID to retrieve :return: The variable as a MockObj. @@ -656,7 +656,7 @@ async def get_variable_with_full_id(id_: ID) -> tuple[ID, "MockObj"]: Wait for the given ID to be defined in the code generation and return it as a MockObj. - This is a coroutine, you need to await it with a 'await' expression! + This is a coroutine, you need to await it with an 'await' expression! :param id_: The ID to retrieve :return: The variable as a MockObj. diff --git a/esphome/helpers.py b/esphome/helpers.py index d1623d1d3c..ae142b7f8b 100644 --- a/esphome/helpers.py +++ b/esphome/helpers.py @@ -35,6 +35,10 @@ IS_MACOS = platform.system() == "Darwin" IS_WINDOWS = platform.system() == "Windows" IS_LINUX = platform.system() == "Linux" +# FNV-1 hash constants (must match C++ in esphome/core/helpers.h) +FNV1_OFFSET_BASIS = 2166136261 +FNV1_PRIME = 16777619 + def ensure_unique_string(preferred_string, current_strings): test_string = preferred_string @@ -49,8 +53,17 @@ def ensure_unique_string(preferred_string, current_strings): return test_string +def fnv1_hash(string: str) -> int: + """FNV-1 32-bit hash function (multiply then XOR).""" + hash_value = FNV1_OFFSET_BASIS + for char in string: + hash_value = (hash_value * FNV1_PRIME) & 0xFFFFFFFF + hash_value ^= ord(char) + return hash_value + + def fnv1a_32bit_hash(string: str) -> int: - """FNV-1a 32-bit hash function. + """FNV-1a 32-bit hash function (XOR then multiply). Note: This uses 32-bit hash instead of 64-bit for several reasons: 1. ESPHome targets 32-bit microcontrollers with limited RAM (often <320KB) @@ -63,13 +76,22 @@ def fnv1a_32bit_hash(string: str) -> int: a handful of area_ids and device_ids (typically <10 areas and <100 devices), making collisions virtually impossible. """ - hash_value = 2166136261 + hash_value = FNV1_OFFSET_BASIS for char in string: hash_value ^= ord(char) - hash_value = (hash_value * 16777619) & 0xFFFFFFFF + hash_value = (hash_value * FNV1_PRIME) & 0xFFFFFFFF return hash_value +def fnv1_hash_object_id(name: str) -> int: + """Compute FNV-1 hash of name with snake_case + sanitize transformations. + + IMPORTANT: Must produce same result as C++ fnv1_hash_object_id() in helpers.h. + Used for pre-computing entity object_id hashes at code generation time. + """ + return fnv1_hash(sanitize(snake_case(name))) + + def strip_accents(value: str) -> str: """Remove accents from a string.""" import unicodedata diff --git a/esphome/writer.py b/esphome/writer.py index 9ae40e417a..cb9c921693 100644 --- a/esphome/writer.py +++ b/esphome/writer.py @@ -103,14 +103,11 @@ def storage_should_clean(old: StorageJSON | None, new: StorageJSON) -> bool: def storage_should_update_cmake_cache(old: StorageJSON, new: StorageJSON) -> bool: - if ( + # ESP32 uses CMake for both Arduino and ESP-IDF frameworks + return ( old.loaded_integrations != new.loaded_integrations or old.loaded_platforms != new.loaded_platforms - ) and new.core_platform == PLATFORM_ESP32: - from esphome.components.esp32 import FRAMEWORK_ESP_IDF - - return new.framework == FRAMEWORK_ESP_IDF - return False + ) and new.core_platform == PLATFORM_ESP32 def update_storage_json() -> None: diff --git a/platformio.ini b/platformio.ini index e38e1a5f3c..e58989c566 100644 --- a/platformio.ini +++ b/platformio.ini @@ -133,9 +133,9 @@ extra_scripts = post:esphome/components/esp8266/post_build.py.script ; This are common settings for the ESP32 (all variants) using Arduino. [common:esp32-arduino] extends = common:arduino -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-1/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip platform_packages = - pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/3.3.2/esp32-3.3.2.zip + pioarduino/framework-arduinoespressif32@https://github.com/espressif/arduino-esp32/releases/download/3.3.5/esp32-3.3.5.zip framework = arduino, espidf ; Arduino as an ESP-IDF component lib_deps = @@ -170,9 +170,9 @@ extra_scripts = post:esphome/components/esp32/post_build.py.script ; This are common settings for the ESP32 (all variants) using IDF. [common:esp32-idf] extends = common:idf -platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.31-1/platform-espressif32.zip +platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip platform_packages = - pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.5.1/esp-idf-v5.5.1.zip + pioarduino/framework-espidf@https://github.com/pioarduino/esp-idf/releases/download/v5.5.2/esp-idf-v5.5.2.tar.xz framework = espidf lib_deps = diff --git a/requirements.txt b/requirements.txt index e741a70f48..bada581f56 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,17 +12,23 @@ platformio==6.1.18 # When updating platformio, also update /docker/Dockerfile esptool==5.1.0 click==8.1.7 esphome-dashboard==20251013.0 -aioesphomeapi==43.6.0 +aioesphomeapi==43.10.0 zeroconf==0.148.0 puremagic==1.30 -ruamel.yaml==0.18.17 # dashboard_import +ruamel.yaml==0.19.1 # dashboard_import ruamel.yaml.clib==0.2.15 # dashboard_import esphome-glyphsets==0.2.0 pillow==11.3.0 -cairosvg==2.8.2 + +# pycairo fork for Windows +cairosvg @ git+https://github.com/clydebarrow/cairosvg.git@release ; sys_platform == 'win32' + +# Original for everything else +cairosvg==2.8.2 ; sys_platform != 'win32' + freetype-py==2.5.1 jinja2==3.1.6 -bleak==2.0.0 +bleak==2.1.1 # esp-idf >= 5.0 requires this pyparsing >= 3.0 diff --git a/script/api_protobuf/api_protobuf.py b/script/api_protobuf/api_protobuf.py index cb09ef7050..7293f2abbc 100755 --- a/script/api_protobuf/api_protobuf.py +++ b/script/api_protobuf/api_protobuf.py @@ -354,40 +354,31 @@ def create_field_type_info( return FixedArrayRepeatedType(field, size_define) return RepeatedTypeInfo(field) - # Check for mutually exclusive options on bytes fields - if field.type == 12: - has_pointer_to_buffer = get_field_opt(field, pb.pointer_to_buffer, False) - fixed_size = get_field_opt(field, pb.fixed_array_size, None) - - if has_pointer_to_buffer and fixed_size is not None: - raise ValueError( - f"Field '{field.name}' has both pointer_to_buffer and fixed_array_size. " - "These options are mutually exclusive. Use pointer_to_buffer for zero-copy " - "or fixed_array_size for traditional array storage." - ) - - if has_pointer_to_buffer: - # Zero-copy pointer approach - no size needed, will use size_t for length - return PointerToBytesBufferType(field, None) - - if fixed_size is not None: - # Traditional fixed array approach with copy - return FixedArrayBytesType(field, fixed_size) - - # Check for pointer_to_buffer option on string fields - if field.type == 9: - has_pointer_to_buffer = get_field_opt(field, pb.pointer_to_buffer, False) - - if has_pointer_to_buffer: - # Zero-copy pointer approach for strings - return PointerToBytesBufferType(field, None) - # Special handling for bytes fields if field.type == 12: + fixed_size = get_field_opt(field, pb.fixed_array_size, None) + + if fixed_size is not None: + # Traditional fixed array approach with copy (takes priority) + return FixedArrayBytesType(field, fixed_size) + + # For messages that decode (SOURCE_CLIENT or SOURCE_BOTH), use pointer + # for zero-copy access to the receive buffer + if needs_decode: + return PointerToBytesBufferType(field, None) + + # For SOURCE_SERVER (encode only), explicit annotation is still needed + if get_field_opt(field, pb.pointer_to_buffer, False): + return PointerToBytesBufferType(field, None) + return BytesType(field, needs_decode, needs_encode) # Special handling for string fields if field.type == 9: + # For SOURCE_CLIENT only messages (decode but no encode), use StringRef + # for zero-copy access to the receive buffer + if needs_decode and not needs_encode: + return PointerToStringBufferType(field, None) return StringType(field, needs_decode, needs_encode) validate_field_type(field.type, field.name) @@ -840,8 +831,8 @@ class BytesType(TypeInfo): return self.calculate_field_id_size() + 8 # field ID + 8 bytes typical bytes -class PointerToBytesBufferType(TypeInfo): - """Type for bytes fields that use pointer_to_buffer option for zero-copy.""" +class PointerToBufferTypeBase(TypeInfo): + """Base class for pointer_to_buffer types (bytes and strings) for zero-copy decoding.""" @classmethod def can_use_dump_field(cls) -> bool: @@ -851,29 +842,34 @@ class PointerToBytesBufferType(TypeInfo): self, field: descriptor.FieldDescriptorProto, size: int | None = None ) -> None: super().__init__(field) - # Size is not used for pointer_to_buffer - we always use size_t for length self.array_size = 0 @property - def cpp_type(self) -> str: - return "const uint8_t*" + def decode_length(self) -> str | None: + # This is handled in decode_length_content + return None @property - def default_value(self) -> str: - return "nullptr" + def wire_type(self) -> WireType: + """Get the wire type for this field.""" + return WireType.LENGTH_DELIMITED # Uses wire type 2 - @property - def reference_type(self) -> str: - return "const uint8_t*" + def get_estimated_size(self) -> int: + # field ID + length varint + typical data (assume small for pointer fields) + return self.calculate_field_id_size() + 2 + 16 - @property - def const_reference_type(self) -> str: - return "const uint8_t*" + +class PointerToBytesBufferType(PointerToBufferTypeBase): + """Type for bytes fields that use pointer_to_buffer option for zero-copy.""" + + cpp_type = "const uint8_t*" + default_value = "nullptr" + reference_type = "const uint8_t*" + const_reference_type = "const uint8_t*" @property def public_content(self) -> list[str]: # Use uint16_t for length - max packet size is well below 65535 - # Add pointer and length fields return [ f"const uint8_t* {self.field_name}{{nullptr}};", f"uint16_t {self.field_name}_len{{0}};", @@ -885,24 +881,12 @@ class PointerToBytesBufferType(TypeInfo): @property def decode_length_content(self) -> str | None: - # Decode directly stores the pointer to avoid allocation return f"""case {self.number}: {{ - // Use raw data directly to avoid allocation this->{self.field_name} = value.data(); this->{self.field_name}_len = value.size(); break; }}""" - @property - def decode_length(self) -> str | None: - # This is handled in decode_length_content - return None - - @property - def wire_type(self) -> WireType: - """Get the wire type for this bytes field.""" - return WireType.LENGTH_DELIMITED # Uses wire type 2 - def dump(self, name: str) -> str: return ( f"format_hex_pretty(this->{self.field_name}, this->{self.field_name}_len)" @@ -910,7 +894,6 @@ class PointerToBytesBufferType(TypeInfo): @property def dump_content(self) -> str: - # Custom dump that doesn't use dump_field template return ( f'out.append(" {self.name}: ");\n' + f"out.append({self.dump(self.field_name)});\n" @@ -918,11 +901,48 @@ class PointerToBytesBufferType(TypeInfo): ) def get_size_calculation(self, name: str, force: bool = False) -> str: - return f"size.add_length({self.number}, this->{self.field_name}_len);" + return f"size.add_length({self.calculate_field_id_size()}, this->{self.field_name}_len);" - def get_estimated_size(self) -> int: - # field ID + length varint + typical data (assume small for pointer fields) - return self.calculate_field_id_size() + 2 + 16 + +class PointerToStringBufferType(PointerToBufferTypeBase): + """Type for string fields that use pointer_to_buffer option for zero-copy. + + Uses StringRef instead of separate pointer and length fields. + """ + + cpp_type = "StringRef" + default_value = "" + reference_type = "StringRef &" + const_reference_type = "const StringRef &" + + @property + def public_content(self) -> list[str]: + return [f"StringRef {self.field_name}{{}};"] + + @property + def encode_content(self) -> str: + return f"buffer.encode_string({self.number}, this->{self.field_name});" + + @property + def decode_length_content(self) -> str | None: + return f"""case {self.number}: {{ + this->{self.field_name} = StringRef(reinterpret_cast(value.data()), value.size()); + break; + }}""" + + def dump(self, name: str) -> str: + return f'out.append("\'").append(this->{self.field_name}.c_str(), this->{self.field_name}.size()).append("\'");' + + @property + def dump_content(self) -> str: + return ( + f'out.append(" {self.name}: ");\n' + + f"{self.dump(self.field_name)}\n" + + 'out.append("\\n");' + ) + + def get_size_calculation(self, name: str, force: bool = False) -> str: + return f"size.add_length({self.calculate_field_id_size()}, this->{self.field_name}.size());" class FixedArrayBytesType(TypeInfo): diff --git a/script/ci-custom.py b/script/ci-custom.py index 609d89403f..f0676d594b 100755 --- a/script/ci-custom.py +++ b/script/ci-custom.py @@ -552,6 +552,8 @@ def convert_path_to_relative(abspath, current): exclude=[ "esphome/components/libretiny/generate_components.py", "esphome/components/web_server/__init__.py", + # const.py has absolute import in docstring example for external components + "esphome/components/esp8266/const.py", ], ) def lint_relative_py_import(fname: Path, line, col, content): diff --git a/tests/component_tests/binary_sensor/test_binary_sensor.py b/tests/component_tests/binary_sensor/test_binary_sensor.py index 86e0705023..ce4e64681f 100644 --- a/tests/component_tests/binary_sensor/test_binary_sensor.py +++ b/tests/component_tests/binary_sensor/test_binary_sensor.py @@ -29,7 +29,7 @@ def test_binary_sensor_sets_mandatory_fields(generate_main): ) # Then - assert 'bs_1->set_name_and_object_id("test bs1", "test_bs1");' in main_cpp + assert 'bs_1->set_name("test bs1",' in main_cpp assert "bs_1->set_pin(" in main_cpp diff --git a/tests/component_tests/button/test_button.py b/tests/component_tests/button/test_button.py index b21665288c..797b6fb1a4 100644 --- a/tests/component_tests/button/test_button.py +++ b/tests/component_tests/button/test_button.py @@ -26,7 +26,7 @@ def test_button_sets_mandatory_fields(generate_main): main_cpp = generate_main("tests/component_tests/button/test_button.yaml") # Then - assert 'wol_1->set_name_and_object_id("wol_test_1", "wol_test_1");' in main_cpp + assert 'wol_1->set_name("wol_test_1",' in main_cpp assert "wol_2->set_macaddr(18, 52, 86, 120, 144, 171);" in main_cpp diff --git a/tests/component_tests/mipi_spi/conftest.py b/tests/component_tests/mipi_spi/conftest.py index c3070c7965..eddf0987d0 100644 --- a/tests/component_tests/mipi_spi/conftest.py +++ b/tests/component_tests/mipi_spi/conftest.py @@ -20,9 +20,9 @@ def choose_variant_with_pins() -> Generator[Callable[[list], None]]: """ def chooser(pins: list) -> None: - for v in VARIANTS: + for variant in VARIANTS: try: - CORE.data[KEY_ESP32][KEY_VARIANT] = v + CORE.data[KEY_ESP32][KEY_VARIANT] = variant for pin in pins: if pin is not None: pin = gpio_pin_schema( diff --git a/tests/component_tests/mipi_spi/test_init.py b/tests/component_tests/mipi_spi/test_init.py index f752c41d8c..bae39d3879 100644 --- a/tests/component_tests/mipi_spi/test_init.py +++ b/tests/component_tests/mipi_spi/test_init.py @@ -1,4 +1,4 @@ -"""Tests for mpip_spi configuration validation.""" +"""Tests for mipi_spi configuration validation.""" from collections.abc import Callable from pathlib import Path diff --git a/tests/component_tests/text/test_text.py b/tests/component_tests/text/test_text.py index bfc3131f6d..6b047bc62f 100644 --- a/tests/component_tests/text/test_text.py +++ b/tests/component_tests/text/test_text.py @@ -25,7 +25,7 @@ def test_text_sets_mandatory_fields(generate_main): main_cpp = generate_main("tests/component_tests/text/test_text.yaml") # Then - assert 'it_1->set_name_and_object_id("test 1 text", "test_1_text");' in main_cpp + assert 'it_1->set_name("test 1 text",' in main_cpp def test_text_config_value_internal_set(generate_main): diff --git a/tests/component_tests/text_sensor/test_text_sensor.py b/tests/component_tests/text_sensor/test_text_sensor.py index 934ee67cef..1593d0b6d8 100644 --- a/tests/component_tests/text_sensor/test_text_sensor.py +++ b/tests/component_tests/text_sensor/test_text_sensor.py @@ -25,18 +25,9 @@ def test_text_sensor_sets_mandatory_fields(generate_main): main_cpp = generate_main("tests/component_tests/text_sensor/test_text_sensor.yaml") # Then - assert ( - 'ts_1->set_name_and_object_id("Template Text Sensor 1", "template_text_sensor_1");' - in main_cpp - ) - assert ( - 'ts_2->set_name_and_object_id("Template Text Sensor 2", "template_text_sensor_2");' - in main_cpp - ) - assert ( - 'ts_3->set_name_and_object_id("Template Text Sensor 3", "template_text_sensor_3");' - in main_cpp - ) + assert 'ts_1->set_name("Template Text Sensor 1",' in main_cpp + assert 'ts_2->set_name("Template Text Sensor 2",' in main_cpp + assert 'ts_3->set_name("Template Text Sensor 3",' in main_cpp def test_text_sensor_config_value_internal_set(generate_main): diff --git a/tests/components/animation/test.rp2040-ard.yaml b/tests/components/animation/test.rp2040-ard.yaml index 32fb4efb04..2c99e937f3 100644 --- a/tests/components/animation/test.rp2040-ard.yaml +++ b/tests/components/animation/test.rp2040-ard.yaml @@ -11,3 +11,4 @@ display: dc_pin: 21 reset_pin: 22 invert_colors: false + data_rate: 10MHz diff --git a/tests/components/bme68x_bsec2_i2c/common.yaml b/tests/components/bme68x_bsec2_i2c/common.yaml index bee964f433..a462bdaf7f 100644 --- a/tests/components/bme68x_bsec2_i2c/common.yaml +++ b/tests/components/bme68x_bsec2_i2c/common.yaml @@ -9,6 +9,7 @@ bme68x_bsec2_i2c: sensor: - platform: bme68x_bsec2 + id: bme_sensor temperature: name: BME68X Temperature pressure: diff --git a/tests/components/bthome_mithermometer/common.yaml b/tests/components/bthome_mithermometer/common.yaml new file mode 100644 index 0000000000..ba94e46878 --- /dev/null +++ b/tests/components/bthome_mithermometer/common.yaml @@ -0,0 +1,15 @@ +esp32_ble_tracker: + +sensor: + - platform: bthome_mithermometer + mac_address: A4:C1:38:4E:16:78 + temperature: + name: "BTHome Temperature" + humidity: + name: "BTHome Humidity" + battery_level: + name: "BTHome Battery" + battery_voltage: + name: "BTHome Battery Voltage" + signal_strength: + name: "BTHome Signal" diff --git a/tests/components/bthome_mithermometer/test.esp32-idf.yaml b/tests/components/bthome_mithermometer/test.esp32-idf.yaml new file mode 100644 index 0000000000..7a6541ae76 --- /dev/null +++ b/tests/components/bthome_mithermometer/test.esp32-idf.yaml @@ -0,0 +1,4 @@ +packages: + ble: !include ../../test_build_components/common/ble/esp32-idf.yaml + +<<: !include common.yaml diff --git a/tests/components/chsc6x/test.rp2040-ard.yaml b/tests/components/chsc6x/test.rp2040-ard.yaml index 2e3613a4a3..eb21b8ec4b 100644 --- a/tests/components/chsc6x/test.rp2040-ard.yaml +++ b/tests/components/chsc6x/test.rp2040-ard.yaml @@ -9,6 +9,7 @@ display: invert_colors: True cs_pin: 20 dc_pin: 21 + data_rate: 20MHz pages: - id: page1 lambda: |- diff --git a/tests/components/display/common.yaml b/tests/components/display/common.yaml index 27abb23e03..a722a5f7c2 100644 --- a/tests/components/display/common.yaml +++ b/tests/components/display/common.yaml @@ -6,6 +6,7 @@ display: dc_pin: 13 reset_pin: 21 invert_colors: false + data_rate: 20MHz lambda: |- // Draw an analog clock in the center of the screen int centerX = it.get_width() / 2; diff --git a/tests/components/ili9xxx/common.yaml b/tests/components/ili9xxx/common.yaml index 47384b1398..4665e55e4b 100644 --- a/tests/components/ili9xxx/common.yaml +++ b/tests/components/ili9xxx/common.yaml @@ -11,6 +11,7 @@ display: cs_pin: ${cs_pin1} dc_pin: ${dc_pin1} reset_pin: ${reset_pin1} + data_rate: 20MHz lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); - platform: ili9xxx @@ -27,5 +28,6 @@ display: reset_pin: ${reset_pin2} auto_clear_enabled: false rotation: 90 + data_rate: 20MHz lambda: |- it.fill(Color::WHITE); diff --git a/tests/components/image/test.rp2040-ard.yaml b/tests/components/image/test.rp2040-ard.yaml index 40f17d57fe..03a9c42a38 100644 --- a/tests/components/image/test.rp2040-ard.yaml +++ b/tests/components/image/test.rp2040-ard.yaml @@ -9,6 +9,7 @@ display: cs_pin: 20 dc_pin: 21 reset_pin: 22 + data_rate: 20MHz invert_colors: true <<: !include common.yaml diff --git a/tests/components/mhz19/common.yaml b/tests/components/mhz19/common.yaml index 94989fecbe..b12ca50197 100644 --- a/tests/components/mhz19/common.yaml +++ b/tests/components/mhz19/common.yaml @@ -6,3 +6,4 @@ sensor: name: MH-Z19 Temperature automatic_baseline_calibration: false update_interval: 15s + detection_range: 5000ppm diff --git a/tests/components/micronova/common.yaml b/tests/components/micronova/common.yaml index 660970350a..5870d3726f 100644 --- a/tests/components/micronova/common.yaml +++ b/tests/components/micronova/common.yaml @@ -41,7 +41,7 @@ sensor: switch: - platform: micronova stove: - name: Stove on/off + name: Stove text_sensor: - platform: micronova diff --git a/tests/components/online_image/common-rp2040.yaml b/tests/components/online_image/common-rp2040.yaml index 25891b94bc..bbb514bded 100644 --- a/tests/components/online_image/common-rp2040.yaml +++ b/tests/components/online_image/common-rp2040.yaml @@ -8,6 +8,7 @@ display: spi_id: spi_bus id: main_lcd model: ili9342 + data_rate: 20MHz cs_pin: 20 dc_pin: 17 reset_pin: 21 diff --git a/tests/components/opentherm/common.yaml b/tests/components/opentherm/common.yaml index 1e58a04bf0..fb5fb39eb8 100644 --- a/tests/components/opentherm/common.yaml +++ b/tests/components/opentherm/common.yaml @@ -92,7 +92,7 @@ sensor: ch_pump_starts: name: "Boiler Number of starts CH pump" dhw_pump_valve_starts: - name: "Boiler Number of starts DHW pump/valve" + name: "Boiler Number of starts DHW pump valve" dhw_burner_starts: name: "Boiler Number of starts burner during DHW mode" burner_operation_hours: @@ -139,7 +139,7 @@ binary_sensor: dhw_present: name: "Boiler DHW present" control_type_on_off: - name: "Boiler Control type is on/off" + name: "Boiler Control type is on-off" cooling_supported: name: "Boiler Cooling supported" dhw_storage_tank: @@ -153,9 +153,9 @@ binary_sensor: max_ch_setpoint_transfer_enabled: name: "Boiler CH maximum setpoint transfer enabled" dhw_setpoint_rw: - name: "Boiler DHW setpoint read/write" + name: "Boiler DHW setpoint read-write" max_ch_setpoint_rw: - name: "Boiler CH maximum setpoint read/write" + name: "Boiler CH maximum setpoint read-write" switch: - platform: opentherm diff --git a/tests/components/qr_code/common.yaml b/tests/components/qr_code/common.yaml index 15b4e387c6..2ffba67763 100644 --- a/tests/components/qr_code/common.yaml +++ b/tests/components/qr_code/common.yaml @@ -5,6 +5,7 @@ display: cs_pin: ${cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} + data_rate: 500kHz invert_colors: false lambda: |- // Draw a QR code in the center of the screen diff --git a/tests/components/template/common-base.yaml b/tests/components/template/common-base.yaml index f101eea942..e050c0b307 100644 --- a/tests/components/template/common-base.yaml +++ b/tests/components/template/common-base.yaml @@ -9,6 +9,18 @@ esphome: id: template_sens state: !lambda "return 42.0;" + - water_heater.template.publish: + id: template_water_heater + target_temperature: 50.0 + mode: ECO + + # Templated + - water_heater.template.publish: + id: template_water_heater + current_temperature: !lambda "return 45.0;" + target_temperature: !lambda "return 55.0;" + mode: !lambda "return water_heater::WATER_HEATER_MODE_GAS;" + # Test C++ API: set_template() with stateless lambda (no captures) # NOTE: set_template() is not intended to be a public API, but we test it to ensure it doesn't break. - lambda: |- @@ -299,6 +311,24 @@ alarm_control_panel: codes: - "1234" +water_heater: + - platform: template + id: template_water_heater + name: "Template Water Heater" + optimistic: true + current_temperature: !lambda "return 42.0f;" + mode: !lambda "return water_heater::WATER_HEATER_MODE_ECO;" + supported_modes: + - "OFF" + - ECO + - GAS + - ELECTRIC + - HEAT_PUMP + - HIGH_DEMAND + - PERFORMANCE + set_action: + - logger.log: "set_action" + datetime: - platform: template name: Date diff --git a/tests/components/xpt2046/common.yaml b/tests/components/xpt2046/common.yaml index 3a8e3286a6..eddbd24d6a 100644 --- a/tests/components/xpt2046/common.yaml +++ b/tests/components/xpt2046/common.yaml @@ -6,6 +6,7 @@ display: cs_pin: ${disp_cs_pin} dc_pin: ${dc_pin} reset_pin: ${reset_pin} + data_rate: 20MHz invert_colors: false lambda: |- it.rectangle(0, 0, it.get_width(), it.get_height()); diff --git a/tests/components/zhlt01/common.yaml b/tests/components/zhlt01/common.yaml index d0fd531c87..483f9f3c4e 100644 --- a/tests/components/zhlt01/common.yaml +++ b/tests/components/zhlt01/common.yaml @@ -1,4 +1,4 @@ climate: - platform: zhlt01 - name: ZH/LT-01 Climate + name: ZH-LT-01 Climate transmitter_id: xmitr diff --git a/tests/integration/conftest.py b/tests/integration/conftest.py index 965363972f..50e8d4122b 100644 --- a/tests/integration/conftest.py +++ b/tests/integration/conftest.py @@ -51,6 +51,9 @@ if platform.system() == "Windows": import pty # not available on Windows +# Register assert rewrite for entity_utils so assertions have proper error messages +pytest.register_assert_rewrite("tests.integration.entity_utils") + def _get_platformio_env(cache_dir: Path) -> dict[str, str]: """Get environment variables for PlatformIO with shared cache.""" diff --git a/tests/integration/entity_utils.py b/tests/integration/entity_utils.py new file mode 100644 index 0000000000..7596983ee2 --- /dev/null +++ b/tests/integration/entity_utils.py @@ -0,0 +1,145 @@ +"""Utilities for computing entity object_id in integration tests. + +This module contains the algorithm that aioesphomeapi will use to compute +object_id client-side from API data. +""" + +from __future__ import annotations + +from typing import TYPE_CHECKING + +from esphome.helpers import fnv1_hash_object_id, sanitize, snake_case + +if TYPE_CHECKING: + from aioesphomeapi import DeviceInfo, EntityInfo + + +def compute_object_id(name: str) -> str: + """Compute object_id from name using snake_case + sanitize.""" + return sanitize(snake_case(name)) + + +def infer_name_add_mac_suffix(device_info: DeviceInfo) -> bool: + """Infer name_add_mac_suffix from device name ending with MAC suffix.""" + mac_suffix = device_info.mac_address.replace(":", "")[-6:].lower() + return device_info.name.endswith(f"-{mac_suffix}") + + +def _get_name_for_object_id( + entity: EntityInfo, + device_info: DeviceInfo, + device_id_to_name: dict[int, str], +) -> str: + """Get the name used for object_id computation. + + This is the algorithm that aioesphomeapi will use to determine which + name to use for computing object_id client-side from API data. + + Args: + entity: The entity to get name for + device_info: Device info from the API + device_id_to_name: Mapping of device_id to device name for sub-devices + + Returns: + The name to use for object_id computation + """ + if entity.name: + # Named entity: use entity name + return entity.name + if entity.device_id != 0: + # Empty name on sub-device: use sub-device name + return device_id_to_name[entity.device_id] + if infer_name_add_mac_suffix(device_info) or device_info.friendly_name: + # Empty name on main device with MAC suffix or friendly_name: use friendly_name + # (even if empty - this is bug-for-bug compatibility for MAC suffix case) + return device_info.friendly_name + # Empty name on main device, no friendly_name: use device name + return device_info.name + + +def compute_entity_object_id( + entity: EntityInfo, + device_info: DeviceInfo, + device_id_to_name: dict[int, str], +) -> str: + """Compute expected object_id for an entity. + + Args: + entity: The entity to compute object_id for + device_info: Device info from the API + device_id_to_name: Mapping of device_id to device name for sub-devices + + Returns: + The computed object_id string + """ + name_for_id = _get_name_for_object_id(entity, device_info, device_id_to_name) + return compute_object_id(name_for_id) + + +def compute_entity_hash( + entity: EntityInfo, + device_info: DeviceInfo, + device_id_to_name: dict[int, str], +) -> int: + """Compute expected object_id hash for an entity. + + Args: + entity: The entity to compute hash for + device_info: Device info from the API + device_id_to_name: Mapping of device_id to device name for sub-devices + + Returns: + The computed FNV-1 hash + """ + name_for_id = _get_name_for_object_id(entity, device_info, device_id_to_name) + return fnv1_hash_object_id(name_for_id) + + +def verify_entity_object_id( + entity: EntityInfo, + device_info: DeviceInfo, + device_id_to_name: dict[int, str], +) -> None: + """Verify an entity's object_id and hash match the expected values. + + Args: + entity: The entity to verify + device_info: Device info from the API + device_id_to_name: Mapping of device_id to device name for sub-devices + + Raises: + AssertionError: If object_id or hash doesn't match expected value + """ + expected_object_id = compute_entity_object_id( + entity, device_info, device_id_to_name + ) + assert entity.object_id == expected_object_id, ( + f"object_id mismatch for entity '{entity.name}': " + f"expected '{expected_object_id}', got '{entity.object_id}'" + ) + + expected_hash = compute_entity_hash(entity, device_info, device_id_to_name) + assert entity.key == expected_hash, ( + f"hash mismatch for entity '{entity.name}': " + f"expected {expected_hash:#x}, got {entity.key:#x}" + ) + + +def verify_all_entities( + entities: list[EntityInfo], + device_info: DeviceInfo, +) -> None: + """Verify all entities have correct object_id and hash values. + + Args: + entities: List of entities to verify + device_info: Device info from the API + + Raises: + AssertionError: If any entity's object_id or hash doesn't match + """ + # Build device_id -> name lookup from sub-devices + device_id_to_name = {d.device_id: d.name for d in device_info.devices} + + for entity in entities: + verify_entity_object_id(entity, device_info, device_id_to_name) diff --git a/tests/integration/fixtures/fnv1_hash_object_id.yaml b/tests/integration/fixtures/fnv1_hash_object_id.yaml new file mode 100644 index 0000000000..2097b2fbf9 --- /dev/null +++ b/tests/integration/fixtures/fnv1_hash_object_id.yaml @@ -0,0 +1,76 @@ +esphome: + name: fnv1-hash-object-id-test + platformio_options: + build_flags: + - "-DDEBUG" + on_boot: + - lambda: |- + using esphome::fnv1_hash_object_id; + + // Test basic lowercase (hash matches Python fnv1_hash_object_id("foo")) + uint32_t hash_foo = fnv1_hash_object_id("foo", 3); + if (hash_foo == 0x408f5e13) { + ESP_LOGI("FNV1_OID", "foo PASSED"); + } else { + ESP_LOGE("FNV1_OID", "foo FAILED: 0x%08x != 0x408f5e13", hash_foo); + } + + // Test uppercase conversion (should match lowercase) + uint32_t hash_Foo = fnv1_hash_object_id("Foo", 3); + if (hash_Foo == 0x408f5e13) { + ESP_LOGI("FNV1_OID", "upper PASSED"); + } else { + ESP_LOGE("FNV1_OID", "upper FAILED: 0x%08x != 0x408f5e13", hash_Foo); + } + + // Test space to underscore conversion ("foo bar" -> "foo_bar") + uint32_t hash_space = fnv1_hash_object_id("foo bar", 7); + if (hash_space == 0x3ae35aa1) { + ESP_LOGI("FNV1_OID", "space PASSED"); + } else { + ESP_LOGE("FNV1_OID", "space FAILED: 0x%08x != 0x3ae35aa1", hash_space); + } + + // Test underscore preserved ("foo_bar") + uint32_t hash_underscore = fnv1_hash_object_id("foo_bar", 7); + if (hash_underscore == 0x3ae35aa1) { + ESP_LOGI("FNV1_OID", "underscore PASSED"); + } else { + ESP_LOGE("FNV1_OID", "underscore FAILED: 0x%08x != 0x3ae35aa1", hash_underscore); + } + + // Test hyphen preserved ("foo-bar") + uint32_t hash_hyphen = fnv1_hash_object_id("foo-bar", 7); + if (hash_hyphen == 0x438b12e3) { + ESP_LOGI("FNV1_OID", "hyphen PASSED"); + } else { + ESP_LOGE("FNV1_OID", "hyphen FAILED: 0x%08x != 0x438b12e3", hash_hyphen); + } + + // Test special chars become underscore ("foo!bar" -> "foo_bar") + uint32_t hash_special = fnv1_hash_object_id("foo!bar", 7); + if (hash_special == 0x3ae35aa1) { + ESP_LOGI("FNV1_OID", "special PASSED"); + } else { + ESP_LOGE("FNV1_OID", "special FAILED: 0x%08x != 0x3ae35aa1", hash_special); + } + + // Test complex name ("My Sensor Name" -> "my_sensor_name") + uint32_t hash_complex = fnv1_hash_object_id("My Sensor Name", 14); + if (hash_complex == 0x2760962a) { + ESP_LOGI("FNV1_OID", "complex PASSED"); + } else { + ESP_LOGE("FNV1_OID", "complex FAILED: 0x%08x != 0x2760962a", hash_complex); + } + + // Test empty string returns FNV1_OFFSET_BASIS + uint32_t hash_empty = fnv1_hash_object_id("", 0); + if (hash_empty == 0x811c9dc5) { + ESP_LOGI("FNV1_OID", "empty PASSED"); + } else { + ESP_LOGE("FNV1_OID", "empty FAILED: 0x%08x != 0x811c9dc5", hash_empty); + } + +host: +api: +logger: diff --git a/tests/integration/fixtures/host_mode_api_password.yaml b/tests/integration/fixtures/host_mode_api_password.yaml deleted file mode 100644 index 038b6871e0..0000000000 --- a/tests/integration/fixtures/host_mode_api_password.yaml +++ /dev/null @@ -1,14 +0,0 @@ -esphome: - name: host-mode-api-password -host: -api: - password: "test_password_123" -logger: - level: DEBUG -# Test sensor to verify connection works -sensor: - - platform: template - name: Test Sensor - id: test_sensor - lambda: return 42.0; - update_interval: 0.1s diff --git a/tests/integration/fixtures/object_id_api_verification.yaml b/tests/integration/fixtures/object_id_api_verification.yaml new file mode 100644 index 0000000000..386270fc2c --- /dev/null +++ b/tests/integration/fixtures/object_id_api_verification.yaml @@ -0,0 +1,125 @@ +esphome: + name: object-id-test + friendly_name: Test Device + # Enable MAC suffix - host MAC is 98:35:69:ab:f6:79, suffix is "abf679" + # friendly_name becomes "Test Device abf679" + name_add_mac_suffix: true + # Sub-devices for testing empty-name entities on devices + devices: + - id: sub_device_1 + name: Sub Device One + - id: sub_device_2 + name: Sub Device Two + +host: + +api: + +logger: + +sensor: + # Test 1: Basic name -> object_id = "temperature_sensor" + - platform: template + name: "Temperature Sensor" + id: sensor_basic + lambda: return 42.0; + update_interval: 60s + + # Test 2: Uppercase name -> object_id = "uppercase_name" + - platform: template + name: "UPPERCASE NAME" + id: sensor_uppercase + lambda: return 43.0; + update_interval: 60s + + # Test 3: Special characters -> object_id = "special__chars_" + - platform: template + name: "Special!@Chars#" + id: sensor_special + lambda: return 44.0; + update_interval: 60s + + # Test 4: Hyphen preserved -> object_id = "temp-sensor" + - platform: template + name: "Temp-Sensor" + id: sensor_hyphen + lambda: return 45.0; + update_interval: 60s + + # Test 5: Underscore preserved -> object_id = "temp_sensor" + - platform: template + name: "Temp_Sensor" + id: sensor_underscore + lambda: return 46.0; + update_interval: 60s + + # Test 6: Mixed case with spaces -> object_id = "living_room_temperature" + - platform: template + name: "Living Room Temperature" + id: sensor_mixed + lambda: return 47.0; + update_interval: 60s + + # Test 7: Empty name - uses friendly_name with MAC suffix + # friendly_name = "Test Device abf679" -> object_id = "test_device_abf679" + - platform: template + name: "" + id: sensor_empty_name + lambda: return 48.0; + update_interval: 60s + +binary_sensor: + # Test 8: Different platform same conversion rules + - platform: template + name: "Door Open" + id: binary_door + lambda: return true; + + # Test 9: Numbers in name -> object_id = "sensor_123" + - platform: template + name: "Sensor 123" + id: binary_numbers + lambda: return false; + +switch: + # Test 10: Long name with multiple spaces + - platform: template + name: "My Very Long Switch Name Here" + id: switch_long + lambda: return false; + turn_on_action: + - logger.log: "on" + turn_off_action: + - logger.log: "off" + +text_sensor: + # Test 11: Name starting with number (should work fine) + - platform: template + name: "123 Start" + id: text_num_start + lambda: return {"test"}; + update_interval: 60s + +button: + # Test 12: Named entity on sub-device -> object_id from entity name + - platform: template + name: "Device Button" + id: button_on_device + device_id: sub_device_1 + on_press: [] + + # Test 13: Empty name on sub-device -> object_id from device name + # Device name "Sub Device One" -> object_id = "sub_device_one" + - platform: template + name: "" + id: button_empty_on_device1 + device_id: sub_device_1 + on_press: [] + + # Test 14: Empty name on different sub-device + # Device name "Sub Device Two" -> object_id = "sub_device_two" + - platform: template + name: "" + id: button_empty_on_device2 + device_id: sub_device_2 + on_press: [] diff --git a/tests/integration/fixtures/object_id_friendly_name_no_mac_suffix.yaml b/tests/integration/fixtures/object_id_friendly_name_no_mac_suffix.yaml new file mode 100644 index 0000000000..7a86e37d08 --- /dev/null +++ b/tests/integration/fixtures/object_id_friendly_name_no_mac_suffix.yaml @@ -0,0 +1,27 @@ +esphome: + name: test-device + # friendly_name set but NO MAC suffix + # Empty-name entity should use friendly_name for object_id + friendly_name: My Friendly Device + +host: + +api: + +logger: + +sensor: + # Empty name entity - should use friendly_name for object_id + # friendly_name = "My Friendly Device" -> object_id = "my_friendly_device" + - platform: template + name: "" + id: sensor_empty_name + lambda: return 42.0; + update_interval: 60s + + # Named entity for comparison + - platform: template + name: "Temperature" + id: sensor_named + lambda: return 43.0; + update_interval: 60s diff --git a/tests/integration/fixtures/object_id_no_friendly_name_no_mac_suffix.yaml b/tests/integration/fixtures/object_id_no_friendly_name_no_mac_suffix.yaml new file mode 100644 index 0000000000..4a947e0f6a --- /dev/null +++ b/tests/integration/fixtures/object_id_no_friendly_name_no_mac_suffix.yaml @@ -0,0 +1,25 @@ +esphome: + name: test-device + # No friendly_name set, no MAC suffix + # OLD behavior: object_id = device name because Python pre-computed with fallback + +host: + +api: + +logger: + +sensor: + # Empty name entity - OLD behavior used device name as fallback + - platform: template + name: "" + id: sensor_empty_name + lambda: return 42.0; + update_interval: 60s + + # Named entity for comparison + - platform: template + name: "Temperature" + id: sensor_named + lambda: return 43.0; + update_interval: 60s diff --git a/tests/integration/fixtures/object_id_no_friendly_name_with_mac_suffix.yaml b/tests/integration/fixtures/object_id_no_friendly_name_with_mac_suffix.yaml new file mode 100644 index 0000000000..ab12e670a0 --- /dev/null +++ b/tests/integration/fixtures/object_id_no_friendly_name_with_mac_suffix.yaml @@ -0,0 +1,26 @@ +esphome: + name: test-device + # No friendly_name set, MAC suffix enabled + # OLD behavior: object_id = "" (empty) because is_object_id_dynamic_() used App.get_friendly_name() directly + name_add_mac_suffix: true + +host: + +api: + +logger: + +sensor: + # Empty name entity - OLD behavior produced empty object_id when MAC suffix enabled + - platform: template + name: "" + id: sensor_empty_name + lambda: return 42.0; + update_interval: 60s + + # Named entity for comparison + - platform: template + name: "Temperature" + id: sensor_named + lambda: return 43.0; + update_interval: 60s diff --git a/tests/integration/test_fnv1_hash_object_id.py b/tests/integration/test_fnv1_hash_object_id.py new file mode 100644 index 0000000000..23e8ca04c2 --- /dev/null +++ b/tests/integration/test_fnv1_hash_object_id.py @@ -0,0 +1,75 @@ +"""Integration test for fnv1_hash_object_id function. + +This test verifies that the C++ fnv1_hash_object_id() function in +esphome/core/helpers.h produces the same hash values as the Python +fnv1_hash_object_id() function in esphome/helpers.py. + +If this test fails, one of the implementations has diverged and needs +to be updated to match the other. +""" + +from __future__ import annotations + +import asyncio +import re + +import pytest + +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@pytest.mark.asyncio +async def test_fnv1_hash_object_id( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test that C++ fnv1_hash_object_id matches Python implementation.""" + + test_results: dict[str, str] = {} + all_tests_complete = asyncio.Event() + expected_tests = { + "foo", + "upper", + "space", + "underscore", + "hyphen", + "special", + "complex", + "empty", + } + + def on_log_line(line: str) -> None: + """Capture log lines with test results.""" + # Strip ANSI escape codes + clean_line = re.sub(r"\x1b\[[0-9;]*m", "", line) + # Look for our test result messages + # Format: "[timestamp][level][FNV1_OID:line]: test_name PASSED" + match = re.search(r"\[FNV1_OID:\d+\]:\s+(\w+)\s+(PASSED|FAILED)", clean_line) + if match: + test_name = match.group(1) + result = match.group(2) + test_results[test_name] = result + if set(test_results.keys()) >= expected_tests: + all_tests_complete.set() + + async with ( + run_compiled(yaml_config, line_callback=on_log_line), + api_client_connected() as client, + ): + device_info = await client.device_info() + assert device_info is not None + assert device_info.name == "fnv1-hash-object-id-test" + + # Wait for all tests to complete or timeout + try: + await asyncio.wait_for(all_tests_complete.wait(), timeout=2.0) + except TimeoutError: + pytest.fail(f"Tests timed out. Got results for: {set(test_results.keys())}") + + # Verify all tests passed + for test_name in expected_tests: + assert test_name in test_results, f"{test_name} test not found" + assert test_results[test_name] == "PASSED", ( + f"{test_name} test failed - C++ and Python hash mismatch" + ) diff --git a/tests/integration/test_host_mode_api_password.py b/tests/integration/test_host_mode_api_password.py deleted file mode 100644 index 5c5e689e45..0000000000 --- a/tests/integration/test_host_mode_api_password.py +++ /dev/null @@ -1,69 +0,0 @@ -"""Integration test for API password authentication.""" - -from __future__ import annotations - -import asyncio - -from aioesphomeapi import APIConnectionError, InvalidAuthAPIError -import pytest - -from .types import APIClientConnectedFactory, RunCompiledFunction - - -@pytest.mark.asyncio -async def test_host_mode_api_password( - yaml_config: str, - run_compiled: RunCompiledFunction, - api_client_connected: APIClientConnectedFactory, -) -> None: - """Test API authentication with password.""" - async with run_compiled(yaml_config): - # Connect with correct password - async with api_client_connected(password="test_password_123") as client: - # Verify we can get device info - device_info = await client.device_info() - assert device_info is not None - assert device_info.uses_password is True - assert device_info.name == "host-mode-api-password" - - # Subscribe to states to ensure authenticated connection works - loop = asyncio.get_running_loop() - state_future: asyncio.Future[bool] = loop.create_future() - states = {} - - def on_state(state): - states[state.key] = state - if not state_future.done(): - state_future.set_result(True) - - client.subscribe_states(on_state) - - # Wait for at least one state with timeout - try: - await asyncio.wait_for(state_future, timeout=5.0) - except TimeoutError: - pytest.fail("No states received within timeout") - - # Should have received at least one state (the test sensor) - assert len(states) > 0 - - # Test with wrong password - should fail - # Try connecting with wrong password - try: - async with api_client_connected( - password="wrong_password", timeout=5 - ) as client: - # If we get here without exception, try to use the connection - # which should fail if auth failed - await client.device_info_and_list_entities() - # If we successfully got device info and entities, auth didn't fail properly - pytest.fail("Connection succeeded with wrong password") - except (InvalidAuthAPIError, APIConnectionError) as e: - # Expected - auth should fail - # Accept either InvalidAuthAPIError or generic APIConnectionError - # since the client might not always distinguish - assert ( - "password" in str(e).lower() - or "auth" in str(e).lower() - or "invalid" in str(e).lower() - ) diff --git a/tests/integration/test_object_id_api_verification.py b/tests/integration/test_object_id_api_verification.py new file mode 100644 index 0000000000..c8603e0682 --- /dev/null +++ b/tests/integration/test_object_id_api_verification.py @@ -0,0 +1,176 @@ +"""Integration test to verify object_id from API matches Python computation. + +This test verifies a three-way match between: +1. C++ object_id generation (get_object_id_to using to_sanitized_char/to_snake_case_char) +2. C++ hash generation (fnv1_hash_object_id in helpers.h) +3. Python computation (sanitize/snake_case in helpers.py, fnv1_hash_object_id) + +The API response contains C++ computed values, so verifying API == Python +implicitly verifies C++ == Python == API for both object_id and hash. + +This is important for the planned migration to remove object_id from the API +protocol and have clients (like aioesphomeapi) compute it from the name. +See: https://github.com/esphome/backlog/issues/76 + +Test cases covered: +- Named entities with various characters (uppercase, special chars, hyphens, etc.) +- Empty-name entities on main device (uses device's friendly_name with MAC suffix) +- Empty-name entities on sub-devices (uses sub-device's name) +- Named entities on sub-devices (uses entity name, not device name) +- MAC suffix handling (name_add_mac_suffix modifies friendly_name at runtime) +- Both object_id string and hash (key) verification +""" + +from __future__ import annotations + +import pytest + +from esphome.helpers import fnv1_hash_object_id + +from .entity_utils import compute_object_id, verify_all_entities +from .types import APIClientConnectedFactory, RunCompiledFunction + +# Host platform default MAC: 98:35:69:ab:f6:79 -> suffix "abf679" +MAC_SUFFIX = "abf679" + + +# Expected entities with their own names and expected object_ids +# Format: (entity_name, expected_object_id) +NAMED_ENTITIES = [ + # sensor platform + ("Temperature Sensor", "temperature_sensor"), + ("UPPERCASE NAME", "uppercase_name"), + ("Special!@Chars#", "special__chars_"), + ("Temp-Sensor", "temp-sensor"), + ("Temp_Sensor", "temp_sensor"), + ("Living Room Temperature", "living_room_temperature"), + # binary_sensor platform + ("Door Open", "door_open"), + ("Sensor 123", "sensor_123"), + # switch platform + ("My Very Long Switch Name Here", "my_very_long_switch_name_here"), + # text_sensor platform + ("123 Start", "123_start"), + # button platform - named entity on sub-device (uses entity name, not device name) + ("Device Button", "device_button"), +] + +# Sub-device names and their expected object_ids for empty-name entities +# Format: (device_name, expected_object_id) +SUB_DEVICE_EMPTY_NAME_ENTITIES = [ + ("Sub Device One", "sub_device_one"), + ("Sub Device Two", "sub_device_two"), +] + + +@pytest.mark.asyncio +async def test_object_id_api_verification( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test that object_id from API matches Python computation. + + Tests: + 1. Named entities - object_id computed from entity name + 2. Empty-name entities - object_id computed from friendly_name (with MAC suffix) + 3. Hash verification - key can be computed from name + 4. Generic verification - all entities can have object_id computed from API data + """ + async with run_compiled(yaml_config), api_client_connected() as client: + # Get device info + device_info = await client.device_info() + assert device_info is not None + + # Device name should include MAC suffix (hyphen separator) + assert device_info.name == f"object-id-test-{MAC_SUFFIX}", ( + f"Device name mismatch: got '{device_info.name}'" + ) + # Friendly name should include MAC suffix (space separator) + expected_friendly_name = f"Test Device {MAC_SUFFIX}" + assert device_info.friendly_name == expected_friendly_name, ( + f"Friendly name mismatch: got '{device_info.friendly_name}'" + ) + + # Get all entities + entities, _ = await client.list_entities_services() + + # Create a map of entity names to entity info + entity_map = {} + for entity in entities: + entity_map[entity.name] = entity + + # === Test 1: Verify each named entity === + for entity_name, expected_object_id in NAMED_ENTITIES: + assert entity_name in entity_map, ( + f"Entity '{entity_name}' not found in API response. " + f"Available: {list(entity_map.keys())}" + ) + + entity = entity_map[entity_name] + + # Verify object_id matches expected + assert entity.object_id == expected_object_id, ( + f"Entity '{entity_name}': object_id mismatch. " + f"API returned '{entity.object_id}', expected '{expected_object_id}'" + ) + + # Verify Python computation matches + computed = compute_object_id(entity_name) + assert computed == expected_object_id, ( + f"Entity '{entity_name}': Python computation mismatch. " + f"Computed '{computed}', expected '{expected_object_id}'" + ) + + # Verify hash can be computed from the name + hash_from_name = fnv1_hash_object_id(entity_name) + assert hash_from_name == entity.key, ( + f"Entity '{entity_name}': hash mismatch. " + f"Python hash {hash_from_name:#x}, API key {entity.key:#x}" + ) + + # === Test 2: Verify empty-name entities === + # Empty-name entities have name="" in API, object_id comes from: + # - Main device: friendly_name (with MAC suffix) + # - Sub-device: device name + + # Get all empty-name entities + empty_name_entities = [e for e in entities if e.name == ""] + # We expect 3: 1 on main device, 2 on sub-devices + assert len(empty_name_entities) == 3, ( + f"Expected 3 empty-name entities, got {len(empty_name_entities)}" + ) + + # Build device_id -> device_name map from device_info + device_id_to_name = {d.device_id: d.name for d in device_info.devices} + + # Verify each empty-name entity + for entity in empty_name_entities: + if entity.device_id == 0: + # Main device - uses friendly_name with MAC suffix + expected_name = expected_friendly_name + else: + # Sub-device - uses device name + assert entity.device_id in device_id_to_name, ( + f"Entity device_id {entity.device_id} not found in devices" + ) + expected_name = device_id_to_name[entity.device_id] + + expected_object_id = compute_object_id(expected_name) + assert entity.object_id == expected_object_id, ( + f"Empty-name entity (device_id={entity.device_id}): object_id mismatch. " + f"API: '{entity.object_id}', expected: '{expected_object_id}' " + f"(from name '{expected_name}')" + ) + + # Verify hash matches + expected_hash = fnv1_hash_object_id(expected_name) + assert entity.key == expected_hash, ( + f"Empty-name entity (device_id={entity.device_id}): hash mismatch. " + f"API key: {entity.key:#x}, expected: {expected_hash:#x}" + ) + + # === Test 3: Verify ALL entities using the algorithm from entity_utils === + # This uses the algorithm that aioesphomeapi will use to compute object_id + # client-side from API data. + verify_all_entities(entities, device_info) diff --git a/tests/integration/test_object_id_friendly_name_no_mac_suffix.py b/tests/integration/test_object_id_friendly_name_no_mac_suffix.py new file mode 100644 index 0000000000..7199a2b371 --- /dev/null +++ b/tests/integration/test_object_id_friendly_name_no_mac_suffix.py @@ -0,0 +1,81 @@ +"""Integration test for object_id with friendly_name but no MAC suffix. + +This test covers Branch 4 of the algorithm: +- Empty name on main device +- NO MAC suffix enabled +- friendly_name IS set +- Result: use friendly_name for object_id +""" + +from __future__ import annotations + +import pytest + +from esphome.helpers import fnv1_hash_object_id + +from .entity_utils import ( + compute_object_id, + infer_name_add_mac_suffix, + verify_all_entities, +) +from .types import APIClientConnectedFactory, RunCompiledFunction + + +@pytest.mark.asyncio +async def test_object_id_friendly_name_no_mac_suffix( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test object_id when friendly_name is set but no MAC suffix. + + This covers Branch 4 of the algorithm: + - Empty name entity + - name_add_mac_suffix = false (or not set) + - friendly_name = "My Friendly Device" + - Expected: object_id = "my_friendly_device" + """ + async with run_compiled(yaml_config), api_client_connected() as client: + device_info = await client.device_info() + assert device_info is not None + + # Device name should NOT include MAC suffix + assert device_info.name == "test-device" + + # Friendly name should be set + assert device_info.friendly_name == "My Friendly Device" + + entities, _ = await client.list_entities_services() + + # Find the empty-name entity + empty_name_entities = [e for e in entities if e.name == ""] + assert len(empty_name_entities) == 1 + + entity = empty_name_entities[0] + + # Should use friendly_name for object_id (Branch 4) + expected_object_id = compute_object_id("My Friendly Device") + assert expected_object_id == "my_friendly_device" # Verify our expectation + assert entity.object_id == expected_object_id, ( + f"Expected object_id '{expected_object_id}' from friendly_name, " + f"got '{entity.object_id}'" + ) + + # Hash should match friendly_name + expected_hash = fnv1_hash_object_id("My Friendly Device") + assert entity.key == expected_hash, ( + f"Expected hash {expected_hash:#x}, got {entity.key:#x}" + ) + + # Named entity should work normally + named_entities = [e for e in entities if e.name == "Temperature"] + assert len(named_entities) == 1 + assert named_entities[0].object_id == "temperature" + + # Verify our inference: no MAC suffix in this test + assert not infer_name_add_mac_suffix(device_info), ( + "Device name should NOT have MAC suffix" + ) + + # Verify the full algorithm from entity_utils works for ALL entities + verify_all_entities(entities, device_info) diff --git a/tests/integration/test_object_id_no_friendly_name.py b/tests/integration/test_object_id_no_friendly_name.py new file mode 100644 index 0000000000..b548f02fde --- /dev/null +++ b/tests/integration/test_object_id_no_friendly_name.py @@ -0,0 +1,140 @@ +"""Integration tests for object_id when friendly_name is not set. + +These tests verify bug-for-bug compatibility with the old behavior: + +1. With MAC suffix enabled + no friendly_name: + - OLD: is_object_id_dynamic_() was true, used App.get_friendly_name() directly + - OLD: object_id = "" (empty) because friendly_name was empty + - NEW: Must maintain same behavior for compatibility + +2. Without MAC suffix + no friendly_name: + - OLD: is_object_id_dynamic_() was false, used pre-computed object_id_c_str_ + - OLD: Python computed object_id with fallback to device name + - NEW: Must maintain same behavior (object_id = device name) +""" + +from __future__ import annotations + +import pytest + +from esphome.helpers import fnv1_hash_object_id + +from .entity_utils import compute_object_id, verify_all_entities +from .types import APIClientConnectedFactory, RunCompiledFunction + +# Host platform default MAC: 98:35:69:ab:f6:79 -> suffix "abf679" +MAC_SUFFIX = "abf679" + +# FNV1 offset basis - hash of empty string +FNV1_OFFSET_BASIS = 2166136261 + + +@pytest.mark.asyncio +async def test_object_id_no_friendly_name_with_mac_suffix( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test object_id when friendly_name not set but MAC suffix enabled. + + OLD behavior (bug-for-bug compatibility): + - is_object_id_dynamic_() returned true (no own name AND mac suffix enabled) + - format_dynamic_object_id() used App.get_friendly_name() directly + - Since friendly_name was empty, object_id was empty + + This was arguably a bug, but we maintain it for compatibility. + """ + async with run_compiled(yaml_config), api_client_connected() as client: + device_info = await client.device_info() + assert device_info is not None + + # Device name should include MAC suffix + expected_device_name = f"test-device-{MAC_SUFFIX}" + assert device_info.name == expected_device_name + + # Friendly name should be empty (not set in config) + assert device_info.friendly_name == "" + + entities, _ = await client.list_entities_services() + + # Find the empty-name entity + empty_name_entities = [e for e in entities if e.name == ""] + assert len(empty_name_entities) == 1 + + entity = empty_name_entities[0] + + # OLD behavior: object_id was empty because App.get_friendly_name() was empty + # This is bug-for-bug compatibility + assert entity.object_id == "", ( + f"Expected empty object_id for bug-for-bug compatibility, " + f"got '{entity.object_id}'" + ) + + # Hash should be FNV1_OFFSET_BASIS (hash of empty string) + assert entity.key == FNV1_OFFSET_BASIS, ( + f"Expected hash of empty string ({FNV1_OFFSET_BASIS:#x}), " + f"got {entity.key:#x}" + ) + + # Named entity should work normally + named_entities = [e for e in entities if e.name == "Temperature"] + assert len(named_entities) == 1 + assert named_entities[0].object_id == "temperature" + + # Verify the full algorithm from entity_utils works for ALL entities + verify_all_entities(entities, device_info) + + +@pytest.mark.asyncio +async def test_object_id_no_friendly_name_no_mac_suffix( + yaml_config: str, + run_compiled: RunCompiledFunction, + api_client_connected: APIClientConnectedFactory, +) -> None: + """Test object_id when friendly_name not set and no MAC suffix. + + OLD behavior: + - is_object_id_dynamic_() returned false (mac suffix not enabled) + - Used object_id_c_str_ which was pre-computed in Python + - Python used get_base_entity_object_id() with fallback to CORE.name + + Result: object_id = sanitize(snake_case(device_name)) + """ + async with run_compiled(yaml_config), api_client_connected() as client: + device_info = await client.device_info() + assert device_info is not None + + # Device name should NOT include MAC suffix + assert device_info.name == "test-device" + + # Friendly name should be empty (not set in config) + assert device_info.friendly_name == "" + + entities, _ = await client.list_entities_services() + + # Find the empty-name entity + empty_name_entities = [e for e in entities if e.name == ""] + assert len(empty_name_entities) == 1 + + entity = empty_name_entities[0] + + # OLD behavior: object_id was computed from device name + expected_object_id = compute_object_id("test-device") + assert entity.object_id == expected_object_id, ( + f"Expected object_id '{expected_object_id}' from device name, " + f"got '{entity.object_id}'" + ) + + # Hash should match device name + expected_hash = fnv1_hash_object_id("test-device") + assert entity.key == expected_hash, ( + f"Expected hash {expected_hash:#x}, got {entity.key:#x}" + ) + + # Named entity should work normally + named_entities = [e for e in entities if e.name == "Temperature"] + assert len(named_entities) == 1 + assert named_entities[0].object_id == "temperature" + + # Verify the full algorithm from entity_utils works for ALL entities + verify_all_entities(entities, device_info) diff --git a/tests/unit_tests/core/test_entity_helpers.py b/tests/unit_tests/core/test_entity_helpers.py index 01de0f27f9..a58d4784ce 100644 --- a/tests/unit_tests/core/test_entity_helpers.py +++ b/tests/unit_tests/core/test_entity_helpers.py @@ -27,13 +27,9 @@ from esphome.helpers import sanitize, snake_case from .common import load_config_from_fixture -# Pre-compiled regex patterns for extracting object IDs from expressions -# Matches both old format: .set_object_id("obj_id") -# and new format: .set_name_and_object_id("name", "obj_id") -OBJECT_ID_PATTERN = re.compile(r'\.set_object_id\(["\'](.*?)["\']\)') -COMBINED_PATTERN = re.compile( - r'\.set_name_and_object_id\(["\'].*?["\']\s*,\s*["\'](.*?)["\']\)' -) +# Pre-compiled regex pattern for extracting names from set_name calls +# Matches: .set_name("name", hash) or .set_name("name") +SET_NAME_PATTERN = re.compile(r'\.set_name\(["\']([^"\']*)["\']') FIXTURES_DIR = Path(__file__).parent.parent / "fixtures" / "core" / "entity_helpers" @@ -276,14 +272,21 @@ def setup_test_environment() -> Generator[list[str], None, None]: def extract_object_id_from_expressions(expressions: list[str]) -> str | None: - """Extract the object ID that was set from the generated expressions.""" + """Extract the object ID that would be computed from set_name calls. + + Since object_id is now computed from the name (via snake_case + sanitize), + we extract the name from set_name() calls and compute the expected object_id. + For empty names, we fall back to CORE.friendly_name or CORE.name. + """ for expr in expressions: - # First try new combined format: .set_name_and_object_id("name", "obj_id") - if match := COMBINED_PATTERN.search(expr): - return match.group(1) - # Fall back to old format: .set_object_id("obj_id") - if match := OBJECT_ID_PATTERN.search(expr): - return match.group(1) + if match := SET_NAME_PATTERN.search(expr): + name = match.group(1) + if name: + return sanitize(snake_case(name)) + # Empty name - fall back to friendly_name or device name + if CORE.friendly_name: + return sanitize(snake_case(CORE.friendly_name)) + return sanitize(snake_case(CORE.name)) if CORE.name else None return None @@ -757,3 +760,140 @@ def test_entity_duplicate_validator_same_name_no_enhanced_message() -> None: r"Each entity on a device must have a unique name within its platform\.$", ): validator(config2) + + +@pytest.mark.asyncio +async def test_setup_entity_empty_name_with_device( + setup_test_environment: list[str], +) -> None: + """Test setup_entity with empty entity name on a sub-device. + + For empty-name entities, Python passes 0 and C++ calculates the hash + at runtime from the device's actual name. + """ + added_expressions = setup_test_environment + + # Mock get_variable to return a mock device + original_get_variable = entity_helpers.get_variable + + async def mock_get_variable(id_: ID) -> MockObj: + return MockObj("sub_device_1") + + entity_helpers.get_variable = mock_get_variable + + var = MockObj("sensor1") + device_id = ID("sub_device_1", type="Device") + + config = { + CONF_NAME: "", + CONF_DISABLED_BY_DEFAULT: False, + CONF_DEVICE_ID: device_id, + } + + await setup_entity(var, config, "sensor") + + entity_helpers.get_variable = original_get_variable + + # Check that set_device was called + assert any("sensor1.set_device" in expr for expr in added_expressions) + + # For empty-name entities, Python passes 0 - C++ calculates hash at runtime + assert any('set_name("", 0)' in expr for expr in added_expressions), ( + f"Expected set_name with hash 0, got {added_expressions}" + ) + + +@pytest.mark.asyncio +async def test_setup_entity_empty_name_with_mac_suffix( + setup_test_environment: list[str], +) -> None: + """Test setup_entity with empty name and MAC suffix enabled. + + For empty-name entities, Python passes 0 and C++ calculates the hash + at runtime from friendly_name (bug-for-bug compatibility). + """ + added_expressions = setup_test_environment + + # Set up CORE.config with name_add_mac_suffix enabled + CORE.config = {"name_add_mac_suffix": True} + # Set friendly_name to a specific value + CORE.friendly_name = "My Device" + + var = MockObj("sensor1") + + config = { + CONF_NAME: "", + CONF_DISABLED_BY_DEFAULT: False, + } + + await setup_entity(var, config, "sensor") + + # For empty-name entities, Python passes 0 - C++ calculates hash at runtime + assert any('set_name("", 0)' in expr for expr in added_expressions), ( + f"Expected set_name with hash 0, got {added_expressions}" + ) + + +@pytest.mark.asyncio +async def test_setup_entity_empty_name_with_mac_suffix_no_friendly_name( + setup_test_environment: list[str], +) -> None: + """Test setup_entity with empty name, MAC suffix enabled, but no friendly_name. + + For empty-name entities, Python passes 0 and C++ calculates the hash + at runtime. In this case C++ will hash the empty friendly_name + (bug-for-bug compatibility). + """ + added_expressions = setup_test_environment + + # Set up CORE.config with name_add_mac_suffix enabled + CORE.config = {"name_add_mac_suffix": True} + # Set friendly_name to empty + CORE.friendly_name = "" + + var = MockObj("sensor1") + + config = { + CONF_NAME: "", + CONF_DISABLED_BY_DEFAULT: False, + } + + await setup_entity(var, config, "sensor") + + # For empty-name entities, Python passes 0 - C++ calculates hash at runtime + assert any('set_name("", 0)' in expr for expr in added_expressions), ( + f"Expected set_name with hash 0, got {added_expressions}" + ) + + +@pytest.mark.asyncio +async def test_setup_entity_empty_name_no_mac_suffix_no_friendly_name( + setup_test_environment: list[str], +) -> None: + """Test setup_entity with empty name, no MAC suffix, and no friendly_name. + + For empty-name entities, Python passes 0 and C++ calculates the hash + at runtime from the device name. + """ + added_expressions = setup_test_environment + + # No MAC suffix (either not set or False) + CORE.config = {} + # No friendly_name + CORE.friendly_name = "" + # Device name is set + CORE.name = "my-test-device" + + var = MockObj("sensor1") + + config = { + CONF_NAME: "", + CONF_DISABLED_BY_DEFAULT: False, + } + + await setup_entity(var, config, "sensor") + + # For empty-name entities, Python passes 0 - C++ calculates hash at runtime + assert any('set_name("", 0)' in expr for expr in added_expressions), ( + f"Expected set_name with hash 0, got {added_expressions}" + ) diff --git a/tests/unit_tests/test_config_validation.py b/tests/unit_tests/test_config_validation.py index c9d7b7486e..94224f2364 100644 --- a/tests/unit_tests/test_config_validation.py +++ b/tests/unit_tests/test_config_validation.py @@ -502,3 +502,60 @@ def test_only_with_user_value_overrides_default() -> None: result = schema({"mqtt_id": "custom_id"}) assert result.get("mqtt_id") == "custom_id" + + +@pytest.mark.parametrize("value", ("hello", "Hello World", "test_name", "温度")) +def test_string_no_slash__valid(value: str) -> None: + actual = config_validation.string_no_slash(value) + assert actual == value + + +@pytest.mark.parametrize("value", ("has/slash", "a/b/c", "/leading", "trailing/")) +def test_string_no_slash__slash_rejected(value: str) -> None: + with pytest.raises(Invalid, match="cannot contain '/' character"): + config_validation.string_no_slash(value) + + +def test_string_no_slash__long_string_allowed() -> None: + # string_no_slash doesn't enforce length - use cv.Length() separately + long_value = "x" * 200 + assert config_validation.string_no_slash(long_value) == long_value + + +def test_string_no_slash__empty() -> None: + assert config_validation.string_no_slash("") == "" + + +@pytest.mark.parametrize("value", ("Temperature", "Living Room Light", "温度传感器")) +def test_validate_entity_name__valid(value: str) -> None: + actual = config_validation._validate_entity_name(value) + assert actual == value + + +def test_validate_entity_name__slash_rejected() -> None: + with pytest.raises(Invalid, match="cannot contain '/' character"): + config_validation._validate_entity_name("has/slash") + + +def test_validate_entity_name__max_length() -> None: + # 120 chars should pass + assert config_validation._validate_entity_name("x" * 120) == "x" * 120 + + # 121 chars should fail + with pytest.raises(Invalid, match="too long.*121 chars.*Maximum.*120"): + config_validation._validate_entity_name("x" * 121) + + +def test_validate_entity_name__none_without_friendly_name() -> None: + # When name is "None" and friendly_name is not set, it should fail + CORE.friendly_name = None + with pytest.raises(Invalid, match="friendly_name is not set"): + config_validation._validate_entity_name("None") + + +def test_validate_entity_name__none_with_friendly_name() -> None: + # When name is "None" but friendly_name is set, it should return None + CORE.friendly_name = "My Device" + result = config_validation._validate_entity_name("None") + assert result is None + CORE.friendly_name = None # Reset diff --git a/tests/unit_tests/test_helpers.py b/tests/unit_tests/test_helpers.py index 47b945e0eb..159d3230ab 100644 --- a/tests/unit_tests/test_helpers.py +++ b/tests/unit_tests/test_helpers.py @@ -279,6 +279,77 @@ def test_sanitize(text, expected): assert actual == expected +@pytest.mark.parametrize( + ("name", "expected_hash"), + ( + # Basic strings - hash of sanitize(snake_case(name)) + ("foo", 0x408F5E13), + ("Foo", 0x408F5E13), # Same as "foo" (lowercase) + ("FOO", 0x408F5E13), # Same as "foo" (lowercase) + # Spaces become underscores + ("foo bar", 0x3AE35AA1), # Transforms to "foo_bar" + ("Foo Bar", 0x3AE35AA1), # Same (lowercase + underscore) + # Already snake_case + ("foo_bar", 0x3AE35AA1), + # Special chars become underscores + ("foo!bar", 0x3AE35AA1), # Transforms to "foo_bar" + ("foo@bar", 0x3AE35AA1), # Transforms to "foo_bar" + # Hyphens are preserved + ("foo-bar", 0x438B12E3), + # Numbers are preserved + ("foo123", 0xF3B0067D), + # Empty string + ("", 0x811C9DC5), # FNV1_OFFSET_BASIS (no chars processed) + # Single char + ("a", 0x050C5D7E), + # Mixed case and spaces + ("My Sensor Name", 0x2760962A), # Transforms to "my_sensor_name" + ), +) +def test_fnv1_hash_object_id(name, expected_hash): + """Test fnv1_hash_object_id produces expected hashes. + + These expected values were computed to match the C++ implementation + in esphome/core/helpers.h. If this test fails after modifying either + implementation, ensure both Python and C++ versions stay in sync. + """ + actual = helpers.fnv1_hash_object_id(name) + + assert actual == expected_hash + + +def _fnv1_hash_py(s: str) -> int: + """Python implementation of FNV-1 hash for verification.""" + hash_val = 2166136261 # FNV1_OFFSET_BASIS + for c in s: + hash_val = (hash_val * 16777619) & 0xFFFFFFFF # FNV1_PRIME + hash_val ^= ord(c) + return hash_val + + +@pytest.mark.parametrize( + "name", + ( + "Simple", + "With Space", + "MixedCase", + "special!@#chars", + "already_snake_case", + "123numbers", + ), +) +def test_fnv1_hash_object_id_matches_manual_calculation(name): + """Verify fnv1_hash_object_id matches snake_case + sanitize + standard FNV-1.""" + # Manual calculation: snake_case -> sanitize -> fnv1_hash + transformed = helpers.sanitize(helpers.snake_case(name)) + expected = _fnv1_hash_py(transformed) + + # Direct calculation via fnv1_hash_object_id + actual = helpers.fnv1_hash_object_id(name) + + assert actual == expected + + @pytest.mark.parametrize( "text, expected", ((["127.0.0.1", "fe80::1", "2001::2"], ["2001::2", "127.0.0.1", "fe80::1"]),), diff --git a/tests/unit_tests/test_writer.py b/tests/unit_tests/test_writer.py index f354d71bb7..ac05e0d31b 100644 --- a/tests/unit_tests/test_writer.py +++ b/tests/unit_tests/test_writer.py @@ -13,6 +13,13 @@ from unittest.mock import MagicMock, patch import pytest +from esphome.const import ( + PLATFORM_BK72XX, + PLATFORM_ESP32, + PLATFORM_ESP8266, + PLATFORM_RP2040, + PLATFORM_RTL87XX, +) from esphome.core import EsphomeError from esphome.storage_json import StorageJSON from esphome.writer import ( @@ -28,6 +35,7 @@ from esphome.writer import ( generate_build_info_data_h, get_build_info, storage_should_clean, + storage_should_update_cmake_cache, update_storage_json, write_cpp, write_gitignore, @@ -171,6 +179,86 @@ def test_storage_edge_case_from_empty_integrations( assert storage_should_clean(old, new) is False +# Tests for storage_should_update_cmake_cache + + +@pytest.mark.parametrize("framework", ["arduino", "esp-idf"]) +def test_storage_should_update_cmake_cache_when_integration_added_esp32( + create_storage: Callable[..., StorageJSON], + framework: str, +) -> None: + """Test cmake cache update triggered when integration added on ESP32.""" + old = create_storage( + loaded_integrations=["api", "wifi"], + core_platform=PLATFORM_ESP32, + framework=framework, + ) + new = create_storage( + loaded_integrations=["api", "wifi", "restart"], + core_platform=PLATFORM_ESP32, + framework=framework, + ) + assert storage_should_update_cmake_cache(old, new) is True + + +def test_storage_should_update_cmake_cache_when_platform_changed_esp32( + create_storage: Callable[..., StorageJSON], +) -> None: + """Test cmake cache update triggered when platforms change on ESP32.""" + old = create_storage( + loaded_integrations=["api", "wifi"], + loaded_platforms={"sensor"}, + core_platform=PLATFORM_ESP32, + framework="arduino", + ) + new = create_storage( + loaded_integrations=["api", "wifi"], + loaded_platforms={"sensor", "binary_sensor"}, + core_platform=PLATFORM_ESP32, + framework="arduino", + ) + assert storage_should_update_cmake_cache(old, new) is True + + +def test_storage_should_not_update_cmake_cache_when_nothing_changes( + create_storage: Callable[..., StorageJSON], +) -> None: + """Test cmake cache not updated when nothing changes.""" + old = create_storage( + loaded_integrations=["api", "wifi"], + core_platform=PLATFORM_ESP32, + framework="arduino", + ) + new = create_storage( + loaded_integrations=["api", "wifi"], + core_platform=PLATFORM_ESP32, + framework="arduino", + ) + assert storage_should_update_cmake_cache(old, new) is False + + +@pytest.mark.parametrize( + "core_platform", + [PLATFORM_ESP8266, PLATFORM_RP2040, PLATFORM_BK72XX, PLATFORM_RTL87XX], +) +def test_storage_should_not_update_cmake_cache_for_non_esp32( + create_storage: Callable[..., StorageJSON], + core_platform: str, +) -> None: + """Test cmake cache not updated for non-ESP32 platforms.""" + old = create_storage( + loaded_integrations=["api", "wifi"], + core_platform=core_platform, + framework="arduino", + ) + new = create_storage( + loaded_integrations=["api", "wifi", "restart"], + core_platform=core_platform, + framework="arduino", + ) + assert storage_should_update_cmake_cache(old, new) is False + + @patch("esphome.writer.clean_build") @patch("esphome.writer.StorageJSON") @patch("esphome.writer.storage_path")