From bb02ab14c385b7a953c5aaba45ada99b5fb173b1 Mon Sep 17 00:00:00 2001 From: Jakob Krantz Date: Wed, 29 May 2024 22:08:42 +0200 Subject: [PATCH 1/3] Weather app: Fetches GPS data from phone and uses it in a HTTP request over BLE to fetch forecast and current weather. --- app/prj.conf | 4 +- app/scripts/create_custom_resource_image.py | 2 +- app/src/applications/trivia/trivia_app.c | 32 +- app/src/applications/weather/CMakeLists.txt | 2 + app/src/applications/weather/weather_app.c | 145 +++ app/src/applications/weather/weather_ui.c | 245 +++++ app/src/applications/weather/weather_ui.h | 43 + app/src/ble/ble_comm.c | 9 + app/src/ble/ble_comm.h | 18 +- app/src/ble/ble_http.c | 15 +- app/src/ble/ble_http.h | 4 +- app/src/ble/gadgetbridge/ble_gadgetbridge.c | 41 + app/src/ble/gadgetbridge/ble_gadgetbridge.h | 2 +- app/src/filesystem/zsw_lvgl_spi_decoder.c | 2 +- app/src/images/CMakeLists.txt | 3 +- app/src/images/binaries/S/clear.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/dense_drizzle.bin | Bin 0 -> 4804 bytes .../binaries/S/dense_freezing_drizzle.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/fog.bin | Bin 0 -> 5164 bytes .../images/binaries/S/heavy_freezing_rain.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/heavy_rain.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/heavy_snowfall.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/light_drizzle.bin | Bin 0 -> 4804 bytes .../binaries/S/light_freezing_drizzle.bin | Bin 0 -> 4804 bytes .../images/binaries/S/light_freezing_rain.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/light_rain.bin | Bin 0 -> 4804 bytes .../images/binaries/S/moderate_drizzle.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/moderate_rain.bin | Bin 0 -> 4804 bytes .../images/binaries/S/moderate_snowfall.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/mostly_clear.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/overcast.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/partly_cloudy1.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/rime_fog.bin | Bin 0 -> 5164 bytes app/src/images/binaries/S/slight_snowfall.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/snowflake.bin | Bin 0 -> 4804 bytes app/src/images/binaries/S/thunderstorm.bin | Bin 0 -> 4804 bytes .../binaries/S/thunderstorm_with_hail.bin | Bin 0 -> 4804 bytes .../images/binaries/S/ui_img_water_16_png.bin | Bin 0 -> 772 bytes .../binaries/S/ui_img_weather_app_bg.bin | 1 + .../images/binaries/S/weather_app_icon.bin | Bin 0 -> 3076 bytes app/src/images/weather_app_icon.c | 174 ++++ app/src/images/weather_icons/CMakeLists.txt | 2 + app/src/images/weather_icons/clear.c | 206 ++++ app/src/images/weather_icons/dense_drizzle.c | 206 ++++ .../weather_icons/dense_freezing_drizzle.c | 206 ++++ app/src/images/weather_icons/fog.c | 218 ++++ .../weather_icons/heavy_freezing_rain.c | 206 ++++ app/src/images/weather_icons/heavy_rain.c | 206 ++++ app/src/images/weather_icons/heavy_snowfall.c | 206 ++++ app/src/images/weather_icons/light_drizzle.c | 206 ++++ .../weather_icons/light_freezing_drizzle.c | 206 ++++ .../weather_icons/light_freezing_rain.c | 206 ++++ app/src/images/weather_icons/light_rain.c | 206 ++++ .../images/weather_icons/moderate_drizzle.c | 206 ++++ app/src/images/weather_icons/moderate_rain.c | 206 ++++ .../images/weather_icons/moderate_snowfall.c | 206 ++++ app/src/images/weather_icons/mostly_clear.c | 206 ++++ app/src/images/weather_icons/overcast.c | 206 ++++ app/src/images/weather_icons/partly_cloudy1.c | 206 ++++ app/src/images/weather_icons/rime_fog.c | 218 ++++ .../images/weather_icons/slight_snowfall.c | 206 ++++ app/src/images/weather_icons/snowflake.c | 206 ++++ app/src/images/weather_icons/thunderstorm.c | 206 ++++ .../weather_icons/thunderstorm_with_hail.c | 206 ++++ .../weather_icons/ui_img_water_16_png.c | 40 + .../weather_icons/ui_img_weather_app_bg.c | 937 ++++++++++++++++++ app/src/managers/zsw_app_manager.c | 2 +- app/src/ui/utils/zsw_ui_utils.c | 200 ++++ app/src/ui/utils/zsw_ui_utils.h | 2 + 69 files changed, 6448 insertions(+), 33 deletions(-) create mode 100644 app/src/applications/weather/CMakeLists.txt create mode 100644 app/src/applications/weather/weather_app.c create mode 100644 app/src/applications/weather/weather_ui.c create mode 100644 app/src/applications/weather/weather_ui.h create mode 100644 app/src/images/binaries/S/clear.bin create mode 100644 app/src/images/binaries/S/dense_drizzle.bin create mode 100644 app/src/images/binaries/S/dense_freezing_drizzle.bin create mode 100644 app/src/images/binaries/S/fog.bin create mode 100644 app/src/images/binaries/S/heavy_freezing_rain.bin create mode 100644 app/src/images/binaries/S/heavy_rain.bin create mode 100644 app/src/images/binaries/S/heavy_snowfall.bin create mode 100644 app/src/images/binaries/S/light_drizzle.bin create mode 100644 app/src/images/binaries/S/light_freezing_drizzle.bin create mode 100644 app/src/images/binaries/S/light_freezing_rain.bin create mode 100644 app/src/images/binaries/S/light_rain.bin create mode 100644 app/src/images/binaries/S/moderate_drizzle.bin create mode 100644 app/src/images/binaries/S/moderate_rain.bin create mode 100644 app/src/images/binaries/S/moderate_snowfall.bin create mode 100644 app/src/images/binaries/S/mostly_clear.bin create mode 100644 app/src/images/binaries/S/overcast.bin create mode 100644 app/src/images/binaries/S/partly_cloudy1.bin create mode 100644 app/src/images/binaries/S/rime_fog.bin create mode 100644 app/src/images/binaries/S/slight_snowfall.bin create mode 100644 app/src/images/binaries/S/snowflake.bin create mode 100644 app/src/images/binaries/S/thunderstorm.bin create mode 100644 app/src/images/binaries/S/thunderstorm_with_hail.bin create mode 100644 app/src/images/binaries/S/ui_img_water_16_png.bin create mode 100644 app/src/images/binaries/S/ui_img_weather_app_bg.bin create mode 100644 app/src/images/binaries/S/weather_app_icon.bin create mode 100644 app/src/images/weather_app_icon.c create mode 100644 app/src/images/weather_icons/CMakeLists.txt create mode 100644 app/src/images/weather_icons/clear.c create mode 100644 app/src/images/weather_icons/dense_drizzle.c create mode 100644 app/src/images/weather_icons/dense_freezing_drizzle.c create mode 100644 app/src/images/weather_icons/fog.c create mode 100644 app/src/images/weather_icons/heavy_freezing_rain.c create mode 100644 app/src/images/weather_icons/heavy_rain.c create mode 100644 app/src/images/weather_icons/heavy_snowfall.c create mode 100644 app/src/images/weather_icons/light_drizzle.c create mode 100644 app/src/images/weather_icons/light_freezing_drizzle.c create mode 100644 app/src/images/weather_icons/light_freezing_rain.c create mode 100644 app/src/images/weather_icons/light_rain.c create mode 100644 app/src/images/weather_icons/moderate_drizzle.c create mode 100644 app/src/images/weather_icons/moderate_rain.c create mode 100644 app/src/images/weather_icons/moderate_snowfall.c create mode 100644 app/src/images/weather_icons/mostly_clear.c create mode 100644 app/src/images/weather_icons/overcast.c create mode 100644 app/src/images/weather_icons/partly_cloudy1.c create mode 100644 app/src/images/weather_icons/rime_fog.c create mode 100644 app/src/images/weather_icons/slight_snowfall.c create mode 100644 app/src/images/weather_icons/snowflake.c create mode 100644 app/src/images/weather_icons/thunderstorm.c create mode 100644 app/src/images/weather_icons/thunderstorm_with_hail.c create mode 100644 app/src/images/weather_icons/ui_img_water_16_png.c create mode 100644 app/src/images/weather_icons/ui_img_weather_app_bg.c diff --git a/app/prj.conf b/app/prj.conf index cecaecea..b1d77734 100644 --- a/app/prj.conf +++ b/app/prj.conf @@ -1,5 +1,5 @@ CONFIG_MAIN_STACK_SIZE=2048 -CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=6000 +CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=10000 CONFIG_HEAP_MEM_POOL_SIZE=32000 CONFIG_CBPRINTF_FP_SUPPORT=y CONFIG_DEBUG_THREAD_INFO=y @@ -81,7 +81,7 @@ CONFIG_LV_USE_MENU=y CONFIG_LV_USE_METER=y CONFIG_LV_USE_MSGBOX=y CONFIG_LV_USE_SPINBOX=n -CONFIG_LV_USE_SPINNER=n +CONFIG_LV_USE_SPINNER=y CONFIG_LV_USE_TABVIEW=n CONFIG_LV_USE_TILEVIEW=y CONFIG_LV_USE_WIN=n diff --git a/app/scripts/create_custom_resource_image.py b/app/scripts/create_custom_resource_image.py index b6583243..981cfc83 100644 --- a/app/scripts/create_custom_resource_image.py +++ b/app/scripts/create_custom_resource_image.py @@ -3,7 +3,7 @@ from struct import * MAX_FILE_NAME = 32 -FILE_TABLE_MAX_LEN = 25000 +FILE_TABLE_MAX_LEN = 32000 """ magic_number:uint32 header_len:uint32 diff --git a/app/src/applications/trivia/trivia_app.c b/app/src/applications/trivia/trivia_app.c index f9d861f6..3a3b8f86 100644 --- a/app/src/applications/trivia/trivia_app.c +++ b/app/src/applications/trivia/trivia_app.c @@ -71,19 +71,31 @@ static int trivia_app_add(void) return 0; } -static void http_rsp_cb(ble_http_status_code_t status, cJSON *response) +static void http_rsp_cb(ble_http_status_code_t status, char *response) { if (status == BLE_HTTP_STATUS_OK && active) { - cJSON *question = cJSON_GetObjectItem(response, "question"); - cJSON *correct_answer = cJSON_GetObjectItem(response, "correct_answer"); - if (question == NULL || correct_answer == NULL) { - LOG_ERR("Failed to parse JSON data"); - return; + cJSON *parsed_response = cJSON_Parse(response); + if (parsed_response == NULL) { + LOG_ERR("Failed to parse JSON rsp data from HTTP request"); + } else { + cJSON *results = cJSON_GetObjectItem(parsed_response, "results"); + if (cJSON_GetArraySize(results) == 1) { + cJSON *result = cJSON_GetArrayItem(results, 0); + cJSON *question = cJSON_GetObjectItem(result, "question"); + cJSON *correct_answer = cJSON_GetObjectItem(result, "correct_answer"); + if (question == NULL || correct_answer == NULL) { + LOG_ERR("Failed to parse JSON data"); + return; + } + memset(trivia_app_question.question, 0, sizeof(trivia_app_question.question)); + strncpy(trivia_app_question.question, question->valuestring, sizeof(trivia_app_question.question) - 1); + trivia_app_question.correct_answer = (correct_answer->valuestring[0] == 'F') ? false : true; + trivia_ui_update_question(trivia_app_question.question); + } else { + LOG_ERR("Unexpected number of results: %d, expected 1", cJSON_GetArraySize(results)); + } } - memset(trivia_app_question.question, 0, sizeof(trivia_app_question.question)); - strncpy(trivia_app_question.question, question->valuestring, sizeof(trivia_app_question.question)); - trivia_app_question.correct_answer = (correct_answer->valuestring[0] == 'F') ? false : true; - trivia_ui_update_question(trivia_app_question.question); + cJSON_Delete(parsed_response); } } diff --git a/app/src/applications/weather/CMakeLists.txt b/app/src/applications/weather/CMakeLists.txt new file mode 100644 index 00000000..f92d3fe4 --- /dev/null +++ b/app/src/applications/weather/CMakeLists.txt @@ -0,0 +1,2 @@ +FILE(GLOB app_sources *.c) +target_sources(app PRIVATE ${app_sources}) diff --git a/app/src/applications/weather/weather_app.c b/app/src/applications/weather/weather_app.c new file mode 100644 index 00000000..fb82d32a --- /dev/null +++ b/app/src/applications/weather/weather_app.c @@ -0,0 +1,145 @@ +#include +#include +#include +#include "cJSON.h" + +#include "managers/zsw_app_manager.h" +#include "ui/utils/zsw_ui_utils.h" +#include "events/ble_event.h" +#include +#include "weather_ui.h" +#include + +#define HTTP_REQUEST_URL_FMT "https://api.open-meteo.com/v1/forecast?latitude=%f&longitude=%f¤t=wind_speed_10m,temperature_2m,apparent_temperature,weather_code&daily=weather_code,temperature_2m_max,temperature_2m_min,apparent_temperature_max,apparent_temperature_min,precipitation_sum,rain_sum,precipitation_probability_max&wind_speed_unit=ms&timezone=auto&forecast_days=%d" + +#define MAX_GPS_AGED_TIME_MS 30 * 60 * 1000 + +// Functions needed for all applications +static void weather_app_start(lv_obj_t *root, lv_group_t *group); +static void weather_app_stop(void); +static void on_zbus_ble_data_callback(const struct zbus_channel *chan); + +ZBUS_CHAN_DECLARE(ble_comm_data_chan); +ZBUS_LISTENER_DEFINE(weather_ble_comm_lis, on_zbus_ble_data_callback); +ZBUS_CHAN_ADD_OBS(ble_comm_data_chan, weather_ble_comm_lis, 1); + +ZSW_LV_IMG_DECLARE(weather_app_icon); + +static bool active; +static uint64_t last_update_gps_time; +static uint64_t last_update_weather_time; +static double last_lat; +static double last_lon; + +static application_t app = { + .name = "Weather", + .icon = ZSW_LV_IMG_USE(weather_app_icon), + .start_func = weather_app_start, + .stop_func = weather_app_stop +}; + +static void http_rsp_cb(ble_http_status_code_t status, char *response) +{ + zsw_timeval_t time_now; + weather_ui_current_weather_data_t current_weather; + weather_ui_forecast_data_t forecasts[WEATHER_UI_NUM_FORECASTS]; + char *days[] = { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"}; + + if (!active) { + return; + } + + if (status == BLE_HTTP_STATUS_OK) { + zsw_clock_get_time(&time_now); + cJSON *parsed_response = cJSON_Parse(response); + cJSON *current = cJSON_GetObjectItem(parsed_response, "current"); + cJSON *current_temperature_2m = cJSON_GetObjectItem(current, "temperature_2m"); + current_weather.temperature = current_temperature_2m->valuedouble; + cJSON *current_weather_code = cJSON_GetObjectItem(current, "weather_code"); + current_weather.icon = zsw_ui_utils_icon_from_wmo_weather_code(current_weather_code->valueint, ¤t_weather.color, + ¤t_weather.text); + cJSON *current_wind_speed = cJSON_GetObjectItem(current, "wind_speed_10m"); + current_weather.wind_speed = current_wind_speed->valuedouble; + cJSON *apparent_temperature = cJSON_GetObjectItem(current, "apparent_temperature"); + current_weather.apparent_temperature = apparent_temperature->valuedouble; + + cJSON *daily_forecasts = cJSON_GetObjectItem(parsed_response, "daily"); + + cJSON *weather_code_list = cJSON_GetObjectItem(daily_forecasts, "weather_code"); + cJSON *temperature_2m_max_list = cJSON_GetObjectItem(daily_forecasts, "temperature_2m_max"); + cJSON *temperature_2m_min_list = cJSON_GetObjectItem(daily_forecasts, "temperature_2m_min"); + cJSON *precipitation_probability_max_list = cJSON_GetObjectItem(daily_forecasts, "precipitation_probability_max"); + + for (int i = 0; i < cJSON_GetArraySize(weather_code_list); i++) { + forecasts[i].temperature = cJSON_GetArrayItem(temperature_2m_max_list, i)->valuedouble; + forecasts[i].low_temp = cJSON_GetArrayItem(temperature_2m_min_list, i)->valuedouble; + forecasts[i].high_temp = cJSON_GetArrayItem(temperature_2m_max_list, i)->valuedouble; + forecasts[i].rain_percent = cJSON_GetArrayItem(precipitation_probability_max_list, i)->valueint; + forecasts[i].icon = zsw_ui_utils_icon_from_wmo_weather_code(cJSON_GetArrayItem(weather_code_list, i)->valueint, + &forecasts[i].color, &forecasts[i].text); + sprintf(forecasts[i].day, "%s", days[(time_now.tm.tm_wday + i) % 7]); + } + + weather_ui_set_weather_data(current_weather, forecasts, cJSON_GetArraySize(weather_code_list)); + + cJSON_Delete(parsed_response); + last_update_weather_time = k_uptime_get(); + ble_comm_request_gps_status(false); + } else { + printk("HTTP request failed\n"); + } +} + +static void fetch_weather_data(double lat, double lon) +{ + char weather_url[512]; + snprintf(weather_url, sizeof(weather_url), HTTP_REQUEST_URL_FMT, lat, lon, WEATHER_UI_NUM_FORECASTS); + zsw_ble_http_get(weather_url, http_rsp_cb); +} + +static void on_zbus_ble_data_callback(const struct zbus_channel *chan) +{ + const struct ble_data_event *event = zbus_chan_const_msg(chan); + + if (event->data.type == BLE_COMM_DATA_TYPE_GPS) { + last_update_gps_time = k_uptime_get(); + printk("Got GPS data, fetch weather\n"); + printk("Latitude: %f\n", event->data.data.gps.lat); + printk("Longitude: %f\n", event->data.data.gps.lon); + last_lat = event->data.data.gps.lat; + last_lon = event->data.data.gps.lon; + fetch_weather_data(event->data.data.gps.lat, event->data.data.gps.lon); + } +} + +static void weather_app_start(lv_obj_t *root, lv_group_t *group) +{ + if (last_update_gps_time == 0 || k_uptime_delta(&last_update_gps_time) > MAX_GPS_AGED_TIME_MS) { + printk("GPS data is too old, request GPS\n"); + ble_comm_request_gps_status(true); + } else { + fetch_weather_data(last_lat, last_lon); + } + weather_ui_show(root); + + zsw_timeval_t time; + zsw_clock_get_time(&time); + weather_ui_set_time(time.tm.tm_hour, time.tm.tm_min, time.tm.tm_sec); + active = true; +} + +static void weather_app_stop(void) +{ + active = false; + weather_ui_remove(); + ble_comm_request_gps_status(false); +} + +static int weather_app_add(void) +{ + zsw_app_manager_add_application(&app); + + return 0; +} + +SYS_INIT(weather_app_add, APPLICATION, CONFIG_APPLICATION_INIT_PRIORITY); diff --git a/app/src/applications/weather/weather_ui.c b/app/src/applications/weather/weather_ui.c new file mode 100644 index 00000000..b5b6f4d8 --- /dev/null +++ b/app/src/applications/weather/weather_ui.c @@ -0,0 +1,245 @@ +#include +#include +#include + +typedef struct { + lv_obj_t *ui_day; + lv_obj_t *ui_day_temp; + lv_obj_t *ui_day_icon; + lv_obj_t *ui_day_day; +} lv_obj_forecasts_t; + +static void add_forecast_day(lv_obj_t *parent, lv_obj_forecasts_t *storage); + +static lv_obj_t *root_page = NULL; + +static lv_obj_t *ui_bg_img; +static lv_obj_t *ui_root_container; +static lv_obj_t *ui_location; +static lv_obj_t *ui_forecast_widget; +static lv_obj_t *ui_time; +static lv_obj_t *ui_today_container; +static lv_obj_t *ui_today_icon; +static lv_obj_t *ui_today_temp; +static lv_obj_t *ui_today_min_max_temp; +static lv_obj_t *ui_today_rain; +static lv_obj_t *ui_water_drop_img; +static lv_obj_t *ui_loading_spinner; + +static lv_obj_forecasts_t ui_forecasts[WEATHER_UI_NUM_FORECASTS]; + +ZSW_LV_IMG_DECLARE(ui_img_weather_app_bg); +ZSW_LV_IMG_DECLARE(ui_img_water_16_png); + +void weather_ui_show(lv_obj_t *root) +{ + assert(root_page == NULL); + + // Create the root container + root_page = lv_obj_create(root); + // Remove the default border + lv_obj_set_style_border_width(root_page, 0, LV_PART_MAIN); + // Make root container fill the screen + lv_obj_set_size(root_page, LV_PCT(100), LV_PCT(100)); + // Don't want it to be scollable. Putting anything close the edges + // then LVGL automatically makes the page scrollable and shows a scroll bar. + // Does not loog very good on the round display. + lv_obj_set_scrollbar_mode(root_page, LV_SCROLLBAR_MODE_OFF); + + lv_obj_clear_flag(root_page, LV_OBJ_FLAG_SCROLLABLE); + + ui_bg_img = lv_img_create(root_page); + lv_img_set_src(ui_bg_img, ZSW_LV_IMG_USE(ui_img_weather_app_bg)); + lv_obj_set_width(ui_bg_img, LV_SIZE_CONTENT); + lv_obj_set_height(ui_bg_img, LV_SIZE_CONTENT); + lv_obj_set_align(ui_bg_img, LV_ALIGN_CENTER); + lv_obj_add_flag(ui_bg_img, LV_OBJ_FLAG_ADV_HITTEST); + lv_obj_clear_flag(ui_bg_img, LV_OBJ_FLAG_SCROLLABLE); + + ui_loading_spinner = lv_spinner_create(root_page, 1000, 90); + lv_obj_set_width(ui_loading_spinner, 60); + lv_obj_set_height(ui_loading_spinner, 60); + lv_obj_set_align(ui_loading_spinner, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_loading_spinner, LV_OBJ_FLAG_CLICKABLE); + lv_obj_set_style_arc_color(ui_loading_spinner, zsw_color_dark_gray(), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_arc_opa(ui_loading_spinner, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + lv_obj_set_style_arc_color(ui_loading_spinner, zsw_color_blue(), LV_PART_INDICATOR | LV_STATE_DEFAULT); + lv_obj_set_style_arc_opa(ui_loading_spinner, 255, LV_PART_INDICATOR | LV_STATE_DEFAULT); + + ui_root_container = lv_obj_create(root_page); + lv_obj_remove_style_all(ui_root_container); + lv_obj_set_width(ui_root_container, lv_pct(100)); + lv_obj_set_height(ui_root_container, lv_pct(100)); + lv_obj_set_align(ui_root_container, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_root_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); + lv_obj_add_flag(ui_root_container, LV_OBJ_FLAG_HIDDEN); + + ui_location = lv_label_create(ui_root_container); + lv_obj_set_width(ui_location, LV_SIZE_CONTENT); + lv_obj_set_height(ui_location, LV_SIZE_CONTENT); + lv_obj_set_x(ui_location, 0); + lv_obj_set_y(ui_location, 25); + lv_obj_set_align(ui_location, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_location, "Location..."); + lv_obj_set_style_text_font(ui_location, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_forecast_widget = lv_obj_create(ui_root_container); + lv_obj_remove_style_all(ui_forecast_widget); + lv_obj_set_width(ui_forecast_widget, lv_pct(100)); + lv_obj_set_height(ui_forecast_widget, LV_SIZE_CONTENT); + lv_obj_set_x(ui_forecast_widget, 3); + lv_obj_set_y(ui_forecast_widget, 55); + lv_obj_set_align(ui_forecast_widget, LV_ALIGN_CENTER); + lv_obj_set_flex_flow(ui_forecast_widget, LV_FLEX_FLOW_ROW); + lv_obj_set_flex_align(ui_forecast_widget, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_START); + lv_obj_clear_flag(ui_forecast_widget, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); + lv_obj_set_style_pad_row(ui_forecast_widget, 0, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_pad_column(ui_forecast_widget, 5, LV_PART_MAIN | LV_STATE_DEFAULT); + + for (int i = 0; i < WEATHER_UI_NUM_FORECASTS; i++) { + add_forecast_day(ui_forecast_widget, &ui_forecasts[i]); + } + + ui_time = lv_label_create(root_page); + lv_obj_set_width(ui_time, LV_SIZE_CONTENT); + lv_obj_set_height(ui_time, LV_SIZE_CONTENT); + lv_obj_set_x(ui_time, 0); + lv_obj_set_y(ui_time, 10); + lv_obj_set_align(ui_time, LV_ALIGN_TOP_MID); + lv_obj_add_flag(ui_time, LV_OBJ_FLAG_HIDDEN); + + ui_today_container = lv_obj_create(root_page); + lv_obj_remove_style_all(ui_today_container); + lv_obj_set_pos(ui_today_container, 0, -10); + lv_obj_set_height(ui_today_container, 89); + lv_obj_set_width(ui_today_container, lv_pct(100)); + lv_obj_set_align(ui_today_container, LV_ALIGN_CENTER); + lv_obj_clear_flag(ui_today_container, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); + lv_obj_add_flag(ui_today_container, LV_OBJ_FLAG_HIDDEN); + + ui_today_icon = lv_img_create(ui_today_container); + lv_obj_set_width(ui_today_icon, LV_SIZE_CONTENT); + lv_obj_set_height(ui_today_icon, LV_SIZE_CONTENT); + lv_obj_set_align(ui_today_icon, LV_ALIGN_CENTER); + lv_obj_add_flag(ui_today_icon, LV_OBJ_FLAG_ADV_HITTEST); + lv_obj_clear_flag(ui_today_icon, LV_OBJ_FLAG_SCROLLABLE); + + lv_obj_t *ui_Label8 = lv_label_create(ui_today_container); + lv_obj_set_width(ui_Label8, LV_SIZE_CONTENT); + lv_obj_set_height(ui_Label8, LV_SIZE_CONTENT); + lv_obj_set_align(ui_Label8, LV_ALIGN_TOP_MID); + lv_label_set_text(ui_Label8, "NOW"); + lv_obj_set_style_text_font(ui_Label8, &lv_font_montserrat_12, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_today_temp = lv_label_create(ui_today_container); + lv_obj_set_width(ui_today_temp, LV_SIZE_CONTENT); + lv_obj_set_height(ui_today_temp, LV_SIZE_CONTENT); + lv_obj_set_x(ui_today_temp, -40); + lv_obj_set_y(ui_today_temp, -10); + lv_obj_set_align(ui_today_temp, LV_ALIGN_CENTER); + lv_obj_set_style_text_font(ui_today_temp, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_today_min_max_temp = lv_label_create(ui_today_container); + lv_obj_set_width(ui_today_min_max_temp, LV_SIZE_CONTENT); + lv_obj_set_height(ui_today_min_max_temp, LV_SIZE_CONTENT); + lv_obj_set_x(ui_today_min_max_temp, 60); + lv_obj_set_y(ui_today_min_max_temp, 0); + lv_obj_set_align(ui_today_min_max_temp, LV_ALIGN_CENTER); + //lv_obj_set_style_text_color(ui_today_min_max_temp, lv_color_hex(0x808080), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_opa(ui_today_min_max_temp, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(ui_today_min_max_temp, &lv_font_montserrat_12, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_today_rain = lv_label_create(ui_today_container); + lv_obj_set_width(ui_today_rain, LV_SIZE_CONTENT); + lv_obj_set_height(ui_today_rain, LV_SIZE_CONTENT); + lv_obj_set_x(ui_today_rain, -40); + lv_obj_set_y(ui_today_rain, 10); + lv_obj_set_align(ui_today_rain, LV_ALIGN_CENTER); + lv_obj_set_style_text_font(ui_today_rain, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); + + ui_water_drop_img = lv_img_create(ui_today_container); + lv_img_set_src(ui_water_drop_img, ZSW_LV_IMG_USE(ui_img_water_16_png)); + lv_obj_set_width(ui_water_drop_img, LV_SIZE_CONTENT); + lv_obj_set_height(ui_water_drop_img, LV_SIZE_CONTENT); + lv_obj_set_x(ui_water_drop_img, -68); + lv_obj_set_y(ui_water_drop_img, 11); + lv_obj_set_align(ui_water_drop_img, LV_ALIGN_CENTER); + lv_obj_add_flag(ui_water_drop_img, LV_OBJ_FLAG_ADV_HITTEST); + lv_obj_clear_flag(ui_water_drop_img, LV_OBJ_FLAG_SCROLLABLE); +} + +static void add_forecast_day(lv_obj_t *parent, lv_obj_forecasts_t *storage) +{ + storage->ui_day = lv_obj_create(parent); + lv_obj_remove_style_all(storage->ui_day); + lv_obj_set_width(storage->ui_day, LV_SIZE_CONTENT); + lv_obj_set_height(storage->ui_day, LV_SIZE_CONTENT); + lv_obj_set_align(storage->ui_day, LV_ALIGN_CENTER); + lv_obj_set_flex_flow(storage->ui_day, LV_FLEX_FLOW_COLUMN); + lv_obj_set_flex_align(storage->ui_day, LV_FLEX_ALIGN_START, LV_FLEX_ALIGN_CENTER, LV_FLEX_ALIGN_START); + lv_obj_clear_flag(storage->ui_day, LV_OBJ_FLAG_CLICKABLE | LV_OBJ_FLAG_SCROLLABLE); + + storage->ui_day_temp = lv_label_create(storage->ui_day); + lv_obj_set_width(storage->ui_day_temp, LV_SIZE_CONTENT); + lv_obj_set_height(storage->ui_day_temp, LV_SIZE_CONTENT); + lv_obj_set_align(storage->ui_day_temp, LV_ALIGN_CENTER); + lv_obj_set_style_text_color(storage->ui_day_temp, lv_color_hex(0x5AA1EE), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_opa(storage->ui_day_temp, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + + storage->ui_day_icon = lv_img_create(storage->ui_day); + lv_obj_set_width(storage->ui_day_icon, LV_SIZE_CONTENT); + lv_obj_set_height(storage->ui_day_icon, LV_SIZE_CONTENT); + lv_obj_set_x(storage->ui_day_icon, 48); + lv_obj_set_y(storage->ui_day_icon, 53); + lv_obj_set_align(storage->ui_day_icon, LV_ALIGN_CENTER); + lv_obj_add_flag(storage->ui_day_icon, LV_OBJ_FLAG_ADV_HITTEST); + lv_obj_clear_flag(storage->ui_day_icon, LV_OBJ_FLAG_SCROLLABLE); + + storage->ui_day_day = lv_label_create(storage->ui_day); + lv_obj_set_width(storage->ui_day_day, LV_SIZE_CONTENT); + lv_obj_set_height(storage->ui_day_day, LV_SIZE_CONTENT); + lv_obj_set_align(storage->ui_day_day, LV_ALIGN_CENTER); + lv_obj_set_style_text_color(storage->ui_day_day, lv_color_hex(0x5AA1EE), LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_opa(storage->ui_day_day, 255, LV_PART_MAIN | LV_STATE_DEFAULT); + lv_obj_set_style_text_font(storage->ui_day_day, &lv_font_montserrat_12, LV_PART_MAIN | LV_STATE_DEFAULT); +} + +void weather_ui_set_weather_data(weather_ui_current_weather_data_t current_weather, + weather_ui_forecast_data_t weather_ui_forecast_data_t[WEATHER_UI_NUM_FORECASTS], + int num_forecasts) +{ + if (root_page == NULL || num_forecasts == 0) { + return; + } + + if (lv_obj_has_flag(ui_root_container, LV_OBJ_FLAG_HIDDEN)) { + lv_obj_clear_flag(ui_root_container, LV_OBJ_FLAG_HIDDEN); + lv_obj_clear_flag(ui_today_container, LV_OBJ_FLAG_HIDDEN); + lv_obj_clear_flag(ui_time, LV_OBJ_FLAG_HIDDEN); + lv_obj_add_flag(ui_loading_spinner, LV_OBJ_FLAG_HIDDEN); + } + + lv_label_set_text_fmt(ui_today_temp, "%.1f°", current_weather.temperature); + lv_label_set_text_fmt(ui_today_min_max_temp, "%.1f° / %.1f°", weather_ui_forecast_data_t[0].low_temp, + weather_ui_forecast_data_t[0].high_temp); + lv_label_set_text_fmt(ui_today_rain, "%d%%", weather_ui_forecast_data_t[0].rain_percent); + lv_img_set_src(ui_today_icon, current_weather.icon); + + for (int i = 0; i < num_forecasts; i++) { + lv_label_set_text_fmt(ui_forecasts[i].ui_day_temp, "%.1f°", weather_ui_forecast_data_t[i].temperature); + lv_label_set_text(ui_forecasts[i].ui_day_day, weather_ui_forecast_data_t[i].day); + lv_img_set_src(ui_forecasts[i].ui_day_icon, weather_ui_forecast_data_t[i].icon); + } +} + +void weather_ui_set_time(int hour, int min, int second) +{ + lv_label_set_text_fmt(ui_time, "%02d:%02d", hour, min); +} + +void weather_ui_remove(void) +{ + lv_obj_del(root_page); + root_page = NULL; +} diff --git a/app/src/applications/weather/weather_ui.h b/app/src/applications/weather/weather_ui.h new file mode 100644 index 00000000..3a6d2dc8 --- /dev/null +++ b/app/src/applications/weather/weather_ui.h @@ -0,0 +1,43 @@ +#pragma once + +#include +#include + +#define WEATHER_UI_NUM_FORECASTS 4 + +typedef struct { + double temperature; + double apparent_temperature; + double wind_speed; + const void *icon; + char *text; + lv_color_t color; +} weather_ui_current_weather_data_t; + +typedef struct { + double temperature; + int rain_percent; + const void *icon; + double low_temp; + double high_temp; + char day[4]; // 3 Letter day name + char *text; + lv_color_t color; +} weather_ui_forecast_data_t; + +void weather_ui_show(lv_obj_t *root); +void weather_ui_remove(void); + +/* +* @brief Set the weather data to be displayed on the UI + +* @param weather_ui_forecast_data_t The weather data to be displayed. First one is the current weather. +* @param num_forecasts The number of forecasts in the array +* +* @return void +*/ +void weather_ui_set_weather_data(weather_ui_current_weather_data_t current_weather, + weather_ui_forecast_data_t weather_ui_forecast_data_t[WEATHER_UI_NUM_FORECASTS], + int num_forecasts); + +void weather_ui_set_time(int hour, int min, int second); diff --git a/app/src/ble/ble_comm.c b/app/src/ble/ble_comm.c index a830bc2c..4972f365 100644 --- a/app/src/ble/ble_comm.c +++ b/app/src/ble/ble_comm.c @@ -253,6 +253,15 @@ int ble_comm_get_mtu(void) return bt_gatt_get_mtu(current_conn); } +int ble_comm_request_gps_status(bool enable) +{ + char gps_status[50]; + int len = snprintf(gps_status, sizeof(gps_status), "{\"t\":\"gps_power\", \"status\":%s} \n", + enable ? "true" : "false"); + printk("Sending: %s", gps_status); + return ble_comm_send(gps_status, len); +} + static void update_conn_interval_slow_handler(struct k_work *item) { LOG_DBG("Change to long connection interval"); diff --git a/app/src/ble/ble_comm.h b/app/src/ble/ble_comm.h index 6d194f5e..63831410 100644 --- a/app/src/ble/ble_comm.h +++ b/app/src/ble/ble_comm.h @@ -20,7 +20,7 @@ #include #define MAX_MUSIC_FIELD_LENGTH 100 -#define MAX_HTTP_FIELD_LENGTH 512 +#define MAX_HTTP_FIELD_LENGTH 2000 #define MAX_WEATHER_REPORT_TEXT_LENGTH 25 typedef enum ble_comm_data_type { @@ -32,6 +32,7 @@ typedef enum ble_comm_data_type { BLE_COMM_DATA_TYPE_MUSIC_STATE, BLE_COMM_DATA_TYPE_REMOTE_CONTROL, BLE_COMM_DATA_TYPE_HTTP, + BLE_COMM_DATA_TYPE_GPS, BLE_COMM_DATA_TYPE_EMPTY } ble_comm_data_type_t; @@ -93,6 +94,18 @@ typedef struct ble_comm_http_response { int id; } ble_comm_http_response_t; +typedef struct ble_comm_gps { + double lat; + double lon; + double alt; + double speed; + uint64_t time; + uint8_t satellites; + float hdop; + bool externalSource; + char gpsSource[20]; +} ble_comm_gps_t; + typedef struct ble_comm_cb_data { ble_comm_data_type_t type; union { @@ -104,6 +117,7 @@ typedef struct ble_comm_cb_data { ble_comm_music_state_t music_state; ble_comm_remote_control_t remote_control; ble_comm_http_response_t http_response; + ble_comm_gps_t gps; } data; } ble_comm_cb_data_t; @@ -141,3 +155,5 @@ int ble_comm_long_connection_interval(void); * @return The MTU for current connection. 0 If no connection. */ int ble_comm_get_mtu(void); + +int ble_comm_request_gps_status(bool enable); diff --git a/app/src/ble/ble_http.c b/app/src/ble/ble_http.c index 3ca61ece..d82111a9 100644 --- a/app/src/ble/ble_http.c +++ b/app/src/ble/ble_http.c @@ -65,19 +65,8 @@ static void zbus_ble_comm_data_callback(const struct zbus_channel *chan) i++; } } - fixed_rsp[j - 1] = '\0'; // Remove the last " as it belongs not to the JSON - cJSON *gb_rsp = cJSON_Parse(fixed_rsp); - if (gb_rsp == NULL) { - LOG_ERR("Failed to parse JSON rsp data from GB"); - } else { - cJSON *results = cJSON_GetObjectItem(gb_rsp, "results"); - if (cJSON_GetArraySize(results) == 1) { - ble_http_cb(BLE_HTTP_STATUS_OK, cJSON_GetArrayItem(results, 0)); - } else { - LOG_ERR("Unexpected number of results: %d, expected 1", cJSON_GetArraySize(results)); - } - } - cJSON_Delete(gb_rsp); + fixed_rsp[j - 1] = '\0'; // Remove the last " as it belongs not to the data + ble_http_cb(BLE_HTTP_STATUS_OK, fixed_rsp); k_free(fixed_rsp); } } diff --git a/app/src/ble/ble_http.h b/app/src/ble/ble_http.h index 1d8d1a27..3cf72ccd 100644 --- a/app/src/ble/ble_http.h +++ b/app/src/ble/ble_http.h @@ -13,9 +13,9 @@ typedef enum { * This callback function is invoked when an HTTP GET request has been completed. * * @param status The status of the HTTP GET request. - * @param response The response data in JSON format. The cJSON object parameter will be deleted automatically after the callback function returns. + * @param response The response data. */ -typedef void (*ble_http_callback)(ble_http_status_code_t status, cJSON *response); +typedef void (*ble_http_callback)(ble_http_status_code_t status, char *response); /** * @brief Sends an HTTP GET request to the specified URL. diff --git a/app/src/ble/gadgetbridge/ble_gadgetbridge.c b/app/src/ble/gadgetbridge/ble_gadgetbridge.c index 79f2f8fa..330f629a 100644 --- a/app/src/ble/gadgetbridge/ble_gadgetbridge.c +++ b/app/src/ble/gadgetbridge/ble_gadgetbridge.c @@ -9,6 +9,7 @@ #include #include #include +#include #include "ui/zsw_ui.h" #include "ble/ble_comm.h" @@ -552,6 +553,42 @@ static int parse_httpstate(char *data, int len) return 0; } +static int parse_gps_data(char *data, int len) +{ + //{"t":"gps","lat":55.6135542,"lon":12.9747185,"alt":41.900001525878906,"speed":0.1458607256412506,"time":1717002933835,"satellites":0,"hdop":16.215999603271484,"externalSource":true,"gpsSource":"network"} + ble_comm_cb_data_t cb; + memset(&cb, 0, sizeof(cb)); + + cb.type = BLE_COMM_DATA_TYPE_GPS; + + cJSON *root = cJSON_Parse(data); + if (root == NULL) { + return -EINVAL; + } + + cJSON *lat = cJSON_GetObjectItem(root, "lat"); + cJSON *lon = cJSON_GetObjectItem(root, "lon"); + cJSON *alt = cJSON_GetObjectItem(root, "alt"); + cJSON *speed = cJSON_GetObjectItem(root, "speed"); + cJSON *time = cJSON_GetObjectItem(root, "time"); + cJSON *satellites = cJSON_GetObjectItem(root, "satellites"); + cJSON *hdop = cJSON_GetObjectItem(root, "hdop"); + + cb.data.gps.lat = lat != NULL ? lat->valuedouble : -1; + cb.data.gps.lon = lon != NULL ? lon->valuedouble : -1; + cb.data.gps.alt = alt != NULL ? alt->valuedouble : -1; + cb.data.gps.speed = speed != NULL ? speed->valuedouble : -1; + cb.data.gps.time = time != NULL ? time->valuedouble : -1; + cb.data.gps.satellites = satellites != NULL ? satellites->valueint : -1; + cb.data.gps.hdop = hdop != NULL ? hdop->valuedouble : -1; + + cJSON_Delete(root); + + send_ble_data_event(&cb); + + return 0; +} + static int parse_data(char *data, int len) { int type_len; @@ -592,6 +629,10 @@ static int parse_data(char *data, int len) return parse_httpstate(data, len); } + if (strlen("gps") == type_len && strncmp(type, "gps", type_len) == 0) { + return parse_gps_data(data, len); + } + return 0; } diff --git a/app/src/ble/gadgetbridge/ble_gadgetbridge.h b/app/src/ble/gadgetbridge/ble_gadgetbridge.h index 57512184..53e35ef1 100644 --- a/app/src/ble/gadgetbridge/ble_gadgetbridge.h +++ b/app/src/ble/gadgetbridge/ble_gadgetbridge.h @@ -5,6 +5,6 @@ #include "events/ble_event.h" #include "events/music_event.h" -#define MAX_GB_PACKET_LENGTH 1000 +#define MAX_GB_PACKET_LENGTH 2000 void ble_gadgetbridge_input(const uint8_t *const data, uint16_t len); \ No newline at end of file diff --git a/app/src/filesystem/zsw_lvgl_spi_decoder.c b/app/src/filesystem/zsw_lvgl_spi_decoder.c index 53488f10..cb7290da 100644 --- a/app/src/filesystem/zsw_lvgl_spi_decoder.c +++ b/app/src/filesystem/zsw_lvgl_spi_decoder.c @@ -35,7 +35,7 @@ #define FLASH_PARTITION_DEVICE FIXED_PARTITION_DEVICE(FLASH_PARTITION_NAME) #define FLASH_PARTITION_OFFSET FIXED_PARTITION_OFFSET(FLASH_PARTITION_NAME) -#define FILE_TABLE_MAX_LEN 25000 +#define FILE_TABLE_MAX_LEN 32000 #define MAX_FILE_NAME_LEN 32 #define MAX_OPENED_FILES 64 diff --git a/app/src/images/CMakeLists.txt b/app/src/images/CMakeLists.txt index e51c78d8..5ba2ffc4 100644 --- a/app/src/images/CMakeLists.txt +++ b/app/src/images/CMakeLists.txt @@ -2,4 +2,5 @@ FILE(GLOB app_sources *.c) target_sources(app PRIVATE ${app_sources}) add_subdirectory(assets_watchfaces) -add_subdirectory(fonts) \ No newline at end of file +add_subdirectory(fonts) +add_subdirectory(weather_icons) \ No newline at end of file diff --git a/app/src/images/binaries/S/clear.bin b/app/src/images/binaries/S/clear.bin new file mode 100644 index 0000000000000000000000000000000000000000..fda56e597f4f9c073c77efcaef78576c25846b9c GIT binary patch literal 4804 zcmeHKOHUhD6t;OL>xgWS5Kdw!m}He??KqH!gaqOjmvA`y2 zO1CW8Fs4mhV3E)T5~;*v$fGbk7Bf)E_uSKSXU2nV90DmwUDTSz_1rV(o9{fnbEkaV zRqp!#cY+AOY(30|AsL1V?+MJ$#spL^%qlR85JiwuaHali{C>>~OoSnYkR(uq0D`CI zYfqfbK1|30G-`snk*y7$jbE3Gxk^B-0ksj-OGkY|N;V^mAV5)9l|1@$ec+b}x?$y)_x5bYPZ9s$Y{gj>iLVmBc=4bl!=NrStUSQL0D`WH5; zK~0OYv4SbhL+9;WOOQGsuqVhW1iGsy+VXazw;?(&Qh&z^$XjsN3x`{=>mV%%P>-Djrff5%(J?q?0kfAOIc=Bg9W>lT z3iY+2+(#f-YLrwNt}5m#%exaWlH8}9HAE>v^Aso>l#)0;>g*n~ z0BOVyFClg!3(o6uVR;<$IBii*4bOsL8bK|%sRdgtd){5n<4t^0;_*KIWPm@E_8WY3 z)7phVJGeI~?<|7Mzo7f`3gdW0XBRxz^|iPzk7)k(KgTQSKA*e6e;?zMt2}N?V0~6U{zEyR8@543Y|;3PhK2Y& z8uf%IF8vc~Z^qbbJJ%;f=cP2-dLTInNg1R;2(&@AG5Ie(KDlCr*N&|P`apo1aHzd9 zukKatp3g!QZQj)ZUH$M#hO07^grUS+@G|CTOW9L~WQrR9$}V_%t@bpl_rR>8EK{OM zpp~czj;K9HtsAv_sMQ^46%sk828X9%=-Puv2zSXFLJ8@c!j!zBDTerjBaF_VSt4;D zCp=~Gr*1`lu+P zbCYCHDAIkiYhIbvTW99<8CP34FX2s82;Ly+pO;;C=b(^2XTmujX9% ztr9}*5E_BzI9$8_4d_6}73<_cMeg1Nce~|;WRMg|tCO}q4ye!iRBtC0l9N;DZiUb$ zG$UL^C|zLdr<;Rxmb1@D9{cddl#!FXJcLFqP_~XNMG7#_5;srsAlX3l5=5u+jw=z8 znt1Nx{6d*fBoYU+!JRE=9uiDR5(zh9YK4EAxh^{f$1EV)2-3E5OcgrgUtscKvbYfZ zUg%m9ic}gV{dc^VoI-i2bqhm9ad|1v}0Cu0a6VF=(dk|Y?F-QWo-G4x7Bxn}27hw;!r;y-o4&udg zAqdWD!FVWXFLB*1I(u@w$Q%^6mWCOXYV5^DQZh}N&e!L8-<_X3JIR*Ni@rQ$X5M+` z`8?m}ecpGo=d+PLBma-o3IG}45bzrC9xw~kfV02^@B;8q>ZkYk64(tK13m(N1a1Nw z=nWV4D(v4J`zxpYPPcvN9sx<80Xg79;8&03U2VXIL)L~%qiT5((EPoUj^J$jW5D+vAn*^A8S(iFyOi0pCT4^x$b^qKC7`L3TBd4$yH| zP3!DpZFe--cAtR#z?TV7U#1W!iS(Dn$~1WXuWs#aK-n(L^8#0!EUt$ zKNORDNd%;FF;@=Z(4SbJOdm=&BrQ0-h1jMHCU*fVl49##I}PB{p&|R$Pb^y7FqH0z z66U@H{K;I&szvsoFIEaMWqu*CF^5!cOz$Z^B}6D{U5Y~zg_A0#&&CBWNfytgR`M~kbA{-k-?a{XDQirp}@H^O}d9Ebe}b4je&dPL!q zuq;leXp0h>UinGNB8%;rC@?(vgP}hW<*H7*B|C)0%A)BU-%lgbr8*x{dX>Re)(w+;mPZwssElhrs8+~@5Up}KuTu~;V6tCC`ieD&2CE?dg3yKL7=DIY2aUd%Y>GHb_De1>|ZUMs0BS8bA|afgbz z9cOjEq|UqQw5z;%U%AReNttk!BH8`r7GG70|0oB$%7It5Q=gsk$^5)8v-VcTnaZr~ L-Km)WsW|@v9_(_f literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/dense_freezing_drizzle.bin b/app/src/images/binaries/S/dense_freezing_drizzle.bin new file mode 100644 index 0000000000000000000000000000000000000000..347080f686d046427b5d7f014583e547d39110bf GIT binary patch literal 4804 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 literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/heavy_freezing_rain.bin b/app/src/images/binaries/S/heavy_freezing_rain.bin new file mode 100644 index 0000000000000000000000000000000000000000..cc6c1e93d91da5afcb5765e2d7a6eed88dfe2aac GIT binary patch literal 4804 zcmeH~e{54#6vz8Of@`8l%g?=Ttr)d&6XOyg?SApTo_lX!`?@~L;BQ_| zZr{DynbI{-+)df)|MFVF>qfc-!V@C;B<_R$A)0?UCdKp*f6 z@Ha4r+@(Uf1?9J_av_`8J)KzpfB>V%02}Zg@T{0Q`AOpyW(RLi z4}Lm5_~gBjJOVfXEEKr3r{V|+sDo`KgD$!hRt7uXx?tX!^NPoLPc-ltKf_v5kxHB* zKkF?W9>uSD^Pl-JEi$(e4k)b7FGtg>%cFtkfQei_%ElA2qf1b6V!;-Rt~`{&$UJ=O zDOlx}Mk+mm2&xe&I2C7>B#R_dVYw6y zJPn)&?i6wgrMz$AAhA4Ywta<57gK16%EA~fqPJ`^^2#DEUr{<2MxZjvWa~+Lo+0n)KMM* zZR&=z6-@&e;wzL**jYDQ*>#b7yIC-;=LHhztQ~zGG`q1Yz|b@uvVSq`TcsB(?xz#0 z#yscZX_kaajrefF4zCTiZEU0|GdD{@^2zjGif5JhxJ)9ZtAm56UIMD&emaStk*Vk%>EzCJOS%C8|j{mggd!>G0l5P zAVF#DOtaoLH=rYkjtIPA)GYkt4gcf~%(&_x%j1@bCrVpwa!Af?G0N;Z`hCCJ(ytzM zwN4V3#{P6qZ@Q=En@MVW&8bPcC(C=oYEQ&Y7V7l9?+stxIW^ZrXJhg#Xe8}q){`;oNzf>!<-9yaU&0y;?dinTX17{@37Z?> z9DuX#j;rm5x`j8q0prbOpjeCvjA`5>G4m0ak7(2J7`5FR)uzHLsxp}l`>lulXFB3D zJL9Nt&(ycixR}@(c_PF1u8X!fvZ33O)2ROt0*R{$G`GaeEugU=U+;Y_TJV}oZ+SMf zhsL*7-?24ZaRzpK!%0^+ta4I5`no*wBWzFs*;YkV`E!zf)+ed2Q6Z7E(&)2N=72Q1#V}sFR?chq$iqeI!2hw<|G@wN literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/heavy_rain.bin b/app/src/images/binaries/S/heavy_rain.bin new file mode 100644 index 0000000000000000000000000000000000000000..6146a1cf34990e38613a694fc9372e0c92414207 GIT binary patch literal 4804 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 literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/light_freezing_drizzle.bin b/app/src/images/binaries/S/light_freezing_drizzle.bin new file mode 100644 index 0000000000000000000000000000000000000000..d441da2e4245604944a5dd4be799c8821fcf5171 GIT binary patch literal 4804 zcmeH~e`s4(6vtcVa1AIVbueGsL>pwX41{%BT-yXR`p?#XblqfI5*Vv6?S|{znCp_) zKim++{UbwhO*)27P*(q`u`TWe1T)YXM6t80eNP3gf|x%xn*Pk!bMMW2dGF;lYlr@& zk3;kBy{G4MzUQ8M)2_Wxv$p2{r)mX&T3`e4BybSu17zR`up4+3sH^&`cen_w0k!~V zfNz06fO(XjBD9;(elBRA6f*nsnGJUcaQZc%0eB7gNoVPw8la&-mO)_<`N8?TJUT5u zLuGLav${E86Yw!m)M5Nn5DAwd95)%$WHGW|v{27g-@4Udtlq#Qz!w%G4Rno+sN=K{ z$gcY^4vZIX=F}sXddr+_IEVh8nh zT82xPhUi-(F>7tjP28(6Yb4Q}k7CfW)Dr1laKjl@0~rXmb_bpENI8&XSd>b(I9n zrdMD-o7!paE1(71uZ&A#`OzZ^y9s0bcCxl8p=rrTvQ%WHq>fevF&#z8j2u$evPzSc z>nUVLMTao4qG$?>Z=_-AQiWYgtQs-q!%9Io6LBbtOHrKlB3Z;xP$V#?BpmLmLZ&A# z&)PeLP7S4D)hmidta3HDSdy70i!#t9FV2L}6~w+cL(_1``(Zj-Zx$=w3z_=q*kwm` zgkYvuQr|2#$^1#I!fH!UCNqeX7w3vNRzx_CwtaXrSv)tDKCQOy)SUke(1IJsF+8p= zQ9yp3ni`Uz6RhKc*EaRurb*|oq+GFa zTs@Ifzso8&4P8}U*q(ADv842n%4*xyf$jvlQwS%~viN5>`E@ux8)$hvzOPhoQe{?8yyF1Y94t{HXs23$_Nzj0lIv_8;x zkE287>Y0ouAs;w|Z@PlT_AA)j0sjE}ZA*c@U$!m27>+w{Ze{R>ZAYcK3D4*&l}j{Z zTRk509FM)op-kIV*`*jZ_E#=i}LKHB0`^C`DuDBGkoanbV*T+d&y&5NPO zx_UU&9FZrsHZ3)DT=U2Ghm+aBDR`u;bn*ph>?_)0_l@t}3qHqCwn^8CEw0_YuGTHK zc`@XxM~v0O^4j*q_J+tyt^xL^V^?sbfqbPt@({waq&YZLMPSslIA+rc)s8U0>U{ jqJIplH&XRg8+TPh)+(*NuE&>eBwAgj%~l2aPdWb$;7!X^ literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/light_freezing_rain.bin b/app/src/images/binaries/S/light_freezing_rain.bin new file mode 100644 index 0000000000000000000000000000000000000000..424b253a43bbff1a68c18b5447f17c53905992ad GIT binary patch literal 4804 zcmeH~e{54#6vtPPz?x{%A~@c*R%r}|k{B35WLuj^^&i+j%2+aJn-FG#4kIJrV6@#I zj+hwv$1D+541B>bf} zCw=$6ci#Ej@44sRw#&{|EUWmx&6@$h1XKY}0SACCAOsu&T7bua%6VVC%ZI>HU=wf> z_#XHJm`0)HA>V}jb58ywm)bX;s=7;n(Q808@G9_=!cwj>AR|YXLara<{nO*2i#I~g zP+E+_+}S-~J@6rrS77`qh=fZKj#~&f$oyo#$nN&b_7!)ADfI>(1HLRF(m>J3hzd@2 zgY2puL%>k}W+r>+LTG7eu*HsmmB4!jP*o-uD2VjQ#ENOK`@fHeynuPJFvSm80=x`N z6uB~2DxfSfGXW*xl!TH-L-{YrpXTJNsKRP;sK_b_G$Qg!<1@_l z-x}|KXT1NBg^}C?=m2JmTv}66LIP@MOUa%nZtI$AW0!eqO^$P!UR0 zk)P$3ibwV!Va0u^Mj%6gY%<-CxDScJc`BxveG4}s93O@B~68r8=0Fg zJvryOWs%8FWwPzJ;{r86H*gJ@DRL=k0?KzvCd(#J(zH;T8$lH!IcJj0(qxfzCM=bs zfpx$jFjtHzl=8fZLSk{UZ25{!<5NsXp1CnxL~FTpYAunp-WD`b5!kHv_*hu3&{q_Mj?O2+4@~X~gOr=H=@2KFv-E9*Rnr z;*bQf_sg{u>Pm4g)RI9J>6D6L$@&7@>8o4?iA_fnVB5!C*c61L#ZB`1r2C@eN@k@g z-DD72Q!+4}j_lIb6;KEHSH>l=eCrW~orHdVI+d0vq3MxuR>kt|$rRC3L5%rOFm(=* zE9qoyDc71yT@)3<#EPUPS$uUGYLyDfM5J?xR)m&YK()lE4+B1&vLT#D)Fmb`l?)o3 zSGiRCcxbY`LPX95<0QGzEMmXO) z7VF7w-6b3U43J&xhA=pkofFbne2$<`qN`B4&(i2Z`zY!@L;Ec23p?d!xIhv;mvAJ@ zxqY_+-b7oZx5<{NAA5KGi1AlaCSNm@?Mx?sNJefJL@8Prog2H)MQxvfbr|&tmPyh` zb}-9w+uVq@Alf4Egi$y9rziZ4Cot)(ha?SKMjkFtwYWp)Njhs!26sn&$9e)E?;riU z$NN##6^i=0W8A1SVCxR&yPd70*3)pT8STxoVZ;_X=zGl*zPxj6x~UdTHZ%m_9L+oT zKx&<>JobfY&9kP&qW&CJOMTT6i8^aINo!}!+ye8~LG4pdu(sLtW|M8EVGJ9*aC{DF zWX3Z6R>ehwZ$Ryf#lGDnO(mpZSmTKbJ3CYzH7lIQS2??u3m@~A!{*i3%&QNnubfO- zgQ5Kg@m;ek-*5>V8sX@Jqkhi0=d1eJ7d!#u#Z_M~bnGVU=>%oc+^KL|I~?1FtEI!j zVM)t!(?6@0R26=rAN5<0`p>r|CwC^%;GJmjPCA*`Noi!lu?@~HTH?ss6Ba$iXl!md zZ{A9oJjWi|P1S2+(iEjVF68Upc*(ui8yenRJ6GL!#Sz%&38$SWV3pF+@#m$)*R;fz z>pxm%?7Fwa&~bc|gNfQGhUP6B&8s^qCpNJm$sbNweqziN}hb4t{FG2sQ*#80prqk&F literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/light_rain.bin b/app/src/images/binaries/S/light_rain.bin new file mode 100644 index 0000000000000000000000000000000000000000..00a142de6a7022eae426fb79a9c43237742bcc8c GIT binary patch literal 4804 zcmeH}&ubiI7{`;8(sn?Ft*z;9%pyT5=1`hy0}&Fi=s%z|Sa26K7a<3e9vTv|y9evV ze;@}l+ZGxRC8{c38 zpjuzI?6LX$zG$#Vy#o#dU&KItnM$A#>667u8a#iemVY169u?;K0Uf}{z`cO$D5V1B z$ZP^7;Z%gkpj+n;I5%DAtebzBF0HAwkU-PClniYe4yVEG9dcHcS#*Yac0>cus2=u$N+{`~EZ3Hr$H{t6 z{cqpR^K2|c8V=`qt!h8NJsNl&_@NPxqN#w~x&)Pu1y4qX4<$FUA+_}6TvukpvNtSy zbSo~<1r&hWz=MEGMH8snDVEI%L`E1&xe?SOlCx#7nPj?Y%_dvXz;R#^co@VKrK)by zNF2xJo7E2^hG+NxChg+fXM4$dy3wI>g zt&ZY{VsbC3fK)E#%1{oiiM7b|p>#pgg40`xU6Nq33s{keEqd*=1(yyD>03XsXl=t# zx+Y4P`x@{YbA^?U>_K0w2(cu;kk}@NZMjW)-{Mn3g`(D_I3z*#eyf&7UwO`rUW)0W zCZ%#4Szq7`{gnG4*>scuZ=a#YrXUvh2g9 z&|%~Pi&MQ}>M`e)TN$n8?>Bb{?HWoWs#jtXOR8bjRsC})c_s<8ps$&^nDg1K9A3-L z$EqU)D^iO~Mdq;dsq>_WrR!1#bAyFPg@dzempC@hTRp_CukB-cn^$ zL=n{}sjg04gDHd?UB#&~MpheWk9*hDubBD{zrR+!t7=bJ_V=c-?sF*u<1$$A%vU6j z76zerpF41w8Y#JP rH70H1PAq8`pbg)6%-ohnYN9{2Mrz_drABI^KFQliBRxsbe>?U+^BjCM literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/moderate_drizzle.bin b/app/src/images/binaries/S/moderate_drizzle.bin new file mode 100644 index 0000000000000000000000000000000000000000..6de38b194a346132c88c2767d3c18f2002971d3b GIT binary patch literal 4804 zcmeH}&u<%55XTd@6|fSJZhs|BiG|!Bs6AAo&`2P~5^eGifErPWSb|#BcfeEK;VK8DQugj`(@@m@9tag+G&Dv%WC9( z`*u8^`Ocg7?0sMK?CaURx>f+_1^R(EfUCd^Py(iaao{ZQOxLe&^Chqccp3N<_yPC} zSV!yf;jY2`#dE*%>hCt|{o4ejeGM1{J^_9XSi#)|TzF)4coj4&>&?>QYH5thk``ub zbHHif7T^akahF8G)d?r8gjKQv*{^PX^1JNQTf@Y?ftP@9V?=rgG%_*3xp|P?&7uJ` z{59K|S}5&_2Yb>d-~jMt3N(}{1WF=(vRIi0&;Qvhy#r`Z3Jd&z4DdeiZ^U(lQVHeA zY!XVssR*%)9^Jp;-uB!}Ug^0Y>gIRg1aP-4RBJT_R92M)rV&M_i448U{buEQv-0BR zNZ|o|0Bl5DT2t9V5}M_uWN6#vavI#;inFLp)y?NNMFY=@9u9)aP_l~(Tw7`$w-CGy z@1a}Z*;uQo5*3 zseFvBFK~f=%0rOcbd&&ZpL}am5RMkt6#Yr_vgMLlbrrjA8E>h51)PKXJ99~_*m^|a zldvF8r+AAJnqGxT$|8&HnJQ47{N6HOh;wzXz9>6{#mb_Y96wAW)}Ss1{fnptCKE`YZ&<~Y^VzE(SS>81 zsv`uOsaA}~G%3YWh>=kDOjN(&uu?_0)o%h=@i*Y=M!oN3$n(K6SRY+G%t&d4zE?+Lr%cb;_#Cygq$f8;3Sr?c%egS9`OW+~xhb&-;3^(b1ZW zpq>9vJA6+&GL?L_y_ww1@!aKaa<4574xH=~Av69|?>~n!{r~G9yBdFR;NsxG#?fV8 zUmjKGcY3TZkLioPKI`k#V>``Kiq6_w*sjZ_z&JQT7>`r literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/moderate_rain.bin b/app/src/images/binaries/S/moderate_rain.bin new file mode 100644 index 0000000000000000000000000000000000000000..ca03ddd665be33a9910d1a5c89676537ada08b05 GIT binary patch literal 4804 zcmeH}PiP!f9LKXMrR{(UTbqPU%wiX*n1k3=7ZS{Z|4zLrjRc#3%|*z;q!dGfyL&KR zB*#b*J6j9JLrE)=Zn6PqPmUMagTf{u%Z!Q|y|_q9rkl3&_4j*kW_D+Hk~B5Fh{I$4 zy!Yn!`F(%y`)2p>m6pRT{~xV{NuRh=)a0oaJd<6Ue z{0VHsIc%7lFn_kpn^xhSN}=Nc0YR?;oxq2{PcF;7nt%z5S^-uTmF#vUo!>~mPGt!S zv%fyz8Q=zByD)K;M8XvaCt4aC)P|}3VkSqwiyqw{#y=Z)8u->nqz6|c6J4B{1hthY zNeuK)GL-I}d0D-UGI3TvI5O zP>#$^LPeCHT{O(KCG(iW z?x=V5rnxhng^0rBJg=3E$9G2qF97RKJc=d)vULe69SiRC9UhdXQA>)Yr^&Wx28u?t zXpHW}1-gI?unOF%aj9q$Dt1cI-~@a}J(O}Is7s{DMU9(IP1TE+Bh6^w6tDo?tHqQ` zMct&4IF7-~S3BzF)CywrG{&j*&C=C38n{3hn6E{nI|@k6T`VbqqS4~kJlqToCVKRb zo46yj-D(PcT}<|p2uS5(t~|tq=ERz0dQiF{X|=Dn5W6IU$z8yTq}Z%$ryaQT(U89N z67$!#9!mE_spmcq{LWm-O8fSpCsqn6%KYlYdJ}|s8bA$?4SHYWuY?Fi)}=TkLGJx# zEsn3;$`U0=ePq_z@n~oCT?UQsig%_E^QoppEmlZ=($ffu!TM&I) zSKqAn6%dE{8*@pl*m^|aFX6EGI@MW}6{UE{OOoz&gJoVH;+CT((E-B0*R?17+^|*1 zONX#n!`bN+(@VoCqZ^Y_;v|!x<<>MN&U}N>yL^^(O3yF3s;dFtE2}VCN#FJy;_L<5 zH6+${6p;{?BNUNFn!J+aA?ly&$C&2Nqz9)1O_nMvx_&!^O;~T^Co;u$i)L4-W ze%W@y5}hg_#m)_3)<)ktB2_+r(#>QC|GjDh$v!g<6$2duyQ^eO6pbHsZIih4B5^4K z#ZkNQY9~4)=(~d%n?*@Foe4CpAwCIZg3q%C=DKg^hJMvjH^{(R>alt+?Q~DylcEvT z)w8-fsiiWxROb3nX0AIkYiD{U%T&pp!Sb|`nX%Is&wV{o{`=xfU(FclX)SZIT2=;d zaUR1#3y76RYhS7)s2 zXwT${o~a}JRx}j8ln+lJ{MHiPQ|pW@Q`sZcWqxdFQQ9sj?W>`!v3(%|C&vcIV}on4 z!3#VZ4JiZ5R7oWvK+#a7nvbj@yq1^T)`24->qKkEzxu~6L9yPPsH6}`iV|Na?NrIn zvK(nPQ#rCk`wIsha2)~CTpzA=6{Fe5cZW+PE0rIDIOA6^F;skMDPB#rd&F#q+) F{{U_YewhFO literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/moderate_snowfall.bin b/app/src/images/binaries/S/moderate_snowfall.bin new file mode 100644 index 0000000000000000000000000000000000000000..0ac2260db3027fab7d91daf1c1cbb52c2949265a GIT binary patch literal 4804 zcmeH}Uu;u#6vsD~B@O}YHWIko+R(*dD2b6y6IkgInLL;h65KS|cDrb{2hFzdKRDLb z2R0wfcrhai>#Y!nF=XQfCv@wrF<27+R0C$nMtdDmk(k&hgpO{#U(fIU`gdz#4BqsY zliquO_uTXOea|_+dt3Z*L2<$Vfh9@2llkE*W3w)hLq>H3RMoi+A zI*?s8U;>y>ZwJGBhFwM3!4`W3lmVaSfTm<>0y&X>nOMFIHvdP&B?8MA3rqR|%Yfa$ z-85IxlyWGG%#1@xI3*!#(53PhlrN&nYf;y#WYh;AfoFiL^Fk%6sX=*GNnkFb)@j-b zqnJrjj6Kw;}VGZ8MoKN@%em`cQ>Xj(wlx&-AN3pSZGQc!Xu ztJ6wP&Z=f%1jF}&;f{P=TpnwyxSzrTRnmfo$3#?Oe!dPxgN>0(?yG>3%?(^8rO%{w7!>9@Bg_B;>9 zcL7tx#d?zMG>=PnxdSh~A!lOeLFtkxncN!Scg9VI;&lE7PKo993Tkf5llslWHWck; z%0HJWI~TGtXXfdBnY|@=C>Lu;>JT25wMs^kW$F{Huh?DkY-MRD;;2(IJ4WpwbbfkP zeSvNCDNlj;rlYWI`_v^i1y@8|GFnVZsq9BzD?05M2xG*`EI&FHkQy@k3NSIS97y|VC)#D0$FV;ScN{}1M)Vl9Le_+5@1ySma#c3BH0r-V z5-3`#Z&~ZAiP~kBkK~LvF`{6^&(?6v3egEu3)-t0JSP4o;w>D;Zt;Y3Ru4RHpw_^`1G)jbfpv1t+= zJs5CfSmmj{6Oc{?qz8O|15#x`Ixy-Cj#&SZ^l*|WAGVESAjC>WJ#$*mjJW+FIAkWa zp2WIgile$2rdqW0pm%HB?TZepzm8hZ%FYJa`BY{vR9amtAnlUx(wIarCHH_sa<-bJ$$jAv%OA$(e|Vyo90-fQqP#0W9G4d`TEW#f0h=TyvkJBq8qapHm_U)kv~Fx z)ro6173NUP9Fi?9)22ZP&C|m1FO9Jn>zTt>gj&Or=5-r9wEdyHxnTr2C|H qhgLjF@Wnh!e@JZdka3C{_2gpwAEQrg=y{=eZ%Nap#~AZJ80uf}Nz;=6 literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/mostly_clear.bin b/app/src/images/binaries/S/mostly_clear.bin new file mode 100644 index 0000000000000000000000000000000000000000..15d9d648f181e9d5585983f19610a940e58997d9 GIT binary patch literal 4804 zcmeH~T})I*6vr19)LLSxMAO)`tbmmEr74A2iUzD`c(bG*4^2}(6eO)SF->fuHQ=h% z#K&ryGe%U((q(wQZl`zU;o`cKfIHQWdI%w{R?0{u0_tefD@O3w=s^*!A2RCKC-)5G zmiq(eG|%`nnkV!}t+$-=pCspNlwVHU7a3=!;6|F!R}yV)j=G9@eiO^H@1wdU$wOU48OK-3(Iz?Ilih#H z=81UGxEYC&WV5Peqe_(k+Rn+l6gKTW<;>dgCBh_KuxN4w>~ zr0j+~hIlpNMKB{UyI}52m|MHdtuD4t&SnuJ(E)J~qK-uCm*jeKUM~4okoRly-lonQ zUk39M%%d=yU~Yw3*lq4yNqNPh@3Lrxs2mY4x2RNG ze%?gh3i6JUn|CYd4bHdejSbvOj_#HNiDanq)Q0Y~p)i+B8n>Ew0f=C!Xss2lGU3RW zmuNSjLxtoXRKz?`8bokX1gr5;mK^B64`nxJpzP)n7`Lo^5ylapk&&GuE4dkumKw?^ z@1&Wg8NuI;;8#XFN4QiDjPRV=;hmmS%S{`421cWmw?v{_%99N)v}~rYGJ=JFSxZ6= z)X45}*{l{)e5t*VrlA`9Xc5=JSO@)POutaGP}W@SWp|Bi9#_uJEF?R;Hgt<3-n}XH z)6h?k>xUJWE-t02LfXD+E}N;;%VXuTI&y#4@apC8PD7)a&@V6%`VQz-BYHt89m%1p zFKF`+V{s__6GGkxxbV5^q)BFEdc7pi@NX`4|iLU+43@s+u-Wk`t5; z;e+V(i_W4{9OO3AkwN`@6V*|}dOj!3NTYe_p4zH*gwIUPsq&QFERbVijP)nR`ge0* zbu2soQbhaoIH-$`%2c=%UPGO3a*tTMc!<^($CqWBN6$_{&njqCtsfqe?wH>7ImHC{L}Mt`G6w#3G0^U{mW;p5FO3j%Pd@L-0CvU zB%(HS#ENhgEa<&4@7d7ywaLasdzPrr7nP;Lu`;=St}=O_p@xfmZWtXfHgW#Vs4TG? z->q8_t@<#U>C#n82H+vynP}#VbtG_I@rwEz(#Vz?SHieLag}louw1{EXlsqNJjbR)xI~0P>Z0fCuQev>%2KgE zR~z6d;1|Z)YI%rh75t?V*C^Rs!K(FJ7I>5GPEqexw|pgpYeKlx)w#F?6aokMk!34$ zR?AA6w^>k2GplC^zX*EnXr8wi!S}nUJ0V;Hf8W?A9E*%IunzFq&jD8E?3YsJJ?eF! ze79Z%(*ly^>weoc;aINdj>W4uU=Q23XOrW}&N7rU`^%pX3TDzgA1^MXvwI=1hgT7Y zku%e0K>RdNzVjG7Gx?g<^Vr_kvECQ1KHp~>x9L+L9*Grj>r-f+KQvG6>|sAjjemHZ a=GmipTIbHYG*9u-$NHRqlmY+8`~CweF#$OM literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/overcast.bin b/app/src/images/binaries/S/overcast.bin new file mode 100644 index 0000000000000000000000000000000000000000..51178eb6e9ec38e71e06fb45e9446e49492a57ea GIT binary patch literal 4804 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 ZJY)AfoPTIX%eMa4+al|Z+yA!${{ayag;oFn literal 0 HcmV?d00001 diff --git a/app/src/images/binaries/S/snowflake.bin b/app/src/images/binaries/S/snowflake.bin new file mode 100644 index 0000000000000000000000000000000000000000..78057176efd8804235a84d72036d7d60c9310805 GIT binary patch literal 4804 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 xpyCrMv)M7#14UG0`Bh^Us>b|ÿÇ_ÿÏÿ×ÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¯ÿ·>ÿÇ?ÿÏ_ÿ×ÿߟÿç¿ÿç¿ÿç¿ÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ®þÿ¿>ÿÇ?ÿÏ_ÿ×ÿߟÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ·ÿ¿>ÿÏ_ÿ×ÿߟÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ®þÿ·ÿÇ_ÿ×ÿߟÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ®þÿ·ÿÇ_ÿ×ÿߟÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ·ÿÇ?ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¦þÿ¯ÿ¿>ÿÏÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿÏ_ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ·ÿÇ_ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿÏÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿÇ>ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ·ÿÇ_ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ·ÿÏ_ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿÏ_ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ¯ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¯ÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¿>ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ×ÿ×ÿ×ÿߟÿߟÿ×ÿ×ÿ×ÿ×ÿÏ_ÿÇ_ÿÇ?ÿ¿>ÿ·ÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ·ÿ×ÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿç¿ÿߟÿ×ÿÏÿÇ_ÿ¿?ÿ·ÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ·ÿÏÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿç¿ÿߟÿÏÿÇ_ÿ·ÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ®þÿ¯ÿ·ÿ·ÿ·ÿ¿>ÿ¿?ÿ¿?ÿ¿?ÿ¿?ÿ¿>ÿ·ÿ·ÿÏ_ÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿןÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿߟÿÏÿ¿?ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ¿>ÿÇ_ÿÏÿ×ÿ×ÿߟÿߟÿߟÿçŸÿç¿ÿç¿ÿçŸÿߟÿߟÿߟÿç¿ÿç¿ÿߟÿߟÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿç¿ÿÏÿ¿>ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ¿?ÿÏ_ÿ×ÿçŸÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿ÷ßÿ÷ßÿïßÿç¿ÿç¿ÿߟÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿߟÿÏ_ÿ¿>ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ¿>ÿÇ?ÿÇ_ÿÏ_ÿÏÿ×ÿ×ÿ×ÿןÿߟÿߟÿߟÿןÿ×ÿ×ÿÏÿÏ_ÿÇ_ÿ¿>ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ_ÿ×ÿçŸÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿç¿ÿߟÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿߟÿÇ_ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ?ÿÏ_ÿ×ÿߟÿç¿ÿï¿ÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿï¿ÿߟÿ×ÿÏ_ÿÇ?ÿ¿ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ_ÿ×ÿç¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿïßÿç¿ÿߟÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿç¿ÿ×ÿ¿>ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ?ÿÏÿߟÿç¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿç¿ÿߟÿÏÿÇ?ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¿>ÿ×ÿç¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿç¿ÿߟÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿߟÿÇ_ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ·ÿ¿>ÿ¿?ÿÇ_ÿÏ_ÿÏ_ÿÏÿÏÿÏÿÏÿÏ_ÿÏ_ÿÏ_ÿÇ_ÿÇ?ÿ¿>ÿ·ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ_ÿ×ÿçŸÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿç¿ÿ×ÿÏ_ÿ¿?ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ_ÿߟÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿï¿ÿߟÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿߟÿߟÿç¿ÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿç¿ÿÏ_ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ¿>ÿÇ_ÿÏÿ×ÿߟÿߟÿç¿ÿç¿ÿï¿ÿïßÿïßÿïßÿïßÿï¿ÿï¿ÿç¿ÿç¿ÿçŸÿߟÿ×ÿ×ÿÏ_ÿÇ_ÿ¿>ÿ·ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ_ÿןÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿߟÿÏÿ¿>ÿ¯ÿ¯ÿ¯ÿ·ÿÏÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿïßÿçŸÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿןÿߟÿç¿ÿï¿ÿïßÿ÷ßÿ÷ÿÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿç¿ÿÏÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿ¿?ÿÏ_ÿ×ÿߟÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿç¿ÿߟÿ×ÿÏÿÇ_ÿ¿>ÿ·ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ¯ÿ·ÿÇ_ÿןÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿߟÿÏ_ÿ¿>ÿ¿>ÿ×ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿç¿ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿߟÿç¿ÿï¿ÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿÏÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¿>ÿÏ_ÿ×ÿߟÿç¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿçŸÿןÿÏÿÇ_ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿÇ_ÿ×ÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿߟÿߟÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿߟÿç¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿÏÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿÇ?ÿÏÿߟÿç¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿçŸÿ×ÿÇ_ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿÏ_ÿç¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿߟÿç¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿç¿ÿÏ_ÿ·ÿ·ÿ·ÿ·ÿ¿>ÿÏÿߟÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿçŸÿ×ÿÇ_ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¿>ÿ×ÿç¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿ×ÿ×ÿ×ÿߟÿç¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿçŸÿÇ?ÿ·ÿ¿ÿÏ_ÿߟÿç¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿߟÿÏÿ¿>ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¿>ÿ×ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿߟÿ×ÿߟÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿߟÿÇ_ÿ×ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿߟÿÏ_ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿÇ?ÿߟÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿç¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿߟÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿÏÿ¿>ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿÇ?ÿߟÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿ×ÿ¿>ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¿>ÿ¿>ÿÇ_ÿÏÿ×ÿ×ÿ×ÿ×ÿ×ÿ×ÿÏÿÏ_ÿÇ_ÿ¿>ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿÇ>ÿߟÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿï¿ÿï¿ÿï¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿןÿÇ>ÿ·ÿ¿>ÿÏ_ÿ×ÿߟÿçŸÿï¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿç¿ÿߟÿ×ÿÏ_ÿ¿>ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ¿>ÿߟÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿï¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿߟÿ×ÿߟÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿߟÿ×ÿÇ_ÿ·>ÿ·ÿ·ÿ·ÿ·ÿ·ÿ·ÿ×ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿïßÿïßÿï¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿïßÿ÷ßÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿߟÿÇ_ÿ·ÿ·ÿ·ÿ·ÿÏ_ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿï¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿ×ÿ¿>ÿ·ÿ¿>ÿߟÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿç¿ÿç¿ÿç¿ÿï¿ÿï¿ÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿï¿ÿç¿ÿç¿ÿç¿ÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿç¿ÿï¿ÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿï¿ÿç¿ÿçŸÿçŸÿç¿ÿïßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿߟÿÇ_ÿ×ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿçŸÿç¿ÿç¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿïßÿï¿ÿç¿ÿç¿ÿçŸÿçŸÿçŸÿçŸÿç¿ÿï¿ÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿï¿ÿç¿ÿïßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿç¿ÿï¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿï¿ÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿçŸÿç¿ÿï¿ÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿïßÿç¿ÿçŸÿç¿ÿïßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿç¿ÿïßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿïßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿ÷ßÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ßÿç¿ÿçŸÿçŸÿçŸÿç¿ÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿï¿ÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿç¿ÿç¿ÿï¿ÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿïßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿïßÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿï¿ÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿïßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿï¿ÿï¿ÿï¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿ÷ßÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿçŸÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿߟÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿç¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿߟÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿç¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿߟÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿߟÿߟÿߟÿߟÿç¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿç¿ÿߟÿߟÿߟÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿïßÿï¿ÿï¿ÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿïßÿïßÿïßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿïßÿïßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿïßÿïßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿ÷ßÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿ÷ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ \ No newline at end of file diff --git a/app/src/images/binaries/S/weather_app_icon.bin b/app/src/images/binaries/S/weather_app_icon.bin new file mode 100644 index 0000000000000000000000000000000000000000..219b4f1b6c8cf95c67e2623df781259c0bd5a256 GIT binary patch literal 3076 zcmb`JO>7fK7>0A8CXs*}C=|LY;UrLH8>!N&;;{B!2!|FQO%jmpQ(P&B?WNg>R_q4{ zf`m|y6hdO(khpL`aLkGeLE%S89N^H{5)rsb)TUA$IS$Icot@pCHU7g*h#p1n%zpEH zGqaYHFD`ZM>1z9Yv8Z!9T3C!0R-=V24hw8J6Lm%hm-e?6w0zhn4GcPSgU-gF zgSN1O*{IXsQq=IEZ?;E~t}D_9MMB4HDblsRqumX%`Uxf8uf$&|aqNf%ML%3`tQo86 zZ`Jgwn#L|zR;{5LWf)bfU$s_M3%h1nqu$WV(9jKQJtB49oCH#^97{>iQ z3TL`W3-?gJgl5sAWMSM6mkUo2ZY45{i3|iAe`5O`oYVXjMBKY_{sF#2<$M#l*X4B_ z2?`BD#lu2^*4(E7f33KF59e!Cer>50M_|E{LxWK9u#(JIlX(c9zX;?JRL*@uzJ3ww zDIfMOl6L3`gqumb>dpsTdBg8#0+mDU_O%?NG&?D=93d0Kvn;&gINs(n1w?E~Mp|vlAE$_=_%GnG&I^F-rdlp?@f8~3)t<2=?D=15|S%Sws=TrCJ!tAxM z^1g@LX1uRxBj0b(mO=2arRFWzyA%6t5@MLPeFOJYvvf@S2{7{4j64LUjo*qcIk?<$ zz|Pf_9IGk9V&3%n Date: Fri, 31 May 2024 19:45:31 +0200 Subject: [PATCH 2/3] watchface app: Save some RAM by not storing a copy of last BLE message. Also fixes possible loss of data if let's say one music and one weather come fast after eachother before workqueue been processed. --- .../applications/watchface/watchface_app.c | 33 +++++++++---------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/app/src/applications/watchface/watchface_app.c b/app/src/applications/watchface/watchface_app.c index ba98d1a0..34090d11 100644 --- a/app/src/applications/watchface/watchface_app.c +++ b/app/src/applications/watchface/watchface_app.c @@ -108,7 +108,7 @@ static delayed_work_item_t general_work_item; static struct k_work_sync canel_work_sync; static K_WORK_DEFINE(update_ui_work, update_ui_from_event); -static ble_comm_cb_data_t last_data_update; +static ble_comm_data_type_t last_data_update_type; static ble_comm_weather_t last_weather_data; static ble_comm_music_info_t last_music_info; static struct battery_sample_event last_batt_evt = {.percent = 100, .mV = 4300}; @@ -354,19 +354,18 @@ static void disconnected(struct bt_conn *conn, uint8_t reason) static void update_ui_from_event(struct k_work *item) { if (running && !is_suspended) { - if (last_data_update.type == BLE_COMM_DATA_TYPE_WEATHER) { - LOG_DBG("Weather: %s t: %d hum: %d code: %d wind: %d dir: %d", last_data_update.data.weather.report_text, - last_data_update.data.weather.temperature_c, last_data_update.data.weather.humidity, - last_data_update.data.weather.weather_code, - last_data_update.data.weather.wind, - last_data_update.data.weather.wind_direction); - watchfaces[watchface_settings.watchface_index]->set_weather(last_data_update.data.weather.temperature_c, - last_data_update.data.weather.weather_code); - } else if (last_data_update.type == BLE_COMM_DATA_TYPE_SET_TIME) { + if (last_data_update_type == BLE_COMM_DATA_TYPE_WEATHER) { + LOG_DBG("Weather: %s t: %d hum: %d code: %d wind: %d dir: %d", last_weather_data.report_text, + last_weather_data.temperature_c, last_weather_data.humidity, + last_weather_data.weather_code, + last_weather_data.wind, + last_weather_data.wind_direction); + watchfaces[watchface_settings.watchface_index]->set_weather(last_weather_data.temperature_c, + last_weather_data.weather_code); + } else if (last_data_update_type == BLE_COMM_DATA_TYPE_SET_TIME) { k_work_reschedule(&date_work.work, K_NO_WAIT); - } else if (last_data_update.type == BLE_COMM_DATA_TYPE_MUSIC_INFO) { - zsw_watchface_dropdown_ui_set_music_info(last_data_update.data.music_info.track_name, - last_data_update.data.music_info.artist); + } else if (last_data_update_type == BLE_COMM_DATA_TYPE_MUSIC_INFO) { + zsw_watchface_dropdown_ui_set_music_info(last_music_info.track_name, last_music_info.artist); } return; } @@ -375,14 +374,12 @@ static void update_ui_from_event(struct k_work *item) static void zbus_ble_comm_data_callback(const struct zbus_channel *chan) { const struct ble_data_event *event = zbus_chan_const_msg(chan); - // TODO getting this callback again before workqueue has ran will - // cause previous to be lost. - memcpy(&last_data_update, &event->data, sizeof(ble_comm_cb_data_t)); + last_data_update_type = event->data.type; if (event->data.type == BLE_COMM_DATA_TYPE_WEATHER) { - memcpy(&last_weather_data, &last_data_update.data.weather, sizeof(last_data_update.data.weather)); + memcpy(&last_weather_data, &event->data.data.weather, sizeof(event->data.data.weather)); } if (event->data.type == BLE_COMM_DATA_TYPE_MUSIC_INFO) { - memcpy(&last_music_info, &last_data_update.data.music_info, sizeof(last_data_update.data.music_info)); + memcpy(&last_music_info, &event->data.data.music_info, sizeof(event->data.data.music_info)); } if (running && !is_suspended) { k_work_submit(&update_ui_work); From b7b277452d2066702e14b182245b246c7a613296 Mon Sep 17 00:00:00 2001 From: Jakob Krantz Date: Fri, 31 May 2024 20:00:43 +0200 Subject: [PATCH 3/3] ble_gadgetbridge: Refactor code to save stack. Stored pretty much same struct twice causing large stack usage. --- app/child_image/hci_ipc.conf | 2 +- app/src/applications/weather/CMakeLists.txt | 6 +- app/src/applications/weather/weather_app.c | 22 ++- app/src/applications/weather/weather_ui.c | 2 +- app/src/ble/ble_comm.c | 2 +- app/src/ble/ble_http.c | 1 + app/src/ble/gadgetbridge/ble_gadgetbridge.c | 147 ++++++++++---------- 7 files changed, 96 insertions(+), 86 deletions(-) diff --git a/app/child_image/hci_ipc.conf b/app/child_image/hci_ipc.conf index 09ae24e5..a4b4e04c 100644 --- a/app/child_image/hci_ipc.conf +++ b/app/child_image/hci_ipc.conf @@ -40,8 +40,8 @@ CONFIG_CLOCK_CONTROL_NRF_K32SRC_RC=y # increase of ble throughput CONFIG_BT_BUF_ACL_RX_SIZE=502 CONFIG_BT_BUF_ACL_TX_SIZE=502 -CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 # Temporary fix as there is a strange behaviour with some Android # phones. CONFIG_BT_DATA_LEN_UPDATE=n +#CONFIG_BT_CTLR_DATA_LENGTH_MAX=251 diff --git a/app/src/applications/weather/CMakeLists.txt b/app/src/applications/weather/CMakeLists.txt index f92d3fe4..ad8bd86c 100644 --- a/app/src/applications/weather/CMakeLists.txt +++ b/app/src/applications/weather/CMakeLists.txt @@ -1,2 +1,4 @@ -FILE(GLOB app_sources *.c) -target_sources(app PRIVATE ${app_sources}) +if (CONFIG_ZSWATCH_PCB_REV GREATER_EQUAL 4) + FILE(GLOB app_sources *.c) + target_sources(app PRIVATE ${app_sources}) +endif() \ No newline at end of file diff --git a/app/src/applications/weather/weather_app.c b/app/src/applications/weather/weather_app.c index fb82d32a..40e16c1a 100644 --- a/app/src/applications/weather/weather_app.c +++ b/app/src/applications/weather/weather_app.c @@ -1,6 +1,7 @@ #include #include #include +#include #include "cJSON.h" #include "managers/zsw_app_manager.h" @@ -10,6 +11,8 @@ #include "weather_ui.h" #include +LOG_MODULE_REGISTER(weather_app, LOG_LEVEL_DBG); + #define HTTP_REQUEST_URL_FMT "https://api.open-meteo.com/v1/forecast?latitude=%f&longitude=%f¤t=wind_speed_10m,temperature_2m,apparent_temperature,weather_code&daily=weather_code,temperature_2m_max,temperature_2m_min,apparent_temperature_max,apparent_temperature_min,precipitation_sum,rain_sum,precipitation_probability_max&wind_speed_unit=ms&timezone=auto&forecast_days=%d" #define MAX_GPS_AGED_TIME_MS 30 * 60 * 1000 @@ -86,7 +89,7 @@ static void http_rsp_cb(ble_http_status_code_t status, char *response) last_update_weather_time = k_uptime_get(); ble_comm_request_gps_status(false); } else { - printk("HTTP request failed\n"); + LOG_ERR("HTTP request failed\n"); } } @@ -95,6 +98,7 @@ static void fetch_weather_data(double lat, double lon) char weather_url[512]; snprintf(weather_url, sizeof(weather_url), HTTP_REQUEST_URL_FMT, lat, lon, WEATHER_UI_NUM_FORECASTS); zsw_ble_http_get(weather_url, http_rsp_cb); + // TODO Handle if HTTP requests are not enabled or supported on phone. } static void on_zbus_ble_data_callback(const struct zbus_channel *chan) @@ -103,9 +107,9 @@ static void on_zbus_ble_data_callback(const struct zbus_channel *chan) if (event->data.type == BLE_COMM_DATA_TYPE_GPS) { last_update_gps_time = k_uptime_get(); - printk("Got GPS data, fetch weather\n"); - printk("Latitude: %f\n", event->data.data.gps.lat); - printk("Longitude: %f\n", event->data.data.gps.lon); + LOG_DBG("Got GPS data, fetch weather\n"); + LOG_DBG("Latitude: %f\n", event->data.data.gps.lat); + LOG_DBG("Longitude: %f\n", event->data.data.gps.lon); last_lat = event->data.data.gps.lat; last_lon = event->data.data.gps.lon; fetch_weather_data(event->data.data.gps.lat, event->data.data.gps.lon); @@ -115,8 +119,12 @@ static void on_zbus_ble_data_callback(const struct zbus_channel *chan) static void weather_app_start(lv_obj_t *root, lv_group_t *group) { if (last_update_gps_time == 0 || k_uptime_delta(&last_update_gps_time) > MAX_GPS_AGED_TIME_MS) { - printk("GPS data is too old, request GPS\n"); - ble_comm_request_gps_status(true); + LOG_DBG("GPS data is too old, request GPS\n"); + int res = ble_comm_request_gps_status(true); + if (res != 0) { + LOG_ERR("Failed to request GPS data\n"); + } + // TODO Show GPS fetching in progress in app } else { fetch_weather_data(last_lat, last_lon); } @@ -139,6 +147,8 @@ static int weather_app_add(void) { zsw_app_manager_add_application(&app); + // TODO Add periodic GPS and weather polling in backgrund. + return 0; } diff --git a/app/src/applications/weather/weather_ui.c b/app/src/applications/weather/weather_ui.c index b5b6f4d8..6af51852 100644 --- a/app/src/applications/weather/weather_ui.c +++ b/app/src/applications/weather/weather_ui.c @@ -81,7 +81,7 @@ void weather_ui_show(lv_obj_t *root) lv_obj_set_x(ui_location, 0); lv_obj_set_y(ui_location, 25); lv_obj_set_align(ui_location, LV_ALIGN_TOP_MID); - lv_label_set_text(ui_location, "Location..."); + lv_label_set_text(ui_location, ""); lv_obj_set_style_text_font(ui_location, &lv_font_montserrat_18, LV_PART_MAIN | LV_STATE_DEFAULT); ui_forecast_widget = lv_obj_create(ui_root_container); diff --git a/app/src/ble/ble_comm.c b/app/src/ble/ble_comm.c index 4972f365..9fa23587 100644 --- a/app/src/ble/ble_comm.c +++ b/app/src/ble/ble_comm.c @@ -258,7 +258,7 @@ int ble_comm_request_gps_status(bool enable) char gps_status[50]; int len = snprintf(gps_status, sizeof(gps_status), "{\"t\":\"gps_power\", \"status\":%s} \n", enable ? "true" : "false"); - printk("Sending: %s", gps_status); + LOG_DBG("Request GPS: %s", gps_status); return ble_comm_send(gps_status, len); } diff --git a/app/src/ble/ble_http.c b/app/src/ble/ble_http.c index d82111a9..0b498762 100644 --- a/app/src/ble/ble_http.c +++ b/app/src/ble/ble_http.c @@ -78,6 +78,7 @@ int zsw_ble_http_get(char *url, ble_http_callback cb) char *request; if (request_pending) { + // TODO implement a queue for requests return -EBUSY; } diff --git a/app/src/ble/gadgetbridge/ble_gadgetbridge.c b/app/src/ble/gadgetbridge/ble_gadgetbridge.c index 330f629a..422a3378 100644 --- a/app/src/ble/gadgetbridge/ble_gadgetbridge.c +++ b/app/src/ble/gadgetbridge/ble_gadgetbridge.c @@ -37,12 +37,9 @@ static void parse_time_zone(char *offset); ZBUS_CHAN_DECLARE(ble_comm_data_chan); ZBUS_LISTENER_DEFINE(android_music_control_lis, music_control_event_callback); -static void send_ble_data_event(ble_comm_cb_data_t *data) +static void send_ble_data_event(struct ble_data_event *evt) { - struct ble_data_event evt; - memcpy(&evt.data, data, sizeof(ble_comm_cb_data_t)); - - zbus_chan_pub(&ble_comm_data_chan, &evt, K_MSEC(250)); + zbus_chan_pub(&ble_comm_data_chan, evt, K_MSEC(250)); } static void music_control_event_callback(const struct zbus_channel *chan) @@ -78,15 +75,15 @@ static void music_control_event_callback(const struct zbus_channel *chan) static void parse_time(char *start_time) { char *end_time; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); end_time = strstr(start_time, ")"); if (end_time) { errno = 0; - cb.data.notify.id = strtol(start_time, &end_time, 10); + cb.data.data.notify.id = strtol(start_time, &end_time, 10); if (start_time != end_time && errno == 0) { - cb.type = BLE_COMM_DATA_TYPE_SET_TIME; + cb.data.type = BLE_COMM_DATA_TYPE_SET_TIME; send_ble_data_event(&cb); } else { LOG_WRN("Failed parsing time"); @@ -104,16 +101,16 @@ static void parse_time(char *start_time) static void parse_time_zone(char *offset) { char *end_timezone; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); end_timezone = strstr(offset, ")"); if (end_timezone) { - cb.data.time.tz_offset = strtof(offset, &end_timezone); + cb.data.data.time.tz_offset = strtof(offset, &end_timezone); if (offset != end_timezone) { - cb.type = BLE_COMM_DATA_TYPE_SET_TIME; - LOG_DBG("set time offset: %.1f", cb.data.time.tz_offset); + cb.data.type = BLE_COMM_DATA_TYPE_SET_TIME; + LOG_DBG("set time offset: %.1f", cb.data.data.time.tz_offset); send_ble_data_event(&cb); } else { LOG_WRN("Failed parsing time"); @@ -384,35 +381,35 @@ static void convert_to_encoded_text(char *data, int len, char *out_data, int out static int parse_notify(char *data, int len) { - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_NOTIFY; - cb.data.notify.id = extract_value_uint32("\"id\":", data); - cb.data.notify.src = extract_value_str("\"src\":", data, &cb.data.notify.src_len); - cb.data.notify.sender = extract_value_str("\"sender\":", data, &cb.data.notify.sender_len); - cb.data.notify.title = extract_value_str("\"title\":", data, &cb.data.notify.title_len); - cb.data.notify.subject = extract_value_str("\"subject\":", data, &cb.data.notify.subject_len); - cb.data.notify.body = extract_value_str("\"body\":", data, &cb.data.notify.body_len); + cb.data.type = BLE_COMM_DATA_TYPE_NOTIFY; + cb.data.data.notify.id = extract_value_uint32("\"id\":", data); + cb.data.data.notify.src = extract_value_str("\"src\":", data, &cb.data.data.notify.src_len); + cb.data.data.notify.sender = extract_value_str("\"sender\":", data, &cb.data.data.notify.sender_len); + cb.data.data.notify.title = extract_value_str("\"title\":", data, &cb.data.data.notify.title_len); + cb.data.data.notify.subject = extract_value_str("\"subject\":", data, &cb.data.data.notify.subject_len); + cb.data.data.notify.body = extract_value_str("\"body\":", data, &cb.data.data.notify.body_len); // Little hack since we know it's JSON, we can terminate all values in the data // which saves us some hassle and we can just pass all values null terminated // to the callback. Make sure to do it after finish parsing! - if (cb.data.notify.src) { - cb.data.notify.src[cb.data.notify.src_len] = '\0'; + if (cb.data.data.notify.src) { + cb.data.data.notify.src[cb.data.data.notify.src_len] = '\0'; } - if (cb.data.notify.sender) { - cb.data.notify.sender[cb.data.notify.sender_len] = '\0'; + if (cb.data.data.notify.sender) { + cb.data.data.notify.sender[cb.data.data.notify.sender_len] = '\0'; } - if (cb.data.notify.title) { - cb.data.notify.title[cb.data.notify.title_len] = '\0'; + if (cb.data.data.notify.title) { + cb.data.data.notify.title[cb.data.data.notify.title_len] = '\0'; } - if (cb.data.notify.subject) { - cb.data.notify.subject[cb.data.notify.subject_len] = '\0'; + if (cb.data.data.notify.subject) { + cb.data.data.notify.subject[cb.data.data.notify.subject_len] = '\0'; } - if (cb.data.notify.body) { - cb.data.notify.body[cb.data.notify.body_len] = '\0'; + if (cb.data.data.notify.body) { + cb.data.data.notify.body[cb.data.data.notify.body_len] = '\0'; } send_ble_data_event(&cb); @@ -422,11 +419,11 @@ static int parse_notify(char *data, int len) static int parse_notify_delete(char *data, int len) { - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_NOTIFY_REMOVE; - cb.data.notify.id = extract_value_uint32("\"id\":", data); + cb.data.type = BLE_COMM_DATA_TYPE_NOTIFY_REMOVE; + cb.data.data.notify.id = extract_value_uint32("\"id\":", data); send_ble_data_event(&cb); @@ -439,22 +436,22 @@ static int parse_weather(char *data, int len) int temp_len; char *temp_value; float temperature; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_WEATHER; + cb.data.type = BLE_COMM_DATA_TYPE_WEATHER; int32_t temperature_k = extract_value_uint32("\"temp\":", data); - cb.data.weather.humidity = extract_value_uint32("\"hum\":", data); - cb.data.weather.weather_code = extract_value_uint32("\"code\":", data); - cb.data.weather.wind = extract_value_uint32("\"wind\":", data); - cb.data.weather.wind_direction = extract_value_uint32("\"wdir\":", data); + cb.data.data.weather.humidity = extract_value_uint32("\"hum\":", data); + cb.data.data.weather.weather_code = extract_value_uint32("\"code\":", data); + cb.data.data.weather.wind = extract_value_uint32("\"wind\":", data); + cb.data.data.weather.wind_direction = extract_value_uint32("\"wdir\":", data); temp_value = extract_value_str("\"txt\":", data, &temp_len); - strncpy(cb.data.weather.report_text, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); + strncpy(cb.data.data.weather.report_text, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); // App sends temperature in Kelvin temperature = temperature_k - 273.15f; - cb.data.weather.temperature_c = (int8_t)roundf(temperature); + cb.data.data.weather.temperature_c = (int8_t)roundf(temperature); send_ble_data_event(&cb); @@ -466,19 +463,19 @@ static int parse_musicinfo(char *data, int len) // {t:"musicinfo",artist:"Ava Max",album:"Heaven & Hell",track:"Sweet but Psycho",dur:187,c:-1,n:-1} char *temp_value; int temp_len; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_MUSIC_INFO; - cb.data.music_info.duration = extract_value_int32("\"dur\":", data); - cb.data.music_info.track_count = extract_value_int32("\"c\":", data); - cb.data.music_info.track_num = extract_value_int32("\"n\":", data); + cb.data.type = BLE_COMM_DATA_TYPE_MUSIC_INFO; + cb.data.data.music_info.duration = extract_value_int32("\"dur\":", data); + cb.data.data.music_info.track_count = extract_value_int32("\"c\":", data); + cb.data.data.music_info.track_num = extract_value_int32("\"n\":", data); temp_value = extract_value_str("\"artist\":", data, &temp_len); - strncpy(cb.data.music_info.artist, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); + strncpy(cb.data.data.music_info.artist, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); temp_value = extract_value_str("\"album\":", data, &temp_len); - strncpy(cb.data.music_info.album, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); + strncpy(cb.data.data.music_info.album, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); temp_value = extract_value_str("\"track\":", data, &temp_len); - strncpy(cb.data.music_info.track_name, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); + strncpy(cb.data.data.music_info.track_name, temp_value, MIN(temp_len, MAX_MUSIC_FIELD_LENGTH)); send_ble_data_event(&cb); @@ -490,19 +487,19 @@ static int parse_musicstate(char *data, int len) // {t:"musicinfo",artist:"Ava Max",album:"Heaven & Hell",track:"Sweet but Psycho",dur:187,c:-1,n:-1} char *temp_value; int temp_len; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_MUSIC_STATE; - cb.data.music_state.position = extract_value_int32("\"position\":", data); - cb.data.music_state.shuffle = extract_value_int32("\"shuffle\":", data); - cb.data.music_state.repeat = extract_value_int32("\"repeat\":", data); + cb.data.type = BLE_COMM_DATA_TYPE_MUSIC_STATE; + cb.data.data.music_state.position = extract_value_int32("\"position\":", data); + cb.data.data.music_state.shuffle = extract_value_int32("\"shuffle\":", data); + cb.data.data.music_state.repeat = extract_value_int32("\"repeat\":", data); temp_value = extract_value_str("\"state\":", data, &temp_len); if (strncmp(temp_value, "play", temp_len) == 0) { - cb.data.music_state.playing = true; + cb.data.data.music_state.playing = true; } else { - cb.data.music_state.playing = false; + cb.data.data.music_state.playing = false; } send_ble_data_event(&cb); @@ -515,22 +512,22 @@ static int parse_httpstate(char *data, int len) // {"t":"http","resp":"{\"response_code\":0,\"results\":[{\"type\":\"boolean\",\"difficulty\":\"easy\",\"category\":\"Geography\",\"question\":\"Hungary is the only country in the world beginning with H.\",\"correct_answer\":\"False\",\"incorrect_answers\":[\"True\"]}]}"} char *temp_value; int temp_len; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_HTTP; + cb.data.type = BLE_COMM_DATA_TYPE_HTTP; temp_value = extract_value_str("\"id\":", data, &temp_len); if (temp_value) { errno = 0; char *end_data; - cb.data.http_response.id = strtol(temp_value, &end_data, 10); + cb.data.data.http_response.id = strtol(temp_value, &end_data, 10); if (temp_value == end_data || errno != 0) { LOG_WRN("Failed parsing http request id"); - cb.data.http_response.id = -1; + cb.data.data.http_response.id = -1; } } else { - cb.data.http_response.id = -1; + cb.data.data.http_response.id = -1; } // {"t":"http","err":"Internet access not enabled in this Gadgetbridge build"} @@ -538,13 +535,13 @@ static int parse_httpstate(char *data, int len) if (temp_value != NULL) { LOG_ERR("HTTP err: %s", temp_value); - memcpy(cb.data.http_response.err, temp_value, temp_len); + memcpy(cb.data.data.http_response.err, temp_value, temp_len); send_ble_data_event(&cb); } else { temp_value = extract_value_str("\"resp\":", data, &temp_len); if (temp_value) { LOG_DBG("HTTP response: %s", temp_value); - memcpy(cb.data.http_response.response, temp_value, + memcpy(cb.data.data.http_response.response, temp_value, (strlen(temp_value) > MAX_HTTP_FIELD_LENGTH) ? MAX_HTTP_FIELD_LENGTH : strlen(temp_value)); /// @todo cast? send_ble_data_event(&cb); } @@ -556,10 +553,10 @@ static int parse_httpstate(char *data, int len) static int parse_gps_data(char *data, int len) { //{"t":"gps","lat":55.6135542,"lon":12.9747185,"alt":41.900001525878906,"speed":0.1458607256412506,"time":1717002933835,"satellites":0,"hdop":16.215999603271484,"externalSource":true,"gpsSource":"network"} - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); - cb.type = BLE_COMM_DATA_TYPE_GPS; + cb.data.type = BLE_COMM_DATA_TYPE_GPS; cJSON *root = cJSON_Parse(data); if (root == NULL) { @@ -574,13 +571,13 @@ static int parse_gps_data(char *data, int len) cJSON *satellites = cJSON_GetObjectItem(root, "satellites"); cJSON *hdop = cJSON_GetObjectItem(root, "hdop"); - cb.data.gps.lat = lat != NULL ? lat->valuedouble : -1; - cb.data.gps.lon = lon != NULL ? lon->valuedouble : -1; - cb.data.gps.alt = alt != NULL ? alt->valuedouble : -1; - cb.data.gps.speed = speed != NULL ? speed->valuedouble : -1; - cb.data.gps.time = time != NULL ? time->valuedouble : -1; - cb.data.gps.satellites = satellites != NULL ? satellites->valueint : -1; - cb.data.gps.hdop = hdop != NULL ? hdop->valuedouble : -1; + cb.data.data.gps.lat = lat != NULL ? lat->valuedouble : -1; + cb.data.data.gps.lon = lon != NULL ? lon->valuedouble : -1; + cb.data.data.gps.alt = alt != NULL ? alt->valuedouble : -1; + cb.data.data.gps.speed = speed != NULL ? speed->valuedouble : -1; + cb.data.data.gps.time = time != NULL ? time->valuedouble : -1; + cb.data.data.gps.satellites = satellites != NULL ? satellites->valueint : -1; + cb.data.data.gps.hdop = hdop != NULL ? hdop->valuedouble : -1; cJSON_Delete(root); @@ -639,7 +636,7 @@ static int parse_data(char *data, int len) static void parse_remote_control(char *data, int len) { int button; - ble_comm_cb_data_t cb; + struct ble_data_event cb; memset(&cb, 0, sizeof(cb)); button = atoi(data); @@ -648,8 +645,8 @@ static void parse_remote_control(char *data, int len) return; } - cb.type = BLE_COMM_DATA_TYPE_REMOTE_CONTROL; - cb.data.remote_control.button = button; + cb.data.type = BLE_COMM_DATA_TYPE_REMOTE_CONTROL; + cb.data.data.remote_control.button = button; send_ble_data_event(&cb); }